裝載磁碟區
指定磁片區會將裝置 () 連接到您的實例,但不會掛接並格式化裝置。 如果您想要在啟動節點時掛接並格式化磁片區,請將選擇性屬性 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
上述組態會指定您使用包含 的所有磁片區來設定 cyclecloud.mountpoint
具名 data
。 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 磁片加密集的作業系統和資料磁片區的伺服器端加密 (SSE) 。 根據預設,Azure 會使用平臺 受控金鑰 (PMK) 。 不過,若要使用客戶管理的金鑰 (CMK) ,您必須先設定 Azure 磁片加密集,並使用您的金鑰金鑰保存庫。 請依照這裡的檔來 設定磁片加密集。
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。 |
{1}size{2} | 格式化裝置時所要建立的檔案系統大小 () 。 省略此參數將會使用裝置上的所有空間。 您可以使用 M 來指定大小, (例如 150M 用於 150 MB) (G,例如 200G 用於 20GB) ,或 (100% 使用所有可用空間) 。 |
停用 | 如果為 true,則不會建立掛接點。 適用于快速切換掛接以進行測試和停用自動暫時掛接。 預設:false。 |
raid_level | 使用多個裝置/磁片區時要使用的 RAID 組態類型。 預設值為 0,表示 RAID0,但可以使用其他 RAID 層級,例如 1 或 10。 |
raid_device_symlink | 建立 RAID 裝置時,指定此屬性將會建立 RAID 裝置的符號連結。 根據預設,不會設定此屬性,因此不會建立符號連結。 這應該會在您需要存取基礎 RAID 裝置的情況下設定。 |
devices | 這是應該撰寫掛接點的裝置清單。 一般而言,此參數不應該指定 (,因為 CycleCloud 會根據 [[[磁片區]] 區段) 為您設定此參數,但您可以視需要手動指定裝置。 |
vg_name | 裝置是使用邏輯磁片區管理員 (LVM) 在 Linux 上設定。 磁片區組名會自動指派,但在使用特定名稱的情況下,可以設定此屬性。 預設值設定為 cyclecloud-vgX ,其中 X 是自動指派的數位。 |
lv_name | 裝置是使用邏輯磁片區管理員 (LVM) 在 Linux 上設定。 此值會自動指派,而且不需要規格,但如果您想要使用自訂邏輯磁片區名稱,可以使用此屬性來指定。 預設值為 lv0 。 |
順序 | 藉由指定順序,您可以控制掛接點的順序。 所有掛接點的預設順序值為 1000,但 「暫時」除外,預設為 0 (暫時一律會先掛接) 。 您可以視需要逐個案例覆寫此行為。 |
encryption.bits | 加密檔案系統時要使用的位數。 標準值為 128 或 256 位 AES 加密。 如果需要加密,則需要這個值。 |
encryption.key | 加密檔案系統時要使用的加密金鑰。 如果省略,將會產生隨機的 2048 位金鑰。 當您加密在重新開機之間未保存 (的磁片時,自動產生的金鑰很有用,例如加密暫時裝置) 。 |
encryption.name | 儲存加密金鑰時所使用的加密檔案系統名稱。 預設為 cyclecloud_cryptX ,其中 X 是自動產生的數位。 |
encryption.key_path | 金鑰將寫入磁片上的檔案位置。 預設為 /root/cyclecloud_cryptX.key ,其中 X 是自動產生的數位。 |
掛接設定預設值
使用這些選項來設定掛接點的系統預設值,除非另有指定,否則會使用:
選項 | 定義 |
---|---|
cyclecloud.mount_defaults.fs_type | 如果未指定,則為用於掛接的檔案系統類型。 預設值:根據平臺) ,ext3/ext4 (。 |
cyclecloud.mount_defaults.size | 如果未指定,則為要使用的預設檔案系統大小。 預設值:50GB。 |
cyclecloud.mount_defaults.raid_level | 如果將多個裝置指派給掛接點,要使用的預設 raid 層級。 預設值:0 (RAID0) 。 |
cyclecloud.mount_defaults.encryption.bits | 除非另有指定,否則為預設加密層級。 預設值:未定義。 |