
Esta é a aparência da minha configuração: ubuntu 14.04 executando KVM com libvirt tem um HW-Raid em execução (/dev/sda) e outro HW-RAID (/dev/sdb) que é o PV para um LVM VG chamado "datavg " com máquinas virtuais instaladas em LVs não formatados. Então fiz backup da VM assim:
- salvar configuração da libvirt/virsh
- salve o tamanho lv
- salve os primeiros 512 bytes (MBR e GPT) usando dd
- crie um instantâneo LVM do LV
- mapeie as partições (usando kpartx) e monte a partição raiz da VM
- salve o tipo fs e o uuid dessa partição
- use duplicidade para fazer backup incremental de tudo (excluir/proc)
- desmontar e desmapear
- remover instantâneo
Isto é o que executei no "caminho de volta" para restaurá-lo para uma VM chamada "test-vm" em um LV "vm-test-lv":
crie LV com o mesmo tamanho (do backup)
lvcreate --name vm-test-lv --size 400.00G datavg
adicione o MBR e GPT de volta ao primeiro 512b no início do LV
dd if=/data/backup/test/MBR-20141126T104236Z.raw of=/dev/datavg/vm-test-lv
mapear as partições LV
kpartx -av /dev/datavg/vm-test-lv
formate-o no mesmo FS com o mesmo UUID (ambos do backup)
mkfs.ext4 -U a5943cc4-6421-47a4-9613-30efd4dc44d4 /dev/mapper/datavg-vm--test--lv1
monte a partição recém-formatada
mount /dev/mapper/datavg-vm--test--lv1 /data/mnt/
restaurar o backup de duplicidade
duplicity restore --progress --restore-time 20141126T104236Z file:///data/backup/test /data/mnt
desmonte-o
umount /data/mnt
remover o mapeamento
kpartx -d /dev/mapper/datavg-vm--test--lv
crie a máquina virtual (neste caso com um nome e uuid diferentes porque a original ainda existe, mas está desligada)
virsh create /data/backup/test/virsh-20141126T104236Z.xml
tente inicializar
Isso não funcionou e está travando, olhando através do VNC através de um túnel SSH está dizendo "Booting from Hard Disk..." (captura de telajá que não tenho permissão para postar imagens inline)
Tentei então mapeá-lo novamente e fazer chroot nele para tentar fazer, grub-install
mas também não funcionou:
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.
Ele está mostrando os UUIDs corretos do VG e do LV, mas temo estar usando errado... Alguém pode me ajudar?