Под капотом · Виртуализация · Снимки

Возврат к снимку

Пользователь возвращает ВМ к выбранному снимку. Вот какую команду он использует:

Команда
virsh snapshot-revert vm1 snap1
libvirt API virDomainRevertToSnapshot(snap)

После выполнения команды диски и память откатываются к точке снимка - всё, что сделано позже, теряется.

  • пользователь 1. Пользователь вводит команду отката
    virDomainRevertToSnapshot(snap)

    Работает и для снимка диска, и для полного - разница в том, что вернётся.

  • libvirt 2. Демон сверяет конфигурации
    если <domain> в снимке ≠ текущей ВМ
      → нужен VIR_DOMAIN_SNAPSHOT_REVERT_FORCE

    Защита от отката на чужую конфигурацию: другие устройства, другая машина.

  • QEMU 3. Возвращаются диски
    внешний: активируется прежний файл цепочки
    внутренний: загружается L1 из таблицы снапшотов

    Это не переименование файла, а переключение активного слоя.

  • QEMU 4. Возвращается память, если она есть
    загрузка RAM и состояния устройств

    Без памяти гость стартует заново - с состоянием ФС на момент снимка.

  • libvirt 5. Состояние берётся из снимка
    state ← из снапшота
    снимок диска (state="disk-snapshot") → гость выключен

    Снимок диска навсегда фиксирует и состояние ФС - это не «пауза».