Поделиться через


Монтирование томов

При указании тома вы прикрепляете устройства к вашему экземпляру, но не монтируете и не форматируете их. Чтобы подключить и отформатировать тома при запуске узла, задайте необязательный атрибут 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 для изменения встроенного тома загрузки.

Расширенное использование

Пример, рассмотренный ранее, довольно прост: подключить один уже отформатированный моментальный снимок к узлу. Однако можно использовать более сложные методы монтирования, включая объединение устройств в 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 с помощью raid_level = 0 для RAID0, отформатировать их с использованием файловой системы xfs и смонтировать полученное устройство по /mnt/giant. Вы также используете шифрование на уровне блоков с 256-разрядным AES и определяет ключ шифрования в шаблоне.

Шифрование дисков

CycleCloud поддерживает шифрование на стороне сервера (SSE) для томов операционной системы и данных с помощью наборов шифрования дисков Azure. По умолчанию Azure использует ключи, управляемые платформой (PMK). Чтобы использовать управляемые клиентом ключи (CMK), настройте набор шифрования дисков Azure и 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 также поддерживает шифрование конфиденциальных дисков. Эта схема защищает все критически важные разделы диска и делает защищенное содержимое диска доступным только для виртуальной машины. Для шифрования конфиденциальных дисков по каждому диску необходимо установить Тип шифрования безопасности в значение DiskWithVMGuestState.

Например, чтобы использовать конфиденциальное шифрование на диске ОС:

[[node scheduler]]
  [[[volume boot]]]

  ConfidentialDiskEncryptionSetId = /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResouceGroup/providers/Microsoft.Compute/diskEncryptionSets/myCMKDiskEncryptionSet
  SecurityEncryptionType = DiskWithVMGuestState

Дополнительные сведения см. в справочнике по конфигурации томов.

Параметры конфигурации монтажных установок

Вариант Определение
точка монтирования Место подключения устройств после применения дополнительной конфигурации. Если вы не указываете точку подключения, имя подключения становится частью точки подключения. Например, если вы назовете подключение data, точка подключения по умолчанию используется /media/data.
опции Любые нестандартные параметры, которые следует использовать при монтаже устройства.
fs_type Файловая система, используемая при форматировании и/или монтировании. Доступные варианты: ext3, ext4, xfs.
размер Размер файловой системы, создаваемой при форматировании устройств. Если этот параметр не указан, команда использует все пространство на устройстве. Укажите размер с помощью M для мегабайт (например, 150M для 150 МБ), Г для гигабайтов (например, 200G для 20 ГБ) или процентных значений (например, 100% использовать все доступное пространство).
отключено Если значение true, точка подключения не создается. Этот параметр полезен для быстрого переключения подключений для тестирования и отключения автоматического эфемерного подключения. По умолчанию: false.
уровень RAID Тип конфигурации RAID, используемой при использовании нескольких устройств или томов. Значение по умолчанию равно 0, что означает RAID0. Вы можете использовать другие уровни RAID, такие как 1 или 10.
символьная_ссылка_на_устройство_raid При создании устройства RAID укажите этот атрибут, чтобы создать символьную ссылку на устройство RAID. По умолчанию этот атрибут не задан и не создается симмлинк. Задайте этот атрибут, если вам нужен доступ к базовому устройству RAID.
приборы Список устройств, составляющих точку подключения. Как правило, этот параметр не нужно указывать, так как CycleCloud задает его автоматически на основе разделов томов. Однако можно вручную указать устройства, если вы хотите.
vg_name В Linux настраивают устройства с помощью диспетчера логических томов (LVM). Имя группы томов назначается автоматически, но можно задать этот атрибут, если вы хотите использовать определенное имя. По умолчанию используется значение cyclecloud-vgX, где X - это автоматически присвоенный номер.
lv_name Настройка устройств в Linux осуществляется с помощью диспетчера логических томов (LVM). Система автоматически назначает это значение, поэтому его не нужно указывать. Если вы хотите использовать пользовательское имя логического тома, укажите его с этим атрибутом. По умолчанию — lv0.
заказ Указав порядок, можно управлять порядком подключения точек монтирования. Значение порядка по умолчанию для всех точек подключения равно 1000, за исключением ephemeral, у которого оно равно 0 (ephemeral всегда подключается первым по умолчанию). Это поведение можно переопределить по мере необходимости.
encryption.bits Количество битов, используемых при шифровании файловой системы. Стандартные значения — шифрование AES с 128 или 256 битами. Это значение необходимо указать, если требуется шифрование.
ключ шифрования Ключ шифрования, используемый при шифровании файловой системы. Если этот ключ не указан, система создает случайный 2048-разрядный ключ. Автоматически созданный ключ полезен при шифровании дисков, которые не сохраняются между перезагрузками (например, при шифровании временных устройств).
encryption.name Имя зашифрованной файловой системы, используемое при сохранении ключей шифрования. По умолчанию используется значение cyclecloud_cryptX, где X является автоматически созданным числом.
encryption.key_путь Расположение файла, в котором ключ записывается на диске. По умолчанию используется значение /root/cyclecloud_cryptX.key, где X является автоматически созданным числом.

Параметры монтирования по умолчанию

Используйте эти параметры, чтобы задать системные значения по умолчанию для точек подключения. Система использует эти значения по умолчанию, если не указано в противном случае:

Опции Определение
cyclecloud.mount_defaults.fs_type Тип файловой системы, используемой для монтирований, если она не указана. По умолчанию: ext3 или ext4 в зависимости от платформы.
cyclecloud.mount_defaults.размер Размер файловой системы по умолчанию, используемый, если он не указан. Значение по умолчанию: 50 ГБ.
cyclecloud.mount_defaults.raid_level Уровень рейда по умолчанию, используемый при назначении нескольких устройств точке подключения. По умолчанию: 0 (RAID0).
cyclecloud.mount_defaults.encryption.bits Уровень шифрования по умолчанию, если он не указан. По умолчанию: undefined (не определено).