Suche Erfahrungen mit Bacula

Mordor

Registered User
Hallo zusammen,
wir betreuen hier mehrere Server bei Hetzner, die im Moment auf eine Backupmaschine mit Backuppc gebackuped werden. Dabei baut Backuppc einen SSH-Tunnel auf, über den dann ein RSYNC läuft.

Jetzt kommen in Naher Zukunft aber drei Windows 2008 R2 Server dazu, welche auch gebackuped werden müssen. Dies ist leider mit Backuppc schwer realisierbar, da Rsync und auch SSH ja nicht nativ auf Windows laufen.
Man könnte zwar mit cygwin eine Infrastruktur aufbauen, so dass die Windows-Server auch SHH und Rsync sprechen können, jedoch emfpinden wir das als eine wackelige Angelegenheit.

Jetzt zur eigentlichen Frage:
Bei unserer Recherche zu einem neuen Backupsystem sind wir auf Bacula gestoßen. Da hier auch ein Webpanel zu Konfiguration verwendet werden kann, vor allem aber auch native Windowsclients für die Backupjobs möglich sind, wäre das eine passende Alternative.

Hat jemand Erfahrung mit der Administration von Bacula? Wie Ausfallsicher ist das System und wie ist die Handhabe im laufenden Betrieb? Gibt es vielleicht Probleme, die man von Anfang an beachten sollte?

Für Hinweise und Infos wäre ich sehr dankbar.
 
Hat jemand Erfahrung mit der Administration von Bacula?

Bacula ist ein richtig fettes Teil. Das ist eine solide Backup-Lösung, die auch im großen Umfeld eingesetzt wird, aber in seiner Administration ein gehöriges Stück komplexer als diese kleinen Spielzeug-Backup-Scriptchen.
 
Bei unserer Recherche zu einem neuen Backupsystem sind wir auf Bacula gestoßen. Da hier auch ein Webpanel zu Konfiguration verwendet werden kann, vor allem aber auch native Windowsclients für die Backupjobs möglich sind, wäre das eine passende Alternative.

Hat jemand Erfahrung mit der Administration von Bacula? Wie Ausfallsicher ist das System und wie ist die Handhabe im laufenden Betrieb? Gibt es vielleicht Probleme, die man von Anfang an beachten sollte?

Für Hinweise und Infos wäre ich sehr dankbar.
Bacula läuft Extrem stabil. Nachteile von Bacula die aber schon seit beginn besten sind:
Der Client wird ausschlieslich durch den Director gesteuert. Wenn der Client aber hinter einer Firewall liegt, also DSL oder Mobile Clients, muss man auf umständliche weise mit einem SSH Tunnel arbeiten, gerade bei vielen Clienten (FD = FileDaemon) schleicht sich da schon mal der Fehlerteufel ein und man benötigt manchmal viel zeit um das zu finden.

Daher haben wir vor einiger Zeit auf Openvpn umgestellt und alle Clienten, den Director und den Strorage Daemon in ein VPN Netzwerk verpackt, was die Sache Schlagartig vereinfacht hat.

Aber zurück zum Thema!! Wir betrieben eine Infrastrucktur mit ca. 15.000 Clienten die alle über OpenVPN gesichert werden. Seit über 6 Jahren haben wir keine Ausfälle von Bacula gehabt abgesehen von der Hardware.
Sollte jedoch der Bacula Director ausfallen oder die Datenbank wegbrechen steht das ganze System, da ohne Director keine Jobs erzeugt werden die dann die Clienten ausführen.
Daher sollte die DB, bei grösseren Systemen Redundant sein, der Director unterstützt im Moment keine Redundanz von Hause aus, man kann aber ein Plugin von Bacula Systems kaufen.
Auch Bandbreiten Begrenzung geht nur über ein Plugin, wenn also der Client anfängt zu sichern nutzt er grundsätzlich die volle Bandbreite.
Auf einigen unser Linux Clienten lösen wir das mit IP-Tables und Trafficshaping.

Bei der DB sollte man auf Postgres setzen da die am besten mit Bacula läuft, MySql geht zwar auch aber wenn das System wächst geht MySql öfter mal die Puste aus.

Zur Verwaltung haben wir Webacula mit Bat und den ganzen anderen hatten wir bisher so einige Probleme. Vorteil von Webacula ist => Benutzer und Rollen Verwaltung.

Bei Windows Clienten solle man auf alle Fälle VSS aktivieren, damit können alle Dienste auf dem System weiterlaufen, auch Datenbanken, und alle anderen Programme können damit weiterlaufen.
Bei einem Recover sollte man ein bisschen vorsichtig sein, das sollte man vorher mal auf einer Virtuellen Maschine üben, da man sich in das System erst mal rein denken muss. Da kann man mal schnell die verkehrte Sicherung wiederherstellen und urplötzlich nach dem Recover ein altes System am Laufen haben.

Auch die Konfigurationssyntax ist bei Bacula sehr gewöhnungsbedürftig da an allen
stellen die Konfigurationen der Clienten zeitweise Überschrieben werden kann um bestimme Spezialfälle zu lösen. Man kann sie aber auch sehr einfach halten was aber dann die Möglichkeit nimmt spezielle Bedingungen zu erzeugen.

Alles im allen ist Bacula SEHR mächtig und man kann eine ganze Menge damit machen, aber es ist auch sehr Komplex und man muss sich damit auch auseinander setzen um zu verstehen warum Bacula es so macht wie Bacula es eben macht. Es ist aber genauso Flexibel und man kann auch eine große Palette von Clienten damit Sichern. Auch kann man so gut wie jedes externe Programm benutzen um Datenbanken zu sichern oder Routine Aufgaben vor und/oder nach dem Backupjob zu machen. Einige unserer Kunden haben da so einige Trickreiche Scripte auf den Clienten liegen die extrem viel Routinearbeit erledigen können um den Admins viel Arbeit ab zu nehmen.

Sven
 
Daher haben wir vor einiger Zeit auf Openvpn umgestellt und alle Clienten, den Director und den Strorage Daemon in ein VPN Netzwerk verpackt, was die Sache Schlagartig vereinfacht hat.
Bei uns würde es sich zuerst nur um ein paar Server handeln, auf welchen VMs laufen.
Habt ihr euch schon mal mit der Möglichkeit befasst Backups über eine TLS-Verbindung mit Bacula zu ziehen? Anscheinend unterstützt Bacula das nativ. So würde für uns der SSH-Tunnel wegfallen, mit dem wir im Moment mit Backuppc arbeiten.

Sollte jedoch der Bacula Director ausfallen oder die Datenbank wegbrechen steht das ganze System, da ohne Director keine Jobs erzeugt werden die dann die Clienten ausführen.
Daher sollte die DB, bei grösseren Systemen Redundant sein, der Director unterstützt im Moment keine Redundanz von Hause aus, man kann aber ein Plugin von Bacula Systems kaufen.
Eine Backup-Datenbank macht für unsere Größenordnung keinen Sinn. Aber es würde wohl sinn machen, jede Nacht einen Dump zu erstellen, und diesen auf einen anderen Server auszulagern.

Bei der DB sollte man auf Postgres setzen da die am besten mit Bacula läuft, MySql geht zwar auch aber wenn das System wächst geht MySql öfter mal die Puste aus.
Habt ihr da Erfahrung ab welcher Größe Mysql probleme macht? Ich würde persönlich eher auf Mysql zurückgreiffen, da ich damit wesentlich mehr Erfahrung habe als mit Postgresql.

Danke Sven, dass du dir die Zeit für diese ausführliche Erklärung genommen hast. Ich werde mir das Ganze mal in eine VM installieren und testen, wie ich damit zurecht komme, und ob es für uns sinnvoll ist, auf eine so mächtige Lösung zurückzugreiffen.
 
Habt ihr euch schon mal mit der Möglichkeit befasst Backups über eine TLS-Verbindung mit Bacula zu ziehen? Anscheinend unterstützt Bacula das nativ. So würde für uns der SSH-Tunnel wegfallen, mit dem wir im Moment mit Backuppc arbeiten.
Ja schon getestet ist aber bei grossen Installationen mit einigem Aufwand verbunden weil du einiges mit der Schlüsselverwaltung zu tun hast. Es sei den du willst für alle Komponenten den gleichen Schlüssel verwenden, was aber einen großes Sicherheitsloch erzeugt.

Wir haben auf OpenVPN umgestellt weil wir für die Schlüsselverwaltung eine Webgestütztes Verwaltungstool haben von Sourceforge. Damit kannst du für jeden Clienten eigene Zertifikate und die Komplette Konfiguration mit ein Paar Klicks erzeugen und bei bedarf mal schnell ein Zertifikat Speeren oder erneuern. Das ist mit dem Webtool absolut einfach und du hast auch schnell einen Überblick welche Clienten gerade Online sind und wie der Traffic aussieht. Vor allem kannst du damit gleich auch noch ein Paar OpenVPN Server verwalten wenn ein einziger Server mit den Verbindungen am Ende ist.

Eine Backup-Datenbank macht für unsere Größenordnung keinen Sinn. Aber es würde wohl sinn machen, jede Nacht einen Dump zu erstellen, und diesen auf einen anderen Server auszulagern.
Bacula macht Mysql Dump als Standart gleich mit, wenn du den Job nicht löscht. Du kannst natürlich auch eine "RunBefore bzw. RunAfter" Aktion auslösen und die DB vor bzw nach dem Backup auf einen anderen DB Server Syncen, also HotCopy

Habt ihr da Erfahrung ab welcher Größe Mysql probleme macht? Ich würde persönlich eher auf Mysql zurückgreiffen, da ich damit wesentlich mehr Erfahrung habe als mit Postgresql.
MySQL ging bei uns bis 15 GB Größe mit einigen Problemen, kommt aber drauf an wie viele Dateien und Jobs in der DB liegen. Wenn du nen Mailserver mit 100 GB und 50 Millionen Dateien wegsicherst platzt dir glaub ich eher die DB als 100 Clienten mit je 100 Dateien. In der Doku von Bacula gibts ne Formel wie du die Grösse der Backups bestimmen kannst und wie groß die DB ungefähr werden kann. Finde aber gerade nicht die passende Seite, muss ich noch mal schauen.

Danke Sven, dass du dir die Zeit für diese ausführliche Erklärung genommen hast. Ich werde mir das Ganze mal in eine VM installieren und testen, wie ich damit zurecht komme, und ob es für uns sinnvoll ist, auf eine so mächtige Lösung zurückzugreiffen.
Du könntes vieleicht noch (Z)Amanda mal Probieren, hatte das in den Anfängen mal mit Bacula getestet. Auch wenn Bacula gegenüber Amanda komplexer ist hat damals Bacula das Rennen gemacht. Diese Entscheidung hab ich bis heute nicht bereut.

Wenn du erst mal begriffen hast wie Bacula Tickt kannst du damit viele geile Sachen machen die dir im Täglichen Leben und in grösseren Netzwerken einiges an Arbeit abehmen. Vor allem das Desaster Recovery unter Linux ist geil, einfach Bacula Recover Live ISO gestartet und das System wieder hergestellt.

Was ganz lustig war ist wir haben mal aus Spaß, eher war es langeweile, alle Linuxserverbackups von den Tapes gezogen, das geht auf der Console mit BExtract, und daraus Virtuelle Maschinen generiert, und siehe da die Kisten sind alle gelaufen.
Mal abgesehen von ein paar Kleinigkeiten wie falsche GraKa Treiber und der gleichen, ich weiss nicht ob man das auch so einfach mit nem anderen Backupsystem hinbekommt.

Sven
 
Last edited by a moderator:
Amanda kam für uns deshalb nicht in Frage, weil es keinen nativen Windowsclient besitzt. Das war für mich das interessante an Bacula.

Ich denke ich werde für den anfang die Variante mit eigenen Zertifikaten nutzen. Im moment geht es bei uns um 8 Server auf welchen insgesammt 54 VMs laufen, die alle einzeln weggesichert werden.

Bei der größe der zu sichernden Backups wird es schon interessanter: Es gibt zwei Mailsysteme mit jeweils über 800GB.

Wenn ihr über VPN sichert, ist die Verbindung dann die ganze Zeit offen, oder erstellt ihr sie erst zur Zeit des Backups?
 
Amanda kam für uns deshalb nicht in Frage, weil es keinen nativen Windowsclient besitzt. Das war für mich das interessante an Bacula.
Nicht und was ist das Zmanda_Windows_Client
Aber eigentlich auch egal wenn du dich für Bacula entschieden hast.

Ich denke ich werde für den anfang die Variante mit eigenen Zertifikaten nutzen. Im moment geht es bei uns um 8 Server auf welchen insgesammt 54 VMs laufen, die alle einzeln weggesichert werden.
Sollte für Bacula kein Problem darstellen :)
Wie groß sollen die Archive werden?? Und wie Tief willst du Sichern??

Bei der größe der zu sichernden Backups wird es schon interessanter: Es gibt zwei Mailsysteme mit jeweils über 800GB.
Ist für Bacula auch kein Problem. Bei den Mailservern kannst du alle Daten gut Komprimieren, mit gzip oder lzo.
Auch Webserver, mit viel PHP oder HTML ist kein Problem. Nur bei Binärdaten wie Bilder, Datenbanken und dergleichen kann man kaum Komprimieren
Aber das ist ein allgemeinens Problem.

Bei uns laufen diverse Mailserver, unser eigener Cluster und Kunden Mailserver, mit knapp 4,2 PB an Daten incl. den Revisions Archiven. Das stellt für Bacula überhaupt keine Problem dar, nur die Last sollte man auf grossen Mailserver im Augen behalten. Wenn Bacula erstmal anfängt geht da richtig die Post ab, anfangs haben wir einen Cluster gehabt bei dem einzelne Nodes beim Backup weggebrochen sind weil einfach die Last zu hoch war, also haben wir fürs Backup die Nodes dann kurz runterfahren, also Cyrus kurz gestoppt, und unter dem Arsch weg gesichert. Aus den 4 Stunden wurden dann 30 Minuten Vollbackup, Inkrementel merkst du meist kaum.

Komprimierung des Traffics ist auch sinnvoll gerade bei Mailserver bzw. vielen kleinen Daten.

Wenn ihr über VPN sichert, ist die Verbindung dann die ganze Zeit offen, oder erstellt ihr sie erst zur Zeit des Backups?
Bei OpenVPN ist die Verbindung immer offen, ist aber nicht wirklich wichtig da wir für manche Kunden noch zusätzliche Dienste anbieten die nur im OpenVPN zu sehen sind. Für die die nur Backup über OpenVPN machen ist der Traffic vernachlässigbar da keiner irgendein Traffic Limit hat.

Du solltest dir auch gedanken darüber machen ob du das ganze System weg sicherst oder einfach nur die wichtigen Sachen. Das macht sich entscheidend im Backup Volumen bemerkbar.
Wir haben einige System wo wir nur die Konfigs und die wichtigen Sachen runter ziehen, sollte die Kist mal wegsterben kann man das Relativ schnell über ein anderes System wieder hochziehen, ist aber Geschmackssache.

Sven
 
Back
Top