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

Как делать снимки ВМ и откатываться к ним

Снимок ВМ в 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 — ВМ не найдена или не доступна в области видимости.

Как откатить ВМ к снимку​

  1. Остановите ВМ. Откат запущенной машины отклоняется отказом -4225.

  2. В секции «Snapshots» карточки ВМ запустите откат к нужному снимку.

  3. Проверьте результат: 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.