пятница, 29 июля 2016 г.

Восстановление виртуальной машины из бекапа в proxmox ve

Всем когда приходится восстанавливаться из бекапа. Как это было.
Хочется заметить, что свободного места на диске в момент восстановления Вам потребуется в 4 раза больше, чем весит Ваш образ. Если это что-то крупное, то это проблема.
У меня образы виртуальной машины хранятся в qcow2, а бекапы сжимаются при помощи lzo, поэтому в этом мануале будет про них. Как пользоваться другими архиваторами думаю поисковик Вам подскажет

Для начала останавливаем машину которую надо восстановить. Переносим текущие("поломанные") образы из папки /var/lib/vz/[id] (где id - номер виртуальной машины) в папку для бекапа, чтобы можно было вернуться к "поломанному" варианту:
mv /var/lib/vz/101/* /mnt/backup_hdd/101_old/

Теперь необходимо распаковать "хороший" бекап:
lzop -d /mnt/backup_hdd/dump/vzdump-qemu-101-2016_07_01-00_00_02.vma.lzo /mnt/backup_hdd/dump/vzdump-qemu-101-2016_07_24-00_00_02.vma

Файл vma содержит образы всех дисков виртуальной машины и ее конфиг. Распаковывать надо в несуществующую папку, иначе программа ругается, что папка существует:
vma extract /mnt/backup_hdd/dump/vzdump-qemu-101-2016_07_24-00_00_02.vma /mnt/backup_hdd/102/

Видим, что образы в папке из бекапа получились в формате raw и с другими именами файлов. Поэтому их необходимо конвертировать в наш формат и переименовать:
qemu-img convert -f raw -O qcow2 disk-drive-virtio1.raw disk-drive-virtio1.qcow2
mv disk-drive-virtio1.qcow2 vm-101-disk-1.qcow2

И возвращаем восстановленные образы на место:
mv vm-101-disk-1.qcow2 /var/lib/vz/101/

Запускаем виртуальную машину и радуемся.