Aus Linux-Magazin 06/2016

Disaster-Recovery-Framework

© Brian Jackson, 123RF

Es ist nur ein einfaches Bash-Shellskript und doch ein äußerst leistungsfähiges Werkzeug: Relax-and-Recover erzeugt aus laufenden Systemen Rettungsmedien, kümmert sich um Backups und hilft auch beim Migrieren von Rechnern auf neue Hardware oder beim Umwandeln in virtuelle Maschinen.

Der Laptop hat die besten Zeiten hinter sich und die Daten sollen auf ein neues Gerät umziehen? Der Server steht seit Jahren in der Ecke, frisst Strom und wäre als virtuelle Maschine besser aufgehoben? Ein simples Shellskript namens Relax-and-Recover [1] hilft Desktop-Nutzern und Sysadmins bei diesen und anderen Aufgaben gleichermaßen. Das unter der GPLv2 stehende Disaster-Recovery-Framework für Linux erzeugt Rettungsmedien (CDs, USB-Sticks oder PXE-Bootimages) und sichert die Daten – wahlweise in Kooperation mit einer externen Backuplösung.

Beim anschließenden Recovery erweist sich das Tool als flexibler Partner, der auch auf veränderte Hardware Rücksicht nimmt. Damit eignet sich Relax-and-Recover nicht nur als Rettungsfallschirm, sondern auch als Migrationstool. Physische Computer werden so zu virtuellen Maschinen (Physical to Virtual, P2V). Auch der Weg zurück auf echte Hardware (Virtual to Physical, V2P) ist möglich – und sogar ein Wechsel von einer Virtualisierungs-Lösung zu einer anderen (Virtual to Virtual, V2V).

Die Tester arbeiteten unter Debian 8 (Jessie) und Ubuntu 16.04 (Xenial Xerus) mit der aktuellen Stable-Variante 1.17.2 sowie mit der neuesten Relax-and-Recover-Version 1.18 aus dem Github-Repository (März 2016, [2]). Sie erzeugten ein Rettungsmedium sowie ein Backup von einem Desktoprechner. Außerdem sicherten sie einen älteren Server und kombinierten das Skript dazu mit einer externen Backuplösung. Die Rettungssysteme und Datensicherungen waren danach die Basis, um die physische Hardware in virtuelle Maschinen umzuwandeln.

Gut vorbereitet

Relax-and-Recover liegt einigen Distributionen bei, allerdings nicht unbedingt in der neuesten Ausgabe. Aktuelle Varianten bieten die Entwickler fertig gepackt auf der Projektseite an [1]. Um das Auflösen der Abhängigkeiten auf ihrem jeweiligen System müssen sich Anwender selbst kümmern. In der Regel weist der Paketmanager auf fehlende Komponenten hin.

Alternativ checken Benutzer das Programm aus dem Github-Repository [2]. Dazu installieren sie die Pakete »git« , »syslinux« , »extlinux« und »binutils« und führen danach folgende Befehle aus:

git clone https://github.com/rear/rear.git
cd rear
make deb

Auf RPM-basierten Systemen lautet das Paketbau-Kommando entsprechend »make rpm« . Nach der Installation nistet sich »rear« im Verzeichnis »/usr/sbin« ein. Anwender benötigen Rootrechte zum Starten des Skripts.

Als Nächstes geht es ans Formatieren des Sicherungsmediums, das sämtliche Daten überschreibt. Relax-and-Recover bringt ein eigenes Kommando dafür mit, was Benutzer über »rear format« initiieren. Dahinter steht der Gerätename des Wechselmediums, das nicht gemountet sein darf:

$ sudo rear format /dev/sdb
USB device /dev/sdb must be formatted with ext2/3/4 or btrfs file system
Please type Yes to format /dev/sdb in ext3 format:

Es ist wichtig, »Yes« genau in dieser Schreibweise und nichts anderes einzugeben, da »rear« sonst den Dienst quittiert. Auch sonst ist das Formatieren nicht ganz störungsfrei – auf einem der Testsysteme brauchte ein USB-Stick eine frische Partitionstabelle, damit Relax-and-Recover das Medium akzeptierte. Bricht die Software ab, dann weist sie sofort auf das Logfile hin, das ausführliche Informationen zum Problem enthält. Wenn alles glatt läuft, dann versieht das Tool den Stick mit dem in der Ausgabe genannten Dateisystem und verpasst ihm das Label »REAR-000« (Abbildung 1).

Abbildung 1: Relax-and-Recover formatiert das USB-Medium und setzt das Label »REAR-000«.

Abbildung 1: Relax-and-Recover formatiert das USB-Medium und setzt das Label »REAR-000«.

Rettet den Desktop!

Für die ersten Gehversuche mit der Software bietet sich ein Backup des eigenen Arbeitsrechners an. Nachdem das USB-Medium formatiert ist, wenden sich Benutzer der Einrichtungsdatei »/etc/rear/local.conf« zu. Diese ist in der Voreinstellung lediglich mit ein paar Kommentaren der Entwickler bestückt. Mit einem Texteditor hinterlegen sie hier beispielsweise die folgenden Wünsche:

OUTPUT=USB
BACKUP=NETFS
BACKUP_URL=usb:///dev/disk/by-label/REAR-000

Das Rettungs-Initram-FS, das für den Systemstart benötigte Dateien enthält, soll auf einem USB-Medium landen. Alternativ sind hinter »OUTPUT« auch die Angaben »ISO« , »PXE« , »RAMDISK« oder »OBDR« möglich; das Handbuch [3] erklärt Näheres. Zudem ist die Art des Backups definiert: »NETFS« ist die interne »rear« -Methode, die ein einfaches Tar.gz-Archiv von allen Daten des Systems erzeugt. Das Rettungsimage und auch das Backup selbst speichert Relax-and-Recover in diesem Fall auf dem Gerät mit dem Label »REAR-000« .

Der nächste Schritt hängt davon ab, ob Benutzer lediglich ein bootfähiges Rettungssystem oder zusätzlich ein Vollbackup benötigen. Ersteres entsteht über den Aufruf »rear mkrescue« ; die Option »-v« schaltet ausführliche Meldungen ein (Listing 1). In diesem Fall erzeugt Relax-and-Recover nur ein startfähiges Medium, mit dem Anwender die grundsätzliche Umgebung des Systems (etwa Festplatten-Layout, Treiber und Netzwerkkarten-Konfiguration) wiederherstellen können; die Programme und Daten fehlen jedoch. Die sichert dann ein zweiter Schritt.

Listing 1

Rettungsmedium

01 $ sudo rear -v mkrescue
02 Relax-and-Recover 1.17.2 / Git
03 Using log file: /var/log/rear/rear-craptop.log
04 Creating disk layout
05 Creating root filesystem layout
06 TIP: To login as root via ssh you need to set up/root/.ssh/authorized_keys or SSH_ROOT_PASSWORD in your configuration file
07 Copying files and directories
08 Copying binaries and libraries
09 Copying kernel modules
10 Creating initramfs
11 Writing MBR to /dev/sdb
12 Copying resulting files to usb location

Viel bequemer ist es, wenn Relax-and-Recover auch diese Aufgabe übernimmt. Falls der USB-Wechseldatenträger groß genug ist, sichert der Aufruf »rear mkbackup« alles auf einem Medium. Reicht der Platz dort nicht aus, helfen externe Festplatten oder Netzlaufwerke aus. Den Ort für die Sicherungskopie definiert die Variable »BACKUP_URL« in der erwähnten Konfigurationsdatei »/etc/rear/local.conf« . Sie nimmt Werte wie »file://« , »nfs://« , »tape://« oder »cifs://« entgegen.

Authentisierungs-Informationen für Samba-Shares tragen Nutzer in die Datei »/etc/rear/.cifs« ein; auch in diesem Fall lohnt sich ein Blick ins Handbuch [3] für eine Beispielkonfiguration.

Nach dem Starten des Rettungssystems erscheint ein Auswahlmenü (Abbildung 2), welches das Rettungsimage und im zweiten Schritt vorhandene Backups anbietet. Anwender entscheiden außerdem, ob Relax-and-Recover alles automatisch machen soll oder ob sie selbst Hand anlegen wollen. In diesem Fall melden sich Benutzer als »root« ohne Passwort an. Den Wiederherstellungsprozess stoßen sie mit »rear recover« an. Auch hier sorgt der Schalter »-v« wieder für ausführliche Meldungen.

Abbildung 2: Das Bootmenü von Relax-and-Recover zeigt vorhandene Images (hier »silberfisch«) und alternative Startmethoden.

Abbildung 2: Das Bootmenü von Relax-and-Recover zeigt vorhandene Images (hier »silberfisch«) und alternative Startmethoden.

Im Zuge der Wiederherstellung legt das Programm die Partitionen neu an und formatiert sie mit dem ursprünglichen Dateisystem. Auch Swap landet am selben Ort. Das Mounten übernimmt das Skript ebenfalls und spielt dann die Daten zurück. Als Letztes installiert Relax-and-Recover den Bootloader Grub. Bevor Anwender den Rechner neu starten, können sie sich das Ergebnis der Bemühungen unter »/mnt/local« ansehen, wie das Skript verrät (Abbildung 3).

Abbildung 3: Wer vor dem Reboot das Ergebnis kontrollieren möchte, sollte einen Blick auf »/mnt/local« werfen.

Abbildung 3: Wer vor dem Reboot das Ergebnis kontrollieren möchte, sollte einen Blick auf »/mnt/local« werfen.

Teamwork

Nach dem Reboot finden Benutzer das System so vor, wie es zum Zeitpunkt des Aufrufs »rear mkrescue« respektive »rear mkbackup« war. Eine Interaktion ist möglich und dann erforderlich, wenn sich die Plattengröße verändert hat. Dazu passen Anwender das während der Wiederherstellung generierte Skript »/var/lib/rear/layout/diskrestore.sh« im Texteditor an. Dank ausführlicher Logfiles und der Möglichkeit, während des »recover« -Prozesses Skripte on the Fly zu ändern, kann selbst ein Umzug auf größere oder kleinere Festplatten gelingen – sofern keine SSD-Medien involviert sind. Hier kann es Probleme geben, wenn ein Umzug auf eine EIDE-Platte ansteht.

Relax-and-Recover fühlt sich auch in Rechenzentren zuhause und hilft dabei, Server zu sichern oder zu migrieren. Die im Vergleich zu einem Desktop-PC deutlich größeren Datenmengen lagern Admins entweder auf einen zentralen Filserver aus oder sie integrieren gleich eine fertige Backuplösung. Relax-and-Recover arbeitet unter anderem mit Bacula, Bareos, HP Data Protector, Commvault Galaxy (Versionen 5 bis 7, eventuell auch neure Ausgaben), Symantec Netbackup, EMC Networker (Legato) und IBM Tivoli Storage Manager zusammen.

Das Teamwork mit einem externen Backup-Programm ist nicht nur ein eleganter Weg, Recovery und Restore zu kombinieren, es hat weitere Vorteile. Die »rear« -Methode »NETFS« mit ihrem einfachen Tar.gz-Archiv nimmt keine Rücksicht auf laufende Datenbanken und Lockfiles. Wer vor dem Relax-and-Recover-Einsatz nicht von Hand einen Datenbankdump erstellen und Prozesse anhalten möchte, greift also besser zu einer fertigen Lösung, die sich um genau solche Probleme kümmert.

Die Tester kombinierten den Bacula-Fork Bareos [4] mit Relax-and-Recover und machten dazu in der Konfigurationsdatei »/etc/rear/local.conf« folgende Angaben:

OUTPUT=ISO
OUTPUT_URL=nfs://IP/Share/Hostname
BACKUP=BAREOS
BAREOS_CLIENT=bareosclient-fd

Das ISO-Image als Rettungssystem liegt auf einem per NFS erreichbaren Rechner. Nach einem Servercrash oder beim Migrieren in eine virtuelle Maschine bootet das ISO von dort per PXE – einen entsprechend konfigurierten TFTP-Server vorausgesetzt. Hinter »BAREOS_CLIENT« tragen Admins den Namen des Bareos File Daemon ein, der für das Sichern der Clientdaten zuständig ist.

Der File Daemon landet mitsamt seiner Konfiguration im ISO-Image und kümmert sich später selbstständig um das Wiederherstellen der Daten. Dazu benötigt er allerdings zwingend einen Zugriff auf den Backupserver mittels »bconsole« , dem Werkzeug, das mit dem Bareos Director kommuniziert.

Zu beachten in diesem Szenario ist außerdem, dass alles, was über das minimale Rettungssystem hinausgeht, am besten im Backup landen sollte. Das schließt auch Verzeichnisse wie »/etc« , »/usr« , »/var« und so weiter ein, nicht aber »/tmp« , »/proc« und Ähnliches. Nur so ist sichergestellt, dass Systemverwalter alles wieder wie erwartet vorfinden.

Migrationshilfe

Relax-and-Recover hilft Administratoren auch dabei, ein System in eine andere Umgebung umzuziehen – sei es echte oder virtualisierte Hardware. Das Transferieren eines Hardware-Servers in eine virtuelle Maschine (Physical to Virtual, P2V) ist eigentlich einfach, der Teufel steckt aber je nach Virtualisierungs-Software im Detail. Die Tester wandelten im ersten Versuch einen Applikationsserver (Ubuntu 12.04 LTS) inklusive MySQL-Datenbank von einem alten Dell-PC mit defektem Raid in eine virtuelle Maschine eines Xen-Servers [5] um.

Das Erstellen des Rettungssystems und des Backup unterschied sich nicht von den in den vorigen Abschnitten gezeigten Abläufen. Um das Image zu booten, legten die Tester ein ISO Storage Repository (»NFS ISO storage« ) in der Xen-Server-Konfiguration an. Als VM-Template wählten sie »Other Config« ; die anderen Vorlagen versagten den Dienst.

Beim Recovery-Vorgang stellte Relax-and-Recover ein paar Fragen zu den Netzwerkkarten (Abbildung 4) und der Festplatte, was zum einen an der veränderten virtuellen Hardware und zum anderen an einer veränderten Plattengröße lag. Die Änderung der Gerätedatei von »/dev/sda« in »/dev/xvda« war explizit zu bestätigen; die Verkleinerung der Festplatte gelang ohne Komplikationen.

Abbildung 4: Die echte Netzwerkkarte »eth0« ist nicht mehr vorhanden. Anwender wählen dafür virtuelle Hardware aus, die der Xen-Server bereitstellt und hier auflistet.

Abbildung 4: Die echte Netzwerkkarte »eth0« ist nicht mehr vorhanden. Anwender wählen dafür virtuelle Hardware aus, die der Xen-Server bereitstellt und hier auflistet.

Beim Migrieren eines alten Laptops (Debian 8) von physischer Hardware in eine virtuelle Maschine mussten die Tester sowohl in VMware [6] als auch in Virtualbox [7] ein bisschen tricksen. Das Rettungssystem landete wiederum auf einem USB-Stick. Um von diesem Medium zu booten, musste die USB-2.0-Unterstützung für die jeweilige virtuelle Maschine aktiviert sein. Außerdem kam ein spezieller Bootmanager namens Plop [8] zum Einsatz, da VMware und Virtualbox nicht nativ von USB booten können. Das anschließende »rear recover« lief danach gewohnt stabil.

Entspannung pur

Relax-and-Recover leistete sich im Test kaum Schwächen. Lediglich das Klonen eines Laptops mit SSD-Festplatte und der anschließende Umzug auf einen älteren Rechner mit EIDE-Platte gelang nicht. Auch das Anpassen der Skripte half in diesem Fall nicht weiter; ein Bugreport ist abgesetzt. Hoffnung macht, dass das Programm stetig dazulernt. So enthält die kommende Version 1.18 erstmals Unterstützung für NVM Express, eine Schnittstelle, um SSDs über PCI-Express zu verbinden.

Bei allen anderen Experimenten hat das Disaster-Recovery-Tool überzeugt. Ein paar Kommandos genügen, um Rettungssysteme zu erzeugen und diese per CD, USB-Medium oder PXE-Bootimage zur Verfügung zu stellen. Als äußerst kooperativ erweist sich Relax-and-Recover, wenn es um Backups geht. Es bringt nicht nur eigene minimale Sicherungsroutinen mit, sondern arbeitet mit bekannten und flexibleren Backup-Programmen anderer Hersteller zusammen.

Der Autor

Oliver Hoffmann arbeitet als Systemadministrator bei Digital Online Media (DOM). Mit Relax-and-Recover hat er nicht nur seinen eigenen Laptop im Griff, sondern setzt die Software auch für Kundensysteme ein.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben