Перейти к содержанию

Резервное копирование виртуальных машин в KVM

Рассмотрим простую процедуру резервирования виртуальной машины без снапшотов.

Для удобства зададим путь к резервной копии в переменной:

BACKUP_PATH="SOMEPATH"

Остановим виртуальную машину:

sudo virsh stop --domain <VM_NAME>

Выгрузим конфигурацию виртуальной машины в файл:

sudo virsh dumpxml --domain <VM_NAME> > ${BACKUP_PATH}/VM_NAME.xml

Выведем список всех блочных устройств виртуальной машины:

sudo virsh domblklist --domain <VM_NAME>

Примечание

Дальнейшие действия нужно выполнить для каждого из файлов блочных устройств.

Выполним конвертирование файла блочного устройства виртуальной машины в точно такой же файл. Это скопирует только объем, занятый данными - размер файла блочного устройства будет меньше:

sudo qemu-img convert -O /var/lib/libvirt/VM_NAME.qcow2 /${BACKUP_PATH}/VM_NAME.qcow2

Трюк

Если диск виртуальной машины стал занимать много места, его можно восстановить из резервной копии, т.к. она может "весить" меньше:

sudo cp -f /${BACKUP_PATH}/VM_NAME.qcow2 /var/lib/libvirt/VM_NAME.qcow2