Перейти к основному содержимому

Как управлять дисками и вычислительными ресурсами ВМ

Диск ВМ — это ZFS-том на пуле хранения плюс запись о его подключении к машине: слот, размер сектора, лимиты ввода-вывода, необязательная метка. Слотов пять. Слот определяет порядок устройств для гостя, поэтому его либо задают явно, либо vStack Center берёт первый свободный.

Операции с дисками делятся на две группы. Одни требуют работы контроллера хранилища и потому идут не мгновенно: создание тома, расширение, удаление. Другие меняют только учётные данные и ограничения — они применяются сразу, если ВМ остановлена, и уходят на узел, если запущена.

Вычислительные ресурсы устроены проще. Число vCPU, объём RAM, имя, описание и загрузочный носитель правятся в одной форме на карточке ВМ. Приоритет и класс vCPU влияют на то, как планировщик узла делит процессорное время между машинами. Ballooning меняет объём памяти, который гость отдаёт обратно гипервизору, — без перезапуска.

Изменения vCPU и RAM записываются в эталонную конфигурацию и передаются агенту, но гость увидит новые значения после перезапуска — сама правка машину не перезагружает.

Диски собраны на карточке ВМ в секции «Disks»: таблица со столбцами «Name», «Slot», «Disk size (GB)», «Sector size», «IOps limit», «MBps limit» и кнопка «Add disk». Имя, описание, «CPU (Cores)» и «RAM» правятся в форме сверху карточки и сохраняются кнопкой «Save changes».

Как добавить диск​

Доступ: Cluster master — любая ВМ, обычный пользователь — ВМ своих ВЦОД (виртуальных центров обработки данных).

  1. Определите размер. Границы — от 1 ГБ до 2 ТБ, и размер обязан быть кратен логическому и физическому размеру сектора.

  2. На карточке ВМ в секции «Disks» нажмите «Add disk» и заполните форму. Без явного слота vStack Center возьмёт первый свободный:

    ПолеЗначение
    Размер дискаот 1 ГБ до 2 ТБ
    Слот1–5; если не задан — автовыбор свободного
    Размер секторалогический и физический — 512 или 4096 байт; по умолчанию логический 512, физический 4096; логический не больше физического
    «MBps limit»Лимит пропускной способности
    «IOps limit»Лимит операций в секунду
    «Name» (метка)до 127 символов
  3. Дождитесь, пока диск появится в таблице секции «Disks». Там же видны его размер, слот, размер сектора и лимиты.

Отказы и обходы:

ОтказПочемуОбход
-3408 Minimal size of new disk is 1GBРазмер меньше 1 ГБУвеличьте размер
-3409 New disk size exceeds 2TBРазмер больше 2 ТБРазбейте данные на несколько дисков
-3410, -3411Размер не кратен логическому или физическому секторуОкруглите размер до кратного размеру сектора
-3412Логический сектор больше физическогоПоменяйте параметры сектора
-3430, -3444 нет свободных слотовВсе пять слотов занятыОсвободите слот или используйте другой диск
-3445 Slot N occupied alreadyВыбранный слот занятОставьте слот пустым — vStack Center выберет свободный
-3442, -3443 слот вне диапазонаСлот не из 1–5Укажите слот из диапазона
-3423 VM v3 should be upgraded firstВерсия конфигурации ВМ — 3Обновите версию конфигурации ВМ
-3447 vDC storage quota depletedДиск не влезает в квоту ВЦОДРасширьте квоту или уменьшите диск
-3448 VM is lockedИдёт другая операцияДождитесь её завершения

Как расширить диск​

Диск только увеличивается. Уменьшение не поддерживается: новый размер обязан быть больше текущего, гранулярность — 1 МБ. Задайте новый размер у нужного диска в секции «Disks» карточки ВМ.

Типичные отказы: -7126 — новый размер не больше текущего, -7127 — размер не кратен 1 МБ, -7147 — кончилась квота хранилища ВЦОД, -7124 — такого диска у ВМ нет, -7128 — ВМ заблокирована другой операцией.

Расширение тома не растягивает файловую систему внутри гостя — это делается средствами гостевой ОС после того, как диск увеличен.

Как удалить диск​

Удаление диска требует остановленной ВМ: отказ -4424 «vm id==N must be stopped in order to remove disk» означает именно это. Остановите машину и удалите диск в секции «Disks» её карточки.

Особый случай — диск, удерживаемый снимком. Тогда vStack Center не удаляет том, а помечает его как удерживаемый и не передаёт команду контроллеру хранилища: место освободится, когда снимок будет удалён. Прочие отказы: -4433 — пул ВМ не принимает данные, -4430 — ВМ заблокирована, -4423 — версия конфигурации ВМ не поддерживает операцию.

Как задать метку и лимиты диска​

Метка — это пользовательское имя диска, оно показывается в столбце «Name» секции «Disks». Пустое значение сбрасывает метку. Нужна роль в ВЦОД с role_id ≤ 2 либо роль VM Developer (7). Метка длиннее 127 символов отклоняется отказом -4047.

Лимиты ввода-вывода задаются полями «MBps limit» и «IOps limit» у нужного диска. Задайте хотя бы одно из них — иначе операция отклоняется отказом -7318.

У остановленной ВМ лимит применяется сразу. У запущенной команда уходит на узел, и возможен частичный успех — сообщение «Ratelimit has been set (DB), but agent didn't apply it». Это значит: значение записано в конфигурацию, но гипервизор его не принял. Лимит вступит в силу при следующем запуске ВМ. Прочие отказы: -7324 — такого диска у ВМ нет, -7323 — версия конфигурации 3, -7328 — ВМ заблокирована.

Как изменить vCPU, RAM, имя и загрузочный носитель​

Всё это правится в форме сверху карточки ВМ: «Name», «Description», «CPU (Cores)», «RAM» (в GB) и список загрузочных носителей, где значение «none» означает, что носитель не подключён. Изменения применяются кнопкой «Save changes» — она разблокируется, когда в форме есть правки. Доступ: Cluster master — полный, обычный пользователь — роль с role_id ≤ 2 либо VM Developer (7) в ВЦОД машины.

ПолеОграничение
«CPU (Cores)»от 1 до максимума, заданного в кластере
«RAM»минимум 512 МБ, максимум — заданный в кластере
«Name»новое имя ВМ
«Description»описание; пустое значение сбрасывает
Загрузочный носительзначение из списка носителей кластера; «none» — без носителя

Особенности, о которых стоит знать заранее:

  • Правка формы не блокирует ВМ. Две правки подряд не мешают друг другу, но и не выстраиваются в очередь — не сохраняйте форму одновременно из двух мест.
  • Отказ -3233 «ram param value is out of range» означает, что объём памяти вне допустимого диапазона.
  • -3223 — число vCPU вне диапазона кластера, -3244 — выбран несуществующий загрузочный носитель, -3219 — ВМ заблокирована другой операцией.

Как изменить память запущенной ВМ​

Ballooning отдаёт часть памяти гостя обратно гипервизору без перезапуска: задаётся целевой объём, нулевое значение сбрасывает ограничение. Работает только у ВМ, где ballooning включён на уровне конфигурации.

Отказ -15412 означает, что у ВМ ballooning не включён — тогда объём памяти меняется только через форму на карточке и перезапуск. Отказ -15015 — ВМ заблокирована другой операцией.

Как изменить приоритет и класс vCPU​

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

Приоритет CPU задаёт вес ВМ для планировщика узла, допустимый диапазон — 1–20. У выключенной ВМ vStack Center прямо сообщает, что изменение применено на месте, поскольку машина не работает.

Класс vCPU виден в столбце «vCPU class» списка ВМ. Менять его вправе только роль Cluster master: привилегии Set VM vCPU Class (1603) и Set VM Reserved vCPU Class (1606) выданы лишь ей, остальные роли получают -403. Значения от 1 до 5 открывает первая привилегия, значение 0 — вторая. Попытка уйти ниже разрешённого минимума отклоняется отказом -5110.

Если ВМ остановилась в момент передачи команды, изменение считается применённым: vStack Center трактует такой ответ агента как успех — класс vCPU изменён, пока ВМ не работала.

См. также​

Методы API​

Операции этой страницы в API: vms-add-disk, vms-disk-resize, vm-remove-disk, vm-disk-set-label, vm-ratelimit-disk, vm-set, vm-boot_media-list, vms-balloon, vms-cpu-priority, vms-vcpu-class — см. Справочник API.