ESXi Backup: VMs automatisch sichern
VMware hat mit dem ESXi-Server eine Abwandlung des bekannten ESX-Servers herausgebracht. Der wesentliche Unterschied zwischen ESXi und ESX besteht darin, dass bei dem erstgenannten die so genannte Servicekonsole fehlt. Dies hat Vor- und Nachteile. Ein Vorteil ist mit Sicherheit, dass der wesentlich schlankere ESXi-Server weniger gepatcht werden muss als sein großer Bruder. Das Fehlen der Servicekonsole erkauft man sich allerdings auch mit einer eingeschränkten Flexibilität. Treiber für zusätzliche Hardware oder auch Cronjobs sind mit ESXi schwieriger zu realisieren als mit ESX.
Kaum jemand weiß, dass es den ESXi in zwei Varianten gibt. Die frei zugängliche Version kann nur “standalone” betrieben werden. Will man mehrere ESXi-Server mit dem vCenter zentral verwalten, kommt man um den Kauf einer ESXi-Lizenz nicht herum.
In diesem Artikel sollen beleuchtet werden, welche Möglichkeiten es gibt, die virtuellen Maschinen auf einem einzeln stehenden ESXi-Server zu sichern. VMware verbietet Anbietern kommerzieller Backup-Lösungen, Sicherungen von virtuellen Maschinen auf solchen Hosts zu ermöglichen.
Auch beim Betrieb von virtuellen Maschinen ändern sich die grundlegenden Fragen, die man sich bei der Bereitstellung einer Backup-Lösung stellt, nicht. Ein Backup sollte so oft wie möglich, so zuverlässig wie möglich und automatisch stattfinden. Das Backup sollte räumlich getrennt von den Produktivsystemen erstellt werden, und die Produktivsysteme dürfen durch das Backup in ihrer Funktion nicht beeinträchigt werden. Eine Wiederherstellung, vollständig oder auch nur partiell, muss einfach sein. Ebenso einfach sollte die Erweiterung des Backup-Konzeptes sein.
Es folgt die Beschreibung der absoluten Low-Cost-Variante für virtuelle Maschinen auf ESXi-Hosts. Die räumliche Trennung erreicht man durch den Einbau einer zusätzlichen Festplatte in den ESXi-Host. Auf dieser Platte werden nur Backups gespeichert.
Das frei verfügbare Backup-Script Ghettovcb besteht aus zwei Dateien: zum einen aus dem eigentlichen Script, das nur wenige Einstellungen erfordert. In einer zweiten, reinen Textdatei werden alle zu sichernden virtuellen Maschinen aufgelistet. Somit ist auch eine einfache Erweiterbarkeit gewährleistet. Sobald eine neue VM gesichert werden soll, wird einfach die Textdatei um eine Zeile erweitert.
Ghettovcb funktioniert, wie übrigens alle Systeme, die virtuelle Maschinen sichern, nach dem folgenden Prinzip: Zunächst wird ein Snapshot der VM erstellt, das heißt, die aktuelle VMDK-Datei wird “eingefroren” und alle Änderungen ab dem Zeitpunkt des Snapshots fließen in eine Delta-Datei. Somit ist ein einfaches Kopieren der VMDK-Datei im laufenden Betrieb möglich. Die Anforderung der Nichtbeeinträchtigung von Produktivsystemen ist somit auch erfüllt.
In den Ghettovcb-Einstellungen kann definiert werden, wie viele Backup-Versionen vorgehalten werden sollen.Es ist also möglich, immer eine gewisse Zahl von Sicherungen vorzuhalten. Bei einer erfolgreichen Sicherung löscht Ghettovcb die älteste vorhandene Sicherung.
Die automatische Ausführung des Backup-Scriptes ist zum Beispiel mit Plink möglich. Auf einer virtuellen Maschine wird einfach ein geplanter Task eingerichtet, der Ghettovcb so oft wie gewünscht mittels Plink anstößt. Funktioniert das erst einmal, ist auch die Anforderung nach Automatisierung erfüllt.
Die Wiederherstellung einer mit Ghettovcb gesicherten VM ist denkbar einfach. Die Dateien (VMX, VMDK, …) aus dem Sicherungsverzeichnis werden einfach zurückkopiert, die VM wird registriert und eingeschaltet. Auch einzelne Dateien können durch das Mounten der VMDK-Datei, zum Beispiel mit UFS Explorer oder Winimage zurückgespielt werden.
Persönlich kann ich nur Positives über das beschriebene Backup-Konzept berichten. Es funktioniert zuverlässig und ist vollkommen transparent. Sicher ist die Verwendung einer zusätzlichen Festplatte im gleichen Host nur eine Kompromisslösung. Dafür geht die Sicherung aber sehr schnell. Wer über GBit-Netzwerk verfügt, kann auch auf einen räumlich entfernten NFS-Store sichern.
Hallo,
Mir persönlich ist aufgefallen das GhettoVCB die Maschine sehr wohl beinträchtigt. Bei meinem Wiki (basierend auf Linux) konnte ich nicht mehr zugreifen.
Hast du ähnliches shcon erlebt?
Gruss
Jeremy
Hi Jeremy,
nein, kann ich nicht bestätigen. Auch wenn bei mir die Sicherung noch läuft, kann ich problemlos auf alle meine VMs zugreifen (sowohl Windows- als auch Linux-Maschinen). Ghettovcb erzeugt ja eigentlich nur einen Snapshot, um dann die VMDK-Dateien zu kopieren. Tritt der Effekt bei Deinem Linux-Wiki auch auf, wenn Du nur manuell einen Snapshot erstellst?
Gruß,
Matthias
Hallo Zusammen,
Im selben zusammenhang möchte ich folgendes Fragen und dann anmerken:D
Kennt das ESX so etwas wie nice(Priorisierung auf CPU) bzw. ionice(Priorisierung auf HDD)?
Ich nice bzw. ionice nämlich aktuell meine backup Prozesse ziemlich hart rauf(je höher, desto unwichtiger…)
Falls sowas in der Art zur Verfügung steht könntest du dein Problem eventuell in dieser Art lösen?
Gruss
Simeon
Hallo,
leider ist Linux nicht so mein Bereich und NFS haben wir auch nicht.
Meine Frage wäre daher: Ist es auch möglich das Backup auf einem Windows-Share (CIFS) oder auf einer USB Platte abzulegen ?
Habe dazu leider noch nichts finden können.
Gruss
Manfred
Hallo,
nur als Info. Mit 7-zip kann auch VMDK Dateien öffnen und das kostenlos.
Gruss
Manfred
Auf direktem Wege nicht. Könnte mir aber vorstellen, auf einer “Zwischen-VM” mit Linux als Betriebssystem ein Windows-Share zu mounten. Und dieses Verzeichnis dann wiederum als NFS-Freigabe verfügbar zu machen.
Gruß,
Matthias
der Link “geplanter Task” der zu http://blog.theworldrunsontechnology.com/2009/04/how-to-schedule-ghettovcb-backup-job-or.html führt ist tot
Hat jemand eine alternative???
Das liegt jetzt wohl hier:
http://www.virtuallyghetto.com/2011/07/new-vsphere-health-check-50-ghettovcb.html