Команды для создания снимка ВМ с помощью утилиты virsh приведены в таблице ниже. Для использования утилиты в интерфейсе командной строки необходимо ввести:

sudo virsh <команда> <аргумент> <параметр>
КомандаАргументПараметрОписание

snapshot-create

<имя_ВМ>

-

Создать снимок ВМ

--xmlfile <строка>

XML-файл снимка ВМ

--redefine

Переопределить метаданные существующего снимка

--current

Установить текущий снимок вместе с переопределением

--no-metadata

Создать снимок без метаданных

--quiesce

Заморозить гостевые файловые системы

--halt

Остановить ВМ после создания снимка

--disk-only

Зафиксировать состояние диска, но не состояние виртуальной машины

--reuse-external

Использовать существующие внешние файлы

--atomic

Необходима атомарная операция

--live

Создать снимок без приостановки работы системы

--validate

Проверить XML-файл на соответствие схеме

snapshot-create-as

-

-

Создать снимок ВМ на основе набора аргументов

Указывается для каждого диска

--name <строка>

Имя снимка

--description <строка>

Описание снимка

--print-xml

Вывести XML, но не выполнять операцию создания

--no-metadata

Создать снимок без метаданных

--halt

Остановить домен после создания снимка

--disk-only

Зафиксировать состояние диска, но не состояние виртуальной машины

--reuse-external

Использовать существующие внешние файлы

--quiesce

Заморозить гостевые файловые системы

--atomic

Необходима атомарная операция

--live

Создать снимок без приостановки работы системы

--validate

Проверить XML на соответствие схеме

--memspec <строка>

Атрибуты памяти: [file=]имя[,snapshot=тип]

--diskspec <строка>

Атрибуты диска: диск[,snapshot=тип][,driver=тип][,stype=тип][,file=имя]

snapshot-current

<имя_ВМ>

-

Просмотреть или установить снимок как текущий

--name

Показать имя вместо содержимого XML-файла

--security-info

Включить конфиденциальные данные в вывод

--snapshotname <строка>

Имя существующего снимка, который будет выбран как текущий

snapshot-delete





-

-

Удалить снимок ВМ

<имя_снимка>

-

Удалить определенный снимок

-

--current

Удалить только последний

<имя_снимка>

--children

Удалить указанный по имени снимок

При добавлении данной опции добавятся все производные снимки по цепочке.

--children-only

Оставить указанный по имени снимок

При добавлении данного атрибута удалятся только все производные снимки по цепочке.

snapshot-dumpxml

<имя_ВМ> <имя_снимка>

-

Вывод XML конфигурации конкретного снимка ВМ

--security-info

Включить конфиденциальные данные в вывод

snapshot-edit

<имя_ВМ>

--snapshotname <строка>

Редактировать настройки XML конкретного снимка

--current

Определить снимок как текущий

--rename

Разрешить переименование существующего снимка

--clone

Разрешить клонирование нового имени

snapshot-info

<имя_ВМ>

-

Информация о моментальном снимке

--snapshotname <строка>

Имя снимка

--current

Информация о текущем снимке

snapshot-list

<имя_ВМ>

-

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

--parent

Добавить столбец с названием родительского снимка 

--roots

Список снимков без родителей

--leaves

Список снимков без дочерних элементов

--no-leaves

Список снимков, которые не являются листьями (с дочерними элементами)

--metadata

Список снимков, содержащих метаданные, которые могут помешать удалению определения

--no-metadata

Список снимков без метаданных под управлением libvirt

--inactive

Фильтровать по снимкам, созданным в неактивном состоянии

--active

Фильтровать по снимкам, созданным в активном состоянии (снимки всей системы)

--disk-only

Фильтровать по снимкам только дисков

--internal

Фильтровать по внутренним снимкам

--external

Фильтровать по внешним снимкам

--tree

Список снимков в иерархии

--from <строка>

Ограничить дочерними элементами указанного снимка

--current

Ограничить дочерними элементами текущего снимка

--descendants

При наличии --from показывать полный список потомков

--name

Список имен снимков

--topological

Упорядочить список по топологии, а не по имени

snapshot-parent

<имя_ВМ>

-

Получить имя родительского снимка конкретного моментального снимка

--current

Найти родительский снимок для текущего снимка

snapshot-revert

<имя_ВМ>

-

Вернуть ВМ к конкретному моментальному снимку

--snapshotname <строка>

Имя снимка

--current

Вернуться к текущему снимку

--running

После восстановления изменить состояние на рабочее

--paused

После восстановления изменить состояние на приостановленное

--force

Усиленный режим при рискованном восстановлении

--reset-nvram

Переопределить NVRAM из шаблона

blockcommit

<имя_ВМ> <целевое_устройство>

-

Слияние изменений из снимка ВМ и удаление первого

--bandwidth <число>

Ограничение пропускной способности в МиБ/с

--base <строка>

Путь к базовому файлу, в который будут сведены изменения из более новых файлов (по умолчанию первый файл в цепочке)

--shallow

Взять за основу резервный файл верхнего файла

--top <строка>

Путь к верхнему файлу, данные которого будут сведены в базовый файл (по умолчанию последний файл в цепочке)

--active

Включить двухэтапное активное сведение верхних файлов

--delete

Удалить верхние файлы после успешного сведения

--wait

Дождаться завершения задания (при наличии --active ожидать синхронизации)

--verbose

Если определен аргумент --wait, показывает ход выполнения копирования

--timeout <число>

Подразумевает наличие аргумента --wait, определяет время ожидания завершения копирования в секундах, по истечении которого оно будет прервано

--pivot

Подразумевает наличие аргументов --active --wait, после сведения различий создает точку поворота цепочки

--keep-overlay

Подразумевает наличие аргументов  --active --wait, выход после синхронизации

--async

Используется вместе с --wait и в случае прерывания синхронизации сразу возвращает управление пользователю, не дожидаясь завершения операции

--keep-relative

Поддерживать относительные ссылки между элементами в цепочке

--bytes

Ограничение пропускной способности обозначено в байт/с, а не в МиБ/с

Примеры

  1. Создание снимка ВМ на основе набора аргументов:
    --domain ИМЯ_ВМ --name ИМЯ_СНИМКА --diskspec<имя_назначения>,snapshot=external,driver=qcow2,file=/var/lib/one/datastores/0/0/ overlay1_<имя_диска>.qcow2 --disk-only --quiesce

    sudo virsh snapshot-create-as --domain one-0 overlay3 --diskspec sda,snapshot=external,driver=qcow2,file=/var/lib/libvirt/images/overlay3-sda.qcow2 vda,snapshot=external,driver=qcow2,file=/var/lib/libvirt/images/overlay3-vda.qcow2  --disk-only --quiesce

  2. Слияние изменений снимков ВМ с удалением первого:
    sudo virsh blockcommit one-0 sda --active --verbose --pivot --delete

    Повторяется для каждого целевого устройства