Suche
Schließen Sie dieses Suchfeld.

Die Mischung aus Alt und Neu

Wenn Sie Ihre Wiederherstellungen nicht getestet haben, haben Sie auch keine Backups. Alles schön und gut, aber in einer heterogenen EDV-Umgebung sind die Systeme voneinander abhängig ... und manchmal sind einige dieser Systeme älter als die Virtualisierung und erfordern besondere Sorgfalt ...

Es gibt ein Sprichwort aus "The Tao of Backup", das in den Tagen von NT4 geschrieben wurde und lautet:

An seine Backups zu glauben ist eine Sache. Sie nutzen zu müssen, eine andere.

Dies wird häufig verkürzt als "Testen Sie Ihre Wiederherstellungen" oder:

Wenn Sie Ihre Wiederherstellungen nicht getestet haben, haben Sie keine Backups.

Das ist alles schön und gut, aber in heterogenen Computerumgebungen kann es etwas schwierig werden. Sie können SureBackup verwenden, um Ihre Windows-VMs zu testen, aber was ist mit Ihrem Windows XP-System, das Ihre CNC steuert? Und was ist mit dem Solaris 9-Rechner, auf dem Ihr Oszilloskop läuft?

Die Dinge können sogar noch komplizierter werden... was, wenn Ihr Solaris 9-System Kerberos-Authentifizierung verwendet und erfordert, dass der Controller zuerst wiederhergestellt wird?

Viele moderne Tools versprechen einen Knopfdruck zum Testen der Backups... das ist toll, aber sie funktionieren nur, wenn alle Ihre Systeme die Kriterien erfüllen. Ein physisches Altsystem in der Mischung... und plötzlich sind Sie ungeschützt - und das ist das System, das am ehesten ausfallen kann!

Die Strategie

Als Erstes muss herausgefunden werden, wie die Systeme und Daten manuell wiederhergestellt werden können, und dieser Prozess muss dokumentiert werden.

Ein Beispiel für einen Solaris 9-Wiederherstellungsplan könnte lauten:

  1. Flar-Image von der Festplatte mit dem Installationsprogramm wiederherstellen
  2. Wiederherstellung von Daten mit tar vom Band
  3. Boot
  4. Testbefehle ausführen

Ein Beispiel für eine VM-Wiederherstellung könnte dagegen einfach sein:

  1. Wählen Sie den Plan zur Wiederherstellung der VM von ${Sicherungsprodukt hier einfügen}

Wenn der Solaris 9-Rechner darauf angewiesen ist (z. B. weil er Kerberos-Authentifizierung bietet), müssen Sie die beiden Systeme leider kombinieren. Sie müssen sich im selben VLAN befinden, in einer bestimmten Reihenfolge booten und in dieser Reihenfolge getestet werden.

Ein Beispielplan

Ein Beispielplan für einen Solaris 9-Rechner, der mit einem A/D auf Kerberos verbunden ist, könnte so aussehen:

Solaris-MaschineA/D-Steuerung
Flar-Image von der Festplatte wiederherstellenWiederherstellungs-VM-Image
Wiederherstellung von Daten mit tar vom BandBoot-VM-Abbild
WARTEN →Test A/D-Controller
Solaris-Maschine booten 
Test-Solaris-Maschine

Selbst in einem einfachen Fall besteht eine Abhängigkeit von einem Test vor dem Booten. In einem komplizierteren Szenario können wir mehrere Abhängigkeiten haben. Nehmen wir zum Beispiel an, wir haben eine Webschnittstelle zu einer Solaris-Legacy-Anwendung, die auf einem LAMP-Stack läuft:

LAMP-StapelSolaris-MaschineA/D-Steuerung
VM-Abbild wiederherstellenFlar-Image von der Festplatte wiederherstellenVM-Abbild wiederherstellen
 Wiederherstellung von Daten mit tar vom BandBoot-VM-Abbild
WARTEN →Test A/D-Controller
Solaris-Maschine booten 
WARTEN →Solaris-Anwendung testen
Linux-Maschine booten 
Test Web UI 

Das wird funktionieren, aber es gibt noch weitere Probleme:

  1. Was ist, wenn das Booten des Solaris-Rechners sehr lange dauert? Wäre es nicht schön, wenn man ihn früher starten könnte?
  2. Wenn die Wiederherstellung von Linux auf Betriebssystemebene fehlschlägt, könnten wir das ohne die anderen Maschinen herausfinden. Dasselbe gilt für die Solaris-Maschine - und diese Wiederherstellung könnte lange dauern, wenn die Daten von einem Band zurückkommen...
LAMP-StapelSolaris-MaschineA/D-Steuerung
VM-Abbild wiederherstellenFlar-Image von der Festplatte wiederherstellenVM-Abbild wiederherstellen
Webdienst deaktivierenAnwendung deaktivierenBoot-VM-Abbild
BootBoot 
Testbetriebssystem ist betriebsbereitTestbetriebssystem ist betriebsbereit
 Wiederherstellung von Daten mit tar vom Band
WARTEN →Test A/D-Controller
WARTEN →Solaris-Anwendung testen 
Aktivieren Sie den Webdienst 
Test Web UI

Jetzt haben wir also einen Plan, der im Falle eines Betriebssystemfehlers so früh wie möglich scheitern wird. Dies kann wahrscheinlich noch weiter verbessert werden; es könnte möglich sein, eine Teilmenge von Daten wiederherzustellen, um einen schnellen Anwendungstest vor dem langsamen durchzuführen, es könnte möglich sein, die Web-UI (teilweise) isoliert zu testen usw...

Anforderungen an die Automatisierung

Ein solcher Plan erfordert:

  1. Eine Orchestrierungsplattform mit freier Kontrolle über die Bereitstellung
  2. Skripting nach der Wiederherstellung vor dem Neustart zur Steuerung des bootenden Betriebssystems
  3. APIs zum Booten wiederhergestellter Maschinen für eine Vielzahl von Plattformen
  4. Eine Testplattform mit einer API

Werkzeuge für den Job

Eine Orchestrierungsplattform

Wir verwenden Jenkins zur Verwaltung dieses speziellen Vorgangs, da Jenkins in unserem Fall auch die Erstellung der Wiederherstellungssoftware verwaltet. Jenkins kann leicht mit Skripten versehen werden und verfügt über Plugins für die wichtigsten VM-Anbieter, so dass es für viele Organisationen eine gute Grundlage darstellt.

Wiederherstellung und Skripting nach der Wiederherstellung

Natürlich empfehlen wir Cristie BMR, das Solaris, Linux und Windows (und AIX) unterstützt und ein Post-Recovery-Skripting bietet. Es ist aber auch möglich, dies stückweise mit verschiedenen Tools zu tun: JumpStart kann mit Solaris und FLAR sehr effektiv eingesetzt werden, auch wenn dies mit einigem Aufwand verbunden ist. Die Skripterstellung nach der Wiederherstellung einer VM kann schwierig sein, aber das Booten in eine Linux-Live-Umgebung nach der Wiederherstellung der VM würde gut funktionieren.

APIs zur Steuerung des Bootvorgangs

Alle Hypervisoren haben APIs zum Booten von VMs... aber was ist mit physischen Kits? Eine Lösung, die wir verwenden, ist die Verbindung über einen seriellen Port und die Verwendung von pyserial zur Orchestrierung der Maschine.

Eine Testplattform

Hierfür verwenden wir wieder Jenkins, führen aber Skripte mit Bats aus. Dies ist eine gute Möglichkeit, sehr schnell einige einfache Prüfungen zu schreiben, die in Jenkins angezeigt werden können. Eine umfassendere Lösung wäre jedoch die Verwendung von serverspec oder ähnlichem.

Beispiel

Das Jenkins-Plugin "blue-ocean" bietet einen sehr klaren Überblick über den Fortschritt eines Tests: In diesem Stadium haben wir begonnen, Cristie CBMR zu verwenden, um ein Solaris 9-System auf physischer Hardware wiederherzustellen. Nach der Fertigstellung wird ein kurzes Skript die erforderliche Anwendung beim Booten deaktivieren und die beim Booten zu verwendenden Netzwerkparameter einrichten.

Das Python-Skript, das dies durchführt, wird:

  1. Booten Sie den Rechner per Netzwerk-Boot von einem PXE-Server, der das CBMR-Image enthält
  2. Starten Sie die Wiederherstellung aus dem OS-Backup

Nach Fertigstellung kann auf den Rechner über das Netzwerk statt über die serielle Konsole zugegriffen werden, und es kann das Standard-Jenkins-Skripting verwendet werden.

Fertigstellung

Die Pipeline führt jede Stufe nur der Reihe nach aus, so dass Stufen zur Trennung gleichzeitiger Aktionen verwendet werden.

Aus dem obigen Plan geht hervor, dass der A/D getestet werden muss, bevor die Anwendung gestartet werden kann, dass die Anwendung gestartet werden muss, bevor der Webdienst gestartet wird, und dass der Webdienst erst getestet werden kann, nachdem er gestartet wurde. Es ist möglich, das "Lockable resource plugin" zu verwenden, um eine feinere Kontrolle zu erreichen, aber das ist schwieriger und birgt größere Risiken.

Am Ende des Wiederherstellungstests erhalten wir die folgende (stark gekürzte) Ausgabe und eine Protokolldatei:

Zusammenfassung

Es ist möglich, moderne CI-Tools zu verwenden, um die Wiederherstellung älterer Betriebssysteme zu testen, sofern die Tools dies unterstützen:

  1. Eine API zur Steuerung der Umgebung, die gebootet werden soll
  2. Eine API zur Kontrolle, wann die Umgebung gebootet wird
  3. Orchestrierungs-Hooks zur Bereitstellung von Umgebungen für die Wiederherstellung

Viele Sicherungssysteme bieten diese Möglichkeiten nicht. Insbesondere gibt es nur wenige Tools, mit denen Sie eine Wiederherstellungsumgebung bereitstellen können.

TBMR

TBMR wurde für die Wiederherstellung der Betriebssysteme verwendet. Es wurde für die Arbeit mit Windows, Linux, Solaris und AIX entwickelt:

Cristie Symbol wiederherstellen

Kontakt

Vielen Dank, dass Sie uns kontaktiert haben. Wir haben Ihre Anfrage erhalten.