Как сделать снэпшот в Linux KVM
Перед обновлением виртуальной машины, я хотел бы сделать снимок (снэпшот). Я хочу, чтобы можно было вернуть домен / VM к снимку, если что-то пойдет не так с моим обновлением. Есть ли команда, чтобы создать снимок виртуальной машины (VM) в то время как он работает? Поддерживает ли qemu-kvm создание снэпшота включенной мшины?
Да, KVM (Kernel Virtual Machine) поддерживает как горячие так и обычные снимки. Снепшот должен основываться на qcow2 типе диска. Снэпшоты поддерживаются только на серверах KVM VM Host. Вы не можете создавать снимки внутри KVM VM. Вы должны использовать одину из следующих команд:
- QEMU-IMG команда — QEMU утилита образа диска. Никогда не используйте QEMU-IMG для создания образа работающей виртуальной машины или любого другого процесса. Машина должна находиться в выключенном состоянии, чтобы использовать QEMU-IMG команды.
- virsh команды — virsh программа является основным интерфейсом для управления гостевыми доменами, включая KVM. В этом уроке мы будем использовать команду virsh.
Синтаксис
Команда virsh может создать снимок из файла XML, с помощью virsh snapshot-create или из набора вариантов с использованием опция virsh snapshot-create-as. Синтаксис:
1 |
virsh snapshot-create-as --domain {VM-NAME} --name "{SNAPSHOT-NAME}" |
Где,
- --domain {VM-NAME}: Домен имя/VM имя/id/uuid
- --name "{SNAPSHOT-NAME}": Имя снэпшота
Примеры
Список запущенных гостевых систем:
1 |
virsh list |
Результат:
1 2 3 4 5 |
Id Name State ---------------------------------------------------- 1 freebsd выполняется 2 openbsd выполняется 3 centos7 выполняется |
Чтобы увидеть существующие снимки (если таковые имеются) для домена под названием OpenBSD, введите следующую команду:
1 |
virsh snapshot-list --domain openbsd |
Результат:
1 2 3 4 |
Name Creation Time State ------------------------------------------------------------ 3sep2016 2016-09-02 13:38:18 -0500 shutoff 3sep2016u1 2016-09-02 15:04:50 -0500 shutoff |
Давайте создадим снэпшот для домена FreeBSD. Во-первых, убедитесь, что FreeBSD использует qcow2 диск:
1 |
virsh dumpxml freebsd | grep -i qemu |
Результат:
1 2 |
<driver name='qemu' type='qcow2'/> <driver name='qemu' type='raw'/> |
Чтобы создать снэпшот для VM под названием FreeBSD, введите следующую команду:
1 2 3 4 |
virsh snapshot-create-as --domain freebsd \ --name "5sep2016s0" \ --description "Snapshot before upgrading to FreeBSD 11" \ --live |
Результат
1 |
Domain snapshot 5sep2016s0 created |
Фиксирует только состояние диска, а не состояния памяти. Для того, чтобы сделать новый снэпшот VM Guest FreeBSD, которая в настоящее время не работает:
1 2 3 4 5 |
virsh shutdown freebsd virsh snapshot-create-as --domain freebsd \ --name "5Sep2016_S1" \ --description "My First Snapshpot" virsh start freebsd |
Для просмотра списка снэпшотов домена под названием FreeBSD, введите следующую команду:
1 |
virsh snapshot-list --domain freebsd |
Чтобы посмотреть подробную информацию снимка для домена под названием FreeBSD, введите следующую команду:
1 |
virsh snapshot-info --domain freebsd --snapshotname 5Sep2016_S1 |
Результат:
Как использовать снимок?
Чтобы восстановить машину из снимока, введите следующую команду:
1 2 |
virsh shutdown --domain freebsd virsh snapshot-revert --domain freebsd --snapshotname 5Sep2016_S1 --running |
Как удалить снэпшот?
Используйте следующий синтаксис:
1 |
virsh snapshot-delete --domain freebsd --snapshotname 5Sep2016_S2 |
Предоставляем услуги установки, настройки и поддержки виртуальных машин, обращайтесь [email protected]