Mit einer vernünftigen Backup-Strategie wappnen sich Administratoren erfolgreich gegen Datenverluste und längere Systemausfälle. So zeigen wir Ihnen ... (mehr)

Storage konfigurieren

Die Installationsroutine verbindet Catalog und Director automatisch. Die für den Betrieb des Directors notwendigen Einstellungen liegen in der Datei »/etc/bareos/ bareos-dir.conf« und Ressourcen entstehen durch JSON-Blöcke. Für uns ist im Moment der Storageanbieter interessant, der von Haus aus so aussieht:

# Definition of file storage device
Storage {
      Name = File
# Do not use "localhost" here
      Address = tamhan-bareos # N.B. Use a fully qualified name here
      Password = "Passwort"
      Device = FileStorage
      Media Type = File
}

Director und Storage-Daemon treten auf unserer Maschine in Personalunion auf. Die Konfigurationsdatei des Storage-Deamons »/etc/bareos/bareos-sd.conf« präsentiert sich – ohne Kommentare – so:

Storage {
      # definition of myself
      Name = tamhan-bareos-sd
      Maximum Concurrent Jobs = 20

 

}

Die pro Daemon-Konfigurationsdatei nur einmal vorkommende Storage-Ressource legt – unter anderem – den Namen des Speichers und das zu verwendende Speicherbackend fest.

Zugriffsberechtigte Directoren entstehen durch Director-Tags. Von Haus aus bringt Bareos hier zwei Einträge mit: Der eine deklariert einen schreib- und leseberechtigten Zugriff, während der mit "Monitor=yes" ausgestattete Director nur die Statistiken der Instanz auslesen darf:

Director {
      Name = tamhan-bareos-dir
      Password = "Passwort"
 }
 Director {
      Name = tamhan-bareos-mon
      Password = "Passwort"
      Monitor = yes

 

}

Im Device-Eintrag erfolgt das Anlegen des Speichermediums. "Media Type" ist dabei ein beliebiger String, der die Art des Mediums beschreibt. Diese auf den ersten Blick pedantische Vorgehensweise ist insofern wichtig, als die Bareos-Infrastruktur anhand dieser Informationen feststellt, welche Storage-Daemons welche Medientypen verarbeiten.

In "Archive Device" beschreiben Sie das zu verwendende Speichergerät. Wer – wie hier gezeigt – einen Ordner im Dateisystem übergibt, weist Bareos dazu an, anfallende Daten an dieser Stelle abzulegen. Das Übergeben eines Devices aktiviert die hier nicht weiter besprochene Unterstützung für Kassettenlaufwerke, während die Nutzung eines Fifo-Devices den Austausch mit anderen Programmen erlaubt.

Die restlichen Eigenschaften beschreiben das Verhalten des Geräts. Bareos komprimiert die Daten auf Wunsch, nicht vorhandene Laufwerke mountet es automatisch. Weitere Informationen hierzu finden sich in der Dokumentation.

Device {
      Name = FileStorage
      Media Type = File
      Archive Device = /var/lib/bareos/storage
      LabelMedia = yes; # lets Bareos label unlabeled media
      Random Access = yes;
      AutomaticMount = yes; # when device opened, read it
      RemovableMedia = no;
      AlwaysOpen = no;
 }

 Zu guter Letzt gibt es den Messages-Block, der über den für Fehlermeldungen und Statusinformationen zuständigen Kommunikationskanal informiert:

Messages {
      Name = Standard
      director = tamhan-bareos-dir = all
 }

NAT-Probleme umgehen

Der Director teilt dem File-Daemon mit, wo der für ihn zuständige Storage-Daemon ist. Das Aufbauen einer Verbindung obliegt dann dem File-Daemon, was zu Problemen mit NATs führt. Seit Bareos 13 gibt es die Möglichkeit, einen File-Daemon am Director als "passiv" zu deklarieren. In diesem Fall weist der Director den Storage-Daemon zum Aufbauen einer Verbindung zum Client an.

Client konfigurieren

Bareos unterscheidet sich von klassischen Backupsystemen insofern, als alle Operationen vom Director ausgehen. Der File-Daemon meldet sich nicht selbst, wenn Änderungen anstehen – er beschränkt sich darauf, Daten anzuliefern, wenn der Director dies anfordert.

Nutzen Sie das weiter oben beschriebene Konfigurationsskript, um die als Datenquelle dienende Workstation um das Paket "bareos-filedaemon" zu erweitern. Passen Sie die unter »/etc/bareos/« liegende Konfigurationsdatei an, um mit dem in der VM vorliegenden Director zusammenzuarbeiten. Im Directors-Abschnitt findet sich – analog zum besprochenen Storage-Daemon – eine Passage, die die zugriffsberechtigten Directoren beschreibt. Ersetzen Sie ihren Inhalt durch die weiter oben abgedruckte Version – die in der Konfigurationsdatei des Storage-Daemons verwendeten Director-Einstellungen funktionieren auch hier.

Im File-Daemon-Block erfolgt die eigentliche Deklaration des anzubietenden Dienstes. Neben der Festlegung des Namens und der maximal erlaubten Anzahl der Zugriffe können Sie hier auch ein Kompatibilitätsfeature freischalten, das den File-Daemon auf die auch in Bacula vorhandenen Funktionen beschränkt:

# "Global" File daemon configuration specifications
#
FileDaemon {
      # this is me
      Name = TAMHAN14-fd
      Maximum Concurrent Jobs = 20
      . . .
      # compatible = no
}

Nach diesen Änderungen kann der File-Daemon durch den weiter oben angeführten Services-Befehl starten. Leider ist die Konfiguration damit noch nicht abgeschlossen – der Director weiß noch nichts über die neue Ressource. Öffnen Sie daher in der VM »/etc/bareos/bareos-dir.conf« und fügen die folgende Passage ein:

Client {
      Name = TAMHAN14-fd
      Address = 192.168.1.219
      Password = "Passwort"
}

Der an "Name" übergebene Wert muss dem im File-Daemon-Abschnitt angegebenen String entsprechen. "Address" informiert den Director über den Aufenthaltsort des Daemons. Hier erlaubt Bareos neben IP-Adressen auch per DNS auflösbare Strings.

Unser Director meldet sich beim File-Daemon mit einer Kombination aus seinem eigenen Namen und dem für den Zugriff angeführten Passwort an. Der Client sucht daraufhin nach einer dazu passenden Director-Konfiguration. Fehlt diese, kommt es nicht zur Kommunikation.

Automatische Prüfung der Konfiguration

Alle Bareos-Werkzeuge bieten eine Syntaxprüfung ihrer Konfigurationsdatei. Die dazu notwendigen Befehle sehen so aus:

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