Pour gérer un disque SCSI, vous devez spécifier et connaître son contrôleur SCSI ainsi que son numéro d'unité logique (LUN). Pour un objet disque vSphere, vous pouvez utiliser Automation Assembler pour attribuer les deux valeurs dans le modèle de cloud.
La capacité à utiliser différents contrôleurs SCSI est importante pour les performances et est requise pour certains types de déploiement, tels que Real Application Clusters (RAC) Oracle.
Propriétés du contrôleur SCSI et des disques LUN
Pour attribuer un contrôleur SCSI et un LUN, ajoutez les propriétés de modèle de cloud suivantes :
SCSIController
unitNumber
Vous avez également la possibilité d'omettre les propriétés, auquel cas l'attribution suit une valeur par défaut prévisible. Automation Assembler ne déploie plus les disques SCSI dans un ordre aléatoire, ce qui les rendait difficiles à gérer.
Les contrôleurs et les disques SCSI sont numérotés dans l'ordre, zéro correspondant au premier. Chaque contrôleur SCSI peut prendre en charge les disques SCSI des numéros d'unité 0 à 15.
Option 1 : définir le contrôleur SCSI et le numéro d'unité
Vous pouvez spécifier entièrement les deux propriétés comme indiqué dans l'exemple suivant. Si c'est le cas, l'attribution du contrôleur SCSI et du numéro d'unité correspond aux valeurs que vous entrez.
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
Option 2 : définir uniquement le contrôleur SCSI
Vous pouvez spécifier le contrôleur SCSI et omettre le numéro d'unité. Dans ce cas, l'attribution du contrôleur SCSI correspond à la valeur que vous entrez. Le numéro d'unité est réglé sur le premier numéro d'unité disponible sous ce contrôleur.
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
Option 3 : omettre les deux propriétés
Vous pouvez omettre le contrôleur SCSI et le numéro d'unité. Dans ce cas, l'attribution est définie sur le premier contrôleur SCSI disponible et sur le premier numéro d'unité disponible sous ce contrôleur.
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
Pas une option : LUN uniquement
Vous ne pouvez pas omettre le contrôleur SCSI et spécifier uniquement un numéro d'unité. Cela peut entraîner un déploiement dans lequel plusieurs contrôleurs SCSI ont un disque de ce nombre mais, à des fins de gestion, vous ne pouvez pas localiser et identifier les disques avec précision.
Utilisation d'entrées pour définir le contrôleur SCSI et le LUN
Pour rendre la conception plus dynamique, utilisez des entrées de telle sorte que l'utilisateur puisse spécifier le contrôleur SCSI et le numéro d'unité au moment de la demande ou de la mise à jour.
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)}