Para administrar un disco SCSI, debe especificar y conocer su controladora SCSI y su número de unidad lógica (LUN). Para un objeto de disco de vSphere, puede utilizar Automation Assembler para asignar ambos valores en la plantilla de nube.
La capacidad de utilizar diferentes controladoras SCSI es importante para el rendimiento y es necesaria para algunos tipos de implementaciones, como Oracle Real Application Clusters (RAC).
Propiedades de disco de controladora SCSI y LUN
Para asignar una controladora SCSI y un LUN, agregue las siguientes propiedades de plantilla de nube:
SCSIController
unitNumber
También tiene la opción de omitir las propiedades, en cuyo caso la asignación sigue un valor predeterminado predecible. Automation Assembler ya no implementa discos SCSI en orden aleatorio, lo que dificulta su administración.
Los discos y las controladoras SCSI se numeran en orden, comenzando por cero. Cada controladora SCSI puede admitir discos SCSI de números de unidad del 0 al 15.
Opción 1: Establecer la controladora SCSI y el número de unidad
Puede especificar completamente ambas propiedades, como se muestra en el siguiente ejemplo. Si es así, la asignación de la controladora SCSI y el número de unidad coincidirá con los valores que introduzca.
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
Opción 2: Establecer solo la controladora SCSI
Puede especificar la controladora SCSI y omitir el número de unidad. En este caso, la asignación de la controladora SCSI coincide con el valor que introduzca. El número de unidad se establece como el primer número de unidad disponible en ese 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
Opción 3: Omitir ambas propiedades
Puede omitir la controladora SCSI y el número de unidad. En este caso, la asignación se establece como la primera controladora SCSI disponible y el primer número de unidad disponible en esa controladora.
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
No es una opción: solo LUN
No puede omitir la controladora SCSI y especificar solo un número de unidad. Si lo hace, podría obtener una implementación en la que varias controladoras SCSI tengan un disco con ese número, pero para fines de administración, no se sabe qué disco es.
Uso de entradas para establecer la controladora SCSI y el LUN
Para que el diseño sea más dinámico, utilice entradas para que el usuario pueda especificar la controladora SCSI y el número de unidad en el momento de la solicitud o la actualización.
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)}