Professionelle Datensicherung

Kostenlose Backup-Lösungen für Linux

26.05.2010 von Jürgen Donauer
Wohl dem, der im Falle eines Datenverlustes ein Backup hat. Datensicherung gehört zu den essentiellen Aufgaben beim Betrieb von IT. Unter Linux lassen sich auch komplexe professionelle Backup-Aufgaben mit Bordmitteln oder kostenloser Software lösen.

Hochverfügbarkeit, redundante Massenspeicher und RAID-Systeme sind zweifelsohne eine feine Sache. Nun sind Verfügbarkeit und Ausfallsicherheit zwar wichtige Faktoren – eine ordentliche Datensicherung gehört dennoch zu den Pflichtaufgaben. Denn so wie Backup und Archivierung zwei völlig verschiedene Dinge sind, ersetzt auch ein noch so hochverfügbares System keine Datensicherung.

Nur eine konsequente und gut durchdachte Backup-Strategie bietet ausreichenden Schutz vor dauerhaftem Datenverlust. Dieser Artikel stellt Backup-Lösungen unter Linux mit Bordmitteln oder fertigen Programmen vor.

Die Hausmittel rsync und tar

In fast jeder Linux-Installation befinden sich rsync und tar mit an Bord. Wie Sie damit Backups automatisieren und sogar verschlüsselt übertragen, finden Sie ausführlich im TecChannel-Workshop „Automatische Backups mit Linux“ beschrieben. Das Gespann rsync und tar lässt sich via Kommandozeile nutzen. Man kann die beiden Softwarepakete durchaus als Urgesteine der UNIX-Welt bezeichnen. Ihren Nutzen haben sie aber alles andere als verloren, denn im Gespann mit find, ssh und cat lässt sich eine mächtige Backup-Lösung selbst basteln. TecChannel möchte noch einmal den grundsätzlichen Aufruf und die wichtigsten Schalter der beiden Tools vorstellen:

rsync <Schalter> <Quelle> <Ziel>

Schalter für rsync

Funktion

-a

Archive-Modus, äquivalent zu -rlptgoD

-r

rekursiv, alle Unterverzeichnisse

-l

kopiert symbolische Links als symbolische Links und nicht als Datei

-p

bewahrt die Berechtigungen der Dateien

-t

bewahrt die Zeitstempel der Dateien

-g

bewahrt die Gruppenberechtigungen der Dateien

-o

bewahrt den Besitzer der Datei (nur root)

-D

bewahrt Geräte

-v

mehr Ausgabetext auf dem Bildschirm

-q

weniger Ausgabetext auf dem Bildschirm

-u

nur Updates; überschreibt keine neueren Dateien

-W

kopiert die gesamte Datei, nicht nur das Delta

-n

Trockenlauf, zeigt nur an, was passieren würde

-e

spezifiziert die remote shell (zum Beispiel ssh)

-z

Dateien komprimieren

-4

vorzugsweise IPv4 benutzen

-6

vorzugsweise IPv6 benutzen

--delete

Alle Dateien, die im Ziel, aber nicht in der Quelle vorhanden sind, werden gelöscht

--exclude=<Ausdruck>

Ausschluss bestimmter Dateien

--exclude-from=<Datei>

Ausschluss bestimmter Dateien, die in Listenform in <Datei> stehen

--include=<Ausdruck>

diese Dateien einbeziehen

--include-from=<Datei>

Dateien einbeziehen, die in Listenform in <Datei> stehen

--files-from=<Datei>

Eine exakte Liste von Dateien aus <Datei> wird kopiert

Einen Gesamtüberblick der zahlreichen rsync-Schalter finden Sie in der entsprechenden man-Page: man rsync

tar <Funktion> <Optionen> <Dateien>

Schalter für tar

Funktion

-c

create erzeugt eine neues Archiv

-f

Archive-Datei

-r

append hängt Dateien an vorhandenes Archiv an

-t

listet den Inhalt eines Archivs auf

-u

update hängt nur Dateien an, die neuer sind als die Kopie im Archiv

-x

extract packt Dateien aus dem Archiv aus

-j

Archiv durch bzip2 filtern

-Z

Archiv durch compress filtern

-z

Archiv durch gzip filtern

--exclude=<Datei>

Datei <Datei> ausschließen

-X, --exclude-from=<Datei>

Inhalt aus <Datei> ausschließen

Auch für tar existiert eine entsprechende man-Page: man tar

Komplexe Backup-Szenarien mit Bacula

Die Backup-Software Bacula ist technisch gesehen ein netzwerkfähiges Datensicherungsprogramm mit Client-/Server-Architektur. Bacula wird als Open-Source-Projekt entwickelt. Es erfüllt alle Ansprüche einer dezentralen Backup-Lösung und eignet sich somit auch für kleinere und mittelgroße Rechenzentren. In einschlägigen Foren ist zu lesen, dass es Bacula mit kommerziellen Backup-Lösungen aufnehmen kann.

Das Datensicherungsprogramm ist modular aufgebaut. Diese Eigenschaft ist auch Baculas größte Stärke. Die Software auf Client-Seite lässt sich für fast alle Betriebssysteme und Hardwareplattformen einsetzen. Auch für Microsoft Windows gibt es Client-Unterstützung. Die Module sind im Einzelnen:

Modul

Aufgabe

Catalog

der Katalog in einer SQL-Datenbank

Director (bacula-dir)

Schaltzentrale: steuert alle Vorgänge zur Sicherung, Wiederherstellung und Überprüfung der Daten

Speicherplatz-Daemon (bacula-sd)

Ist auf dem Sicherungsserver für das Schreiben und Lesen der Daten verantwortlich

Datei-Daemon (bacula-fd)

Läuft auf dem Client, von dem Daten gesichert werden sollen

Console

Wird zur Kommunikation mit dem Director verwendet. Es gibt das Kommandozeilen-Tool Bconsole sowie grafische Oberflächen für Linux, Unix und Windows

Monitor

für Überwachungszwecke

Selbstverständlich beherrscht Bacula die Dreifaltigkeit der Backup-Arten: komplett, differenziell und inkrementell. Obwohl die aktuelle Ausgabe 5.0.1 ist, bieten viele Linux-Distributionen noch ältere Versionen in den Softwarelagern an. Wer also die neueste Version verwenden möchte, muss diese zwangsläufig selbst übersetzen. Voraussetzung hierfür ist GNU C++ als Version 2.95 oder höher.

Bacula
Breite Unterstützung: Zumindest auf Client-Seite können Sie Bacula fast überall einsetzen.
Bacula
Alte Version: Bei Ubuntu 9.10 „Karmic Koala“ ist Version 2.4.4 in den Repositories vorhanden.
Bacula
Lucid Lynx: In den Repositories von Ubuntu 10.04 LTS finden Sie die derzeit aktuelle Ausgabe von Bacula – 5.0.1.
Bacula
Konfigurations-Verzeichnis: Alle für Bacula wichtigen Dateien finden Sie im Verzeichnis /etc/bacula.
Bacula
Helfer: Webmin kann Ihnen einiges an Kommandozeilen-Arbeit abnehmen und die Konfiguration signifikant vereinfachen.
Bacula
Director: Mit Webmin sieht die Konfiguration deutlich freundlicher aus.
Bacula
Zeitgesteuert: Hier können Sie Ihre Datensicherung gezielt planen.
Bacula
Neuer Auftrag: Neue Backup-Jobs einrichten wird mit Webmin zum Kinderspiel.
Bacula
Was sichern?: Hier können Sie einstellen, welche Daten die Software sichern soll.
Bacula
Client-Verwaltung: Name, Passwort, Verschlüsselung und so weiter für die Clients können Sie hier einstellen.

Ältere Versionen könnten funktionieren, werden allerdings nicht offiziell unterstützt. Weitere Informationen zu den Mindestanforderungen finden Sie bei bacula.org.

Bei Ubuntu 9.10 ist zum Beispiel noch Version 2.4.4 an Bord. In der LTS-Variante Ubuntu 10.04 „Lucid Lynx“ stellen die Entwickler aber schon die derzeit aktuelle Version bereit. Die Konfigurationsdateien der einzelnen Module sind nach den Binärdateien der Daemons benannt und befinden sich im Verzeichnis /etc/bacula/.

Hier finden Sie die vier Dateien bacula-dir.conf, bacula-sd.conf, bacula-fd.conf und bconsole.conf. Das ist sozusagen das Herzstück von Bacula. Sie können unter anderem die TCP-Ports festlegen. Die von den Entwicklern empfohlenen Ports sind 9101 für den Director, 9102 für den Datei-Daemon und 9103 für den Speicherplatz-Daemon.

BAT: So sieht das grafische Frontend für Bacula aus.

Bacula unterstützt auch diverse Bandlaufwerke. Vor einer Verwendung sollten Sie allerdings einen Blick auf die dafür bereitgestellte Liste werfen. Das Gleiche gilt für sogenannte Autochanger.

Sie müssen nicht unbedingt die Konsole verwenden, um Bacula zu administrieren. Es gibt auch diverse grafische Administrationswerkzeuge für das Backup-System. Eines davon ist BAT (Bacula Administration Tool). Unter Ubuntu lässt es sich benutzen, wenn Sie das Paket bacula-console-qt installieren. Danach können Sie es via Konsole mit bat aufrufen. Das setzt allerdings voraus, dass ein X-Server auf dem Rechner läuft.

Native Unterstützung: Mit Webmin können Sie Bacula komfortabel verwalten.

Eine andere Möglichkeit wäre die Verwendung von Webmin. Das können Sie auch auf einer Servervariante ohne grafische Oberfläche installieren. Dennoch haben Sie die Möglichkeit, via Maus und Browser alle Einstellungen von Ihrem Arbeitsplatz aus zu erledigen. Eine komplette Administration via Konsole ist zwar auch möglich, erfordert aber anders als bei den grafischen Varianten einen Blick in die Dokumentation. Für die Software gibt es mit Bacula Systems zudem kommerzielle Unterstützung.

Amanda – Advanced Maryland Automatic Disk Archiver

Amanda ist ebenfalls eine Client-Server-Backup-Lösung. Das Projekt kam ein wenig in die Diskussion, nachdem die Entwicklung von Zmanda übernommen wurde.

Aktuelle Ausgabe: Bei Lucid Lynx ist Amanda als Version 2.6.1p1-2 enthalten.

Der Kern an sich ist zwar Open Source, aber eine grafische Benutzeroberfläche (ZMC) gibt es zum Beispiel nur als unfreies Tool zusammen mit dem kostenpflichtigen Amanda Enterprise. Auch andere proprietäre Weiterentwicklungen sind der Community sauer aufgestoßen. Dennoch kann die Open-Source-Lösung viel und unterstützt zum Beispiel Autochanger-Systeme komplett.

Die Datensicherungslösung erfreut sich aber weiterhin großer Beliebtheit. Ein Hauptargument der Amanda-Anhänger gegen Bacula ist, dass ein SQL-Server als Katalog für die Daten verwendet wird. Viele trauen dem Frieden nicht und fragen sich, was passiert, wenn der MySQL- oder PostgreSQL-Server seinen Geist aufgibt.

Amanda – Advanced Maryland Automatic Disk Archiver
Webmin-Konfiguration: Modula lassen sich recht simpel per Mausklick installieren.
Amanda – Advanced Maryland Automatic Disk Archiver
Lokale Datei: Nach dem Herunterladen können Sie die komprimierte tgz-Datei als Installations-Quelle angeben.
Amanda – Advanced Maryland Automatic Disk Archiver
Eingespielt: Nach einer erfolgreichen Installation, haben Sie einen neuen Punkt im Untermenü Others. Dort können Sie Amanda nun zu einem gewissen Teil via Webmin administrieren.
Amanda – Advanced Maryland Automatic Disk Archiver
Feinabstimmung: Nach dem Kreieren eines neuen Konfiguration, können Sie hier das Tuning vornehmen.

In der aktuellen Ubuntu-Version 10.04 LTS „Lucid Lynx“ finden Sie die neueste Amanda-Version 2.6.1p1-2. Nach der Installation legen Sie die Konfigurationsdateien im Verzeichnis /etc/amanda an. Amandas Konfiguration kann anfangs ein wenig verwirrend sein. Sie werden kaum ohne einen Blick in die Dokumentation oder zumindest in das Quick-Start-Tutorial auskommen.

Amanda – Funktionsweise

Prinzipiell funktioniert diese Lösung folgendermaßen: Auf jedem Client gibt es eine Datei mit Namen .amandahosts, die den Namen des Datensicherungsservers und den dort verwendeten Benutzernamen beinhaltet. Sie gewährt dem Server Zugriff auf den Client. Auf dem Server gibt es diese Datei ebenfalls. Allerdings beinhaltet diese die Client-Namen der zu sichernden Rechner. Die Liste der zu sichernden Verzeichnisse ist ebenfalls auf dem Server gelagert. Sie nennt sich disklist und enthält auch die Art des Backups. Hier legen Sie zum Beispiel fest, ob die Software die zu sichernden Daten komprimieren soll.

Zu sichern: In der Datei disklist legen Sie fest, welche Daten auf welchem Client gesichert werden sollen.

Ein natives Modul für Webmin gibt es leider nicht. Allerdings sind Bestrebungen im Gange, eines zu entwickeln. Es befindet sich derzeit in einer Beta-Phase, wurde allerdings zuletzt im Jahre 2006 aktualisiert. Sie können es wie jedes andere Webmin-Modul installieren, und es hilft gerade Neulingen beim Aufsetzen eines Amanda-Servers ungemein. Wie schon erwähnt, bietet Zmanda auch kostenpflichtige Enterprise-Lösungen mit professionellem Support an. Die Datensicherungsspezialisten offerieren ebenfalls eine MySQL-Backup und eine Cloud-Backup-Lösung.

Fazit

Mit rysnc und tar lassen sich auch komplexe Datensicherungen anlegen und automatisieren. Wie Sie damit Backups automatisieren und sogar verschlüsselt übertragen, finden Sie ausführlich im TecChannel-Workshop „Automatische Backups mit Linux“ beschrieben. Wenn Sie auf fertige Software zurückgreifen möchten, bieten sich die erwähnten Lösungen Bacula und Amanda an. Diese gehören zu den beliebtesten und am häufigsten eingesetzten Lösungen, wenn es um kostenfreie Datensicherung geht.

Dank der grafischen Oberfläche bat und der nativen Webmin-Unterstützung ist Bacula für Einsteiger in diese Materie einfacher zu handhaben. Dieser Umstand soll aber keinesfalls die Leistungsfähigkeit von Amanda schmälern. Von den Möglichkeiten her stehen beide Open-Source-Programme kommerziellen Lösungen in nichts nach. Sie sollten sich aber darauf einstellen, das entsprechende Handbuch wälzen zu müssen.

Einen interessanten Vergleich verschiedener Backup-Systeme finden Sie übrigens auf der Bacula-Seite. Hier vergleichen die Entwickler ihr Programm mit namhaften Lösungen wie Tivoli, Veritas, Legato Networker, BrightStor ARCserver, Arkeia Network Backup, BakBone NetVault, Amanda und Bacula. Die Datei ist recht aktuell und wurde am 16. Februar 2010 letztmalig aktualisiert. (mje)