Login Registrieren

PPDM Too Tape

Verfasst von Uwe W. Schäfer am 8. Dezember 2023

DELL/EMC hat mit seinem neuen Datensicherungsprodukt „PowerProtect Data Manager“ (PPDM) ein unschlagbares Sicherungsprogramm für VMware Image Sicherungen im Portfolio. Dieses auf Transparent Snapshots basierende Sicherungsverfahren benötigt keine virtuellen Maschinen als Backup-Proxies mehr, sondern lagert die Sicherungsarbeit auf die physikalischen ESXi Maschinen aus. Die Sicherungen der virtuellen Maschinen werden so schneller, benötigen weniger System-Ressourcen und die sonst nötige Pflege der Proxy-Server entfällt auch noch.

Leider fehlt dem Produkt PPDM jedoch die Möglichkeit die PPDM-Sicherungen auf Bänder zu duplizieren. Genau diese Tape-Auslagerung wird aber durch die immer häufiger vorkommenden Ransomeware Attacken und/oder gesetzlichen Vorgaben von einigen Kunden gewünscht.

Im vorliegenden Projekt hat der Kunde parallel zur neuen PPDM Umgebung eine bestehende NetWorker-Backup-Umgebung mit StorageNodes und einer Tape-Library. Der Wunsch war die PPDM-Sicherungen einmal pro Monat mit Hilfe von NetWorker auf Band zu sichern und diese Sicherungen dort für 1 Jahr aufzuheben. Hierbei sollten für alle mit PPDM gesicherten virtuellen Maschinen, die erste Sicherung des jeweiligen Monats auf Band dupliziert werden.

Sowohl NetWorker, als auch PPDM sichern bei dem Kunden auf das DELL/EMC Backup-Storage-System DataDomain. Was lag also näher, als die von PPDM erzeugten DataDomain Sicherungen mit Hilfe von NetWorker-StorageNodes von dem DataDomain System zu lesen und auf Tape zu sichern.

Bei der PPDM Sicherung werden die Sicherungen der virtuellen Maschinen auf dem DataDomain-Filesystem als jeweils eigenes Verzeichnis mit allen VMware spezifischen Dateien abgelegt. Sichert man ein solches Verzeichnis, hat man demzufolge einen kompletten Stand der virtuellen Maschine, der im Recover-Fall vom Band in einen VMware-Datastore eingespielt werden kann.

Die Idee war geboren; was fehlte, war „lediglich“ noch die Umsetzung einiger Voraussetzungen und die Erstellung von Python Modulen und Skripten.

Basierend auf den REST-API Schnittstellen des PPDM-Servers und des NetWorker-Servers wurden 3 Programme erstellt, die die PPDM Sicherungen analysieren, die PPDM Sicherung auf Band befördern und eine NetWorker-Band-Sicherung für Recovery Zwecke auf einer DataDomain wiederherstellen.

  • ppdm_find_backup.py

    • Python-Skript, das:

      • für alle VMware Sicherungen des PPDM-Servers in einem definierten MTREE, die zugehörigen Sicherungen eines definierbaren Tages sammelt und die gewonnenen Informationen für die zukünftigen Sicherungen in einer Python-Pickle Datei ablegt.

      • alle gefundenen virtuellen Maschinen als SaveSet Namen in definierten NetWorker Clients hinterlegt. Die Clients sind in dem Falle die NetWorker StorageNodes.

Dieses Skript läuft einmal monatlich vor den NetWorker Sicherungen und wird mit Hilfe eines definierten Cron-Jobs auf dem NetWorker-Server gestartet.

  • nsr_ppdm2tape.py <vm-name>

    • Python-Skript, das als NetWorker Backup-Command für die Sicherung einer übergebenen virtuellen Maschine sorgt. Das Vorgehen ist wie folgt:

      • Eventuelles mounten des DataDomain Filesystems.

      • Auslesen der backup Information aus der oben definierten Pickle-Datei.

      • Starten einer NetWorker Band-Sicherung einer virtuellen Maschine.

      • Eventuelles unmounten des DataDomain Mtrees.

  • ppdm_recover.py <vm-name>

    • Python-Skript, das eine NetWorker Sicherung auf einen definierten DataDomain Mtree wiederherstellt. Der gesicherte Stand der Maschine wird in einem eigenen Unterverzeichnis im Recover-Mtree abgelegt. Folgende Schritte werden hierbei durchgeführt:

      • Interaktive Auswahl des gewünschten Sicherungsstandes

      • Mount des DataDomain Recover-Mtrees

      • Wiederherstellung der virtuellen Maschine mit Hilfe des NetWorker „recover“ Kommandos.

      • Unmount des DD-Mtrees

Das hier beschriebene Konzept ist natürlich nur eine grobe Beschreibung der Funktionalität. Es fehlen die Konfigurationsschritte und Voraussetzungen auf der DataDomain und im NetWorker. Außerdem fehlt die Installationsbeschreibung der Python-Skripte auf den beteiligten Maschinen. Natürlich fehlt auch das weitere Vorgehen beim Verlauf eines Recover von Tape in eine laufende virtuelle Maschine. Aber all das würde über das Ziel dieses Blogs hinausgehen. Ich wollte Ihnen nur eine Idee für das in der Einleitung beschriebene Problem aufzeigen. Sollten Sie an diesem Projekt näher interessiert sein, so melden Sie sich bitte per E-Mail an den Autor.