Per gestire un disco SCSI, è necessario specificarne e conoscerne il controller SCSI e il numero di unità logica (LUN). Per un oggetto disco di vSphere, è possibile utilizzare Automation Assembler per assegnare entrambi i valori nel modello cloud.
La possibilità di utilizzare controller SCSI diversi è importante per le prestazioni ed è necessaria per alcuni tipi di distribuzione, come i cluster RAC (Real Application Cluster) di Oracle.
Proprietà del controller SCSI e del disco LUN
Per assegnare un controller SCSI e un LUN, aggiungere le seguenti proprietà del modello cloud:
SCSIController
unitNumber
È inoltre possibile omettere le proprietà. In questo caso l'assegnazione segue un'impostazione predefinita prevedibile. Automation Assembler non distribuisce più i dischi SCSI in ordine casuale, rendendone difficoltosa la gestione.
I dischi e i controller SCSI vengono numerati in ordine iniziando da zero. Ogni controller SCSI può supportare dischi SCSI di numeri di unità da 0 a 15.
Opzione 1: impostazione del controller SCSI e del numero di unità
È possibile specificare entrambe le proprietà, come illustrato nell'esempio seguente. In tal caso, l'assegnazione del controller SCSI e del numero di unità corrispondono ai valori immessi.
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
Opzione 2: impostazione del solo controller SCSI
È possibile specificare il controller SCSI e omettere il numero di unità. In questo caso, l'assegnazione del controller SCSI corrisponde al valore immesso. Il numero di unità viene impostato sul primo numero di unità disponibile in tale 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
Opzione 3: omissione di entrambe le proprietà
È possibile omettere il controller SCSI e il numero di unità. In questo caso, l'assegnazione viene impostata sul primo controller SCSI disponibile e sul primo numero di unità disponibile in tale 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
Opzione non applicabile: solo LUN
Non è possibile omettere il controller SCSI e specificare solo un numero di unità. Questa operazione potrebbe causare una distribuzione in cui più controller SCSI dispongono di un disco con tale numero ma, a scopo di gestione, non si sa di quale disco si tratti.
Utilizzo degli input per impostare il controller SCSI e il LUN
Per rendere la progettazione più dinamica, utilizzare gli input in modo che l'utente possa specificare il controller SCSI e il numero di unità al momento della richiesta o dell'aggiornamento.
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)}