當您指定磁碟區時,會將裝置附加至執行個體,但不會掛接或格式化裝置。 若要在節點啟動時掛接和格式化磁碟區,請將選擇性屬性 Mount 設定為您要與該磁碟區搭配使用的裝入點組態名稱:
[[[volume reference-data]]]
Size = 100
Mount = data # The name of the mountpoint to use with this volume
在節點上的組態區段中定義名為 data 的裝入點:
[[[configuration cyclecloud.mounts.data]]]
mountpoint = /mount
fs_type = ext4
此設定會設定名稱為 data 的 cyclecloud.mountpoint,其會使用所有磁碟區來搭配 Mount = data。 您將此磁碟區格式化為 ext4 檔案系統,並顯示在 /mount。
設備
當您使用 mountpoint 屬性定義磁碟區時,系統會自動為每個載入點指派裝置名稱。 不過,您可以使用自己的裝置名稱來自訂掛接點。 例如:
[[node scheduler]]
[[[configuration cyclecloud.mounts.data]]]
mountpoint = /data
Azure.LUN=0
在 Azure 中,您會使用 邏輯單元編號 (LUN) 來指派裝置。
在大部分情況下,Azure CycleCloud 會自動為您指派裝置。 手動指定裝置是進階使用方式。 當您用於節點的映射包含映像自動附加的磁碟區時,這會很有用。 當裝置順序很重要時,手動指定裝置也很有幫助。
備註
使用保留名稱 boot 來修改內建開機磁碟區。
進階使用方式
上述範例相當簡單:將單一預先格式化的快照集掛接至節點。 不過,您可以使用更進階的掛接技術,包括 RAIDing 多個裝置在一起、加密裝置,以及格式化新的文件系統。 例如,下列設定 RAID 會將數個磁碟區一起加密,再將它們掛接為節點上的單一裝置:
[[node scheduler]]
....
[[[volume vol1]]]
VolumeId = vol-1234abcd
Mount = giant
[[[volume vol2]]]
VolumeId = vol-5678abcd
Mount = giant
[[[volume vol3]]]
VolumeId = vol-abcd1234
Mount = giant
[[[configuration cyclecloud.mounts.giant]]]
mountpoint = /mnt/giant
fs_type = xfs
raid_level = 0
encryption.bits = 256
encryption.key = "0123456789abcdef9876543210"
這個範例示範您將三個磁碟區連結至名為 scheduler的節點,且其載入點名為 giant。 載入點的組態表示,您可以使用 raid_level = 0 以RAID0方式將這三個磁碟區一起組成RAID,然後使用 xfs 檔案系統格式化它們,最後將生成的設備掛載到 /mnt/giant。 您也可以搭配 256 位 AES 使用區塊層級加密,並在範本中定義加密金鑰。
磁碟加密
CycleCloud 支援使用 Azure 磁碟加密集為 OS 和資料磁碟磁碟區進行伺服器端加密 (SSE)。 Azure 預設會使用平台代控金鑰 (PMK)。 若要使用 客戶管理的密鑰(CMK),請設定 Azure Disk Encryption Set 並在 Key Vault 中建立您的密鑰。 請參閱 設定磁碟加密設定的檔案。
當您建立磁碟加密集時,請記下該磁碟加密集的 Resource ID。 您可以在 Azure 入口網站的 [磁碟加密集] 刀鋒視窗中的 [屬性] 底下找到此識別碼。
若要將 SSE 與 CMK 套用至 CycleCloud 節點的磁碟區,請將下列程式碼新增至您的 [[[volume]]] 定義:
DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME
例如:
[[node scheduler]]
....
[[[volume encryptedVolume]]]
VolumeId = vol-1234abcd
Mount = encrypted
# Insert your RESOURCE ID here:
DiskEncryptionSetId = /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResouceGroup/providers/Microsoft.Compute/diskEncryptionSets/myCMKDiskEncryptionSet
[[[configuration cyclecloud.mounts.encrypted]]]
mountpoint = /mnt/encrypted
fs_type = ext4
raid_level = 0
備註
CycleCloud 8.5 引進了簡化的語法。 針對舊版,請改用 Azure.Encryption.DiskEncryptionSetId :
Azure.Encryption.DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME。
您不需要設定 Azure.Encryption.Type。
CycleCloud 8.5 也支援機密磁碟加密。 此方案可保護磁碟的所有重要分割區,並使受保護的磁碟內容僅可供 VM 存取。 機密磁碟加密是每個磁碟,而且需要將 [安全性加密類型 ] 設定為 DiskWithVMGuestState。
例如,若要在 OS 磁碟上使用機密加密:
[[node scheduler]]
[[[volume boot]]]
ConfidentialDiskEncryptionSetId = /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResouceGroup/providers/Microsoft.Compute/diskEncryptionSets/myCMKDiskEncryptionSet
SecurityEncryptionType = DiskWithVMGuestState
如需詳細資訊,請參閱 磁碟區組態參考。
掛接組態選項
| 選項 | 定義 |
|---|---|
| mountpoint | 套用任何額外設定後,您安裝裝置的位置。 如果您未指定裝入點,掛接名稱會成為裝入點的一部分。 例如,如果您將掛載點命名為 data,則載入點預設為 /media/data。 |
| 選項 | 掛接裝置時要使用的任何非預設選項。 |
| fs_type | 格式化和/或掛接時要使用的檔案系統。 可用選項為:ext3、ext4、xfs。 |
| 大小 | 格式化裝置時要建立的檔案系統大小。 如果您省略此參數,命令會使用裝置上的所有空間。 指定大小時,可使用 M 表示 MB (例如,150M 表示 150 MB)、G 表示 GB (例如,200G 表示 20 GB) 或百分比 (例如,100% 表示使用所有可用空間)。 |
| 停用 | 如果為 true,則不會建立掛接點。 此設定適用於快速切換掛接,以進行測試和停用自動暫時掛接。 預設:false。 |
| raid_level | 當您使用多個裝置或磁碟區時要使用的 RAID 組態類型。 默認值為 0,這表示 RAID0。 您可以使用其他 RAID 層級,例如 1 或 10。 |
| raid_device_symlink | 當您建立 RAID 裝置時,請指定此屬性來建立 RAID 裝置的符號連結。 根據預設,不會設定此屬性,而且不會建立符號連結。 如果您需要存取基礎 RAID 裝置,請設定此屬性。 |
| devices | 組成裝入點的裝置清單。 一般而言,您不需要指定此參數,因為 CycleCloud 會根據 [[[volume]] 區段為您設定此參數。 不過,您可以視需要手動指定裝置。 |
| vg_name | 在 Linux 上,您會使用邏輯磁碟區管理員 (LVM) 來設定裝置。 磁碟區組名會自動指派,但如果您想要使用特定名稱,則可以設定此屬性。 預設值為 cyclecloud-vgX,其中 X 是自動指派的數位。 |
| lv_name | 裝置會在 Linux 上使用邏輯磁碟區管理員 (LVM) 來進行設定。 系統會自動指派此值,因此您不需要指定此值。 如果您想要使用自訂邏輯磁碟區名稱,請使用此屬性加以指定。 預設為 lv0。 |
| 順序 | 透過指定順序,您可以控制掛接點的掛接順序。 所有裝入點的預設順序值為 1000,只有 ephemeral 的預設值為 0 (ephemeral 默認先掛載)。 您可以按需覆蓋此行為。 |
| encryption.bits | 加密檔案系統時要使用的位元數。 標準值為 128 或 256 位元 AES 加密。 如果您想要加密,您必須提供此值。 |
| encryption.key (加密密鑰) | 加密檔案系統時要使用的加密金鑰。 如果您省略此金鑰,系統會產生隨機的 2,048 位密鑰。 當您加密不會在重新啟動後保存的磁碟時,自動產生的密鑰很有用(例如,加密臨時裝置時)。 |
| encryption.name | 加密檔案系統的名稱,儲存加密金鑰時使用。 預設為 cyclecloud_cryptX,其中 X 是自動產生的數字。 |
| encryption.key_path | 在磁碟上寫入金鑰的檔案位置。 預設為 /root/cyclecloud_cryptX.key,其中 X 是自動產生的數字。 |
掛接設定預設值
使用這些選項來設定裝入點的系統預設值。 除非您另有指定,否則系統會使用這些預設值:
| 選項 | 定義 |
|---|---|
| cyclecloud.mount_defaults.fs_type | 如果您未指定類型,這是掛接使用的檔案系統類型。 默認值:ext3 或 ext4,視平臺而定。 |
| cyclecloud.mount_defaults.size | 如果您未指定檔案系統大小,則為要使用的預設檔案系統大小。 默認值:50 GB。 |
| cyclecloud.mount_defaults.raid_level | 如果您將多個裝置指派給掛接點,這是使用的預設 RAID 層級。 預設值:0 (RAID0)。 |
| cyclecloud.mount_defaults.encryption.bits | 如果您未指定加密層級,則為預設加密層級。 預設值:未定義。 |