OpenVZ-Container verschieben

Warning: This page is a part of an archive now and will be removed in the future.

Ein Vorteil virtueller Systeme: Sie sind sehr gut anpassbar und lassen sich auch problemlos verschieben. Nur wie man es genau macht, ist die Frage. Hier das Beispiel für OpenVZ.

OpenVZ ist ein System für virtuelle Systeme, das häufig bei Server-Systemen zum Einsatz kommt. Es ist die kostenlose Variante Virtuozzo. Im Vergleich zu anderen Virtualisierungssystemen wie z.B. VMware werden die Daten nicht in einer einzelnen Datei gespeichert, sondern liegen in ihrer Roh-Form zur Verfügung. So kann man auch vom Wirts-System aus direkt auf die Dateien zugreifen.
Für das Verschieben der Container kann man sich das zunutze machen.

Wichtig ist, zuerst einmal alle virtuellen Server herunterzufahren, sonst wird der Vorgang zum Verschieben nicht erfolgreich abgeschlossen. Das geht mit folgendem Befehl:

Source Code

  1. vzctl stop $VEID
$VEID steht bekanntermaßen für die ID des virtuellen Systems.

Ist das geschehen, kann man den Verschiebevorgang selbst starten. Bei genug Speicherplatz würde ich dennoch zuerst einen Kopiervorgang empfehlen, um im Falle eines Falles nach wie vor die funktionierenden Container am alten Speicherplatz zu nutzen. Ich habe bei mir folgenden Befehl genutzt:

Source Code

  1. cp -rvp /var/lib/vz/ /ziel/
Damit wird der Kopiervorgang rekursiv ausgeführt. Außerdem wird in der Konsole angezeigt, welche Datei aktuell kopiert wird und die Dateiattribute, also Erstelldatum, chmod und (wichtig!) chown werden beibehalten. Der Pfad /var/lib/vz/ bezieht sich auf den Standardpfad, unter dem die Container in OpenVZ gespeichert sind.

Dort befinden sich die Ordner "dump", "lock", "private", "root" und "template". Die OpenVZ-Container befinden sich in den Ordnern "private" und "root". Es genügt demnach theoretisch, nur diese zwei Ordner zu verschieben. Ich empfehle jedoch, alles zu verschieben, da man dann alles beisammen hat.

Nach dem erfolgreichen Abschluss des Kopiervorgangs muss man noch die Konfigurationsdateien der Container anpassen. Diese befinden sich unter /etc/vz/conf im Falle von Debian. Dort müssen dann die jeweiligen Konfigurationsdateien geöffnet werden (z.B. 101.conf). Wichtig sind hier die beiden folgenden Zeilen:
VE_ROOT="/var/lib/vz/root/$VEID
VE_PRIVATE="/var/lib/vz/private/$VEID
Hier müssen die Pfade an den neuen Pfad angepasst werden.

Sofern man, wie oben empfohlen, auch die Ordner "dump" und "lock" kopiert bzw. verschoben hat, muss man noch die allgemeine Konfigurationsdatei unter /etc/vz/vz.conf anpassen. Genauer gesagt folgende Zeilen unter den globalen Parametern:
LOCKDIR=/var/lib/vz/lock
DUMPDIR=/var/lib/vz/dump
Danach dann einfach OpenVZ wie folgt neu starten:

Source Code

  1. invoke-rc.d vz restart
Nun können auch die virtuellen Systeme wieder neu gestartet werden. Sofern alles funktioniert hat, kann man dann den Ordner unter /var/lib/vz löschen.
About the Author
Ich bin Webentwickler in Stuttgart und administriere Server seit vielen Jahren. In diesem Blog erstelle ich hauptsächlich Tutorials für andere Webentwickler, Webdesigner und Serveradministratoren.
-------------------------------------------------------------------------------------------------------------------------------------
I’m a web developer in Stuttgart, Germany, and server administrator since many years. This blog mainly contains a tutorial set for other web developer, web designer and server administrators.

666 times read

Comments 0

There are not any items at the moment.

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.