Backup mit Open Source Software: Bareos für die Datensicherung
Datensicherung ist nach wie vor ein unverzichtbarer Bestandteil jedes Rechnerbetriebs. Backupsoftware ist häufig sehr teuer in der Anschaffung und Aufgrund der Unzuverlässigkeit auch im Betrieb. Die Open Source Backup Software Bareos bietet eine kostengünstige Alternative zu bestehenden Lösungen und vereint die Vorteile von Quelloffenheit mit den Anforderungen eines professionellen Betriebs.
Bareos ist eine netzwerkbasierte Open Source Backup-Lösung. Die Vorarbeiten zum Projekt Bareos wurden 2010 gestartet, weil die Entwickler Marco van Wieringen und Philipp Storz mit verschiedenen Aspekten der Entwicklung der Software Bacula unzufrieden waren. Marco van Wieringen war zuvor viele Jahre einer der wichtigsten Entwickler der Bacula Community, Philipp Storz hatte Bacula in vielen Projekten eingesetzt und das Buch zu Bacula bei Open Source Press geschrieben.
Ziel bei der Entwicklung der Software ist es, eine vollständig quelloffene Alternative zu den etablierten Backuplösungen zu sein. Die Orientierung an den Bedürfnissen professioneller Anwender steht dabei im Mittelpunkt und es gibt bei uns keine Berührungsängste mit closed source Software. Wenn der Kunde eine gewisse Software einsetzt, dann benötigt er dafür auch eine Datensicherung. Aus diesem Grund wird beispielsweise ein erheblicher Anteil der Entwicklungskapazität aufgewendet, um Windows Betriebssysteme und Windows Anwendungen zu unterstützen.
Ein Subscription- und Supportmodell und eine Partnerlandschaft bekannter
open-source Consultingunternehmen um das Produkt bieten dem professionellen Anwender alles, was für den Betrieb notwendig ist. Gleichzeitig sind wir den Prinzipien von quelloffener Sofware treu: Der Quellcode ist frei zugänglich und wir bieten Pakete für sehr viele Betriebssysteme frei zum Download an [1].
Netzwerkbasierte Datensicherung mit Open Source
Technisch besteht Bareos im Wesentlichen aus drei Diensten (Daemons), die die eigentliche Funktionalität bereitstellen. Diese kommunizieren miteinander über das Netzwerk.
File Daemon: Lesen der zu sichernden Daten
Der File Daemon läuft auf dem zu sichernden Computer und liest bei der Datensicherung die zu sichernden Daten und versendet diese über das Netzwerk. Bei der Rücksicherung empfängt er die Daten über das Netzwerk und schreibt diese zurück in das Dateisystem.
Storage Daemon: Speicherung der Backup-Daten
Der Storage Daemon empfängt die vom File Daemon versendeten Daten und speichert diese auf das Speichermedium. Bei der Rücksicherung werden die Daten entsprechend vom Sicherungsmedium gelesen und zum File Daemon zurückgesendet.
Director Daemon: Zentrale Steuerung des Backup und Restore
Der Director Daemon ist die zentrale Stelle des Systems und steuert sämtliche Backup- und Restorevorgänge. Dazu kennt er alle im System vorhandenen File und Storage Daemons und kann diesen Befehle erteilen. Wann eine Sicherung ausgeführt werden soll wird in einem "Schedule" festgelegt, welche Dateien gesichert werden sollen wird in einem "FileSet" konfiguriert.
Katalogdatenbank für die Datensicherung
Während einer Datensicherung werden sämtliche Metadaten in der Katalogdatenbank abgelegt. Dadurch weiß der Director jederzeit, welche Daten in welchem Block welchen Mediums gespeichert wurden.
Die eigentlichen Nutzdaten werden auf die Speichermedien geschrieben. Als Datenbanksystem für die Katalogdatenbank empfehlen wir PostgreSQL; MySQL ist ebenfalls einsetzbar. Alle Daemons verfügen über ein Plugin-Interface, mit dem die Funktionalität des jeweiligen Daemons erweitert werden kann.
Der Bareos FileDaemon ist für die meisten aktuellen Betriebssysteme verfügbar.Wir unterstützen 27 aktuelle Linux Distributionen, Windows, MacOS, Solaris,
HP-UX und AIX. StorageDaemon und Director laufen üblicherweise auf einer aktuellen Linux Distribution, als technology preview sind diese beiden Daemons nun auch auf Windows verfügbar.
Was gibt es Neues?
Allgemein
Bareos 14.2 wurde Mitte Dezember 2014 freigegeben. Eine wichtige Neuerung ist die Integration der Katalogdatenbankverwaltung in die unter Debian/ Ubuntu übliche Verwaltung durch DBConfig.
Windows
Die Unterstützung von Windows wurde weiter verbessert. Neben dem File Daemon sind nun Director und Storage Daemon als technology preview auch unter Windows verfügbar. Mit einer PostgreSQL Instanz unter Windows kann nun ein Bareos Server komplett auf Windows laufen. Dank der Portierung der Storage Tools auf Windows können nun sogar im Notfall auch unter Windows Dateien inklusive der Windows Berechtigungen extrahiert werden. Die Unterstützung des Windows Volume Shadow Service wurde erweitert, so dass nun Dateien auf verschlüsselten und deduplizierten Dateisystemen unter Windows gelesen und geschrieben werden können. Ebenfalls werden nun spezielle Dateien wie Junctions, Links und Volume Mount Points unterstützt. Der File Daemon kann nun den "FilesNotToBackup" Registry Key auslesen und die dort genannten Dateien und Verzeichnisse automatisch aus der Sicherung ausschließen. Der Windows Installer wurde so erweitert, dass nun bei der Installation des Directors auch gleich das Datenbanksetup einer lokalen PostgreSQL Instanz ausgeführt wird. Alle drei Daemons werden vollautomatisch konfiguriert. Das Plugin zur Sicherung von Microsoft SQL Servern wurde so erweitert, dass nun auch MSSQL Cluster gesichert werden können.
Storage und Cloud
Der Storage Daemon wurde modularisiert, so dass es nun eine einheitliche Schnittstelle zu den Storage Backends gibt. Die unterstützten Speichertypen können nun als Backendtreiber geladen werden, und es ist einfacher neue Backends hinzuzufügen. Diese Modularisierung war notwendig geworden, um die neuen Backends zur Speicherung in die beiden Cloudbackends Ceph und GlusterFS zu ermöglichen. Es ist natürlich weiterhin möglich, auf Tape und auf Disk zu sichern.
Bareos unterstützt verschiedene Kompressionsverfahren. Bisher konnte die Kompression aber nur auf den File Daemons durchgeführt werden. Dank des neuen autoxflate Storage Daemon Plugins kann die Kompression nun sehr flexibel gehandhabt werden. Das autoxflate Plugin kann je nach Konfiguration sowohl komprimieren als auch dekomprimieren. Damit kann nun die Rechenlast zur Kompression komplett auf den Storage Daemon Computer verlagert werden.
Plugins
Ursprünglich konnten Plugins ausschließlich in der Programmiersprache C implementiert werden. Um das Schreiben von Plugins zu vereinfachen, wurde das Python Plugin Interface implementiert. Damit können Plugins nun in Python verfasst werden. In Bareos 14.2 wurde nun ein Klassenmodell für die jeweiligen Plugins angelegt, sodass es noch einfacher ist, ein Plugin zu implementieren. Erste Python Plugins zur Sicherung von MySQL Datenbanken und zur Anbindung von Icinga/Nagios sind bereits entstanden.
Was kommt als nächstes?
Der nächste Meilenstein in der Weiterentwicklung von Bareos wird die Unterstützung der VMware vStorage API sein. Mit dieser API können virtuelle Maschinen unter VMware sehr effizient gesichert und zurückgesichert werden, da lediglich die genutzen oder geänderten Blöcke der virtuellen Festplatten gesichert werden müssen. Die Entwicklung ist hier schon weit vorangeschritten und Backup und Restore ist bereits mit unserem Prototypen möglich.
Als zweiter wichtiger Schritt sehen wir die vollständige Unterstützung des Volume Shadow Service unter Windows an. Mit einer vollständigen Unterstützung des VSS kann jede Windows-Anwendung, die VSS unterstützt, sauber gesichert und wiederhergestellt werden. Unsere internen Tests sehen auch hier schon vielversprechend aus, mittels des VSS Registry Writers können wir die Windows Registry schon sauber sichern und zurücksichern.
Weitere Informationen
- Als erste Anlaufstelle zum Bareos Projekt empfehle ich die Webseite desProjekts [2]. Dort sind auch alle anderen Quellen zu finden.
- Der Quellcode von Bareos liegt auf Github [3]. Die ausführliche Dokumentation zu Bareos ist auf doc.bareos.org zu finden [4]. Fertige Pakete gibt es hier [5].
- Für Entwickler und Benutzer gibt es die beiden bei google groups gehosteten Mailinglisten bareos-devel [6] und bareos-user [7].
- Wer Bareos professionell einsetzen möchte und Zugriff auf das Subscription Repository und unser Supportangebot benötigt, findet die Informationen auf der Webseite [8].
Publikationen
- Bacula: Backup-Strategien und -Lösungen im Netzwerk mit Bacula Appliance auf DVD: Philipp Storz