Als u een SCSI-schijf wilt beheren, moet u de SCSI-controller en het LUN-nummer (Logical Unit Number) opgeven en weten. Voor een vSphere-schijfobject kunt u Cloud Assembly gebruiken om beide waarden in de cloudsjabloon toe te wijzen.

De mogelijkheid om verschillende SCSI-controllers te gebruiken is belangrijk voor de prestaties. Dit is vereist voor sommige implementatietypen, zoals Oracle Real Application Clusters (RAC).

Eigenschappen voor SCSI-controller en LUN-schijf

Als u een SCSI-controller en LUN wilt toewijzen, voegt u de volgende eigenschappen voor een cloudsjabloon toe:

SCSIController

unitNumber

U hebt ook de optie om de eigenschappen weg te laten, waarbij de toewijzing een voorspelbare standaard volgt. Cloud Assembly implementeert SCSI-schijven niet langer in willekeurige volgorde, waardoor ze moeilijk te beheren waren.

SCSI-controllers en -schijven worden in volgorde genummerd, beginnend vanaf nul. Elke SCSI-controller kan SCSI-schijven met eenheidsnummers van 0 t/m 15 ondersteunen.

Optie 1: zowel SCSI-controller als eenheidsnummer instellen

U kunt beide eigenschappen volledig opgeven, zoals in het volgende voorbeeld wordt weergegeven. Zo ja, dan komen de toewijzing van de SCSI-controller en het eenheidsnummer overeen met de waarden die u invoert.

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

Optie 2: alleen de SCSI-controller instellen

U kunt de SCSI-controller opgeven en het eenheidsnummer weglaten. In dit geval komt de toewijzing van de SCSI-controller overeen met de waarde die u invoert. Het eenheidsnummer wordt ingesteld op het eerste beschikbare eenheidsnummer onder die controller.

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

Optie 3: beide eigenschappen weglaten

U kunt de SCSI-controller en het eenheidsnummer weglaten. In dit geval wordt de toewijzing ingesteld op de eerste beschikbare SCSI-controller en het eerste beschikbare eenheidsnummer onder die controller.

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

Geen optie: alleen LUN

U kunt de SCSI-controller niet weglaten en alleen een eenheidsnummer opgeven. Als u dit doet, kan dit resulteren in een implementatie waarbij meerdere SCSI-controllers een schijf met dat nummer hebben, maar waarbij u voor beheerdoeleinden niet weet welke schijf dewelke is.

Invoer gebruiken om de SCSI-controller en het LUN in te stellen

Om het ontwerp dynamischer te maken, gebruikt u invoer, zodat de gebruiker tijdens de aanvraag of update het SCSI-controller en eenheidsnummer kan opgeven.

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)}
URL van Terraform CLI