Para gerenciar um disco SCSI, você deve especificar e saber seu controlador SCSI e o número da unidade lógica (LUN). Para um objeto de disco vSphere, você pode usar o Cloud Assembly para atribuir ambos os valores no modelo de nuvem.
A capacidade de usar diferentes controladores SCSI é importante para o desempenho e necessária para alguns tipos de implantação, como o Oracle Real Application Clusters (RAC).
Controlador SCSI e propriedades do disco LUN
Para atribuir um controlador SCSI e LUN, adicione as seguintes propriedades do modelo de nuvem:
SCSIController
unitNumber
Você também tem a opção de omitir as propriedades e, nesse caso, a atribuição segue um padrão previsível. O Cloud Assembly não implanta mais discos SCSI em ordem aleatória, o que os tornou difíceis de gerenciar.
Os controladores e discos SCSI são numerados em ordem, com zero sendo o primeiro. Cada controlador SCSI pode oferecer suporte a discos SCSI de números de unidade de 0 a 15.
Opção 1: Definir o controlador SCSI e o número da unidade
Você pode especificar totalmente ambas as propriedades, conforme mostrado no exemplo a seguir. Nesse caso, a atribuição do controlador SCSI e o número da unidade correspondem aos valores inseridos.
resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos cpuCount: 1 totalMemoryMB: 1024 attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' - source: '${resource.Cloud_vSphere_Disk_2.id}' - source: '${resource.Cloud_vSphere_Disk_3.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 1 SCSIController: SCSI_Controller_2 unitNumber: 0 Cloud_vSphere_Disk_2: type: Cloud.vSphere.Disk properties: capacityGb: 1 SCSIController: SCSI_Controller_2 unitNumber: 1 Cloud_vSphere_Disk_3: type: Cloud.vSphere.Disk properties: capacityGb: 1 SCSIController: SCSI_Controller_3 unitNumber: 4
Opção 2: Definir apenas o controlador SCSI
Você pode especificar o controlador SCSI e omitir o número da unidade. Nesse caso, a atribuição do controlador SCSI corresponde ao valor inserido. O número da unidade é definido como o primeiro número da unidade disponível naquele controlador.
resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos cpuCount: 1 totalMemoryMB: 1024 attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' - source: '${resource.Cloud_vSphere_Disk_2.id}' - source: '${resource.Cloud_vSphere_Disk_3.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 1 SCSIController: SCSI_Controller_0 Cloud_vSphere_Disk_2: type: Cloud.vSphere.Disk properties: capacityGb: 1 SCSIController: SCSI_Controller_0 Cloud_vSphere_Disk_3: type: Cloud.vSphere.Disk properties: capacityGb: 1 SCSIController: SCSI_Controller_1
Opção 3: Omitir ambas as propriedades
Você pode omitir o controlador SCSI e o número da unidade. Nesse caso, a atribuição é definida para o primeiro controlador SCSI disponível e o primeiro número de unidade disponível sob esse controlador.
resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos cpuCount: 1 totalMemoryMB: 1024 attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' - source: '${resource.Cloud_vSphere_Disk_2.id}' - source: '${resource.Cloud_vSphere_Disk_3.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 1 Cloud_vSphere_Disk_2: type: Cloud.vSphere.Disk properties: capacityGb: 1 Cloud_vSphere_Disk_3: type: Cloud.vSphere.Disk properties: capacityGb: 1
Não é uma opção: apenas LUN
Você não pode omitir o controlador SCSI e especificar apenas um número de unidade. Isso pode resultar em uma implantação em que vários controladores SCSI têm um disco desse número, mas, para fins de gerenciamento, você não saberá qual disco é qual.
Usando entradas para definir o controlador SCSI e LUN
Para tornar o projeto mais dinâmico, use entradas para que o usuário possa especificar qual controlador SCSI e número de unidade na ocasião da solicitação ou da atualização.
inputs: diskProperties: type: array minItems: 1 maxItems: 10 items: type: object properties: size: type: integer SCSIController: type: string title: SCSI Controller enum: - SCSI_Controller_0 - SCSI_Controller_1 - SCSI_Controller_2 - SCSI_Controller_3 unitNumber: type: integer title: Unit Number resources: app: type: Cloud.vSphere.Machine allocatePerInstance: true properties: flavor: small image: centos attachedDisks: '${map_to_object(slice(resource.disk[*].id, 0, 4), ''source'')}' disk: type: Cloud.vSphere.Disk allocatePerInstance: true properties: capacityGb: '${input.diskProperties[count.index].size}' SCSIController: '${input.diskProperties[count.index].SCSIController}' unitNumber: '${input.diskProperties[count.index].unitNumber}' count: ${length(input.diskProperties)}