Способы подключения дисков
В MWS предусмотрены два типа дисков в зависимости от способа подключения к ВМ: зависимый диск (Spec) и независимый диск (Ref).
Зависимый диск
Зависимый диск создается вместе с виртуальной машиной и может быть удален двумя способами: при исключении из спецификации ВМ или автоматически вместе с ней. Зависимый диск подходит для временных задач, например, для хранения логов или использования в качестве загрузочного диска.
Отключить зависимый диск без удаления нельзя, но вы можете сделать его независимым ресурсом, то есть «отвязать» от исходной ВМ. Тогда можно будет хранить данные на диске после удаления исходной ВМ и подключать диск к другим ВМ.
Пример зависимого диска (Spec)
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)
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 в последней строчке — имя диска в списке дисков.
Пример именования дисков в рамках ВМ
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-* виртуальной машины и сохраняется при ее перезагрузке. Имя устройства можно использовать для обращения к устройству внутри ВМ.
Формат имени устройства задается согласно правилам:
Если вы не указали имя устройства, оно задается в формате
mws-{name}, гдеname— уникальное имя диска в рамках ВМ.Если вы указали имя устройства, оно задается в формате
mws-{deviceName}. Правила синтаксисаdeviceName:- должно начинаться с буквы;
- может содержать строчные буквы, цифры и дефисы;
- должно заканчиваться на букву или цифру;
- длина от 1 до 19 символов.