Workshop: Aufbau und Inbetriebnahme von Bareos

Einfach gesichert

Bareos ist als Fork des Backup-Klassikers Bacula ein vollständig quelloffenes und freies Werkzeug zur Datensicherung. Neben zusätzlichen Features verschlankt Bareos vor allem die Konfigurations-Dateien und vereinfacht so die Konfiguration. Dieser Workshop führt durch die Inbetriebnahme und Einrichtung des Sicherungstools und zeigt darauf aufbauend ein erstes Backup.
Mit einer vernünftigen Backup-Strategie wappnen sich Administratoren erfolgreich gegen Datenverluste und längere Systemausfälle. So zeigen wir Ihnen ... (mehr)

Bareos [1] ist – anders als sein primitiver Vorgänger tar – voll netzwerkfähig. Das bedeutet, dass Speichermedien, Kommandogerät und zu sichernde Daten auf verschiedenen Computern liegen. Ein NAS deckt also mehrere Workstations ab. Ein weiterer Unterschied betrifft die höhere Flexibilität: Dank des Catalogs lassen sich einzelne Dateien leicht wiederherstellen. Bild 1 zeigt die grundlegende Struktur eines Bareos-Verbunds: Alle Komponenten sollten zur Inbetriebnahme des Backupsystems vorhanden sein – erfreulicherweise ist es kein Problem, mehrere davon auf einer Maschine zu sammeln.

Bareos-Architektur

Der Bareos-Director verwaltet die im Verbund durchzuführenden Backup- und Restoreoperationen. Als Storage-Daemon bezeichnete Systeme liefern den Speicher zu, auf dem die zu sichernden Daten unterkommen. Die geclusterte Variante dieser beiden Systemgruppen ist aufgrund einer konstruktiven Schwäche des Protokolls wichtig. Die Kommunikation zwischen Director und Storage-Daemon erfolgt ohne Versionsinformationen: passen die beiden Versionen nicht zusammen, kommt es zu diversen Fehlern.

Bareos arbeitet mit "Tapes", die per Definition einen sequenziellen Aufbau aufweisen. Ein als Catalog bezeichneter Server dient als Leitstelle, die die Informationen über die Aufenthaltsorte der einzelnen Dateien enthält. Der Server arbeitet mit einer Datenbank, die sich auf Wunsch automatisch von alten Einträgen bereinigt.

Anwender und Administratoren interagieren mit dem System an zwei Schnittstellen. Auf den Clients installierte File-Daemons liefern die zu sichernden Informationen. Eine mit dem Director verbundene Konsole ist für das Verwalten der Aufträge zuständig: neben einem kommandozeilenorientierten System gibt es auch eine experimentelle GUI-Variante und ein Webinterface.

Mehr zu Bareos

Ob des enormen Funktionsumfangs von Bareos können wir in diesem Artikel nur einen kleinen Teil der Features vorstellen. So kam die Wiederherstellung von Daten aus Platzgründen nicht zur Sprache. Vor einem ernsthaften Einsatz des Produkts sollten Sie die Dokumentation [2] durcharbeiten, die wertvolle Hinweise zum System enthält. Die How-to-Rubrik [3] bietet eine Übersicht von neuen Features, die in einzelnen Bareos-Releases eingebaut wurden. Kommerzieller Support ist bei der Bareos GmbH [4] zu erhalten.

Bareos installieren

Zur Erleichterung des Deployments bieten die Bareos-Entwickler Paketrepositories an, die die wichtigsten Betriebssysteme abdecken. Derzeit unterstützt das Team Windows ab XP (Director ist auf PostgreSQL beschränkt), OS X und diverse Linux-Versionen. Dieser Artikel basiert auf einem Verbund zweier Maschinen mit Ubuntu 14.04. Der Host bildet zugleich den Client mit den zu sichernden Daten, während die in der VM laufende Ubuntu-Instanz die Serveraufgaben bewerkstelligt.

Die Installation von Bareos lässt sich durch ein von den Entwicklern bereitgestelltes Skript bewerkstelligen. Es erlaubt die Auswahl der als Host dienenden Betriebssystemversion und der zu verwendenden Datenbank (siehe Listing 1: "Bareos-Installationsskript").

Der Bareos-Installer geht davon aus, dass die für den Betrieb erforderliche Datenbank schon installiert ist. Für mysql ist dabei das Eingeben des folgenden Kommandos notwendig:

/bareos$ sudo apt-get install mysql-server mysql-client

In den folgenden Schritten gehen wir davon aus, dass der Root-Benutzer der Datenbank kein Passwort hat. Passen Sie die Parameter für Datenbank und gewünschte Betriebssystemversion an, bevor Sie das Skript nach folgendem Schema ausführen:

/bareos$ sudo -s
[sudo] password for tamhan:
/bareos# chmod +x install.sh
/bareos# ./install.sh
OK

Bareos ist ein Metapaket, das alle in einem Bareos-Verband vorhandenen Funktionen en bloc deployt. Beim Konfigurieren von Clients ist es oft sinnvoller, nur einzelne Features zu installieren [2]. Während der Abarbeitung des Installationskommandos fragt das Produkt nach einigen Parametern. Konfigurieren Sie Postfix als "Internet Site" und der Installer von "bareos-database-common" darf per "Yes" die Defaultwerte übernehmen.

Mitunter kommt es während der Installation zu einem Core Dump, der sich durch einen Fehler im Rahmen der Suche nach dem dbdriver äußert. Dieser erweist sich in der Praxis jedoch als nicht signifikant. Unsere nächste Amtshandlung ist das Anwerfen des Director-Dienstes, der über das Service-Kommando erfolgt:

/bareos# sudo service bareos-dir start

File-Daemons lassen sich durch Eingabe von »bareos-fd« anwerfen, während »bareos-sd« für den Start des Storage-Daemons verantwortlich zeichnet. Bareos lässt sich nach dem Start des Directors über das Kommando »bconsole« ansprechen. Das grafische Verwaltungsframework lässt sich durch das Paket "bareos-bat" nachinstallieren, der eigentliche Start erfolgt dann durch die Eingabe des Befehls »bat« .

Bild 1: Die Architektur einer Bareos-Infrastruktur im Überblick.

Listing 1: Bareos-Installationsskript



DIST=Debian_7.0
# or
# DIST=Debian_6.0
# DIST=xUbuntu_14.04
# DIST=xUbuntu_12.04
DATABASE=postgresql
# or
# DATABASE=mysql
URL=http://download.bareos.org/bareos/release/latest/$DIST/
# add the Bareos repository
printf "deb $URL /\n" > /etc/apt/sources.list.d/ bareos.list
# add package key
wget -q $URL/Release.key -O- | apt-key add -
# install Bareos packages
apt-get update
apt-get install bareos bareos-database-$DATABASE
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023