Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | anwenderwiki:backup_restore:backup-rsnapshot [2016/02/10 16:29] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | {{tag> | ||
+ | ====== Backup-Rsnapshot: | ||
+ | < | ||
+ | **Getestet mit den folgenden Versionen: | ||
+ | * linuxmuster.net 6.1 (ab Backup-Rsnapshot Version 1.6) | ||
+ | * linuxmuster.net 6.0 (ab Backup-Rsnapshot Version 1.2) | ||
+ | * LML 5.1 | ||
+ | * LML 5.0 | ||
+ | </ | ||
+ | |||
+ | |||
+ | Mit der hier vorgestellten Backup-Strategie wird jede Nacht ein dateibasiertes Pseudo-Vollbackup auf einer gesonderten Partition erzeugt, idealerweise auf einer Wechselplatte. | ||
+ | |||
+ | " | ||
+ | |||
+ | Basierend auf dem Backupskript von Thomas Schmitt werden vor dem Backup kritische Dienste wie die Datenbanken heruntergefahren, | ||
+ | |||
+ | In der Ausgangskonfiguration werden die letzten 60 täglichen Backups behalten ('' | ||
+ | |||
+ | |||
+ | Weshalb das Ganze: | ||
+ | |||
+ | * Die Zeiten für die Sicherung mit Mondorescue sind auf großen Systemen problematisch | ||
+ | * Das Zurückspielen einzelner Dateien ist bei Mondorescue recht umständlich | ||
+ | * Ich benötigte eine Rundum-Sorglos-Backup-Lösung für meinen Server zu Hause ;-) | ||
+ | |||
+ | |||
+ | Aber: | ||
+ | |||
+ | * Jede Datei wird physikalisch nur einmal gesichert. Für Redundanz muss also anderweitig gesorgt werden, etwa durch das verwenden mehrerer Backupplatten im Wechsel. | ||
+ | * Es gibt keinen Support | ||
+ | * Ein Desaster-Recovery ist (ein wenig) umständlicher, | ||
+ | * Man kann das Backup nicht über die Schulkonsole einrichten | ||
+ | |||
+ | |||
+ | ===== Features ===== | ||
+ | |||
+ | * Automatisches tägliches Vollbackup per Cronjob | ||
+ | * Backup der Firewall-Einstellungen (IPCop/ | ||
+ | * Extra-Sync-Option für minimale Downzeiten | ||
+ | * Log-Datei per E-Mail bei fehlgeschlagenem Backup | ||
+ | * Optional: Verschlüsselung des Backups mit TrueCrypt | ||
+ | |||
+ | |||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Download: {{: | ||
+ | |||
+ | Man speichert die Datei auf dem Server und packt sie aus: | ||
+ | |||
+ | tar xzf backup-rsnapshot-1.6.2.tgz | ||
+ | |||
+ | Dabei wird ein Verzeichnis backup-rsnapshot erzeugt. In diesem Verzeichnis findet man eine Installations- und Konfigurationsanleitung. | ||
+ | |||
+ | |||
+ | Etwaige Cronjobs für das Linuxmuster-Backup sollte man vorher natürlich deaktivieren. | ||
+ | |||
+ | |||
+ | ===== Neu ab Version 1.6.2 ===== | ||
+ | |||
+ | In Version 1.6.2 werden die Dienste schon vor dem Rotieren der Backups wieder hochgefahren, | ||
+ | |||
+ | ==== Update von 1.6 ==== | ||
+ | |||
+ | Ein Update von Version 1.6 geht am einfachsten so: | ||
+ | |||
+ | - Die Datei ''/ | ||
+ | - In ''/ | ||
+ | < | ||
+ | < | ||
+ | |||
+ | |||
+ | ===== Neu ab Version 1.6 ===== | ||
+ | |||
+ | Version 1.6 enthält nur minimale Anpassungen an Linuxmuster.net 6.1. Anstelle eines Upgrades pflegt man sie besser selbst ein (s. u.). | ||
+ | |||
+ | |||
+ | ===== Neu ab Version 1.5 ===== | ||
+ | |||
+ | Bei Version 1.5 werden optional sämtliche Bind-Mounts vor dem Backup gelöst. Unterbleibt dies, so landet für jeden User, der während des Backups angemeldet ist, eine Kopie der Tauschverzeichnisse im Backup. | ||
+ | |||
+ | Außerdem funktioniert das Backup wieder mit NFS -- das war in 1.4 vermurkst. | ||
+ | |||
+ | |||
+ | ===== Neu ab Version 1.4 ===== | ||
+ | |||
+ | Mehrere Anwender von linuxmuster.net berichten, dass beim Booten die Zuordnung der Festplatten zu den Gerätenamen unvorhersehbar wechselt. Dies kann man abfangen, indem man mit Dateisystemlabeln arbeitet. | ||
+ | |||
+ | Verwendet man jedoch TrueCrypt, so ist dies leider nicht möglich, da etwaige Label ja erst nach dem Mounten im Klartext vorliegen. Ab Version 1.4 kann man deshalb eine Liste von Partitionen angeben, und die erste, die im System gefunden wird, wird genommen. Verschlüsselte Partitionen kann man über die Links in ''/ | ||
+ | |||
+ | |||
+ | ===== Upgrade ===== | ||
+ | |||
+ | ==== Upgrade von 1.5 auf 1.6 / Anpassungen für Linuxmuster.net 6.1 ==== | ||
+ | |||
+ | Die Version 1.6 bringt nur zwei kleine Anpassungen an die LML 6.1. Anstatt die neue Version herunterzuladen führt man die Änerungen schneller selbst durch: | ||
+ | |||
+ | * In der Datei ''/ | ||
+ | * In der Datei ''/ | ||
+ | |||
+ | ==== Upgrade von älteren Versionen ==== | ||
+ | |||
+ | Ein Upgrade von einer älteren Version geht am schnellsten so: | ||
+ | |||
+ | * Sichern von ''/ | ||
+ | * Installieren der neuen Version mit '' | ||
+ | * Manuelle Neukonfiguration (Dateien ''/ | ||
+ | |||
+ | |||
+ | ===== Verwendung ===== | ||
+ | |||
+ | Backup-Rsnapshot stellt drei Befehle bereit: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Die ersten beiden sind eine Abkürzung für das Ein- und Aushängen der Backuppartition -- praktisch vor allem, wenn TrueCrypt zum Einsatz kommt. | ||
+ | |||
+ | Man kann das Backup jederzeit mit '' | ||
+ | |||
+ | Im Dauerbetrieb wird das Backup durch einen Cronjob gestartet. Der Cronjob ist schon vorkonfiguriert und aktiviert, die Uhrzeit kann man in der Datei ''/ | ||
+ | |||
+ | Vor dem ersten Durchlauf (oder bei sehr großen Veränderungen) kann man die Platte manuell einbinden und mit '' | ||
+ | |||
+ | Es ist zu empfehlen, die Backupplatte regelmäßig zu wechseln. Dies kann man jederzeit tun, wenn nicht gerade das Backup läuft. Wenn man eine ganz neue Platte nimmt, muss man natürlich vorher partitionieren, | ||
+ | |||
+ | |||
+ | ===== Log-Dateien ===== | ||
+ | |||
+ | Es werden mehrere Log-Dateien im Verzeichnis ''/ | ||
+ | |||
+ | |||
+ | ===== Zurückspielen einzelner Dateien ===== | ||
+ | |||
+ | Für jedes Backup wird auf der Backupplatte ein kompletter Dateibaum des Servers angelegt, aus dem man einzelne Dateien oder auch ganze Ordner bequem zurückkopieren kann. Wann das Backup erzeugt wurde erkennt man am Datum des jeweiligen Backupverzeichnisses ('' | ||
+ | |||
+ | Beim Zurückkopieren einzelner Dateien odert Ordner verwendet man am besten die Befehle '' | ||
+ | |||
+ | |||
+ | ===== Komplettrestore ===== | ||
+ | |||
+ | Für ein Komplettrestore bootet man den Server (oder auch einen neuen) von einer Live-Umgebung (CD/ | ||
+ | |||
+ | Angenommen, die Backupplatte ist im Live-System nach ''/ | ||
+ | |||
+ | Dann kopiert man die Dateien aus dem letzten Backup auf die neue Platte: | ||
+ | |||
+ | cp -a / | ||
+ | |||
+ | Nun muss man noch die neue Platte (im Beispiel '' | ||
+ | |||
+ | mount -o bind /dev / | ||
+ | mount -o bind /proc / | ||
+ | mount -o bind /sys / | ||
+ | chroot /mnt/neu | ||
+ | cat / | ||
+ | grub-install /dev/sda | ||
+ | update-grub | ||
+ | exit | ||
+ | |||
+ | Zuletzt muss man noch die Datei ''/ | ||
+ | |||
+ | < | ||
+ | root@s004hp08: | ||
+ | /dev/sda1: UUID=" | ||
+ | /dev/sda5: UUID=" | ||
+ | </ | ||
+ | |||
+ | Jetzt sollte der Server von der neuen Platte booten. | ||
+ | |||
+ | |||
+ | |||
+ | ===== IPCop/ | ||
+ | |||
+ | Optional kann man die Einstellungen der externen Firewall mitsichern. Sie werden in einem Verzeichnis unterhalb von ''/ | ||
+ | |||
+ | Eine Sicherung des IPCop kann man mithilfe der dafür vorgesehenen Skripte zurückspielen. | ||
+ | |||
+ | Bei IPFire wird der eingebaute Sicherungsmechanismus verwendet. Möchte man ein Sicherung zurückspielen, | ||
+ | |||
+ | Inzwischen ist ein Skript zum Backup des IPFire offizieller Bestandteil von linuxmuster.net. Deshalb sollte man das Backup des IPFire hier höchstens zusätzlich aktivieren. | ||
+ | |||
+ | |||
+ | ===== ACLs ===== | ||
+ | |||
+ | Ab der Version 6.1 von Linuxmuster.net werden die Zugriffsrechte für die Tauschverzeichnisse mit ACLs gesteuert. | ||
+ | |||
+ | ==== Dateisystem des Backups unterstützt ACLs ==== | ||
+ | |||
+ | Wenn das Dateisystem des Backups ACLs unterstützt - wie etwa Ext4 mit den Standardeinstellungen -- so werden die automatisch ACLs mitgesichert. Bei einem Restore sollte man darauf achten, die entsprechenden Schalter zu verwenden ('' | ||
+ | |||
+ | ==== Dateisystem des Backups unterstützt ACLs nicht ==== | ||
+ | |||
+ | Wenn man die ACLs nicht sichern kann, so ist das auch kein Problem. Die Stategie hängt hier davon ab, was man nutzt: | ||
+ | |||
+ | * ACLs zur raumweisen Steuerung des Zuugriffs auf die Tauschverzeichnisse: | ||
+ | * Eigenhändig eingerichtete ACLs (z. B. mit '' | ||
+ | |||
+ | |||
+ | ===== Backup auf einem weiteren Linux-Rechner im LAN: ===== | ||
+ | |||
+ | Installation von NFS auf dem Ziel-Rechner | ||
+ | |||
+ | apt-get install nfs-kernel-server nfs-common portmap | ||
+ | |||
+ | Anlegen des Freigabeverzeichnisses und setzten der Benutzerrechte: | ||
+ | |||
+ | mkdir /var/nfs | ||
+ | chown nobody: | ||
+ | |||
+ | Bearbeiten der exports Datei: | ||
+ | |||
+ | vi / | ||
+ | / | ||
+ | |||
+ | |||
+ | Bekanntgeben der Freigabe: | ||
+ | |||
+ | exportfs -a | ||
+ | |||
+ | Am zu sichernden Server: | ||
+ | |||
+ | aptitude install nfs-common portmap | ||
+ | vi / | ||
+ | |||
+ | |||
+ | Dabei: '' | ||
+ | |||
+ | Da NFS keine erweiterten Dateiattribute unterstützt (gemeint sind user_xargs -- die ACLs in den Tauschverzeichnissen sind kein Problem), muss man in ''/ | ||
+ | |