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 Cloud Assembly 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. Cloud Assembly 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)}