Backup mit dump
Der Befehl dump
erzeugt ein Backup eines Mountpoints in eine Datei aus der, auch selektiv, wieder zurückgesichert werden kann. Dump verlässt hierbei nicht das Filesystem. Aus diesem Grund muss jeder Mountpoint eines Systems separat gesichert werden, um das System komplett zu sichern.
dump -0uan -f Ausgabedatei mountpoint |
Beispiel für die lokale Sicherung eines Systems:
- /dev/sda1 /boot
- /dev/sda2 /
- /dev/sda3 /var
- /dev/sda4 swap
- /dev/sdb1 /BACKUP
dump -0uan -f /BACKUP/2020-11-20-servername-root.dump / |
Beispiel für die remote Sicherung eines Systems:
- /dev/sda1 /boot
- /dev/sda2 /
- /dev/sda3 /var
- /dev/sda4 swap
dump -0uan -f - | ssh bak@baksrv.com dd of=/BACKUP/2020-11-20-srv1-root.dump / |
Auf dem Zielserver muss das Verzeichnis /Backup existieren. Weiterhin muss die Authentifizierung per public key auf dem Backup-Server funktionieren und der Host-Key des Backup-Servers in der knownhosts-Datei bekannt sein.
Restore eines Backups
Um ein komplettes System wieder herzustellen, muss dieses mit einem Rescue-System gebootet werden.
Dann erzeugen wir zwei Verzeichnisse:
# mkdir /mnt/quelle |
Das Verzeichnis, auf dem sich die Backup-Dateien befinden kann dann mit sshfs z.B. nach /mnt/quelle gemountet werden.
# sshfs -o allow_other,default_permissions bak@baksrv.com:/BAK /mnt/quelle |
Liegt das Backup auf dem lokalen Server, so kann natürlich direkt gemounter werden:
# mount /dev/sdb1 /mnt/quelle |
Die root-Partition des wiederherzustellenden Systems wird nach /mnt/ziel gemountet:
# mount /dev/sda2 /mnt/ziel |
Jetzt wechseln wir in das Zielverzeichnis. Sollte dieses noch Dateien enthalten, so müssen diese samt und sonders gelöscht werden. Dann stellen wird die Daten aus dem Backup wieder her:
# cd /mnt/ziel # rm -rf * |
Nun mounten wir, wenn vorhanden, die anderen Partitionen in ihre Mountpoints:
# mount /dev/sda1 /mnt/ziel/boot |
Auch diese Partitionen müssen ein leeres Dateisystem enthalten. Jetzt stellen wir den Inhalt dieser beiden Mountpoints ebenfalls wieder her:
# cd /mnt/ziel/boot # rm -rf * # |
Über den Befehl blkid ermitteln wir die UUID der Partitionen:
# blkid |
Die alten UUIDS in /etc/fstab
und in /boot/grub2/grub2.cfg
müssen gegen die neuen UUIDs ersetzt werden. Nun muss noch dafür gesorgt werden, dass das wiederhergestellt System auch ordnungsgemäß bootet. Dazu unternehmen wir folgende Schritte:
# cd / |
Jetzt müssen wir noch zur Sicherheit die Konfiguration der Netzwerkkarte überprüfen, z.B. ob dort eine MAC-Adresse hinterlegt ist, die evtl. jetzt nicht mehr stimmt.
Abschließend unternehmen wir noch die folgenden Schritte:
# exit # cd / |