Zentrales Backup mit Bacula

In unserem Schulnetzwerk fallen an mehreren Stellen Daten an, die per Backup automatisch gesichert werden sollen. Dazu habe ich vor mehreren Jahren eine zentrale Backup-Lösung mit der Open Source Software Bacula eingerichtet. Da das verwendete Backup-Ziel bereits in die Jahre gekommen war, ging ich in den letzten Monaten ein Projekt zur Erneuerung der unseres Backup-Servers an.

Bestärkt wurde ich in meinen Plänen durch die neuerdings um sich greifende Bedrohung in Form von Verschlüsselungs-Trojanern. Diese sollen nicht nur in der Lage sein, Daten auf lokalen Laufwerken zu verschlüsseln, sondern können wohl bereits alle erreichbaren Netzwerkfreigaben bearbeiten. Der beste Schutz vor dieser Schadsoftware ist ein regelmäßiges Backup. Am sichersten ist in diesem Fall eben die hier vorgestellte Backup-Architektur, bei der die Backups von einem Server initiiert werden und auf einem Laufwerk landen, das vom Client aus nicht direkt erreichbar ist.

Grundsätzlich sollte die zugrundeliegende Struktur erhalten bleiben: Ein als virtuelle Maschine auf einem unserer mit vmWare ESXi betriebener Server dient als Backup-Server. Auf ihm ist die Backup-Software Bacula installiert, die sich mit Hilfe der auf den Servern mit zu sichernden Daten installierten Clients jeweils nachts automatisch die Daten holt. Als Medium zum Ablegen der Backup-Daten dient eine NAS-Box. Auf dieser sind mehrere Festplatten zu einem Raid5-Verbund zusammengefasst, um zumindest den Ausfall einer Platte abzufangen.

Da eine vergleichbare Lösung bereits im Einsatz war, hatte ich bereits ein wenig Erfahrung mit der Einrichtung von Bacula. Da dies jedoch wie bereits erwähnt mehrere Jahre zurück liegt, benötigte ich Unterstützung durch ein passendes Tutorial. Dazu diente mir die Anleitung unter [1] ergänzt um die bereits existierenden Konfigurationsdateien.

Abweichend von oben erwähnter Anleitung habe ich aufgrund der längeren Versorgung mit Updates Ubuntu 14.04 LTS verwendet. Für den Festplattenplatz auf der NAS-Box habe ich ein Freigabe unter einem speziell angelegten Benutzer erstellt, die ich unter /mybackup mit Hilfe eines Eintrags in /etc/fstab dauerhaft eingebunden habe.

Was im erwähnten Tutorial nicht beschrieben wird, ist die Sicherung von Daten auf einem Windows-Datei-Server. Hierzu ist ein Client notwendig, der hier heruntergeladen werden kann. Neben seiner Installation muss in Bacula in der Datei /etc/bacula/bacula-dir.conf entsprechend als Client definiert werden.

Client {
Name = windows-client.myLocalDomain-fd
Password = „topSecret (wie bei Client-Installation)“
Address = windows-client.myLocalDomain
FDPort = 9102
Catalog = MyCatalog
File Retention = 30 days
Job Retention = 3 months
AutoPrune = yes
}

Außerdem ist es notwendig ein entsprechendes FileSet zu definieren, also festzulegen, welche Verzeichnisse auf dem (Windows-)Datei-Server gesichert werden sollen.

FileSet {
Name = windows-client
Enable VSS = yes
Include {
File = „e:/“
Options {
signature = MD5
}
}
}

Letztlich wird noch ein Backup-Job definiert:

Job {
Name = windows-client.myLocalDomain
Client = windows-client.myLocalDomain-fd
JobDefs = „DefaultJob“
FileSet = „windows-client“
Write Bootstrap = „/var/lib/bacula/windows-client.myLocalDomain.bsr“
}

Der Zeitplan wird hierbei von DefaultJob geerbt und kann auf Wunsch auch abweichend hier definiert werden.

Viele Aufgaben lassen sich über die Webmin Console, deren Installation ebenfalls in [1] beschrieben wird, erledigen. Das macht den Betrieb von Bacula ansprechend bequem.

Verwendete Links:

[1] Install and Configure Bacula in Ubuntu 15.04

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.