SCSI 디스크를 관리하려면 SCSI 컨트롤러와 LUN(논리 단위 번호)을 지정하고 알고 있어야 합니다. vSphere 디스크 개체의 경우 Automation Assembler를 사용하여 클라우드 템플릿에서 두 값을 모두 할당할 수 있습니다.
다른 SCSI 컨트롤러를 사용하는 기능은 성능에 중요하며 Oracle RAC(Real Application Clusters)같은 일부 배포 유형에 필요합니다.
SCSI 컨트롤러 및 LUN 디스크 속성
SCSI 컨트롤러 및 LUN을 할당하려면 다음 클라우드 템플릿 속성을 추가합니다.
SCSIController
unitNumber
속성을 생략할 수도 있으며, 이 경우 할당은 예측 가능한 기본값을 따릅니다. Automation Assembler는 SCSI 디스크를 더 이상 임의의 순서로 배포하지 않기 때문에 관리하기가 어렵습니다.
SCSI 컨트롤러 및 디스크는 순서대로 번호가 매겨지며, 0이 첫 번째입니다. 각 SCSI 컨트롤러는 단위 번호가 0-15인 SCSI 디스크를 지원할 수 있습니다.
옵션 1: SCSI 컨트롤러와 단위 번호를 모두 설정
다음 예와 같이 두 속성을 완전히 지정할 수 있습니다. 그렇게 하면 SCSI 컨트롤러 및 단위 번호 할당은 입력한 값과 일치합니다.
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
옵션 2: SCSI 컨트롤러만 설정
SCSI 컨트롤러를 지정하고 단위 번호를 생략할 수 있습니다. 이 경우 SCSI 컨트롤러 할당은 입력한 값과 일치합니다. 단위 번호는 해당 컨트롤러에서 사용 가능한 첫 번째 단위 번호로 설정됩니다.
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
옵션 3: 두 속성 모두 생략
SCSI 컨트롤러 및 단위 번호를 생략할 수 있습니다. 이 경우 할당은 사용 가능한 첫 번째 SCSI 컨트롤러와 해당 컨트롤러에서 사용 가능한 첫 번째 단위 번호로 설정됩니다.
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
선택 불가능: LUN만
SCSI 컨트롤러를 생략하고 단위 번호만 지정할 수는 없습니다. 이렇게 하면 배포의 여러 SCSI 컨트롤러에 해당 번호의 디스크가 하나 있는 상태가 되지만 관리 목적으로 어떤 디스크가 어떤 것인지를 알 수 없습니다.
입력을 사용하여 SCSI 컨트롤러 및 LUN 설정
설계를 보다 동적으로 만들려면 입력을 사용하여 요청 또는 업데이트 시 사용자가 SCSI 컨트롤러 및 단위 번호를 지정할 수 있도록 합니다.
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)}