Ich habe einige Ubuntu-Server (und möglicherweise RHEL-Server), die ich auf einem zentralen Sicherungsserver (über rsh / SSH) sichern möchte. Ich möchte sowohl Snapshot- als auch inkrementelle Sicherungen durchführen. Das Ziel ist, dass ich bei einem plötzlichen Ausfall eines der gesicherten Server ein Bootstrap-Image installieren, aus dem Backup wiederherstellen und im Idealfall sofort danach betriebsbereit sein könnte.
Diese Server haben eindeutige Benutzer und Gruppen sowie einige unterschiedliche Gids und Uids für denselben Namen. Ich habe über rsync nachgedacht (lokale Sicherungen funktionieren einwandfrei und ich habe eine fein abgestimmte Steuerung, damit ich auch xattrs und ACLs sichern kann), aber dann habe ich festgestellt, dass rsync auf einem Remote-Server diese Nuancen wahrscheinlich nicht wie erwartet beibehält.
Was ist ein besserer Weg, um dies zu erreichen? Gibt es ein Paket, das üblicherweise für diesen Zweck verwendet wird?
Antworten:
Ja
rsync
bietet Optionen zum Beibehalten von ACLs, erweiterten Attributen, ext2-Attributen, festen Links, numerischen Benutzer-IDs, Spärlichkeit ...Früher hatte ich ein System, das Dateisysteme mit einem Dateisystem auf einen Sicherungsserver synchronisierte
btrfs
(um Snapshots auf dem Sicherungsserver zu erstellen), und aufgrund von Stabilitätsproblemen auf zfs-on-linux umgestellt (das POSIX-ACLs leider noch nicht unterstützt) , aber es gibt Workarounds).rsync
Optionen, an denen Sie interessiert sein könnten:--archive --one-file-system --xattrs --hard-links --delete --numeric-ids --sparse --acls
und möglicherweise solche für die direkte Synchronisierung.Eine Sache, die rsync nicht tut, ist das Erkennen von Umbenennungen (obwohl es einen Patch dafür gibt, aber ich bin nicht sicher, wie sehr es vertrauenswürdig ist, und es erkennt nur das Umbenennen von Dateien).
zfs
musszfs send
nur die seit einem bestimmten Snapshot vorgenommenen Änderungen senden (mit an einen anderen zfs zpoolzfs receive
). Wenn ich das richtig verstehe, wurde diese Funktion kürzlich ebenfalls hinzugefügtbtrfs
. Wenn Sie also einenbtrfs
FS auf einem anderenbtrfs
FS auf dem neuesten Kernel sichern, könnte dies eine Option sein.quelle
--fake-super
Option auch auf dem Remote- Rsync ausprobieren . Beispiel aus der Manpage:rsync -av --rsync-path="rsync --fake-super" /src/ host:/dest/
Schauen Sie sich rsnapshot an , einen Perl-Wrapper um das
rsync
Befehlszeilenprogramm. Rsnapshot fügt rsync eine zusätzliche Konfigurationsebene hinzu, die inkrementelle Sicherungen vereinfacht. (Ältere Versionen einer Datei sind unverändert fest mit der aktuellen Version verknüpft. Jede inkrementelle Version Ihres gesicherten Dateisystems sieht also wie eine vollständige Kopie aus.)Eine andere ähnliche Möglichkeit ist die Duplizität , auf der stattdessen basiert
librsync
. Ich verstehe, dass dies eine ausgefeiltere Benutzeroberfläche hat, aber ich habe sie nicht verwendet. Oder rdiff-backup , das meiner Meinung nach vom selben Entwickler stammt, oder jedenfalls, das einmal wahr war.Es gibt natürlich viele, viele Backup-Systeme. Hier ist eine Liste der unter FreeBSD verfügbaren, von denen die meisten auch unter Linux verfügbar sein werden. Aber ich denke, die drei, die ich oben erwähnt habe, sind natürlich, wenn Sie daran gewöhnt sind
rsync
. (Ein wunderbares Werkzeug.)quelle
rsync -a --delete
sofort korrekt konfiguriert ist.) Ich würde die Argumente verwenden (diese werden sicherlich standardmäßig vorhanden sein) und vielleicht--numeric-ids
, vielleicht--hard-links
, vielleicht--xattrs
oder--acls
wenn Sie diese beibehalten müssen. Sehr zu empfehlen, sich damit vertraut zu machenman rsync
.Edit: Danke an alle! Ich kenne jetzt einige andere Pakete, um die Arbeit zu erledigen, und ich weiß viel mehr über rsync-Interna. Wenn Sie sich mit der Option --numeric_ids auf einen anderen Computer synchronisieren, wird für diejenigen, die sich möglicherweise auch fragen, nicht versucht, die UIDs / GIDs zuzuordnen oder zu erstellen, sondern sie werden einfach so übergeben, wie sie sind. Der Besitz der Elemente im Sicherungsverzeichnis mag seltsam aussehen, entspricht jedoch bei der Wiederherstellung 1: 1 (vorausgesetzt, ein Teil Ihrer Wiederherstellung umfasst die ursprünglichen Zuordnungsdateien, wenn Sie auf einem neuen Computer wiederherstellen).
Hier ist die vollständige Liste der Optionen, die ich jetzt für eine vollständige Systemsicherung verwende (als Root über sudo). Beachten Sie, dass {{my_exclusions}} eine Übung für den Leser ist (ich habe immer noch Probleme, das so zu machen, wie es sollte). Beachten Sie auch die Verwendung von --link-dest ... Wenn dieses Verzeichnis auf dem Ziel vorhanden ist, werden überall dort feste Links zu Dateien hergestellt, die bereits in der vorherigen Sicherung vorhanden sind und in der aktuellen unverändert bleiben.
quelle