Mobile-Menu

Skalierbare Backups mit Open-Source-Tools Bacula im Unternehmenseinsatz

Von Thomas Joos 6 min Lesedauer

Anbieter zum Thema

Bacula zählt zu den etabliertesten Backup-Systemen im professionellen IT-Umfeld. Mit seiner modularen Architektur bietet es Administratoren ein Werkzeug, das über klassische Dateisicherungen hinausgeht und gezielte, verteilte Sicherungskonzepte in Unternehmensnetzwerken ermöglicht.

Bacula ist eine etablierte, modulare Open-Source-Backup-Lösung, die über klassische Sicherungen hinausgeht und verteilte Backup-Strategien in Netzwerken unterstützt.(Bild:  Midjourney / KI-generiert)
Bacula ist eine etablierte, modulare Open-Source-Backup-Lösung, die über klassische Sicherungen hinausgeht und verteilte Backup-Strategien in Netzwerken unterstützt.
(Bild: Midjourney / KI-generiert)

Die kostenfrei verfügbare „Community Edition“ von Bacula richtet sich an kleinere und mittlere IT-Umgebungen. Sie unterstützt Linux, Windows, macOS und erlaubt das gezielte Sichern kompletter Verzeichnisse, Systemdateien und Konfigurationsdaten. Für größere Installationen steht eine Enterprise-Variante bereit, die unter anderem Deduplizierung, Cloud-Integration sowie erweiterte Überwachungsfunktionen bietet. Die Enterprise-Edition lässt sich kostenlos testen.

Bacula-Komponenten im Überblick

„Bacula Director“ steuert den Ablauf aller Sicherungs- und Wiederherstellungsjobs. Der „File Daemon“ wird auf den Zielsystemen installiert und überträgt deren Daten. Der „Storage Daemon“ verwaltet die Ablage auf lokalen Datenträgern oder Bandlaufwerken. Der „Katalog“ schließlich, typischerweise auf PostgreSQL oder MySQL basierend, führt die Index- und Metadatenverwaltung durch. Diese Aufteilung erlaubt eine flexible Anpassung an verschiedenste Szenarien, ob einzelne Server oder ganze Netzsegmente abgesichert werden sollen.

Installation und Konfiguration unter Ubuntu

Die Einrichtung erfolgt über die Paketverwaltung. Ein typischer Einstieg beginnt mit der Aktualisierung des Systems und der Installation aller Bacula-Komponenten:

sudo apt update && sudo apt upgrade -ysudo apt install bacula -y

Während der Installation wird ein Passwort für den Datenbanknutzer des Katalogs abgefragt. Anschließend stehen die Konfigurationsdateien unter „/etc/bacula“ bereit. Für einen konsistenten Betrieb müssen Passwörter in den Dateien „bacula-dir.conf“, „bacula-fd.conf“ und „bacula-sd.conf“ abgestimmt werden. Danach lassen sich die Dienste mit „systemctl“ neu starten:

sudo systemctl restart bacula-directorsudo systemctl restart bacula-fdsudo systemctl restart bacula-sd

Backup-Jobs definieren und steuern

Die Einrichtung eines Backup-Jobs erfolgt über Konfigurationsblöcke innerhalb der Datei „bacula-dir.conf“. Ein einfaches Beispiel sichert täglich die Verzeichnisse „/etc“ und „/home“ und speichert sie komprimiert auf Band:

FileSet { Name = "LocalhostFiles" Include { Options { signature = MD5 compression=GZIP } File = /etc File = /home }}Schedule { Name = "LocalhostDaily" Run = Full daily at 00:01}Job { Name = "LocalhostBackup" JobDefs = "DefaultJob" Enabled = yes Level = Full FileSet = "LocalhostFiles" Schedule = "LocalhostDaily" Storage = TapeDrive Write Bootstrap = "/var/lib/bacula/LocalhostBackup.bsr"}

Bandlaufwerke einbinden und verwalten

Zur Verwendung eines Bandlaufwerks wird in „bacula-sd.conf“ ein passendes Device definiert:

Device { Name = "Tape Drive" Device Type = tape Media Type = DDS-4 Archive Device = /dev/st0 Hardware end of medium = No; AutomaticMount = yes; AlwaysOpen = Yes; RemovableMedia = yes; RandomAccess = no; Alert Command = "sh -c 'tapeinfo -f %c | grep TapeAlert'"}

Die Definition wird im Director über eine Storage-Ressource referenziert. Wichtig ist, dass die Passwörter in beiden Konfigurationsdateien identisch sind. Außerdem muss die Adresse dem tatsächlichen Hostnamen entsprechen:

Name = TapeDrive Address = backupserver SDPort = 9103 Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyjc" Device = "Tape Drive" Media Type = tape}

Bevor Bacula Backups auf ein Band schreiben kann, muss dieses ein Label erhalten. Dazu wird die Bacula-Konsole „bconsole“ verwendet. Der Befehl „label“ startet den Labelvorgang. Fehlt ein Label, wird die Sicherung abgebrochen und ein Hinweis per E-Mail versendet, sofern konfiguriert.

Flexibilität durch modulare Architektur

Durch die konsequente Trennung der Dienste eignet sich Bacula auch für komplexe Unternehmensstrukturen mit verschiedenen Standorten oder Backup-Zielen. Erweiterte Konfigurationen erlauben inkrementelle Sicherungen, differenzielle Strategien und rollenbasierte Zugriffskontrollen. Gerade bei Bandarchivierung spielt Bacula seine Stärke aus, inklusive Labelmanagement und Medienrotation. Für produktive Umgebungen empfehlen sich jedoch ein dediziertes Monitoring und regelmäßige Tests der Restore-Prozesse.

Zuverlässig auch bei heterogenen IT-Landschaften

Da Bacula plattformübergreifend arbeitet, lässt sich der File Daemon auch auf Windows- oder macOS-Systemen installieren. Damit wird es möglich, zentrale Backup-Konzepte umzusetzen, die alle Endpunkte einbeziehen, sei es für Nutzerverzeichnisse, Serverfreigaben oder geschäftskritische Konfigurationsdateien. Auch virtuelle Maschinen lassen sich sichern, sofern entsprechende Agenten installiert sind oder Snapshots eingebunden werden.

Backup-Strategien mit Bacula praktisch umsetzen

Ein solides Backup-Konzept folgt der bewährten 3-2-1-Regel: drei Kopien der Daten auf zwei verschiedenen Medien, eine davon extern gespeichert. Ein typischer Anwendungsfall wäre eine vollständige Sicherung an jedem ersten Sonntag des Monats, ergänzt durch differenzielle Backups an den übrigen Sonntagen und inkrementelle Sicherungen an den verbleibenden Tagen. Diese Strategie lässt sich mit Bacula über Zeitpläne und Backup-Levels exakt umsetzen. Ein Zeitplan (Schedule) könnte so aussehen:

Schedule { Name = "WeeklyCycle" Run = Full 1st sun at 23:05 Run = Differential 2nd-5th sun at 23:05 Run = Incremental mon-sat at 23:05}

Die Definition gibt an, dass monatlich ein vollständiges Backup erstellt wird. Differenzielle Backups werden an den restlichen Sonntagen durchgeführt. Inkrementelle Backups finden an allen anderen Tagen statt. Der Zeitplan wird dann einem Job zugewiesen, der eine definierte Dateiauswahl („FileSet“) sichert. Ein solcher Job kann wie folgt aussehen:

Job { Name = "WorkstationBackup" Client = workstation-fd FileSet = "UserData" Schedule = "WeeklyCycle" Storage = FileStorage Messages = Standard Write Bootstrap = "/var/lib/bacula/WorkstationBackup.bsr"}

Das zugehörige FileSet definiert die zu sichernden Pfade:

FileSet { Name = "UserData" Include { Options { signature = MD5 compression = GZIP } File = /home File = /etc }}

Mit diesen Einstellungen wird ein vollständiges Backup der Verzeichnisse „/home“ und „/etc“ erstellt. „GZIP“ reduziert den Speicherbedarf, „MD5“ ermöglicht eine Integritätsprüfung jeder Datei. Das Restore kann über die Konsole „bconsole“ initiiert werden. Dort werden zunächst der gewünschte Client und das zugehörige Backup ausgewählt. Anschließend lassen sich einzelne Dateien oder ganze Verzeichnisse gezielt wiederherstellen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Data-Storage und -Management

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Alternativ bietet die Weboberfläche „BWeb“ eine visuelle Navigation durch Backups, inklusive Restore-Assistent und Job-Verwaltung. Für Unternehmen mit bandbasierter Langzeitarchivierung kommt die Unterstützung von Autochangern ins Spiel. Bacula verwaltet Tape-Librarys mit Barcode-Unterstützung und weiß jederzeit, auf welchem Band sich welche Daten befinden. Das macht gezielte Wiederherstellungen auch nach Jahren reproduzierbar.

Hybride Backup-Szenarien und Datenbanksicherung mit Bacula

Bacula unterstützt Pre- und Post-Job-Skripte, mit denen vor dem eigentlichen Backup ein konsistenter Datenbank-Dump erstellt und nach dem Backup wieder bereinigt wird. Für eine MySQL-Datenbank sieht das in der Job-Konfiguration so aus:

Job { Name = "DatabaseBackup" Client = server-fd FileSet = "DatabaseDump" Schedule = "DailyCycle" RunBeforeJob = "/usr/local/bin/mysqldump.sh" RunAfterJob = "/usr/local/bin/cleanup.sh" Storage = FileStorage Messages = Standard Write Bootstrap = "/var/lib/bacula/DatabaseBackup.bsr"}

Das Skript „mysqldump.sh“ könnte wie folgt aufgebaut sein:

#!/bin/bashmysqldump -u root -p'sicherespasswort' datenbankname > /tmp/db_dump.sql

Das zugehörige „FileSet“ sichert nur den Dump:

FileSet { Name = "DatabaseDump" Include { File = /tmp/db_dump.sql }}

Nach erfolgreicher Sicherung löscht „cleanup.sh“ die temporäre Datei:

#!/bin/bashrm -f /tmp/db_dump.sql

In Hybrid-Szenarien, in denen ein Teil der Daten extern in der Cloud abgelegt wird, erlaubt Bacula die Speicherung in Amazon S3 oder Ceph über entsprechende Storage-Plug-ins. Diese sind vor allem in der „Enterprise Edition“ vollständig integriert, lassen sich aber auch in Community-Umgebungen mit etwas Konfigurationsaufwand einsetzen. Die Einrichtung eines Cloud-Speichers als Ziel erfolgt durch Definition eines entsprechenden Storage-Geräts:

Device { Name = "S3CloudStorage" Media Type = Cloud Archive Device = /mnt/s3bucket Device Type = File Maximum File Size = 5GB}

Die Verbindung zum S3-Backend erfolgt über ein lokales Mount-Verzeichnis, das mit s3fs oder einer vergleichbaren Lösung eingebunden wird. Die Einbindung sollte vor jedem Backup sichergestellt sein, entweder manuell oder durch ein Vorab-Skript. Mit diesen Mechanismen ist Bacula in der Lage, Datenbanksicherungen automatisiert abzuwickeln und gleichzeitig einen Teil der Sicherungen ausgelagert in der Cloud zu speichern. Unternehmen erhalten dadurch eine flexible Plattform, die sowohl klassische als auch moderne Backup-Anforderungen bedient.

Aktuelles eBook

Ransomware-Schutz durch Object Lock und WORM

eBook „Ransomware-Schutz“
(Bild: Storage-Insider)

Um ein Storage-System effektiv von Ransomware-Angriffen zu schützen, bieten sich neben Backup/Disaster Recovery und Verschlüsselung vor allem Object Lock und WORM an. Das gelingt nicht nur im eigenen Haus, sondern auch in der Hybrid-Cloud.

Die Themen im Überblick:

  • Ransomware-Trends
  • Air-Gapping
  • Amazon S3 Object Lock
  • WORM mit Bandspeicher
  • Schutz durch Algorithmen

(ID:50443891)