Как управлять дисками и вычислительными ресурсами ВМ
Диск ВМ — это 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 ГБ до 2 ТБ, и размер обязан быть кратен логическому и физическому размеру сектора.
-
На карточке ВМ в секции «Disks» нажмите «Add disk» и заполните форму. Без явного слота vStack Center возьмёт первый свободный:
Поле Значение Размер диска от 1 ГБ до 2 ТБ Слот 1–5; если не задан — автовыбор свободного Размер сектора логический и физический — 512 или 4096 байт; по умолчанию логический 512, физический 4096; логический не больше физического «MBps limit» Лимит пропускной способности «IOps limit» Лимит операций в секунду «Name» (метка) до 127 символов -
Дождитесь, пока диск появится в таблице секции «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.