
So sieht mein Setup aus: Ubuntu 14.04 mit KVM und libvirt hat ein HW-RAID, von dem es ausgeführt wird (/dev/sda), und ein weiteres HW-RAID (/dev/sdb), das das PV zu einer LVM VG namens „datavg“ ist, mit virtuellen Maschinen, die in unformatierten LVs installiert sind. Dann habe ich die VM wie folgt gesichert:
- libvirt/virsh-Konfiguration speichern
- Speichern Sie die LV-Größe
- Speichern Sie die ersten 512 Bytes (MBR und GPT) mit dd
- Erstellen Sie einen LVM-Snapshot des LV
- Mappen Sie die Partitionen (mit kpartx) und mounten Sie die Root-Partition der VM
- Speichern Sie den FS-Typ und die UUID dieser Partition
- Verwenden Sie Duplicity, um ein inkrementelles Backup von allem durchzuführen (schließen Sie /proc aus).
- Aushängen und Zuordnung aufheben
- Schnappschuss entfernen
Dies habe ich auf dem „Weg zurück“ ausgeführt, um es in einer VM namens „test-vm“ in einem LV „vm-test-lv“ wiederherzustellen:
LV mit gleicher Größe erstellen (aus Backup)
lvcreate --name vm-test-lv --size 400.00G datavg
dd den MBR & GPT zurück in die ersten 512b am Anfang des LV
dd if=/data/backup/test/MBR-20141126T104236Z.raw of=/dev/datavg/vm-test-lv
Mappen der LV-Partitionen
kpartx -av /dev/datavg/vm-test-lv
formatieren Sie es im selben FS mit derselben UUID (beide aus dem Backup)
mkfs.ext4 -U a5943cc4-6421-47a4-9613-30efd4dc44d4 /dev/mapper/datavg-vm--test--lv1
Mounten Sie die frisch formatierte Partition
mount /dev/mapper/datavg-vm--test--lv1 /data/mnt/
Stellen Sie das Duplicity-Backup wieder her
duplicity restore --progress --restore-time 20141126T104236Z file:///data/backup/test /data/mnt
unmounten Sie es
umount /data/mnt
Entfernen Sie die Zuordnung
kpartx -d /dev/mapper/datavg-vm--test--lv
Erstellen Sie die virtuelle Maschine (in diesem Fall mit einem anderen Namen und einer anderen UUID, da die ursprüngliche Maschine noch vorhanden, aber ausgeschaltet ist).
virsh create /data/backup/test/virsh-20141126T104236Z.xml
versuche zu booten
Das hat nicht funktioniert und es hängt. Wenn ich es mir über VNC und einen SSH-Tunnel anschaue, kommt die Meldung „Booten von der Festplatte …“ (Bildschirmfotoda ich keine Inline-Bilder posten darf)
Ich habe dann versucht, es noch einmal zuzuordnen und mich per chroot einzuloggen, grub-install
aber das hat auch nicht funktioniert:
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.
Es werden die korrekten UUIDs des VG und des LV angezeigt, aber ich befürchte, dass ich sie falsch verwende ... Kann mir jemand helfen?