Dieser Artikel ist Teil unseres Guides: Mehr Datensicherheit durch Replikation und Snapshots

Mit libvirt statt LVM KVM-Snapshots im Live-Betrieb erstellen

Sowohl mit LVM als auch mit libvirt lassen sich KVM-Snapshots erstellen. Allerdings können nur mit libvirt auch Live-Snapshots erstellt werden.

Lange Zeit war es eine echte Herausforderungen, mit KVM einen Snapshot zu erstellen, weil es dafür jahrelang keine native Lösung gab. Snapshots waren nur möglich, indem man die Snapshot-Funktion von Linux LVM (Logical Volume Manager) benutzt hat. Diese Methode funktioniert natürlich immer noch, die bessere Alternative ist allerdings libvirt.

LVM (Logical Volume Manager) Snapshots

Das Ziel von LVM-Snapshots besteht darin, auf einfache Weise eine frühere Version einer auf einem logischen Laufwerk gespeicherten Datei wiederherzustellen. LVM-Volumes erstellt man mithilfe einer Volume-Gruppe, die die gesamte Menge des verfügbaren Speichers repräsentiert.

Bevor Sie einen LVM-Snapshot erstellen, müssen Sie also sicherstellen, dass die Volume-Gruppe genügend Speicherplatz vorhält. Einen Snapshot zu erstellen ist dabei eine recht einfache Prozedur. Dafür müssen Sie lediglich den nachfolgenden Befehl ausführen: lvcreate -s -n meinvolume_snap -L 10G meinoriginalvolume. Für einen zuverlässigen Snapshot sollten Sie sicherstellen, dass die virtuelle Maschine (VM) ausgeschaltet ist.

Der Vorteil von KVM-Snapshots mit libvirt

Seit einiger Zeit bietet KVM mit der Unterstützung für libvirt aber eine alternative Methode, um Snapshots zu erstellen. Dabei handelt es sich um die Management-Schnittstelle, die man für KVM verwendet. 

Das Erstellen von Snapshots mithilfe von libvirt ist eine effizientere Vorgehensweise, da es eine native Lösung für KVM ist. Zudem wird hier ein Snapshot der gesamten virtuellen Maschine erstellt. LVM-Snapshots dagegen sichern in der Regel lediglich eine individuelle Festplatte.

Um einen Snapshot mit libvirt zu erstellen, können Sie den Befehl virsh snapshot-create verwenden. Der Befehl basiert auf einer XML-Datei, die die Definition der Orginal-VM beinhaltet. Der Befehl virsh liest die Inhalte dieser Datei, um Informationen über die Original-VM herauszufinden und welche Festplatte verwendet werden soll. Dies ist in der <name>-Sektion der XML-Datei spezifiziert.

Bevor Sie einen LVM-Snapshot erstellen, müssen Sie sicherstellen, dass die Volume-Gruppe genügend Speicherplatz vorhält.

Die XML-Datei ist in der Lage, die Original-VM zu definieren. Es kann sich dabei auch um eine maßgeschneiderte XML-Datei handeln, die nur einen Teil der Konfiguration einer virtuellen Maschine enthält. Sie können zum Beispiel eine XML-Datei erstellen, die nicht alle von der VM genutzten Festplatten enthält. Mithilfe des Befehls virsh snapshot-create meinedomäne-snap meinedomäne.xml erstellen Sie einen Snapshot mit Namen meinedomäne, der auf der Konfigurationsdatei meinedomäne.xml basiert.

Der eigentliche Vorteil der Benutzung von virsh für die Erstellung eines KVM-Snapshots ist aber die Befehls-Option --live. Mit dieser Option können Sie den Snapshot einer laufenden virtuellen Maschine erstellen. Verwenden Sie diese Möglichkeit, sollten Sie Ihren Snapshot aber immer testen, da einige Workloads Live-Snapshots nicht unterstützen. Behalten Sie außerdem im Hinterkopf, dass Live-KVM-Snapshots größer sind, da diese das Speicher-Abbild ebenfalls enthalten.

Nachdem Sie einen KVM-Snapshot mithilfe des Befehls virsh erstellt haben, können Sie später auf diesen zurückgreifen und den alten Stand wiederherstellen. Verwenden Sie dafür den Befehl snapshot-revert ihrVMName. Zum Beispiel würde der Befehl snapshot-revert meineVM --current die virtuelle Maschine zum letzten gespeicherten Snapshot wiederherstellen. Sie können auch den Namen eines spezifischen Snapshots verwenden, um eine Rolle rückwärts zu machen. Dazu verwenden Sie zum Beispiel virsh snapshot-revert meineVM meinVM-Snapshot.

Die alte Methode mit LVM klappt zwar immer noch, allerdings muss eine virtuelle Maschine dafür heruntergefahren sein, wenn der Snapshot erstellt wird. Metadaten der virtuellen Maschine werden dabei nicht berücksichtigt. Auch wenn LVM in modernen KVM-Umgebungen funktionieren würde, um einen KVM-Snapshot zu erstellen, ist die elegantere Methode mit Sicherheit virsh und libvirt.

Folgen Sie SearchDataCenter.de auch auf Facebook, Twitter und Google+!

Artikel wurde zuletzt im November 2014 aktualisiert

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close