Virtualisierung · 3 min read · Jan 05, 2026

VirtualBox: Erstellen von Backups & Klonen von laufenden virtuellen Maschinen (ohne Ausfallzeit) mit LVM-Snapshots

VirtualBox: Erstellen von Backups & Klonen von laufenden virtuellen Maschinen (ohne Ausfallzeit) mit LVM-Snapshots

Version 1.0
Autor: Falko Timme
Folge mir auf Twitter

Wenn Sie LVM-Volumes für Ihre VirtualBox-VMs verwenden (wie im Tutorial “RAW-Geräte in VirtualBox-VMs verwenden” gezeigt), können Sie Backups und Klone einer laufenden VM erstellen, ohne sie herunterzufahren. Dieses Tutorial zeigt genau das: die Verwendung von LVM-Snapshots, um Backups und Klone von laufenden VirtualBox-VMs ohne Ausfallzeit zu erstellen.

Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

Da ich VirtualBox auf einem headless Server installiert habe, verwende ich phpvirtualbox als die VirtualBox-GUI hier. Wenn Sie die originale VirtualBox-GUI verwenden, ist das vollkommen in Ordnung.

Meine laufende virtuelle Maschine (von der ich ein Backup erstellen möchte) heißt vm10 und befindet sich auf dem LVM-Volume /dev/vg0/vm10.

Stellen Sie sicher, dass Sie als root angemeldet sind (geben Sie ein

sudo su

um root zu werden), da wir alle Schritte aus diesem Tutorial als Root-Benutzer ausführen müssen.

2 Erstellen Sie ein Backup einer laufenden VM mit LVM-Snapshots

Um ein Backup der laufenden virtuellen Maschine vm10 zu erstellen, erstelle ich zunächst einen LVM-Snapshot von /dev/vg0/vm10 mit dem Namen vm10_snap. Snapshots können kleiner als das Original-Volume sein - 512MB wären wahrscheinlich ausreichend, aber ich verwende hier eine Größe von 5GB:

lvcreate -L5G -s -n vm10_snap /dev/vg0/vm10

Als nächstes verwende ich dd, um den Inhalt des Snapshots zu lesen und ihn an gzip weiterzuleiten, um ein gzipped Backup-Image im Verzeichnis /backup zu erstellen (Sie können natürlich auch ein anderes Verzeichnis verwenden):

dd if=/dev/vg0/vm10_snap bs=64k | gzip -c > /backup/vm10.img.gz

Das war’s - Ihr Backup von vm10 befindet sich jetzt in /backup/vm10.img.gz.

Jetzt entfernen Sie den LVM-Snapshot:

lvremove -f /dev/vg0/vm10_snap

3 Wiederherstellen von einem Backup/Klonen von einem Backup

Wiederherstellung und Klonen sind im Wesentlichen dasselbe, daher zeige ich, wie man einen Klon mit dem Namen vm11 aus dem Backup erstellt, das wir gerade erstellt haben.

Zuerst erstellen Sie ein LVM-Volume von der gleichen Größe wie das ursprüngliche LVM-Volume (20GB in diesem Beispiel):

lvcreate -L20G -n vm11 vg0

Stellen Sie das Backup von vm10 auf das neue logische Volume /dev/vg0/vm11 wieder her:

gunzip -c /backup/vm10.img.gz | dd of=/dev/vg0/vm11 bs=64k

Als nächstes erstellen Sie eine .vmdk-Datei für /dev/vg0/vm11 (z.B. vm11.vmdk), damit wir sie mit VirtualBox verwenden können. Es ist wahrscheinlich am besten, sie im Home-Verzeichnis des Benutzers zu erstellen, unter dem VirtualBox ausgeführt wird (z.B. /home/vbox, wenn Sie phpvirtualbox verwenden) - die Datei muss auch diesem Benutzer gehören:

cd /home/vbox  
 VBoxManage internalcommands createrawvmdk -filename vm11.vmdk -rawdisk /dev/vg0/vm11  
 chown vbox:vbox vm11.vmdk

Gehen Sie als nächstes zu Ihrer VirtualBox-GUI (originale VirtulBox-GUI oder phpvirtualbox) und klicken Sie auf Neu:

Klicken Sie im Assistenten zum Erstellen einer neuen virtuellen Maschine auf Weiter>>:

Geben Sie den Namen der neuen VM an und wählen Sie dasselbe Betriebssystem und dieselbe Version wie bei der ursprünglichen VM:

Geben Sie den Speicher des Klons an:

Wählen Sie auf dem Bildschirm für virtuelle Festplatten die Option “Vorhandene Festplatte verwenden” und klicken Sie auf das Symbol “Wählen Sie eine virtuelle Festplattendatei”:

Wählen Sie die vm11.vmdk-Datei aus und klicken Sie auf OK:

Klicken Sie auf Weiter>>:

Klicken Sie auf Erstellen:

Bevor wir den Klon starten, möchten Sie möglicherweise einige Einstellungen anpassen, z.B. wenn die ursprüngliche VM Bridging verwendet, möchten Sie möglicherweise auch Bridging für den Klon in der Netzwerkkonfiguration auswählen:

Klicken Sie jetzt auf Start, um den Klon zu starten:

Während des Bootvorgangs werden Sie wahrscheinlich bemerken, dass die Netzwerkkonfiguration hängt:

Dies geschieht, weil VirtualBox der Schnittstelle eth0 des Klons eine andere MAC-Adresse zugewiesen hat, aber die Datei /etc/udev/rules.d/70-persistent-net.rules des Klons immer noch die ursprüngliche MAC-Adresse verwendet. Nachdem das Booten abgeschlossen ist, melden Sie sich beim Klon an und führen Sie…

ifconfig

… aus, und Sie werden sehen, dass eth0 fehlt (wegen des MAC-Adressproblems), was bedeutet, dass der Klon kein Netzwerk verwenden kann:

Um das Problem zu beheben, öffnen Sie /etc/udev/rules.d/70-persistent-net.rules im Klon…

vi /etc/udev/rules.d/70-persistent-net.rules

… und kommentieren Sie die eth0 (und auch die eth1-Zeile, die während des Bootvorgangs hinzugefügt wurde, weil die MAC-Adresse von eth0 falsch war) Zeile aus. Dies stellt sicher, dass das System beim nächsten Booten eine neue eth0-Zeile mit der richtigen MAC-Adresse hinzufügt.

Starten Sie jetzt den Klon neu. Nach dem Neustart sollte das Netzwerk funktionieren, und Sie sollten eth0 in der Ausgabe von

ifconfig

sehen.

Herzlichen Glückwunsch, Sie haben erfolgreich eine VM ohne Herunterfahren der ursprünglichen VM geklont.

4 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.