SUSE Disaster Recovery: ReaR & Snapshots (Artikel 178)
Implementierung von Disaster Recovery unter SUSE. Erfahren Sie alles über Relax-and-Recover (ReaR) für Bare-Metal-Recovery und die Nutzung von Btrfs-Snapshots zur Datensicherung.
# SUSE Disaster Recovery: Rettung durch ReaR und Btrfs
TL;DR / Management Summary Ein Backup schützt die Daten, aber eine Disaster Recovery (DR) Strategie schützt das gesamte System. Unter SUSE verlassen wir uns auf das Duo ReaR (Relax-and-Recover) für die Wiederherstellung des nackten Blechs (Bare Metal) und Btrfs Send/Receive für die blitzschnelle Replikation von Dateisystem-Zuständen. Wer ReaR beherrscht, kann einen komplett zerstörten SLES-Server in unter 30 Minuten aus einem ISO-Image wiederbeleben.
# 1. Einführung & Architektur
Die Rettungskette.
Disaster Recovery unter SUSE folgt einem zweistufigen Prozess:
- System-Recovery (ReaR): Stellt Partitionierung, Bootloader und das Basis-OS wieder her.
- Daten-Recovery (Btrfs/Rsync): Füllt das System mit den eigentlichen Applikationsdaten.
graph TD
A[SLES Production Host] -->|Daily Backup| B[Backup Storage: NFS / S3]
A -->|Config Backup| C[ReaR: ISO Creation]
C -->|Store| B
subgraph "The Disaster"
D[Physical Host Dead]
end
D --> E[New Hardware / VM]
E -->|Boot from| C
C -->|Restore Layout| E
B -->|Restore Files| E
E --> F[System Online]
# 2. Bare-Metal Recovery mit ReaR
Vom System zum ISO.
ReaR erstellt ein bootfähiges Rettungssystem, das exakt auf Ihre Hardware zugeschnitten ist.
# Installation & Konfiguration
sudo zypper install rear genisoimage syslinux
Datei: /etc/rear/local.conf
OUTPUT=ISO
OUTPUT_URL=nfs://backup-server.intern/export/rear/
BACKUP=NETFS
BACKUP_URL=nfs://backup-server.intern/export/backups/
# Rettungs-Medium erstellen
sudo rear -v mkrescue
Dies lädt ein ISO-Image auf Ihren NFS-Server. Brennen Sie dieses Image oder halten Sie es für die VM bereit.
# 3. Datenreplikation mit Btrfs Snapshots
Daten über das Netz schieben.
Nutzen Sie die Power von Btrfs (Artikel 153), um inkrementelle Backups auf einen entfernten SLES-Server zu spiegeln.
# Der Replikations-Befehl
# Erstellt einen Read-Only Snapshot
sudo btrfs subvolume snapshot -r / /snapshots/backup_today
# Sendet den Diff zum Ziel-Server
sudo btrfs send /snapshots/backup_today | ssh backup-node btrfs receive /backup/remote_host/
# 4. Day-2 Operations: Der Restore-Drill
Üben für den Ernstfall.
Ein DR-Plan ist ohne regelmäßige Tests wertlos.
- Erstellen Sie eine leere VM in Proxmox.
- Booten Sie das von ReaR erstellte ISO.
- Wählen Sie “Recover
” . - ReaR partitioniert die Disk automatisch nach dem Vorbild des Originals.
- Nach dem Reboot: Prüfen Sie die Applikations-Konsistenz.
# 5. Troubleshooting & “War Stories”
Wenn das Rettungsboot leckt.
# Story 1: “Der Treiber-Mismatch”
Symptom: Das ReaR-ISO bootet auf der neuen Hardware, findet aber keine Netzwerkkarte oder Festplatten.
Ursache: Die neue Hardware nutzt andere Treiber als der Quell-Server. ReaR packt standardmäßig nur die aktuell geladenen Module in das ISO.
Lösung: Setzen Sie MODULES=( 'all_modules' ) in der local.conf. Das ISO wird größer, ist aber universeller einsetzbar.
# Story 2: “EFI vs. BIOS”
Symptom: Der Restore-Vorgang bricht beim Installieren von GRUB ab. Ursache: Der Quell-Server nutzte BIOS (Legacy), die neue VM/Hardware ist auf UEFI eingestellt. Lösung: Stellen Sie sicher, dass das Ziel-System den gleichen Boot-Modus wie das Original nutzt. ReaR kann zwar konvertieren, dies ist aber fehleranfällig.
# 6. Fazit & Empfehlung
- ReaR: Unverzichtbar für komplexe Bare-Metal-Setups.
- Snapshots: Btrfs ist für SUSE-Admins die schnellste Methode für lokale und entfernte Backups.
- Backup-Ziel: Nutzen Sie NFS oder Tape-Libraries als Ziel für ReaR, um die ISOs getrennt vom System zu lagern.
# Anhang: Cheatsheet
| Aufgabe | Befehl |
|---|---|
| ISO erstellen | rear mkrescue |
| Gesamtes Backup + ISO | rear mkbackup |
| ReaR Check | rear checklayout |
| Btrfs Snapshot | btrfs subvolume snapshot -r / /snap |
| Btrfs Diff senden | `btrfs send -p <old_snap> <new_snap> |
| YaST Modul | Nicht vorhanden (reine CLI) |
| Log-Datei | /var/log/rear/rear-<hostname>.log |