Restaurando uma VM para LV, disco GRUB não encontrado

Restaurando uma VM para LV, disco GRUB não encontrado

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-installmas 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?

informação relacionada