你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
装载卷
指定卷会将设备 () 附加到实例,但不会装载和格式化设备。 如果希望在启动节点时装载卷并设置其格式,请将可选属性 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
上述配置指定使用包括 Mount = data
的所有卷配置cyclecloud.mountpoint
命名data
的 。 此卷将使用文件系统进行格式化, ext4
并显示在 中 /mount
。
设备
通过使用 属性定义卷 mountpoint
,将自动分配设备名称并将其用于给定装入点。 但是,可以使用自己的设备名称自定义装入点。 例如:
[[node scheduler]]
[[[configuration cyclecloud.mounts.data]]]
mountpoint = /data
Azure.LUN=0
在 Azure 中,使用逻辑单元号 (LUN) 分配设备
在大多数情况下,Azure CycleCloud 会自动为你分配设备。 手动指定设备是高级用法,在用于节点的映像具有卷的情况下非常有用,因为其附件已烘焙到映像中,因此会自动附加这些卷。 当设备排序具有特殊含义时,手动指定设备也很有用。
注意
保留名称 boot
用于修改内置启动卷。
高级用法
前面的示例非常简单:将单个预格式化快照装载到节点。 但是,可以进行更高级的装载,包括将多个设备一起进行 RAID、加密和格式化新文件系统。 例如,下面介绍如何在将多个卷装载为节点上的单个设备之前,对它们进行 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 磁盘加密集,并使用密钥密钥保管库。 按照此处的文档 设置磁盘加密集。
Resource ID
创建磁盘加密集时记录磁盘加密集的 。 可以在 Azure 门户的“磁盘加密集”边栏选项卡的“属性”下找到此名称。
若要将带有 CMK 的 SSE 应用于 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”。 |
options | 装载设备时要使用的任何非默认选项。 |
fs_type | 格式化和/或装载时要使用的文件系统。 可用选项包括:ext3、ext4、xfs。 |
大小 | 格式化设备 () 时要创建的文件系统的大小。 省略此参数将使用设备上的所有空间。 可以使用 M 为兆字节指定大小, (例如,150M 表示 150MB) G 表示千兆字节 (例如 200G 表示 20GB) ,或百分比 (指定,例如 100% 以使用所有可用空间) 。 |
disabled | 如果为 true,则不会创建装入点。 可用于快速切换装载进行测试和禁用自动临时装载。 默认值:false。 |
raid_level | 使用多个设备/卷时要使用的 RAID 配置类型。 默认为值 0,表示 RAID0,但可以使用其他突袭级别,例如 1 或 10。 |
raid_device_symlink | 创建 raid 设备时,指定此属性将创建一个指向该 raid 设备的符号链接。 默认情况下,未设置此属性,因此不会创建符号链接。 在需要访问基础 raid 设备的情况下,应设置此值。 |
设备 | 这是应构成装入点的设备列表。 通常,不应 (指定此参数,因为 CycleCloud 会根据 [[[volume]] 节) 设置此参数,但如果需要,可以手动指定设备。 |
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 | 将多个设备分配到装入点时要使用的默认突袭级别。 默认值:0 (RAID0) 。 |
cyclecloud.mount_defaults.encryption.bits | 除非另行指定,否则默认加密级别。 默认值:未定义。 |