Как делать снимки ВМ и откатываться к ним
Снимок ВМ в vStack Center — это ZFS-снимок датасетов её дисков плюс сохранённая копия конфигурации машины на тот же момент. Снимок создаётся мгновенно и сначала не занимает места: он растёт по мере того, как данные в дисках расходятся с состоянием на момент съёмки.
У снимка два имени. Пользовательское задаётся при создании и подчиняется строгому формату: латинские буквы, цифры и подчёркивание, до 128 символов. Внутреннее имя — полное имя ZFS-снимка; в интерфейсе показывается только пользовательская часть.
Снимок держит данные. Пока он жив, диск, попавший в снимок, физически не удаляется: попытка удалить такой диск помечает его как удерживаемый и освобождает место лишь после удаления снимка. Из этого же следует главное правило гигиены: снимок — не резервная копия. Он живёт на том же пуле, что и ВМ, и разделяет с ней судьбу пула.
Откат — операция разрушительная в обе стороны. Он возвращает данные дисков к состоянию снимка и удаляет снимки, сделанные позже точки отката. ВМ при этом обязана быть остановлена.
Снимки собраны на карточке ВМ в секции «Snapshots»: таблица со столбцами «Name», «Date of creation», «Size (GB)» и кнопка «Add snapshot».
Как создать снимок
Доступ: Cluster master — полный; остальным нужна роль с role_id ≤ 2 в ВЦОД
(виртуальном центре обработки данных) машины.
Предусловия: версия конфигурации ВМ не ниже 4, пул ВМ принимает данные, ВМ не заблокирована другой операцией.
На карточке ВМ в секции «Snapshots» нажмите «Add snapshot» и задайте имя — латинские буквы, цифры и подчёркивание, до 128 символов. Готовый снимок появится в таблице с датой создания и занимаемым местом.
Отказы:
| Отказ | Почему | Обход |
|---|---|---|
-3608 невалидное имя снимка | В имени есть символы вне латиницы, цифр и подчёркивания, либо длина больше 128 | Переименуйте снимок |
-3622 версия конфигурации ниже 4 | Машины третьей версии снимки не поддерживают | Обновите версию конфигурации ВМ |
-3625 пул ВМ не принимает данные | Пул не в рабочем состоянии | Дождитесь возврата пула в рабочее состояние |
-3630 ВМ заблокирована | Идёт другая операция | Повторите после её завершения |
-3620 ВМ не найдена в области видимости | Нет доступа или ВМ не существует | Проверьте права и то, что открыта нужная машина |
-403 недостаточно привилегий | Роль в ВЦОД слабее role_id ≤ 2 | Запросите роль администратора ВЦОД |
Как посмотреть снимки
Снимки одной машины перечислены в секции «Snapshots» её карточки. Столбец «Size (GB)» показывает, сколько места снимок занимает сейчас, — по нему видно, какие снимки пора убирать.
Снимки всех машин кластера сразу интерфейс отдельным списком не собирает: их приходится смотреть по карточкам ВМ. Cluster master видит все машины, обычный пользователь — только ВМ своих ВЦОД. Если нужен сводный список забытых снимков по всему кластеру, его отдаёт API (см. «Методы API»).
При сбое чтения списка приходит отказ -4107 «Unable to retreive snapshots list».
Как удалить снимок
Удалите снимок в секции «Snapshots» карточки ВМ. В отличие от создания, здесь в имени допускается точка — так удаляются снимки, созданные внешними инструментами.
Удаление снимка снимает удержания: вместе с записью снимка vStack Center убирает удерживаемые им диски и сетевые порты, которые оставались в конфигурации только из-за снимка. Именно поэтому диск, «застрявший» при удалении, пропадает вместе со снимком.
Отказы: -4321 — снимка с таким именем у ВМ нет, -4330 — ВМ заблокирована,
-403 — недостаточно привилегий, -4320 — ВМ не найдена или не доступна в
области видимости.
Как откатить ВМ к снимку
-
Остановите ВМ. Откат запущенной машины отклоняется отказом
-4225. -
В секции «Snapshots» карточки ВМ запустите откат к нужному снимку.
-
Проверьте результат: vStack Center восстанавливает конфигурацию ВМ из копии, сохранённой вместе со снимком, заново подключает диски и сетевые интерфейсы и удаляет снимки, сделанные позже точки отката. Список снимков после операции стоит перечитать.
Что откат не восстанавливает
Откат возвращает данные датасетов, но не все свойства ВМ. Остаются текущими:
- метки дисков;
- размеры дисков;
- лимиты операций в секунду и пропускной способности дисков;
- состав и настройки сетевых интерфейсов.
Практический вывод: если между снимком и откатом диск расширили или добавили интерфейс, эти изменения сохранятся. Приводите такие свойства в нужное состояние вручную после отката.
Если откат отклонён
| Отказ | Почему | Обход |
|---|---|---|
-4225 ВМ должна быть остановлена | Машина запущена или приостановлена | Остановите ВМ |
-4221 снимок не существует | Имя не совпадает с сохранённым | Возьмите имя из секции «Snapshots» |
-4224 версия конфигурации ниже 4 | Откат недоступен для машин третьей версии | Обновите версию конфигурации ВМ |
-4233 пул ВМ не принимает данные | Пул не в рабочем состоянии | Дождитесь возврата пула |
-4230 ВМ заблокирована | Идёт другая операция | Повторите позже |
-4208 невалидное имя снимка | Имя не проходит проверку формата | Проверьте имя |
-403 недостаточно привилегий | Роль слабее role_id ≤ 2 | Запросите роль администратора ВЦОД |
Отдельное ограничение действует, если у ВМ есть живые CoW-клоны: откат к снимку старше точки клонирования блокируется на уровне ZFS, пока клон жив. Откат к более новым снимкам при этом работает. Чтобы вернуться к старому снимку, сначала удалите клоны.
См. также
- Как перенести и клонировать ВМ — клонирование и его связь со снимками
- Снимки занимают место — разбор роста занятого места под снимками
Методы API
Операции этой страницы в API: vms-snapshot, vm-snapshot-list, snapshot-list,
vms-snapshot-remove, vms-rollback — см.
Справочник API.