Was ist GhettoVCB?
GhettoVCB ist ein von William Lam entwickeltes Script zur Sicherung von Virtuellen Maschinen unter VMWares‘ ESX. Da es kostenlos zum Download verfügbar ist und genau das tut was es verspricht ist GhettoVCB eine herrvoragende Ergänzung zu bestehenden Backup-Lösungen.
Das Script bietet zwei Möglichkeiten eine VM zu sichern; entweder die VM wird heruntergefahren um das Backup anzulegen, oder es erstellt einen Snapshot und sichert die VM im laufenden Betrieb. Ghetto VCB klont die jeweilige VMDK-Datei einer VM, diese enthält alle Notwendigen Informationen um die VM zu Betreiben. Das heißt eine Wiederherstellung ist sehr schnell möglich. Da das Script die Funktionen des ESX verwendet ist sichergestellt, dass die angelegten Kopien auch nutzbar sind. Vor der Installation ist wichtig, dass der SSH-Zugang auf dem ESX aktiviert ist, da das Script sonst nicht funktionieren würde. In der Weboberfläche klicken Sie dazu mit der rechten Maustaste auf Host und wählen Sie unter Dienste „Secure Shell aktivieren“.
Anschließend sollten Sie unter Verwalten -> Dienste den SSH-Dienst mit der rechten Maustaste anklicken und unter Richtlinie „Mit dem Host starten und beenden“ auswählen. Damit stellen Sie sicher, dass das Script auch nach einem reboot des Servers ausgeführt werden kann.
GhettoVCB installieren
Laden Sie zunächst ds GhettoVCB (https://github.com/lamw/ghettoVCB) Script herunter. Nun müssen Sie die Zip-Datei auf den ESX-Server hochladen. Gehen Sie dazu auf die Weboberfläche und klicken auf Speicher und dann auf Datenspeicherbrowser. In dem neuen Fenster finden Sie den Button Hochladen und können die Datei auswählen.
Verbinden Sie sich nun per SSH auf den ESX-Server (zum Beispiel mit der Ubuntu 20.04 Konsole von Windows Terminal) und führen Sie die folgenden Schritte aus:
cd /vmfs/volumes/datastore1/
Dieser Befehl wechselt in das Verzeichnis des Datenspeichersunzip ghettoVCB-master.zip
Entpackt die Zip-Datei. Der Name der Datei kann variieren, je nach Version. Mit dem Befehl „ls -a“ können Sie sich die Dateien und Ordner in einem Verzeichnis anzeigen lassen.rm ghettoVCB-master.zip
Damit löschen Sie die ursprüngliche Zip-Datei, da Sie sie nicht mehr benötigencd ghettoVCB-master/
Wechseln Sie in das ghettoVCB Verzeichnischmod +x ghettoVCB.sh && chmod +x ghettoVCB-restore.sh
Macht die Scripte für das System ausführbarvi ghettoVCB.sh
Öffnet das Script in einem Texteditor für die Konfiguration. Am wichtigsten sind der Pfad des Ordners in den die Sicherung abgelegt werden soll und die Anzahl der Sicherungen die behalten werden sollen.
Den Pfad legen Sie in der Zeile mit „VM_BACKUP_VOLUME“ fest. Standardmäßig können Sie die Backups nur auf dem ESX selbst speichern, es ist aber möglich andere Speichergeräte einzubinden.
Die Anzahl der zu behaltenden Versionen wird in der Zeile mit „VM_BACKUP_ROTATION_COUNT“ eingestellt.vi vms_to_backup
Damit legen Sie eine Liste der VMs an die gesichert werden sollen. Tragen Sie hier die entsprechenden Namen der VMs einmkdir logs
Legt einen neuen Ordner für Logfiles an, dies vereinfacht die Fehlersuche, sollte etwas schief gehen.date
Zeigt ihnen die Systemzeit an, prüfen Sie ob diese mit der aktuellen Uhrzeit übereinstimmt.
Die Einrichtung abschließen
Nun müssen wir noch dafür sorgen, dass die Sicherungen automatisch und regelmäßig angelegt werden. Dazu legen Sie einen cronjob an, diese starten allerdings bei einem reboot nicht automatisch neu. Daher bedient man sich bei ghettoVCB eines Tricks:
Der Befehl vi /etc/rc.local.d/local.sh öffnet eine Datei die bei einem reboot neu geladen lädt. Hier legen wir einen Cronjob an, der dann automatisch mit dem Host gestartet wird.
Dazu müssen in der geöffneten Datei die folgenden Zeilen am Ende aber vor dem exit Befehl eingefügt werden:
/bin/kill $(cat /var/run/crond.pid)
/bin/echo "0 23 * * * /bin/sh /vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB.sh -f /vmfs/volumes/datastore1/ghettoVCB-master/vms_to_backup > /vmfs/volumes/datastore1/ghettoVCB-master/logs/ghettoVCB-backup-\$(date +\\%s).log" >> /var/spool/cron/crontabs/root
crond
Mit diesen Einstellungen wird das Skript jeden Tag um 23:00 ausgeführt. Sie können den Cronjob und das Script selbst nach ihren eigenen Bedürfnissen anpassen. Unter anderem können Sie eine E-Mail Benachrichtigung einrichten oder die VM für das Backup herunterfahren.
Die Konfiguration kann schnell etwas unübersichtlich werden, glücklicherweise gibt es einen Testmodus mit dem Befehl:
./ghettoVCB.sh -f vms_to_backup -d dryrun
Damit können Sie Ihre bisherigen Einstellungen sehen und bekommen eine Rückmeldung ob eine Sicherung erfolgreich abgeschlossen werden kann.
Weiteren Datenspeicher hinzufügen
Wir haben nun also Sicherungen unserer VMs, allerdings liegen sie auf dem selben Gerät. Um die VMs auf ein anderes Gerät, zum Beispiel ein NAS, zu Sichern müssen Sie zunächst dessen Datenspeicher mounten. Bei einem Synology NAS erstellen Sie einen neuen Gemeinsamen Ordner und passen in der Systemsteuerung unter Bearbeiten die NFS-Berechtigung an. Dazu tragen Sie den Hostnamen oder die IP Ihres ESX ein und erlauben das Lesen- und Schreiben.
In der Weboberfläche des ESX finden Sie unter Speicher die Option Neuer Datenspeicher. Wählen Sie bei Erstellungstyp „NFS-Datenspeicher mounten“. Geben Sie der Freigabe möglichst den selben Namen wie für den gemeinsamen Ordner auf dem NAS, damit vermeidet man später Verwirrung. Bei NFS-Server geben Sie die IP ihres NAS ein und bei NFS-Freigabe den Pfad zu dem gemeinsamen Ordner, zum Beispiel „/volume1/ghettoVCB-test“. Im Skript muss nun noch der Pfad „VM_BACKUP_VOLUME“ angepasst werden.
Fazit
Einen Preis für Benutzerfreundlichkeit gewinnt das ghettoVCB Skript wahrscheinlich nicht. Dafür ist es aber kostenlos und erfüllt seinen Zweck. Außerdem ist es sehr anpassbar und der Restore einer Sicherung geht sehr schnell. Wer bei VMs also auf Nummer Sicher gehen will hat immer ein paar ghettoVCB Sicherungen in der Hinterhand. Ein weiterer Vorteil ist das man die VMs praktisch transportabel sind, Sie können die gesicherten Dateien nutzen um die VM auf einem anderen ESX wieder herzustellen.
Haben Sie Fragen oder benötigen Unterstützung? Sprechen Sie uns an!
Oder Besuchen Sie unseren Blog für weitere interessante Artikel.
- Synology WriteOnce, Dateien vorÄnderungen schützen - 21. März 2024
- Domains überprüfen mit „wtfis“ - 10. Juli 2023
- Lokales Windows-Profil migrieren mit Transwiz - 15. September 2022