Kostenloses VMware ESXi Backup: Einrichtung und Automatisierung mit GhettoVCB

Einleitung

Wer einen eigenständigen VMware ESXi Server betreibt und nach einer zuverlässigen, kostenlosen Backup-Lösung sucht, stößt früher oder später auf ghettoVCB. Dieses Shell-Skript ermöglicht es, virtuelle Maschinen (VMs) im laufenden Betrieb oder heruntergefahren auf einen lokalen Datastore oder ein NFS-Share zu sichern.

In dieser Anleitung gehen wir die Konfiguration, den manuellen Test und die dauerhafte Automatisierung per Cron-Job durch.

Schritt 1: Vorbereitung und Konfiguration

Das Skript ghettoVCB.sh ist ausführlich kommentiert, was die Anpassung erleichtert. Sie können die Datei entweder direkt per SSH im vi-Editor bearbeiten oder bequem unter Windows mit Notepad++ vorbereiten.

Wichtige Parameter

1. Backup-Ziel (Volume):
Definieren Sie über VM_BACKUP_VOLUME, wohin die Backups geschrieben werden sollen. Dies kann ein lokaler Datastore oder besser ein eingebundenes NAS (NFS/iSCSI) sein, um Daten extern zu lagern.

2. Rotation (Versionierung):
Mit VM_BACKUP_ROTATION_COUNT legen Sie fest, wie viele alte Backups aufgehoben werden, bevor das älteste gelöscht wird (z. B. 3 Versionen).

3. Shutdown-Verhalten:
Möchten Sie konsistente «kalte» Backups? Setzen Sie POWER_VM_DOWN_BEFORE_BACKUP auf 1. Das Skript fährt die VM herunter, sichert sie und startet sie neu. Für Live-Backups lassen Sie den Wert auf 0.

4. E-Mail-Berichte:
Um nach dem Backup über Erfolg oder Misserfolg informiert zu werden, können Sie die E-Mail-Parameter konfigurieren.

Schritt 2: Installation auf dem ESXi

Laden Sie das angepasste Skript über den Datenspeicherbrowser im ESXi Host Client auf einen Datastore hoch.

Verbinden Sie sich anschließend per SSH (z. B. mit PuTTY) auf den Host. Navigieren Sie in das Verzeichnis und machen Sie das Skript ausführbar, da Sie sonst einen «Permission denied» Fehler erhalten:

cd /vmfs/volumes/Datastore03/ghettoVCB/
chmod 777 ghettoVCB.sh

Nach dem Befehl ls sollte die Datei nun grün dargestellt werden, was die Ausführbarkeit bestätigt.

Schritt 3: Manueller Test

Bevor wir die Automatisierung einrichten, testen wir das Skript. Führen Sie es mit dem Parameter -a aus, um alle VMs zu sichern, oder nutzen Sie -m für eine spezifische VM.

./ghettoVCB.sh -a

Schritt 4: Automatisierung per Cron-Job

Damit das Backup nicht täglich manuell gestartet werden muss, richten wir einen Cron-Job ein. Öffnen Sie die Crontab-Datei:

vi /var/spool/cron/crontabs/root

Fügen Sie am Ende eine Zeile hinzu (Schema: Minute Stunde Tag Monat Wochentag). Das folgende Beispiel startet das Backup werktags (Mo-Fr) um 02:00 Uhr:

0 2 * * 1-5 /vmfs/volumes/Datastore03/ghettoVCB/ghettoVCB.sh -a

Wichtig: Persistenz sicherstellen

Da ESXi die Crontab bei einem Neustart zurücksetzt, müssen wir den Eintrag bei jedem Bootvorgang automatisch neu schreiben lassen. Editieren Sie dazu die Datei local.sh:

vi /etc/rc.local.d/local.sh

Fügen Sie vor exit 0 den folgenden Befehl ein, der Ihren Cron-Eintrag in die System-Crontab injiziert und den Dienst neu startet:

/bin/echo "0 2 * * 1-5 /vmfs/volumes/Datastore03/ghettoVCB/ghettoVCB.sh -a" >> /var/spool/cron/crontabs/root
/bin/kill $(cat /var/run/crond.pid)
/usr/lib/vmware/busybox/bin/busybox crond

Fazit

Mit GhettoVCB haben Sie eine mächtige, skriptbasierte Lösung, um Ihre VMs ohne teure Zusatzsoftware zu sichern. Achten Sie lediglich darauf, das Skript nach ESXi-Updates auf Kompatibilität zu prüfen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert