Nichts ist unangenehmer als ein Ausfall einer zentralen Management Komponenten bei virtuellen Umgebungen.
Der vCenter Server bildet die zentrale Verwaltungskomponente in einer vSphere Umgebung.

Umso kritischer ist es, wenn dieser einen Komplettausfall hat oder nur stark eingeschränkt nutzbar ist.

Wir gehen in diesem Beispiel von einem Standalone vCenter Server aus.
Sprich alle notwendigen Komponenten wie Datenbank, Webservice etc. sind auf einem Windows Server installiert. Ebenso verwenden wir hier die mitgelieferte PostgreSQL Datenbank

vcenter Server Backup

vCenter Server Backup

VMware bietet für das Sichern und Wiederherstellen des vcenter Servers gleich 2 Python Scripte auf ihrer Website an –>Backup & Restore Script
Mittels dieser Script Dateien lassen sich auch geplante Tasks für einen täglichen Sicherungs-job bauen.

Ich empfehle für dieses Vorgehen folgende Schritte.
Zuerst legt man sich die vCenter Server Backup und Restore Scripte unter „C:\Backup-Restore vcenter“ auf dem vCenter Server ab.
Zusätzlich kommt in folgenden Batch Script noch das Tool „delage32“ zum Einsatz.
Dieses löscht einfach alle Backup Files die älter als 14 Tage sind aus meinem Zielordner.
Zum Abschluss bekommt noch jede BAK Datei das tägliche Datum in den Dateinamen geschrieben und eine eindeutige Zuweisung des Backup Standes zu bekommen.

vCenter Backup Batch:
C:
cd "C:\Backup-Restore vcenter"
delage32.exe E:\VCenterBAK\*.* 14
set dt=%date:~7,2%-%date:~4,2%-%date:~10,4%
cd "C:\Program Files\VMware\vCenter Server\python"
python.exe "C:\Backup-Restore vcenter\backup_win.py" -p "DB PASSWORD" -f "E:\backup_VCDB_%dt%.bak"

Um das Backup neu einzurichten muss zuerst das Kennwort der installierten Postgres SQL Datenbank ausfindig gemacht werden.
Dies steht in der vcdb.properties Datei unter „C:\ProgramData\VMware\VcenterServer\Cfg\vmware-vpx“

Das Kennwort wird nach dem Parameter „-p“ eingetragen.
Die vCenter Server Backup Dateien werden hier auf Laufwerk E: abgelegt.

Diese Batch Datei kann man nun als täglichen, geplanten Task in Windows hinterlegen.

vCenter Server Restore

Wie sieht das ganze nun im Notfall aus? Unser vCenter funktioniert nicht mehr und wir müssen ihn neu installieren.
Wichtig ist bei der Neuinstallation, dass die gleiche vCenter Version wie zuvor installiert wird.

Nachdem der vCenter Server neu installiert wurde, werden die Dienste „vcenter Server“ und „vCenter content Lib“ beenden.
Nun muss noch das neue PostgreSQL Datenbankpasswort in der  vcdb.properties Datei unter „C:\ProgramData\VMware\VcenterServer\Cfg\vmware-vpx“ notiert werden.
Dies wird für den Restore benötigt.

Die beiden Python Scripte von VMware, so wie die letzte Backup Datei der Datenbank sollten auch zur Verfügung stehen.

Der Restore wird dann folgendem Befehl durchgeführt(Nicht vergessen das Datenbankpasswort zu hinterlegen)

cd "C:\Program Files\VMware\vCenter Server\python"
python.exe "C:\Backup-Restore vcenter\restore_win.py" -p "DB PASSWORD" -f "E:\BAKUPDATEI.bak"

Ist der Restore der Datenbank abgeschlossen, können die vCenter Dienste wieder gestartet werden.
Nach dem ersten Login am vCenter sollten nun alle Hosts, Ordner, Datastores und Netzwerkeinstellungen wieder verfügbar sein.

Lediglich die vCenter Lizenz muss neu hinterlegt werden. Unter Umständen kann es auch sein, dass die ESX Hosts beim Aufruf eine kurze Warnmeldung bringen, dass diese nun mit dem neuen vCenter verbunden werden und vom alten ausgetragen werden.

Fazit:

Ein Backup und Restore des vCenter Servers hat VMware recht simple gehalten. Schade nur das man dies nicht auch über die GUI einrichten kann.

Vor allem Benutzer von Veaam Backup und Restore, die sich in ihren Backup-Jobs auf vCenter Ordner anstelle auf direkte VMs berufen, sollten dieses Backup erstellen. Es gibt nichts Zeitaufwendigeres, als alle Backup Jobs neu anzupassen, weil sich die IDs der vCenter Ordner aufgrund von Neuanlage geändert haben.