Skip to content

Способы подключения дисков

В MWS предусмотрены два типа дисков в зависимости от способа подключения к ВМ: зависимый диск (Spec) и независимый диск (Ref).

Зависимый диск

Зависимый диск создается вместе с виртуальной машиной и может быть удален двумя способами: при исключении из спецификации ВМ или автоматически вместе с ней. Зависимый диск подходит для временных задач, например, для хранения логов или использования в качестве загрузочного диска.

Отключить зависимый диск без удаления нельзя, но вы можете сделать его независимым ресурсом, то есть «отвязать» от исходной ВМ. Тогда можно будет хранить данные на диске после удаления исходной ВМ и подключать диск к другим ВМ.

Пример зависимого диска (Spec)
yaml
spec:
  ...
  storage:
    disks:
      - name: boot
        disk:
          spec:
            type: nbs-pl2
            size: 50 GB
...
status:
  storage:
    disks:
      - name: boot
        boot: true
        ref: disks/my-disk
        managed: true
        ready:
          state: OK
        iops: 1000
        size: 50 GB

Независимый диск

Независимый диск подключается к ВМ по ссылке на ресурс. Такой диск существует независимо от жизненного цикла виртуальной машины. То есть, диск не удалится вместе с виртуальной машиной и может быть отключен от нее.

Чтобы сохранить данные на диске после удаления виртуальной машины или использовать диск с разными ВМ, подключите существующий независимый диск по ссылке на него.

Независимый диск нельзя сделать зависимым.

Пример независимого диска (Ref)
yaml
spec:
  ...
  storage:
    disks:
      - name: boot
        disk:
          ref: disks/my-disk
...
status:
  storage:
    disks:
      - name: boot
        boot: true
        ref: disks/my-disk
        managed: false
        ready:
          state: OK
        iops: 1500
        size: 50 GB

Сравнение способов подключения дисков

ПараметрЗависимый дискНезависимый диск
СозданиеВ спецификации ВМОтдельный ресурс
Жизненный циклСвязан с ВМНезависим от ВМ
Удаление при удалении ВМДаНет
Возможность переноса между ВМТолько после преобразования в независимыйДа
Для чего лучше использоватьВременные данные, загрузочные дискиПостоянные данные, перенос между ВМ

Параметры подключения диска к ВМ

Для подключения зависимых и независимых дисков указываются одни и те же параметры:

  • name,
  • boot,
  • deviceName.

Имя диска в рамках ВМ

Имя диска в рамках виртуальной машины при его присоединении к ней задается параметром name. Это имя отличается от имени диска, отображаемого в списке дисков.

Далее в примере boot и second — это имена дисков в рамках виртуальной машины, а my-disk в последней строчке — имя диска в списке дисков.

Пример именования дисков в рамках ВМ
yaml
storage:
   disks:
     - name: boot
       boot: true
       disk:
         spec:
           size: 10G
           source:
             image: projects/my-project/images/my-image
 
     - name: second
       boot: false
       disk:
         ref: projects/my-project/disks/my-disk

Загрузочный диск

Будет ли диск загрузочным, определяет параметр boot. Значение параметра для загрузочного диска true, значение для незагрузочного диска — false. Параметр boot обязателен и не может принимать пустое значение.

Особенности и ограничения загрузочного диска:

  • необходим для запуска ВМ;
  • может быть только один загрузочный диск в рамках ВМ;
  • не может быть отключен от запущенной ВМ.

Имя устройства

Уникальное имя устройства задается параметром deviceName. Это имя отображается в дереве /dev/disk/by-id/mws-* виртуальной машины и сохраняется при ее перезагрузке. Имя устройства можно использовать для обращения к устройству внутри ВМ.

Формат имени устройства задается согласно правилам:

  1. Если вы не указали имя устройства, оно задается в формате mws-{name}, где name — уникальное имя диска в рамках ВМ.

  2. Если вы указали имя устройства, оно задается в формате mws-{deviceName}. Правила синтаксиса deviceName:

    • должно начинаться с буквы;
    • может содержать строчные буквы, цифры и дефисы;
    • должно заканчиваться на букву или цифру;
    • длина от 1 до 19 символов.