Bareos
Bareos (Backup Archiving Recovery Open Sourced) ist eine netzwerkübergreifende freie Software (AGPLv3), die Daten aller gängigen Betriebssysteme sichern, archivieren und wiederherstellen kann. Die Client-Server-Backup-Lösung besteht aus mehreren Komponenten, die über das Netzwerk miteinander kommunizieren: dem Bareos Director, einem oder mehreren Storage Daemons Daemons und den File Daemons, die auf den zu sichernden Clients installiert sind.
Bareos (Backup Archiving Recovery Open Sourced)
| |
---|---|
![]() | |
![]() Bareos WebUI, Version 21.0.0 | |
Basisdaten
| |
Hauptentwickler | Bareos-Team |
Erscheinungsjahr | 2012 |
Aktuelle Version | 23.0.3[1] (4. Juni 2024) |
Betriebssystem | Linux, Solaris, FreeBSD, Windows, macOS, Unix |
Programmiersprache | C++, Python |
Kategorie | Datensicherung |
Lizenz | AGPLv3 |
deutschsprachig | ja |
www.bareos.com |
Bareos spaltete sich 2010 von Bacula ab und wird inzwischen unabhängig weiterentwickelt.[2][3] Seither haben die Entwickler die Codebasis gründlich überarbeitet[4] und etliche neue Features implementiert.[5][6]
Die am häufigsten genutzten Speicher-Backends sind Flash-Arrays, Festplatten, Software Defined Storage (SDS) und Tape Libraries; Bareos kann aber auch eine Reihe von Cloud-Storages als Backup-Ziele nutzen,[7] darunter Gluster, Ceph, S3 und mehr. Darüber hinaus gibt es für Bareos mehrere Plug-ins, die auch das Sichern und Wiederherstellen von Cloud-Speichern erlauben. Bareos bietet unter anderem Erweiterungen zur Unterstützung von virtuellen Infrastrukturen, Anwendungsservern (wie Datenbanken, z. B. PostgreSQL, MySQL, MSSQL, MariaDB usw.) und LDAP-Verzeichnisdiensten.
Die Konfigurationsdateien können im Texteditor bearbeitet werden. Administratoren steuern Bareos entweder über das Kommandozeilentool bconsole oder über das WebUI im Browser.
Eine Bareos-Installation besteht immer aus mehreren Komponenten. Der Unix-Philosophie folgend übernimmt jeder Teil nur eine ganz spezifische Aufgabe und erledigt diese gut. Das modulare Design macht Bareos nicht nur flexibel, sondern sorgt auch für eine gute Skalierbarkeit – egal, ob die Backup-Lösung auf einem einzigen System oder mehreren Hundert Computern installiert ist. Auch der Betrieb an verteilten Standorten ist möglich.
Alle Bareos-Komponenten kommunizieren über das Netzwerk miteinander. Der Transport der Daten ist TLS/SSL-verschlüsselt (Pre-shared Key oder Zertifikate). Außerdem verschlüsselt die Software die Datensicherungen selbst auf den Clients.
Bareos Director
BearbeitenDie Steuerzentrale und damit die zentrale Komponente der Backup-Software ist der Bareos Director. Er dirigiert Storage Daemon und File Daemon, die File Sets (beschreiben, welche Daten Bareos sichern soll), die Plug-in-Konfigurationen, die Jobs und Zeitpläne, den Storage- und Medien-Pool (Eigenschaften und Vorhaltezeiten) sowie mögliche Before- und After-Jobs, also Programme, die vor oder nach einem Job laufen sollen.
Der Bareos Director verwaltet außerdem die Katalog-Datenbank, in der Informationen zu den Sicherungen und Rücksicherungen, zu gespeicherten Dateien und den verwendeten Medien.
File Daemon
BearbeitenDer File Daemon ist auf jedem zu sichernden Client installiert und kümmert sich um die Datensicherung sowie die Wiederherstellung. Der File Daemon führt die Anweisungen des Bareos Director aus und überträgt dann die zu sichernden Daten an den Storage Daemon. Genauso kümmert er sich um den Datentransport in die andere Richtung beim Wiederherstellen.
Bareos bietet File Daemons für viele gängige Betriebssysteme, darunter Windows, Linux, macOS, FreeBSD, Solaris und andere Unix-basierte Systeme.
Bareos kann die zu sichernden Daten auf dem Client verschlüsseln, also bevor der File Daemon sie an den Storage Daemon überträgt. Vor dem Wiederherstellen validiert die Software die Signaturen und weist gegebenenfalls auf Abweichungen hin. Weder der Bareos Director noch der Storage Daemon haben zu irgendeinem Zeitpunkt Zugriff auf unverschlüsselte Inhalte.
Storage Daemon
BearbeitenDer Storage Daemon erhält Daten von den File Daemons, also den Client-Rechnern. Er speichert die Daten zusammen mit ihren Attributen auf den konfigurierten Sicherungsmedien. Bareos kann verschiedene Geräte ansteuern, darunter Festplatten (HDD/SSD/SDS) und Bandlaufwerke. Sofern ein Medienwechsler involviert ist, steuert der Storage Daemon dieses Gerät ebenfalls.
Wenn es eine Anfrage zum Wiederherstellen von Daten gibt, greift der Storage Daemon auf die richtigen Daten zu und schickt diese an den File Daemon zurück.
Es ist möglich, mehrere Storage Daemons zu konfigurieren und damit die Flexibilität, Verfügbarkeit und Leistung zu erhöhen. Wenn Bareos beispielsweise an mehreren Standorten eingesetzt wird, kann es pro Standort einen eigenen Storage Daemon geben.
Kommandozeilentool bconsole
BearbeitenDas Kommandozeilentool bconsole dient zur Kommunikation mit dem Bareos Director. Die textbasierte Schnittstelle hat Zugriff auf den Director und damit auch zu allen anderen Komponenten. Die bconsole ist mit einer internen Hilfe ausgestattet, die Übersicht über alle Befehle und ihre Kurzbeschreibung bietet.
Die bconsole unterstützt die Tab-Completion, wie sie z. B. auch auf der Bash verfügbar ist. Neben den Kommandos selbst, vervollständigt die Funktion auch mögliche Parameter und die für den Parameter möglichen Elemente. Bei unvollständiger Eingabe eines Befehls ergänzt die bconsole diesen automatisch und führt ihn auch aus.
WebUI
BearbeitenZur Kommunikation mit dem Bareos Director und den anderen Komponenten gibt es als Alternative zur bconsole das Bareos WebUI. Es funktioniert in gängigen Webbrowsern, ist mehrsprachig und stellt detaillierte Informationen zu Backup-Jobs, Clients, FileSets, Pools, Volumes usw. zur Verfügung. Auch das Sichern und Wiederherstellen ist über das Webinterface möglich.
Das Bareos WebUI kann auf dem Rechner installiert sein, auf dem auch der Director läuft; alternativ ist der Betrieb auf einem anderen Host möglich. Der Director und die Webschnittstelle sollten am besten dieselbe Version haben. Das WebUI kann mehrere Director und deren Katalog-Datenbanken ansprechen. Es unterstützt rollenbasierten Zugriff und verschiedene Profile mit ACLs (Access Control Lists), um einzustellen, was ein Benutzer sehen und ausführen darf.
Katalog
BearbeitenBareos setzt auf eine PostgreSQL-Datenbank im Hintergrund. Sie speichert in mehreren Tabellen die Jobs (Backup und Restore), für jeden Job eine Liste aller Dateien samt Attributen, den Speicherort und das Backup-Medium. Die Datenbank befindet sich in der Regel auf dem Rechner, auf dem auch der Bareos Director installiert ist, es ist allerdings möglich, sie auf einen anderen Rechner auszulagern.
Seit Version 21 unterstützt Bareos ausschließlich PostgreSQL als Datenbank-Backend. Zur Migration von MySQL-/MariaDB-Datenbanken aus früheren Bareos-Versionen gibt es seit Bareos 19.2.5 das Tool bareos-dbcopy.[8] Es konvertiert den Katalog nach PostgreSQL und kopiert dabei die Daten aller Tabellen. bareos-dbcopy nutzt die Einstellungen des Bareos Director, um die Katalog-Konfiguration zu laden.
Unterstützte Backup-Konzepte
BearbeitenUnabhängig von der eingesetzten Backup-Software gibt es verschiedene Strategien und Konzepte zur Datensicherung. Außer der Komplett-/Vollsicherung, der differenziellen und inkrementellen Sicherung unterstützt Bareos als einzige Open-Source-Backup-Lösung das Konzept Always Incremental.[9]
Always Incremental
BearbeitenDas Konzept Always Incremental stellt den letzten Stand kompletter Dateisysteme ausschließlich aus fortlaufenden inkrementellen Backups wieder her. Damit wird die Datenmenge, die über das Netzwerk transportiert wird, erheblich reduziert. Always Incremental ist damit vor allem für schmalbandig angebundene Rechner in dezentralen Umgebungen geeignet. Die Sicherungsart eignet sich nur für dateibasierte Backups.
Ganz zu Anfang findet jeweils ein Vollbackup statt, danach folgen immer inkrementelle Datensicherungen. Da dieses normalerweise zu einer unbegrenzten Anzahl inkrementeller Backups führen würde, kann Bareos bestehende inkrementelle Sicherungen (die älter als ein frei konfigurierbares Alter sind) zu einem neuen Backup zusammenfassen. Dafür zuständig ist ein so genannter Konsolidierungsjob, der jeweils die inkrementellen Sicherungen und das letzte Vollbackup einsammelt und daraus eine neue Komplettsicherung erzeugt.
Plug-ins und Erweiterungen
BearbeitenMehrere Plug-ins erweitern die Funktionalität von Bareos. In der Liste der Erweiterungen finden sich Plug-ins für den Bareos Director, für den File Daemon und den Storage Daemon. Fast alle Plug-ins sind in Python implementiert und nutzen die integrierte Python-Schnittstelle.[10] Unter den Erweiterungen befinden sich unter anderem die Folgenden:
- VMware
- Das Plug-in erstellt agentenlose Backups virtueller Maschinen unter VMware vSphere. Es setzt dazu auf Changed Block Tracking (CBT), um Änderungen an Datenblöcken zu ermitteln und platzsparende vollständige, differenzielle sowie inkrementelle Backups von virtuellen VMware-Festplatten durchzuführen.
- oVirt
- Das Plug-in erstellt agentenlose Backups von virtuellen Maschinen, die unter oVirt oder Redhat Virtualization (RHV) laufen. Die Erweiterung ruft dabei die Konfiguration über die oVirt-API ab, erstellt Snapshots von virtuellen Maschinen und sichert die VM-Festplatten.
- Libcloud
- Apache Libcloud stellt eine einheitliche API zum Anbinden von Cloud-Diensten zur Verfügung. Diese Schnittstelle nutzt auch das Bareos-Libcloud-Plug-in, um Objekte aus S3-Speichern direkt über die S3-Schnittstelle zu sichern.[11]
Weblinks
Bearbeiten- Offizielle Website
- Handbuch (engl.)
- GitHub-Repository
- Andreas Rogge und Philipp Storz: Wir machen Cloud, da braucht man kein Backup! (die Geschichte des Bareos libcloud-Plugins) Vortrag bei der FrOSCon 2021
- Andreas Rogge: Overview of Bareos What is Bareos and what is new in 19.2? Vortrag bei der FOSDEM 2020
- Andreas Rogge: oVirt-Plugin for Bareos Backing up oVirt using Bareos Vortrag bei der FOSDEM 2020
- Jörg Steffens: Backup mit Bareos Vortrag bei der opsiconf 2020
- Maik Außendorf: Zero-Knowledge Secure and compliant Backups with Bareos Open Source Vortrag bei der Scale 2020
- Maik Außendorf: Last Line of Defence: be prepared by Open Source Backups with Bareos Vortrag bei der Scale 2019
- Stephan Dühr: Introduction to Bareos Backup Python Plugins How to extend Bareos with Plugins written in Python Vortrag bei der FOSDEM 2017
- Jörg Steffens: Interacting with Bareos Using Bareos Console commands to automate tasks Vortrag bei der FOSDEM 2017
- Jörg Steffens: Bareos - Backup Archiving REcovery Open Sourced - Overview Vortrag bei der FOSDEM 2017
Einzelnachweise
Bearbeiten- ↑ Release 23.0.3. 4. Juni 2024 (abgerufen am 20. Juni 2024).
- ↑ Backup mit Open Source Software: Bareos für die Datensicherung. In: Informatik Aktuell 28. Januar 2015. Alkmene Verlag GmbH, abgerufen am 26. Juli 2022.
- ↑ Netzwerk-Backups sicher aufbewahren. In: Linux-Magazin 08/2019. Computec Media GmbH, abgerufen am 26. Juli 2022.
- ↑ Neue Version von Bareos vorgestellt. In: Linux-Magazin Online 27. September 2018. Computec Media GmbH, abgerufen am 26. Juli 2022.
- ↑ Bareos 20 - Backup-Lösung mit neuen Plugins. In: Linux-Magazin Online 17. Dezember 2020. Computec Media GmbH, abgerufen am 26. Juli 2022.
- ↑ Bareos 15.2: Neue GUI und VMware-Plugin. In: Datacenter Insider 27.11.2015. Vogel IT-Medien GmbH, abgerufen am 26. Juli 2022.
- ↑ Erstkontakt – Bareos und Amazon Web Services. In: IT-Administrator 03/2019. Heinemann Verlag GmbH, abgerufen am 26. Juli 2022.
- ↑ bareos-dbcopy, auf docs.bareos.org
- ↑ E pluribus unum – Always Incremental mit Bareos. In: IT-Administrator 02/2020. Heinemann Verlag GmbH, abgerufen am 11. Juli 2022.
- ↑ Abgewickelt – Skriptgesteuerte Backups in Bareos. In: iX 10/2019. Heise Medien GmbH & Co. KG, abgerufen am 26. Juli 2022.
- ↑ Einmal hin und zurück – S3-Speicher mit Bareos sichern. In: IT-Administrator 04/2021. Heinemann Verlag GmbH, abgerufen am 26. Juli 2022.