Mit Powershell VMs selektiv aus Backup-Archiven eliminieren
Die DSGVO wirft ihre Schatten voraus. Am Freitag den 25.5.2018 endet die Übergangsfrist (in Kraft ist das Gesetz schon lange) und Verstöße können empfindliche Strafen nach sich ziehen.
In diesem Kontext erhielt ich heute einen etwas ungewöhnlichen Kundenauftrag: “Entfernen Sie VM KillMe aus allen (ja, allen) Backups!”.
With Resilient Filesystem (ReFS) integration into Veeam Availability Suite 9.5 a whole bunch of features was integrated. One of the biggest advantages is ‘Fast Cloning Technology’ which enables synthetic full backups by merely creating pointers to already existing datablocks on the repository.
In a small scale environment I had a hardware repository server (Win 2016) with an iSCSI Volume as repository (ReFS, 64k) as primary backup target. This constellation worked like a Swiss watch. Daily backups ran for months without any trouble. Fast cloning technology enabled weekly synthetic full backups with minimal consumption of extra space.
Lotus Domino ist bekanntermaßen nicht VSS fähig, somit kann diese Funktionalität auch nicht von Veeam Backup genutzt werden, um konsistente Snapshots zu erzeugen.
Die hier beschriebene Methode basiert im Wesentlichen auf einem von Andreas Neufert beschriebenen Verfahren. Dabei werden unmittelbar vor Erzeugung des VM-Snapshots alle Client-Sessions getrennt und der Cache geleert.
Wenn die Datenbank einer vCenter Server Appliance (VCSA) wiederhergestellt oder auf einen älteren Stand zurückgesetzt werden muss, sollte man ein Backup zur Hand haben. VMware bietet Hilfsmittel, um die integrierte Postgres DB zu sichern und wieder herzustellen.
Backup
Login in VCSA als root user.
Bash Shell freischalten
shell.set --enabled true
shell
Speicherort für Backups erstellen
mkdir ~/backups
Download der Skript Files von KB 2091961 (Seitenende) und mit WinSCP auf die vCenter Appliance übertragen. Ziel ist der zuvor erstellte Ordner “backups”.
cd ~/backups
ls -la
unzip <scriptfile>.zip
Skriptdateien ausführbar machen
chmod 700 backup_lin.py
chmod 700 restore_lin.py
Backupskript ausführen
python backup_lin.py -f backup_VCDB.bak
Das Backupfile “backup_VCDB.bak” mittels WinSCP von der Appliance laden.
Restore
Login in VCSA als root user und ins Verzeichnis backups wechseln.
cd ~/backups
Mit WinSCP das Datenbank Backupfile in die Appliance (backups) transferieren. Überprüfen, ob das Restore Skript im ‘backups’ Verzeichnis vorhanden ist und ob es ausführbar ist.
ls -la
Dienste beenden
Zunächst müssen der Inventory Service und der Content Library Service beendet werden.
service vmware-vpxd stop
service vmware-vcds stop
Restore Skript ausführen
python restore_lin.py -f backup_VCDB.bak
Es folgt ein längerer Restore Prozess.
Dienste starten
Die oben beendeten Dienste müssen nun wieder neu gestartet werden.
service vmware-vpxd start
service vmware-vcds start
Wer es noch etwas ausführlicher haben möchte, kann sich das Video auf YouTube ansehen.