OpenVZ · 4 min read · Jan 07, 2026
Klone/Sichern/Wiederherstellen von OpenVZ-VMs mit vzdump
Klone/Sichern/Wiederherstellen von OpenVZ-VMs mit vzdump
Version 1.0
Autor: Falko Timme
vzdump ist ein Backup- und Wiederherstellungswerkzeug für OpenVZ-VMs. Dieses Tutorial zeigt, wie Sie es verwenden können, um virtuelle Maschinen mit vzdump zu klonen/sichern/wiederherzustellen.
Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!
1 Vorbemerkung
Ich verwende in diesem Tutorial zwei OpenVZ-Server:
- server1.example.com: IP 192.168.0.100
- server2.example.com: IP 192.168.0.101
(Beide verwenden Debian Etch und sind gemäß diesem Tutorial eingerichtet: Installing And Using OpenVZ On Debian Etch - aber es funktioniert auch mit jeder anderen Distribution.)
Ich betreibe eine virtuelle Maschine mit dem Hostnamen test.example.com, der IP-Adresse 192.168.0.102 und der VEID 102 auf server1.example.com, und ich möchte diese Maschine sichern und auf server2.example.com wiederherstellen.
Wir können sie auf server2.example.com ohne Änderungen (z.B. gleiche IP-Adresse und Hostname) wiederherstellen, aber in diesem Fall müssen wir die VM auf server1.example.com stoppen, da sonst die IP-Adresse und der Hostname in Konflikt geraten würden; die zweite Möglichkeit besteht darin, sie auf server2.example.com wiederherzustellen, aber einige Parameter wie die IP-Adresse und den Hostnamen mit dem Befehl vzctl set zu ändern - in diesem Fall können wir beide VMs (die originale auf server1.example.com und die Kopie auf server2.example.com) gleichzeitig betreiben. Dies ist eine großartige Methode, um VMs zu klonen.
2 Vorbereitung der OpenVZ-Server
Zuerst müssen wir vzdump und rsync installieren, was eine Abhängigkeit ist. Unter Debian lautet der Befehl wie folgt:
server1/server2:
apt-get install vzdump rsync 3 Erstellen eines Backups einer VM
(Dieses Kapitel ist nur für server1!)
Auf server1.example.com möchte ich ein Backup meiner VM mit der VEID 102 erstellen. Werfen Sie einen Blick auf
man vzdumpum zu lernen, wie man vzdump verwendet.
Um alle VMs auf Ihrem Server zu sichern, würden Sie etwas wie
vzdump --compress --dumpdir /home/backup --stop --allverwenden.
–compress bedeutet: komprimieren Sie die Dump-Datei (führt zu a.tgz).
–dumpdir gibt das Verzeichnis an, in dem Sie den Dump speichern möchten. Wenn Sie kein dumpdir angeben, wird standardmäßig /vz/dump oder /var/lib/vz/dump verwendet (abhängig von Ihrer Distribution).
–stop stoppt die VM, erstellt das Backup und startet sie danach wieder. Ihre VM kann ein paar Minuten offline sein, wenn Sie –stop verwenden. Eine schnellere Lösung wäre…
–suspend: es setzt die VM aus; die VM wird dann über rsync in ein temporäres Verzeichnis kopiert. Die VM wird sofort danach wieder aufgenommen, sodass sie nur ein paar Sekunden offline ist, und dann wird der Dump mit der Kopie im temporären Verzeichnis erstellt. Ich empfehle, diese Option zu verwenden, wenn Sie sich keine langen Ausfallzeiten leisten können.
Sie können auch –stop und –suspend weglassen und eine laufende VM dumpen. In den meisten Fällen gibt es dabei keine Probleme, aber es ist möglich, dass der Dump inkonsistent ist, seien Sie also gewarnt!
–all erstellt einen Dump aller verfügbaren VMs. Wenn Sie nur eine bestimmte VM dumpen möchten, ersetzen Sie –all durch die VEID der VM.
Um einen Dump unserer VM 102 in /home/backup zu erstellen und die VM während des Backups zu stoppen, verwenden Sie
vzdump --compress --dumpdir /home/backup --stop 102Um einen Dump im Standardverzeichnis ( /vz/dump oder /var/lib/vz/dump) zu erstellen, verwenden Sie
vzdump --compress --stop 102Die Ausgabe könnte wie folgt aussehen:
server1:/vz/dump# vzdump –compress –stop 102
INFO: Backup für VPS 102 (/var/lib/vz/private/102) wird gestartet
INFO: erster Sync /var/lib/vz/private/102 nach /var/lib/vz/dump/tmp9009 wird gestartet
INFO: VPS wird gestoppt
Stopping container …
Container wurde gestoppt
Container ist unmontiert
INFO: finaler Sync /var/lib/vz/private/102 nach /var/lib/vz/dump/tmp9009
INFO: VPS wird neu gestartet
Starting container …
Container ist montiert
IP-Adresse(n) hinzufügen: 192.168.0.102
CPU-Einheiten festlegen: 1000
Konfigurieren von meminfo: 65536
Hostname festlegen: test.example.com
Datei resolv.conf wurde geändert
Containerstart läuft …
INFO: VPS ist nach 15 Sekunden wieder online
INFO: Archiv ‘/var/lib/vz/dump/vzdump-102.tgz’ wird erstellt (/var/lib/vz/dump/tmp9009/102)
Insgesamt geschriebene Bytes: 340428800 (325MiB, 11MiB/s)
INFO: Backup für VPS 102 erfolgreich abgeschlossen (1.37 Minuten)
server1:/vz/dump#
Um die VM nicht zu stoppen, sondern auszusetzen, verwenden Sie
vzdump --compress --suspend 102Dies ist eine Beispielausgabe:
server1:~# vzdump –compress –suspend 102
INFO: Backup für VPS 102 (/var/lib/vz/private/102) wird gestartet
INFO: erster Sync /var/lib/vz/private/102 nach /var/lib/vz/dump/tmp10842 wird gestartet
INFO: VPS wird ausgesetzt
Checkpoint wird eingerichtet…
aussetzen…
Kontext abrufen…
Checkpointing erfolgreich abgeschlossen
INFO: finaler Sync /var/lib/vz/private/102 nach /var/lib/vz/dump/tmp10842
INFO: VPS wird fortgesetzt
Fortsetzen…
INFO: VPS ist nach 4 Sekunden wieder online
INFO: Archiv ‘/var/lib/vz/dump/vzdump-102.tgz’ wird erstellt (/var/lib/vz/dump/tmp10842/102)
Insgesamt geschriebene Bytes: 340428800 (325MiB, 24MiB/s)
INFO: Backup für VPS 102 erfolgreich abgeschlossen (1.57 Minuten)
server1:~#
Nach dem Backup werfen Sie einen Blick in das Dump-Verzeichnis…
ls -l /vz/dump/… und Sie sollten eine a.tgz-Datei sehen:
server1:~# ls -l /vz/dump/
total 147864
-rw-r–r– 1 root root 1170 2008-11-20 17:40 vzdump-102.log
-rw-r–r– 1 root root 151249685 2008-11-20 17:40 vzdump-102.tgz
server1:~#
Sie können jetzt den Dump auf den anderen OpenVZ-Server kopieren, z.B. mit scp (dies kopiert /vz/dump/vzdump-102.tgz in das /home-Verzeichnis auf server2.example.com):
scp /vz/dump/vzdump-102.tgz [email protected]:/home 4 Wiederherstellen einer VM
(Dieses Kapitel ist nur für server2!)
Auf server2.example.com können Sie die VM jetzt wie folgt wiederherstellen…
vzdump --restore /home/vzdump-102.tgz 250… wobei 250 die neue VEID der wiederhergestellten VM ist - Sie können jede VEID verwenden, die auf server2.example.com nicht verwendet wird - Sie könnten sogar 102 erneut verwenden, wenn sie auf server2.example.com nicht verwendet wird.
Wenn Sie die Einstellungen der VM (z.B. IP-Adresse, Hostname) nicht ändern möchten, können Sie sie jetzt starten, aber bitte stellen Sie sicher, dass die originale VM auf server1.example.com gestoppt ist, da sonst die IP-Adressen in Konflikt geraten:
vzctl start 250Wenn Sie beide VMs (die originale und die Kopie) gleichzeitig betreiben möchten, müssen Sie die IP-Adresse und den Hostnamen der Kopie ändern, bevor Sie sie starten.
Um einen neuen Hostnamen festzulegen, führen Sie etwas wie dies aus:
vzctl set 250 --hostname test2.example.com --saveUm eine neue IP-Adresse festzulegen, müssen wir zuerst die originale löschen…
vzctl set 250 --ipdel 192.168.0.102 --save… und dann eine neue festlegen:
vzctl set 250 --ipadd 192.168.0.250 --save Danach können wir die Kopie starten:
vzctl start 2505 Links
- OpenVZ: http://wiki.openvz.org/
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.