btrfs: Zeitgemäße Backups unter Linux.

Die Entwicklung des Butter-Dateisystems btrfs schreitet zügig voran und vielleicht können wir schon bald auf ein zeitgemäßes Dateisystem zurückgreifen mit welchem inkrementelle Snapshot-Backups Realität werden. Das gibt es schon?

Hinweis zu btrfs: Das Dateisystem btrfs gilt zum jetzigen Zeitpunkt (6. Oktober 2009) als experimentell und ist nicht für den produktiven Einsatz bestimmt.

Stimmt. Zum Beispiel als LVM (dort jedoch auf Blockebene, d.h. man muss den Snapshot anschließend mounten) und als ZFS von Sun. ZFS hat sich aber leider unter Linux nicht so recht durchsetzen können – wahrscheinlich wegen der nicht ganz so einfachen Lizenz-Geschichte (letzter Abschnitt). XFS Snapshots (englisch) sind auch nicht ganz so trivial, da diese vom Volume Manager implementiert werden müssen.

btrfs ist daher aus meiner Sicht für Backups ein gewaltiger Sprung nach vorne – es hat noch mehr zu bieten, aber für mich steht die Datensicherung ganz vorn.

Was macht btrfs besser als „herkömmliche Dateisysteme“ ala ext3 oder XFS? Ganz einfach, es ist in der Lage, vom aktuellen Dateisystem einen Snapshot zu erzeugen (das heisst es verwendet eine Art hardlink-Technik) und es kann Dateiänderungen inkrementell abspeichern.

Einfache Snapshots die man bspw. mit rsync erstellen kann haben einen Nachteil. Sichert man eine Datenbank wie zum Beispiel einen Mailordner von Thunderbird so wird bei einer Änderung an diesem beim nächsten Snapshot nocheinmal der gesamte Speicher neu belegt auch wenn sich in der Datei nur 200kBytes geändert haben.

Dies kann btrfs nun besser. Dort werden dann nur die geänderten Blöcke (copy-on-write) neu belegt und der Rest bleibt gleich. So hat man im Endeffekt ein normales Backup wie bei Amanda oder Bacula, jedoch mit dem Vorteil, dass man mit einem Dateimanager einfach die Datei wiederherstellen kann ohne Backup-Kommandos kennen zu müssen (d.h. der Snapshot ist einfach ein Unterverzeichnis im bestehenden Laufwerk).

Kurz noch etwas zu den momentanen Nachteilen (Version 0.19):

  • der Inhalt eines Snapshots ist löschbar, jedoch nicht der Verzeichnisname
  • Anwendungen haben noch keine Möglichkeit („hooks„) ihre Daten vorm Backup aufzubereiten (bspw. eventuelle Transaktionen abzuschliessen)
Hinweis zu Backups: Ein Snapshot ersetzt nicht die Sicherung auf ein RAID plus zusätzlich ein externes Medium. Im Falle eines Festplattenfehlers wäre sonst der Snapshot mit im Nirvana und wenn man im RAID ein Snapshot Verzeichnis versehentlich löscht repliziert sich diese Löschung ja auch auf die anderen Verbundplatten. Je nach Wichtigkeit der Daten also lieber 3fach vorhalten (1. Snapshot auf 2. RAID mit Kopie auf 3. externem Speicher) als Risiken einzugehen.

Weiterführende Links:

2 Kommentare

  1. VxVM/VxFS (aka Veritas Storage Foundation) kann das alles und viel mehr seit rund einer Dekade… Aber ja, Linux ist so großartig ;)

  2. @patrick
    Hallo Patrick. Sicher gibt es schon viele Lösungen die viel können. Am Ende kommt noch jemand mit nem VMS (Betriebssystem) an und erzählt was das tolles konnte. Leider lebt so ein Spezial-Produkt immer nur solange wie die Firma dahinter steht. Außerdem hab ich auf die Schnelle auf der Produktseite keinen Bugtracker gefunden, sowas ist mir bei Software der ich meine Daten anvertraue wichtig (und eben leider nicht immer verfügbar, bei btrfs gibt es sowas jedoch).

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.