Archiv für OpenVZ

Automatische inkrementelle Backups von OpenVZ VE

OpenVZ bietet von sich aus keine Methode um die Virtuellen Maschinen (VE) sinnvoll zu sichern. Allerdings sind die VEs vom Hauptsystem aus gesehen nichts anderes als “normale” Ordner. Sofern man die VE stoppt, kann man auf diesen Dateien auch ohne Probleme ein Backup starten.

Nun will man aber bekannterweise für ein Backup den Server nur kurz oder am Besten überhaupt nicht herunterfahren. Die optimale Lösung mit nicht herunterfahren war mir zu stressig, für das nur kurz herunterfahren war aber schnell die Lösung gefunden: rsync mit dem Parameter –link-dest. So muss ich nur einmal ein volles Backup ziehen und rsync erzeugt bei allen darauffolgenden Backups Hardlinks im Dateisystem und reduziert so ganz nebenbei auch noch den Platzbedarf für die Backups. Trotzdem sieht jeder Backupordner wie ein vollständiges Backup aus.

Um das ganze jede Nacht zu automatisch laufen lassen zu können, habe ich noch eine kleine Schleife um das eigentliche Backup gebaut, die die aktuell laufenden VEs automatisch findet und sichert. Aktuell nicht aktive VEs werden auch nicht gesichert, an ihnen werden ja auch keine Änderungen durchgeführt. Sollte also eine VE dazu kommen, so wird in der darauf folgenden Nacht automatisch ein Full-Backup der VE geschrieben und solange die VE aktiv ist diese auch automatisch inkrementell gesichert.

[CODE]
#!/bin/bash

DATUM=`date +%F`;
VZ_HOME=/vz/private
BKP_BASE=/backup/virtual
LAST_RUN=`cat $BKP_BASE/lastRun.date`

for veid in `ls $VZ_HOME`;
do
if [ `vzctl status $veid | awk '{print $5}'` == "running" ]; then
if [ ! -d $BKP_BASE/$veid ]; then
mkdir -p $BKP_BASE/$veid;
fi;
echo “Backing up VE $veid”;
BKP_PATH=”$BKP_BASE/$veid/$DATUM”;
vzctl stop $veid;
rsync -a –delete –link-dest=$BKP_BASE/$veid $LAST_RUN $VZ_HOME/$veid/ $BKP_BASE/$veid/$DATUM;
vzctl start $veid;
fi;
done;
echo $DATUM > $BKP_BASE/lastRun.date
[/CODE]

Was noch fehlt ist ein Script, dass die angelegten Daily Backups ausdünnt und so Monthly und Yearly Backups anlegt. Die Ordner der Daily Backups können einfach gelöscht werden, da verlinkte Dateien erst vom Dateisystem verschwinden, wenn der letzte Link gelöscht wurde…

OpenVZ und mounts

Da will man nur nen Ordner von ner anderen Platte in eine virtuelle Maschine mounten und scheitert mit mount –bind kläglich… Und dann ist die die Lösung einfach, dass man anstatt direkt in /vz/private/xxx zu mounten eben in /vz/root/xx mounten muss :wallbash

OpenVZ und Postfix

Bei meinem Versuch den Mailserver in OpenVZ zu installieren bin ich erst einmal an den sehr niedrigen Einstellungen für Sockets und Prozesse in OpenVZ gestolpert.
Leider bringt Postfix dabei keine sinnvollen Fehlermeldungen, sondern nur ein

Mar 14 18:29:31 mail postfix/master[14119]: fatal: pipe: Cannot allocate memory

Nach erhöhen der Werte in

/etc/vz/id.conf

konnte der Postfix dann starten.
Eine gute Hilfe war hierbei das offizille Wiki

For English version please read full article
Weiterlesen »

Virtuelle Server sind gefährlich…

… zumindest wenn der Admin zu doof ist um zu merken dass er gerade auf dem Hauptsystem das ganze Zeugs installiert dass in die VM sollte :(

Debian Etch Template für OpenVZ

Jetzt ist es fertig, mein erstes Minimaltemplate für OpenVZ. Debian Etch wird ja dem CCWN weiterhin als Betriebssystem dienen, insofern war es nur eine Frage der Zeit bis ich ein Template bauen musste :)

Zum Download gibt es das ersteinmal hier. Bitte ersteinmal mit Vorsicht genießen, ich habe es bis jetzt nur in einer VMWare Installation getestet.

UPDATE: So, der erste Fehler ist auch schon gefunden… Entfernt in der Datei /etc/apt/apt.conf die letzte Zeile mit dem Proxyeintrag…
Die o.g. Version befindet sich übrigens inzwischen im Einsatz und macht (bisher) keine Probleme.

For English version read full version of article.
Weiterlesen »