
Вот как выглядит моя настройка: Ubuntu 14.04 с запущенным KVM с libvirt имеет HW-Raid, с которого он работает (/dev/sda), и другой HW-RAID (/dev/sdb), который является PV для LVM VG под названием "datavg" с виртуальными машинами, установленными на неформатированных LV. Затем я сделал резервную копию VM следующим образом:
- сохранить конфигурацию libvirt/virsh
- сохранить размер lv
- сохранить первые 512 байт (MBR и GPT) с помощью dd
- создать снимок LVM LV
- отобразите разделы (используя kpartx) и смонтируйте корневой раздел виртуальной машины
- сохранить тип файловой системы и uuid этого раздела
- используйте duplicity для создания инкрементного резервного копирования всего (исключая /proc)
- размонтировать и отключить
- удалить снимок
Вот что я запустил на «обратном пути», чтобы восстановить его на виртуальной машине с именем «test-vm» на логическом томе «vm-test-lv»:
создать LV того же размера (из резервной копии)
lvcreate --name vm-test-lv --size 400.00G datavg
верните MBR и GPT обратно в первые 512b в начале LV
dd if=/data/backup/test/MBR-20141126T104236Z.raw of=/dev/datavg/vm-test-lv
карта разделов LV
kpartx -av /dev/datavg/vm-test-lv
отформатируйте его в той же ФС с тем же UUID (оба из резервной копии)
mkfs.ext4 -U a5943cc4-6421-47a4-9613-30efd4dc44d4 /dev/mapper/datavg-vm--test--lv1
смонтировать свежеотформатированный раздел
mount /dev/mapper/datavg-vm--test--lv1 /data/mnt/
восстановить резервную копию duplicity
duplicity restore --progress --restore-time 20141126T104236Z file:///data/backup/test /data/mnt
размонтировать его
umount /data/mnt
удалить отображение
kpartx -d /dev/mapper/datavg-vm--test--lv
создать виртуальную машину (в данном случае с другим именем и uuid, поскольку исходная все еще существует, но выключена)
virsh create /data/backup/test/virsh-20141126T104236Z.xml
попробуйте загрузиться
Это не сработало, и он завис, глядя на него через VNC через туннель SSH, он говорит: «Загрузка с жесткого диска...» (Скриншоттак как мне не разрешено размещать встроенные изображения)
Затем я попытался снова отобразить его и выполнить chroot, grub-install
но это тоже не сработало:
root@kvm-host:~# mkdir /data/mnt/proc
root@kvm-host:~# mount --bind /proc /data/mnt/proc
root@kvm-host:~# mount --bind /dev /data/mnt/dev
root@kvm-host:~# mount --bind /sys /data/mnt/sys
root@kvm-host:~# chroot /data/mnt
root@kvm-host:/# grub-install /dev/mapper/datavg-vm--test--lv
Installing for i386-pc platform.
grub-install: error: disk `lvmid/eLefkO-MKtH-kOcq-pt0b-4zzO-31xg-XIqDpY/AcNuFk-JY2r-V8x5-gNoV-UCoi-uQug-8R0ZWZ' not found.
Он показывает правильные UUID VG и LV, но я боюсь, что использую его неправильно... Может ли кто-нибудь мне помочь?