若要管理 SCSI 磁碟,您必須指定並瞭解其 SCSI 控制器和邏輯單元編號 (LUN)。對於 vSphere 磁碟物件,您可以使用 Automation Assembler 在雲端範本中同時指派這兩個值。
使用不同 SCSI 控制器的功能對於效能至關重要,並且對於某些部署類型 (例如 Oracle Real Application Clusters (RAC)) 來說十分必要。
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)}