Bei Bacula handelt es sich wie bei Amanda um eine höherwertige Backup-Lösung. Im Vergleich dazu ist dieses Projekt aber noch weniger bekannt. Dies dürfte vor allem daran liegen, dass Amanda schon einige Jahre in einem brauchbaren Stadium ist, Bacula aber deutlich neuer ist.
Grade im Vergleich zu Amanda zeigt sich, dass Bacula deutlich weniger historische "Altlasten" mitbringt, sprich insgesamt moderner gestaltet ist. Die Weiterentwicklung von Amanda scheint zudem seit der Übernahme des Projekts durch die Firma Zmanda fast ausschliesslich Closed-Source zu sein.
Homepage: http://www.bacula.org/
Lizenz: verschiedene
Technisch gesehen hat Bacula einige nette Features:
Es werden alle Autochanger unterstützt, die auch von mtx unterstützt werden. Das sind nicht wenige und es geht hier bis zu den ganz Großen.
Der Katalog (das Verzeichnis aller gesicherten Dateien) kann in einer sqlite-, MySQL- oder PostgreSQL-Datenbank gehalten werden. Das ermöglicht im Vergleich zu anderen Backup-Lösungen ungeahnte Reporting-Möglichkeiten.
- Windows-Clients können gesichert werden und die Software kann (muss aber natürlich nicht) von Windows aus bedient werden.
- Es sind, neben Vollen, auch differenzielle und inkrementelle Backups möglich.
- Verschiedene Speicherarten können gemischt werden. Z.B. können alle inkrementellen Backups auf Festplatte, alle Voll-Backups aber auf Band gesichert werden.
- Es kann mehrere Storage-Server in der Backuplösung geben.
- Die lokalen file daemons sichern auch Metadaten wie z.B. ACLs, resource forks (MacOS) und Streams (Windows NTFS), gleichzeitig werden Backup-APIs teilweise unterstützt (z.B. Volume Shadow Copy ab Windows XP/Bacula 1.38).
- Die Datenübertragung kann komplett verschlüsselt werden (TLS, ab 1.38).
Die gesicherten Daten können weitgehend komplett verschlüsselt werden (x509-Zertifikate, PKI). Die Verschlüsselung geschieht auf dem Client, so dass selbst der Backup-Storagebetreiber vom Zugriff auf die unverschlüsselten Daten ausgeschlossen werden kann.
- Sehr gute (englische) Dokumentation.
- Die Kommunikation zwischen den Daemons läuft über sehr wenige, wohldefinierte Ports, so dass Bacula auch mit Firewalls zurecht kommt.
- Inzwischen gibt es einen Agenten (In Bacula-Terminologie ein FD-Plugin) für Microsoft Exchange.
- Backups können auf andere Medien migriert oder kopiert werden, was sowohl Disk-to-Disk-to-Tape-Strategien als auch Offsite-Kopien ermöglicht.
Es gibt aber natürlich auch Nachteile:
Bisher unvollständige deutsche Dokumentation. (S.a.Artikel im Linux-Magazin 06/2005 oderPDF Doku auf www.grunix.de)
- Die Konfiguration aller Ressourcen, also alle Jobs, Geräte, bekannte Clients, Zeitpläne, Filesets, usw. wird nun (ab Version 1.32) in hauptsächlich 3 Dateien (entsprechend Storage, File, Director) und 1 weitere für die Console/User-Agent abgelegt. Man kann die Konfiguration zwar auch auf mehr Dateien verteilen, der include-Befehl ist aber etwas versteckt. Es gibt auch kein grafisches Konfigurationstool, so dass die Konfiguration einer komplexeren Bacula-Instanz eher etwas für erfahrenere Administratoren ist.
- Anwendungsspezifische Backup-Schnittstellen fehlen meist (mit der Ausnahme von Microsoft Exchange), so dass in vielen Fällen ein weiteres (Backup-)Programm verwendet werden muss, um die Daten in eine oder mehrere Dateien zu exportieren, die dann gesichert werden können (z.B. rman, mysqldump, ntbackup usw.)
Howtos
Tipps & Tricks
... finden sich z.B. im Bacula-Wiki.
Diskussion
Nach einigen privaten Mails mit Thomas habe ich mir die Freiheit genommen, einige Punkte einfach zu ändern. Zur Dokumentation lasse ich diese aber zunächst einmal hier stehen. Feel free to revert. Felix Schwarz ( Felix.Schwarz@web.de )
Probleme:
- Der Windows Client ist noch etwas, naja, sagen wir widerwillig. Vor allem beim Restore ist er noch etwas buggy.
Es wird eine Art aktives Protokoll wie ftp verwendet. Das ist beim Betrieb über Firewall-Grenzen hinweg etwas hinderlich.
- Das Einrichten ist extrem schwierig.
Alles in allem ist das Projekt aber produktiv einsetzbar.
OffeneFrage: Was muß ich tun damit bacula mit PostgreSQL zusammenarbeitet? -- ThomasHochstetter 2005-06-16 01:09:59
Anmerkungen von Felix Schwarz ( Felix.Schwarz@web.de ) am 22.08.2005: Das mit den Firewall-Problemen kann ich nicht ganz nachvollziehen. Der director verbindet sich mit dem storage daemon und dem file daemon, der file daemon nimmt wiederum Kontakt zum storage daemon auf. Die Konsole muss sich natürlich mit allen verbinden, um den Systemstatus abzufragen und Kommandos abzusetzen. Das ganze geschieht auf wohl definierten Ports. Bei aktivem FTP ist das Problem, dass der Client eine Verbindung zum Server aufmacht und dieser daraufhin wieder eine gesonderte Verbindung zum Client. Dies ist bei Bacula nicht der Fall.
Auch die angeblich extrem schwierige Einrichtung kann ich nicht nachvollziehen. Das Projekt ist _hervorragend_ dokumentiert und der Support über die Mailinglisten ist ebenfalls brauchbar.
Anmerkung von MIchael Roth ( esci@gmx.ch ) am 2. Märt 2005 Bezüglich Firewall Probleme Ich hatte bei meiner Bacula installation das Problem das ich einen Rechner sichern musste der hinter einer Firewall (in DMZ) vom LAN getrennt war, und dabei wurde die Verbindung von der Firewall alle paar Minuten getrennt; die Lösung war dem File Daemon auf dem zu sichernden Rechner das Heartbeat Signal zu aktivieren (code: heartbeat intervall = 5). Bei mir tratt der Fehler in zusammenhang mit einer Sonicwall auf. Bacula File Daemon Dokumentation: http://www.bacula.org/rel-manual/Client_Fi_daemon_Configura.html#_ChapterStart25
Das Problem liegt hier bei der Sonicwall und nicht bei Bacula, anstatt einen Heartbeat zu verwenden, kann man auch das TTL der Firewall ausschalten. Wir hatten ein ähnliches Problem mit SCP Zugriff nach aussen. Selbst nach KeepAlive On hat es nicht funktioniert. Nach Ausschalten der TTL Funktion in der Firewall ist die Vebindung NICHT mehr getrennt worden.
Grüße, Simmel at anymotion.de
Meines Wissens gibt's keine Probleme mehr mit dem Windows Client bzw. Windows Restores. Es gibt mittlerweile vollstaendigen Support fuer Volume Shadow Copies und einige Arbeit in Richtung Bare Metal Restore. Bacula ist ausserdem meines Wissens das einzige Produkt, welches Windows-Daten OS-neutral abspeichern und z.B. auf UNIX recovern kann. Ein Entwickler hat sogar den kompletten Server auf Windows zum laufen bekommen, also portabel genug ist es auch. Noch eine Kleinigkeit, ich denke der Text sollte geupdated werden, Bacula hat die Messlatte nun ein wenig verschoben, entweder Amanda ist nicht 'hoeherwertig' (meine Meinung, ehrlichgesagt) oder Bacula ist was anderes.
Bacula hat noch ein paar Features, die komplett fehlen, z.B. NDMP, Hierarchical Storage Management und Active-Active Clusterfaehigkeit, aber selbst diese werden bereits geprueft, alle anderen High-end Features sind bereits in Arbeit oder abgehakt, auch das 4 Milliarden-File Limit wird mit der naechsten Major-version wohl gekippt.
Schlussfolgerungen, wie lange Bacula braucht, um sich endgueltig als DAS high-end Produkt zu etablieren, ueberlasse ich Euch.
Florian Heigl ( floh_linuxwiki@deranfangvomen.de )
Anmerkungen von Arno Lehmann ( arno.lehmann@baculasystems.com )
- Einige Änderungen im Text oben vorgenommen.
- Schwierigkeiten beim Einrichten sehe ich vor allem beim Ersten Versuch - für Bacula (wie für viele andere komplexe Programme ohne sehr gutes Nutzerinterface) gilt der Spruch mit der "steep leraning curve". Wenn man einmal durchgestiegen ist wird das Leben sehr viel einfacher... und falls es an Zeit oder Notwendigkeit fehlt, sich selber durchzubeissen, gibt es neben der Mailingliste auch guten kommerziellen Support.
- Ich kenne keine prinzipiellen Probleme mit dem Windows-Client - sowohl beim Backup wie auch beim Restore.
Die Konsolenprogramme (inzwischen auch ein Qt-basierendes GUI) benötigen keine Verbindungen zu den Clients; das wickelt alles der Director ab. Allerdings bauen die Clients tatsächlich selber Verbindungen zu dem/den Storage-Servern auf; das wird oft eine extra Firewall-Konfiguration bedingen. Allerdings sind die Ports die Bacula benutzt offiziell zugewiesen IANA Port-Liste, was die Angelegenheit managebar hält.
- Um Bacula mit PostgreSQL zu benutzen muss mit PosgreSQL-Support übersetzt werden - also entweder die entsprechenden Pakete installieren, oder selber mit entsprechendem ./configure-Aufruf übersetzen.
Bezüglich fehlender Features sieht die Sache aus meiner Sicht so aus: Die typischen High-End-Features werden sehr viel weniger oft gebraucht als man denkt (z.B. NDMP oder Oracle-Agent). Das findet man bestätigt wenn man sich den Einsatz von kommerzieller Backup-Software ansieht - oft wird nur das Basis-Produkt verwendet und die teuren Add-Ons werden durch geeignete Infrastruktur oder Helper-Skripte vermieden. Und das geht natürlich auch mit Bacula. Aus genau diesem Grund gab es bisher kaum ernsthafte Ansätze, diese fehlenden Features zu implementieren. Und das vier-Millarden-Dateien-Problem ist inzwischen (aktuell: Bacula Version 3.0.x) Geschichte
Im übrigen würde ich sagen dass Bacula definitiv DAS Highend-Backup und Recovery-Produkt im Open-Source-Bereich ist und auch den Vergleich mit vielen kommerziellen Lösungen nicht scheuen muss. Aber ich bin zugegebenermassen voreingenommen
External links in English