Linux Disaster Recovery
Bei der Erstellung eines Notfallvorsorge- und Datensicherungskonzepts ist ein wichtiger Baustein ein Verfahren festzulegen, wie mit dem Verlust einer Linux-Betriebssysteminstallation umzugehen ist.
IT Abteilungen bzw. IT Dienstleister mit einem hohen Automatisierungsgrad und weitestgehend identischen Serverinstallationen setzen dafür oft Softwareinstallationssysteme oder Automatisierungstools wie Puppet ein.
In einer heterogenen Umgebung wird das Thema oft verdrängt. Manuelle Installationen sind auch schnell durchgeführt. Oft mangelt es aber einer entsprechenden Dokumentation, wie das System aufzusetzen ist. Image-basierte Lösungen funktionieren oft nur offline oder bedingen weitere Spezialsoftware, z.B. Acronis.
Relax-and-Recover
Mit Relax-and-Recover steht eine Lösung für diverse Linux-Distributionen bereit, die diese Lücke füllen kann. Relax-and-Recover (REAR) erzeugt online aus dem bestehenden System eine bootfähige Umgebung (z.B. ISO-Image, USB-Stick, PXE-Netzwerkboot) und sichert die Daten der Betriebssysteminstallation. Tar und rsync stehen für ein Backup auf Netzwerk-Shares zur Verfügung. Darüber hinaus unterstützt REAR zahlreiche Backupsoftware als Alternative für Datensicherungen. Gerade diese gute Integration in bestehende Lösungen macht REAR aus meiner Sicht interessant.
Relax-and-Recover Supportmatrix
Unterstützte Linux-Distributionen:
- CentOS
- Fedora
- RHEL
- Oracle
- OpenSUSE
- SLES
- Debian
- Ubuntu
- Gentoo
Unterstützte Backupsoftware:
- EMC Networker
- Symantec Netbackup
- IBM TSM
- HP Dataprotector
- Commvault Simpana
- SEP Sesam
- Bacula / Bareos
- duplicity /duply
cfg2html
REAR unterstützt die automatische Erzeugung einer Installationsdokumentation mittels cfg2html.
Einrichtung Disaster Recovery
Beispiel für Testumgebung
Client
- Host: backup7.fqdn
- OS: SLES11SP3
- Hardware: HP ProLiant DL360 G5
Server
- NFS-Share: dd990.fqdn:/data/col1/rear (Data Domain DD990)
- Backup-Server: backupserver.fqdn (EMC Networker 8.0.2)
Aufgabenverteilung
- Filesystembackup für OS und Daten über EMC Networker
- Disaster Recovery ISO-Erstellung über REAR, Backup im Networker-saveset /var/lib/rear/ und auf NFS-Share
- Erstellung einer Konfigurations- und Installationsübersicht mit cfg2html (erzeugt <hostname>.html) , Backup auf NFS-Share
Inbetriebnahme
Downloads
Hier findet man die rpm-Installationsdateien von Relax-and-Recover, EMC Networker und cfg2html:
Installation
Die Pakete werden auf SLES mit zypper install rpm-Paket installiert. Danach Prüfung, ob alle Pakete installiert sind…
backup7:~ # rpm -qa rear rear-1.15-21.git201402111621 backup7:~ # rpm -qa lgto* lgtoman-8.0.2.6-1 lgtoclnt-8.0.2.6-1 backup7:~ # rpm -qa cfg2html* cfg2html-linux-2.78-4
Konfiguration von Relax-and-Recover
Die Standard-Parameter sind unter /usr/share/rear/conf/default.conf gesetzt.
Für Relax-and-Recover erstellt man die Konfigurationsdatei /etc/rear/site.conf und setzt Parameter, die nicht dem Standard entsprechen.
backup7:~ # cat /etc/rear/site.conf BACKUP=NSR OUTPUT=ISO BACKUP_URL=nfs://dd990.fqdn/data/col1/rear/backup OUTPUT_URL=nfs://dd990.fqdn/data/col1/rear/output NSRSERVER=backupserver.fqdn RETENTION_TIME="Month" USE_CFG2HTML=y
Nun die Konfiguration nochmals prüfen lassen.
backup7:~ # rear dump Relax-and-Recover 1.15-git201402111621 / 2014-02-11 Using log file: /var/log/rear/rear-backup7.log.lockless Dumping out configuration and system information This is a 'Linux-x86_64' system, compatible with 'Linux-i386'. System definition: ARCH = Linux-i386 OS = GNU/Linux OS_MASTER_VENDOR = OS_MASTER_VERSION = OS_MASTER_VENDOR_ARCH = OS_MASTER_VENDOR_VERSION = OS_MASTER_VENDOR_VERSION_ARCH = OS_VENDOR = SUSE_LINUX OS_VERSION = 11 OS_VENDOR_ARCH = SUSE_LINUX/i386 OS_VENDOR_VERSION = SUSE_LINUX/11 OS_VENDOR_VERSION_ARCH = SUSE_LINUX/11/i386 Configuration tree: Linux-i386.conf : OK GNU/Linux.conf : OK SUSE_LINUX.conf : OK SUSE_LINUX/i386.conf : missing/empty SUSE_LINUX/11.conf : missing/empty SUSE_LINUX/11/i386.conf : missing/empty site.conf : OK local.conf : OK Backup with NSR NSR_ROOT_DIR = /nsr BACKUP_INTEGRITY_CHECK = BACKUP_MOUNTCMD = BACKUP_OPTIONS = BACKUP_RSYNC_OPTIONS = --sparse --archive --hard-links --verbose --numeric-ids --stats BACKUP_SELINUX_DISABLE = 1 BACKUP_TYPE = BACKUP_UMOUNTCMD = BACKUP_URL = nfs://dd990.fqdn/data/col1/rear/backup Output to ISO ISO_DIR = /var/lib/rear/output ISO_FILES = ISO_IMAGES = ISO_ISOLINUX_BIN = ISO_MAX_SIZE = ISO_MKISOFS_BIN = /usr/bin/mkisofs ISO_PREFIX = rear-backup7 ISO_VOLID = RELAXRECOVER RESULT_MAILTO = /usr/share/rear/lib/validated/SUSE_LINUX/11/i386.txt Your system is validated with the following details: Submitted: Schlomo Schapiro Date: 2011-02-20 Features: NETFS, ISO, LVM, V2V backup7:~ #
Backup durchführen
Relax-and-Recover
Boot-CD / ISO-Image und Konfigurationsübersicht mit cfg2html erstellen
backup7:~ # rear -v mkbackup Relax-and-Recover 1.15-git201402111621 / 2014-02-11 Using log file: /var/log/rear/rear-backup7.log Creating disk layout Creating root filesystem layout EMC Networker will recover these filesystems: / TIP: To login as root via ssh you need to set up /root/.ssh/authorized_keys or SSH_ROOT_PASSWORD in your configuration file Copying files and directories Copying binaries and libraries Copying kernel modules Creating initramfs Making ISO image Wrote ISO image: /var/lib/rear/output/rear-backup7.iso (105M) Copying resulting files to nfs location Saving result files with NSR (EMC NetWorker) If the RETENTION_TIME="Month" is too low please add RETENTION_TIME variable in /etc/rear/local.conf pool retent name ============================ backup7:~ #
Kontrolle, ob ISO-Image und cfg2html-Ausgabe erzeugt wurden
backupserver:/dd990/rear/output/backup7 # ls -l total 110579 -rw------- 1 nobody nogroup 202 Mar 3 16:00 README -rw------- 1 nobody nogroup 286 Mar 3 16:00 VERSION -rw------- 1 nobody nogroup 3526279 Mar 3 16:00 backup7.html -rw------- 1 nobody nogroup 109543424 Mar 3 16:00 rear-backup7.iso -rw------- 1 nobody nogroup 161019 Mar 3 16:00 rear.log
EMC Networker
Erstellung Filesystem Backup
backupserver:/ # savegrp -c backup7 LINUX-GROUP 3:savegrp: Group LINUX-RZ2 waiting for 1 jobs (0 awaiting restart) to complete. 7241:savegrp: nsrim run recently, skipping backupserver:/ #
Disaster simulieren
Mit dem Gnome Partition Editor werden nun die Daten auf den Festplatten gelöscht. Dazu vom gparted-ISO booten und die Partitionen löschen.
gparted beenden und neu starten
Disaster Recovery
Nun vom ISO booten, das mit Relax-and-Recover für den Rechner backup7 erstellt wurde.
1. Menüeintrag „Recover“ auswählen
Mit Benutzer root im Recovery-System anmelden
„rear recover“ startet nun die Wiederherstellung des Disklayouts (Partitionierung, Formatierung) und ruft danach das konfigurierte Backupprogramm auf. In diesem Fall werden mit dem EMC Networker Commandlinetool recover nun die Verzeichnisse und Dateien des Betriebssystems wiederhergestellt (i.d.R. /).
Die Wiederherstellung ist beendet.
Ein kurzer Blick in den Mountpoint /mnt/local zeigt die erfolgreiche Wiederherstellung von /. Nun die Recovery-CD entfernen und Reboot durchführen…
Der grub Bootloader des SLES11 ist wieder bereit.
Der Bootvorgang lief erfolgreich.
Das Disaster Recovery wurde erfolgreich durchgeführt.
P.S.
Mein ausdrücklicher Dank geht an Gratien D’haese, der sich die Zeit nahm und mir bei der Beseitigung eines Konfigurationsfehlers half.