你当前正在访问 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 加密文件系统时要使用的位数。 标准值为 128256 位 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 除非另行指定,否则默认加密级别。 默认值:未定义。