Sparsam sichern

Eine raffinierte Technik spart Zeit, Platz und Netzwerkbandbreite beim Backup. Der Trick beruht auf Hardlinks.

Thilo Uttendorfer, Leiter der Entwicklungsabteilung der Linux Information Systems AG schreibt im Linux Technical Review Online über Backup.

Backup

Wer sich für eine Backup-Strategie entscheiden muss, steht vor dem bekannten Dilemma:Voll-Backups sind besonders einfach wiederherzustellen, benötigen aber viel Zeit und Platz.Beschränkt man sich auf diese Methode, sichert man außerdem einen mehr oder weniger großen Datenanteil redundant, der sich seit dem vorhergehenden Komplett-Backup nicht verändert hat.Differenzielle oder inkrementelle Sicherungen produzieren keine unnötigen Mehrfachsicherungen, sind schneller und sparen Plattenplatz – aber das Recovery verlangt mehrere Durchläufe und meistens auch Medienwechsel.

Vorteile kombinieren

Allerdings lassen sich die Vorteile beider Verfahren durchaus kombinieren, wie eine Gruppe von Backup-Programmen, beweist, zu denen auch CoreBiz Backup gehört, das sich in das Produktportfolio der Münchner LIS AG integriert. Der Trick beruht auf der Ausnutzung von Hardlinks, also zusätzlicher Verzeichniseinträge, die auf dieselben Inodes verweisen wie eine Datei, aber kaum Plattenplatz benötigen. Das Ganze funktioniert so: Zuerst erstellt man ein initiales, herkömmliches Voll-Backup. Die nächste Sicherung kopiert dann dessen Verzeichnisbaum und ersetzt alle Files in diesen Verzeichnissen, die sich seit der vorhergehenden Sicherung nicht geändert haben, durch Hardlinks auf das Vorgänger- Backup. Dateien, die sich geändert haben, kopiert die Software physisch in die neue Verzeichnisstruktur. Dieses Spiel wiederholt sich bei jedem Durchlauf. Für unveränderte Files übernimmt das Backup die Hardlinks auf das erste Voll-Backup oder die letzte Änderung, alles andere kopiert es. Haben sich gar keine Dateien geändert, besteht die nächste Sicherung nur aus Hardlinks, änderten

sich alle Dateien, produziert sie ein normales Voll-Backup. Die Wahrheit liegt in der Praxis

irgendwo dazwischen. Das Verfahren ist um so ökonomischer, je weniger Änderungen sich ergeben und brächte bei einer hohen Änderungsquote kaum noch Vorteile. Auch schwindet der Vorteil, wenn sich zwar nur wenige, dafür aber besonders große Dateien ändern. Dagegen kommt er voll zur Geltung, wenn nur wenige kleine Dateien tatsächlich zu kopieren sind. Das Synchronisieren selbst übernimmt das bekannte Utility »rsync«, das dabei nur geänderte Blöcke überträgt und so Netzwerkbandbreite spart.

Virtuelle Vollsicherung

Weil Hardlinks für den Anwender transparent sind, erscheint ihm jede Sicherung wie ein Voll- Backup: Sie enthält scheinbar sämtliche Files. Tatsächlich existiert aber jedes File nur ein einziges Mal. Dieser große Vorteil ist allerdings zugleich die Achillesferse des Verfahrens, denn wenn diese eine Datei – beispielsweise aufgrund eines Filesystemschadens – nicht mehr lesbar ist, existiert im Unterschied zu einer zweiten physischen Sicherung kein Duplikat. Es empfiehlt sich also, zumindest von Zeit zu Zeit noch eine weitere Kopie anzulegen, etwa auf Band. CoreBiz Backup lässt sich dazu mit Backup-Software anderer Hersteller kombinieren. Ein weiteres Problem bereiten bestimmte Programme, beispielsweise Microsoft Office, die Daten speichern, ohne den Zeitstempel der letzten Änderung zu aktualisieren. Mit den Standardeinstellungen erkennt »rsync« dann unter Umständen keine Änderung, weil es nur den erwähnten Zeitstempel und die Dateigröße vergleicht. Einen Ausweg bietet die »rsync«-Option »--checksum«, die eine 128-bit lange MD4- Prüfsumme berechnet und so Unterschiede zwischen zwei Files auch dann entdeckt, wenn ihre Zeitstempel und Größen identisch sind.

LVM für große Mengen

Einen Nachteil haben Hardlinks prinzipbedingt: Sie funktionieren nur innerhalb eines Dateisystems und können nicht über dessen Grenzen hinausweisen. Das bedeutet,dass man den Backup- Server nicht ohne weiteres mit zusätzlichen Platten aufrüsten kann. Um dieses Problem zu umgehen, empfiehlt sich der Einsatz eines Volume Managers wie LVM2. Er fasst mehrere physikalische Festplatten zu einem logischen Laufwerk zusammen, auf dem sich dann ein entsprechend großes Filesystem erzeugen lässt. Auch das Vergrößern und Verkleinern des Dateisystems ist damit zu jedem Zeitpunkt möglich.

Falls der Speicherplatz zur Neige geht, lassen sich ältere Sicherungen einfach komplett löschen. Die Software entfernt dabei automatisch nur solche Dateien, auf die keine Hardlinks mehr verweisen. CoreBiz Backup nennt solche Löschläufe „Ausdünnen“ und kann sie automatisieren. So lässt sich etwa konfigurieren, dass keine Sicherung länger als zwei Monate auf der Platte bleiben soll. vergleicht. Einen Ausweg bietet die »rsync«-Option »--checksum«, die eine 128-bit lange MD4- Prüfsumme berechnet und so Unterschiede zwischen zwei Files auch dann entdeckt, wenn ihre

Zeitstempel und Größen identisch sind. LVM für große Mengen

Einen Nachteil haben Hardlinks prinzipbedingt: Sie funktionieren nur innerhalb eines Dateisystems und können nicht über dessen Grenzen hinausweisen. Das bedeutet, dass man den Backup- Server nicht ohne weiteres mit zusätzlichen Platten aufrüsten kann. Um dieses Problem zu umgehen, empfiehlt sich der Einsatz eines Volume Managers wie LVM2. Er fasst mehrere physikalische Festplatten zu einem logischen Laufwerk zusammen, auf dem sich dann ein entsprechend großes Filesystem erzeugen lässt. Auch das Vergrößern und Verkleinern des Dateisystems ist damit zu jedem Zeitpunkt möglich.

Falls der Speicherplatz zur Neige geht, lassen sich ältere Sicherungen einfach komplett löschen. Die Software entfernt dabei automatisch nur solche Dateien, auf die keine Hardlinks mehr verweisen. CoreBiz Backup nennt solche Löschläufe „Ausdünnen“ und kann sie automatisieren. So lässt sich etwa konfigurieren, dass keine Sicherung länger als zwei Monate auf der Platte bleiben soll.

Integriert

Ein wesentliches Feature von CoreBiz Backup ist die Integration mit anderen CoreBiz-Komponenten desselben Herstellers, etwa CoreBiz Base, das unter anderem für die Benutzerverwaltung zuständig ist. Mit Hilfe der CoreBiz Management Console ist es zum Beispiel möglich, an zentraler Stelle Samba-Freigaben als Zielverzeichnis für das CoreBiz Backup zu definieren.Benutzer können diese Freigabe dann mit ihrem Standard-Login mounten und so bei Bedarf ohne Hilfe des Admins Daten zurückzuholen. Im schlimmsten Fall ist das komplette System zurückzusichern, was via Netzwerk aber womöglich zu zeitaufwändig ist. Abhilfe bietet die so genannte Working Copy, eine weitere Kopie eines Backup auf einem anderen Medium. Sie stellt die Daten bei einem Systemausfall sehr schnell wieder zur Verfügung. Denkbar wäre auch eine vorübergehende Freigabe der Kopie über Samba oder NFS. CoreBiz Backup besteht nur aus freier Software: Die eigentliche Logik ist in Python implementiert und regelt unter anderem den Ablauf der Sicherungen, das beschriebene Ausdünnen oder die Erstellung von Logfiles, Berichten und Statistiken. Daneben integriert die Software externe Programme wie »rsync«, »cron« oder Samba-Tools. Für die Konfiguration benutzt CoreBiz Backup XML (Listing 1). Es sichert alle Verzeichnisse unterhalb von »/home« über SSH, außer »/home/guest« . In der kommenden Version von CoreBiz Backup steuert die CoreBiz Management Console das Backup. (jcb)