Netzwerk-Backup mit Burp, Obnam und Backshift

© © Kirsty Pargeter, 123RF

Wettlauf

Die wohl bekanntesten freien Backup-Lösungen Bacula und Amanda bekommen Konkurrenz. Mit Burp, Obnam und Backshift beeindrucken vielversprechende Newcomer durch interessante Funktionen.
Security ist ein stets aktuelles Thema in der IT. Deshalb widmet sich das ADMIN-Magazin 04/2012 speziell Sicherheitsaspekten und gibt Antworten auf die Fragen: ... (mehr)

Zum Programm-Editor griff Graham Keeling in erster Linie, weil er sich über die Komplexität der Netzwerk-Backup-Software Bacula ärgerte [1]. Heraus kam die kompakte Netzwerk-Backup-Lösung Burp [2], die wahlweise im Client- oder Server-Modus läuft, sich vollständig über Aufrufparameter steuern lässt und sich somit auch für den Einsatz in Skripten eignet. Der Server-Modus wird nur auf Unix-/Linux-Maschinen unterstützt, während es von dem Client auch einen Installer für 32- und 64-Bit-Windows-Systeme gibt. Burp nutzt unter anderem Librsync zur Realisierung platzsparender Delta-Backups. Der Hauptunterschied zwischen gewöhnlichen inkrementellen und Delta-Backups zeigt sich beim Anlegen aufeinander folgender Sicherungen von Bereichen, die kontinuierlichen Änderungen unterliegen. Dann enthält jeder weitere inkrementelle Sicherungsdatensatz den vollständigen Inhalt des zuvor erstellten inkrementellen Sicherungsdatensatzes sowie alle seit der letzten Gesamtsicherung veränderten oder neu hinzugekommenen Daten. Delta-Sicherungen hingegen enthalten ausschließlich die seit der letzten Sicherung (gesamt oder inkrementell) geänderten oder hinzugekommenen Daten.

Burp-Features

Zum Sichern von Windows-Hosts nutzt Burp die Windows Volume Shadow Copy Services (VSS), was unterbrechungsfreie und konsistente Backups von Windows-Rechnern gewährleistet. Außerdem unterstützt es Junctions [3], eine Art symbolischer Links bei NTFS-Dateisystemen. Auf Unix-Systemen kann Burp neben Dateien und Verzeichnissen auch Hardlinks, Symlinks, Fifos und Device Nodes über das Netzwerk sichern. Bereits seit der Version 1.1.70 vom Sommer letzten Jahres sichert Burp unter FreeBSD auch Extended Attributes und ACLs (Access Control Lists).

Burp ist freie Software und steht unter der AGPLv3 auf Sourceforge [4] zum Download zur Verfügung. Die momentan stabile Version 1.3.0 datiert auf Januar diesen Jahres, während die aktuelle Version 1.3.6 Ende Mai freigegeben wurde. Der zugehörige Windows-Client steht in Form einer Installer-Datei für 32 und 64 Bit zur Verfügung. Optional kann der Admin die Burp-Dateien auch mit

git clone git://github.com/grke/burp.git

aus dem Github-Repository auschecken. Darüber hinaus ist Burp 1.3.1 seit einiger Zeit im Universe-Repository von Ubuntu Precise (12.04) enthalten und als Paket für Debian Sid verfügbar.

Zum Installieren des Servers unter Linux muss der Admin zunächst die notwendigen Pakete installieren, im Beispiel auf einer Ubuntu-Distribution:

sudo apt-get install librsync-dev libz-dev libssl-dev uthash-dev

Anschließend genügt es, im Verzeichnis der entpackten Quellen »sudo ./configure ; make ; make install« auszuführen.

Statt »make install« kann der Admin auch »checkinstall« benutzen, um ein Installationspaket zu bauen, was eine etwaige Deinstallation vereinfacht. Zum Starten des Servers genügt das Eingeben von

burp -c /etc/burp/burp-server.conf,

wobei »c-« den Pfad zur Konfigurationsdatei angibt. Die sorgt auch dafür, dass Burp beim Start die erforderlichen Zertifikate generiert (Abbildung 1).

Abbildung 1: Der Server ist mit wenigen Handgriffen einsatzbereit. Burp überträgt die Backup-Daten verschlüsselt zum Server.
Abbildung 2: In der Server-Konfiguration legt der Admin den Pfad zum Speichern der Backups auf dem Server fest.

In der Default-Einstellung läuft der Server als Daemon im Hintergrund, lässt sich aber mit der Option »-F« auch im Vordergrund starten. Für einen ersten Test kann der Admin die mitgelieferte Server-Konfiguration verwenden. Der Burp-Server benutzt per Default den Port 4971. Im Produktivbetrieb muss der Admin aber auf jeden Fall das Sicherungsverzeichnis anpassen (Abbildung 2).

Unix-Client

Jeder Client bekommt vom Server ein Unterverzeichnis im Sicherungsverzeichnis des Servers, in dem Burp die jeweils fünf letzten Sicherungen ablegt, was der Admin nach Belieben in der Vorlage der Serverkonfiguration »/etc/burp/burp-server.conf« den eigenen Wünschen anpassen kann. In der Unix-Variante implementiert »make install« übrigens auch einen Cron-Job für den Client, der per Default alle 20 Minuten aktiv wird. Die zu sichernden Daten legt der Admin in der jeweiligen Client-Konfigurationsdatei »/etc/burp/burp.conf« mithilfe einer Include-Anweisung fest.

Mit der Anweisung »exclude Pfad« lassen sich dagegen gezielt Verzeichnisse ausschließen. Noch granularer funktioniert das Ausschließen einzelnen Dateitypen mit »exclude_ext = Typ« , etwa

exclude_ext = img

Zudem lassen sich mit »exclude_fs« verschiedene Arten von Meta-Daten, etwa temporäre Dateisysteme wie »proc« , »devfs« , »devpts« oder »ramfs« von der Sicherung ausschließen:

exclude_fs = sysfs

Ferner ist es möglich, Dateien einer bestimmten Größe auszuschließen, etwa solche mit 0 MByte. Die Burp-Konfigurationssprache stellt dazu zwei mögliche Parameter »min_file_size« oder »max_file_size« zur Verfügung:

»min_file_size = 0 Mb«

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
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

Google+

Ausgabe /2019