Getestet mit UCS4.4.1 und Bareos 17.2
Bareos (Backup Archiving Recovery Open Sourced) arbeitet netzwerkübergreifend und kann Daten vieler Betriebssysteme (Linux, Windows, macOS, FreeBSD, AIX, HP-UX und Solaris) sichern, archivieren und wiederherstellen. Sie können Ihre Backups auf Festplatten und Bandlaufwerken ablegen oder die Daten in der Cloud sichern. Es ist möglich, Zeitpläne für volle, inkrementelle und differenzielle Backups zu definieren. Über eine mehrsprachige Weboberfläche (das Bareos Web UI) erhalten Sie Zugriff auf die Bareos-Komponenten und auf die gesicherten Daten.
Bareos besteht aus mehreren Komponenten, die Hand in Hand arbeiten:
Der Bareos Director (der Server) ist die Steuerzentrale, der die Datenbank (Bareos-Katalog), die angeschlossenen Clients, die File Sets (beschreiben, welche Daten Bareos sichern soll), die Zeitpläne und die Backup-Jobs selbst verwaltet. Der File Daemon ist auf jedem Client-Rechner installiert, den Bareos sichern soll. Er führt die Anweisungen des Bareos Director aus und schickt die Daten an den Storage Daemon, der sie zusammen mit ihren Attributen auf den eingerichteten Sicherungsmedien speichern kann. Im einfachsten Fall können alle Komponenten auf einem einzigen Rechner laufen (detailliertere Informationen bietet das Bareos-Handbuch).
Folgende Variabel UCR sind wichtig:
ucr search bareos
Alle anderen Configs befinden sich am Bareosserver unter /etc/bareos
.
Die wichtigsten Verzeichnisse:
/etc/bareos/bareos-dir.d/fileset (Was wird gesichert und was nicht) /etc/bareos/autogenerated/clients (Clientconfig generiert von UCS) /etc/bareos/bareos-dir.d/schedule (Backupzeiten, Weekly...)
Bei neuen Files in diesen Verzeichnissen immer darauf achten das die Datei dem Bareosbenutzer und der Gruppe gehört.
Wir gehen hier von einer UCS VM aus, die auf Proxmox (ZFS) installiert ist. Für die Speicherung der Backups hängen wir einfach eine weitere virtuelle HDD ein. Hier auch wieder wichtig: „immer darauf achten das die Datei dem Bareosbenutzer und der Gruppe gehört.“ Den Pfad der Storage kann man mit folgender Variable ändern:
ucr get bareos/filestorage
Die Limits sind sehr klein gehalten. Deshalb sollte man sich vorher überlegen wie viel man sichern möchte, und wie lange man die Daten aufbehalten möchte.
ucr set bareos/max_full_volume_bytes=320 ucr set bareos/max_diff_volume_bytes=30 ucr set bareos/max_incr_volume_bytes=30
Wer den UCS-Bareosserver auch mit sichern möchte. Macht natürlich für etc usw. Sinn, setzt noch folgende Variable:
ucr set bareos/backup_myself=yes
Auch das Einrichten der Rechner aus der UCS-Domäne, die Bareos sichern soll, gelingt schnell und komfortabel. In der derzeitigen Version (Bareos 17.2.6 unter UCS 4.3 und 4.4) werden lediglich Windows- und Linux-Clients unterstützt. Um einen neuen Client in den Bareos-Backup-Plan aufzunehmen, wechseln Sie in der Univention Management Console (UMC) in die Abteilung Geräte und wählen Rechner aus. Klicken Sie in der Liste auf einen Rechnernamen. Auf der linken Seite sehen Sie unter Allgemein nun den Menüpunkt Bareos Backup. Klicken Sie auf diesen und aktivieren dann rechts die Checkbox Backup-Job aktivieren.
Nach einem Klick auf Speichern werden automatisch neue Konfigurationsdateien für den Bareos Director und für den Bareos File Daemon erzeugt. Auf dem Windows- oder Linux-Rechner installieren Sie danach den Bareos File Daemon. Abschließend gilt es, die Konfigurationsdatei vom UCS-Rechner auf den Client zu übertragen. Dazu kopieren Sie die passende Einrichtungsdatei aus dem Verzeichnis /etc/bareos/autogenerated/clients
auf dem UCS-Server auf den jeweiligen Client-Rechner. Die Konfigurationsdateien enthalten zur besseren Orientierung den in der Management Console gesetzten Rechnernamen.
Zur Installation der Client-Pakete unter Linux und Windows und zu den Konfigurationsdateien der jeweiligen File Daemons gibt es ein englisches Howto, das die wichtigsten Schritte beschreibt.
Weiters setzt man den FQDN in diesem File /etc/bareos/bareos-dir.d/storage/File.conf
. Da ansonsten nur vom Hostnamen ausgegangen wird. Beispiel:
Storage { Name = File Address = bareos.supertux.lan # N.B. Use a fully qualified name here (do not use "localhost" here). Password = "XXXXXXXXXXXXXXXXXxx" Device = FileStorage Media Type = File Collect Statistics = yes }
Danach muss das bareos-dir.service
neu gestartet werden.
Richtet man danach neue Client ein, Filesets, Configs, usw. begibt man sich in die „bconsole“ mit „help“ wird einem sehr ausführlich gezeigt was für Befehle es gibt. Mit dem Commando „reload“ ist die neue Konfig aktiv. Rechte der Configs beachten. Mit „messages“ gibt einem bareos auch sehr ausführlich Fehler in der soeben getätigen Konfiguration aus. Die Konsole gibt es übrigens auch über das Webinterface.
Bareos spricht auch IPV6. Default aber nur IPV4. Um das zu ändern editiert man diese Files /etc/bareos/bareos-dir.d/director/bareos-dir.conf
, /etc/bareos/bareos-sd.d/storage/bareos-sd.conf
, /etc/bareos/bareos-fd.d/client/myself.conf
und fügt folgenden Bereich hinzu. Danach startet man den Director, Filedaemon und die Storage neu. Achtung, die Einrückungen müssen hier genau passen, sonst starten die Services nicht mehr.
... Dir Addresses = { ipv6 = { addr = ::; } } ...
... SD Addresses = { ipv6 = { addr = ::; } } ...
Client { Name = bareos-fd Maximum Concurrent Jobs = 20 # remove comment from "Plugin Directory" to load plugins from specified directory. # if "Plugin Names" is defined, only the specified plugins will be loaded, # otherwise all filedaemon plugins (*-fd.so) from the "Plugin Directory". # # Plugin Directory = "/usr/lib/bareos/plugins" # Plugin Names = "" # if compatible is set to yes, we are compatible with bacula # if set to no, new bareos features are enabled which is the default # compatible = yes FD Addresses = { ipv6 = { addr = ::; } } }
systemctl restart bareos-sd.service bareos-dir.service bareos-fd.service
Überprüfen ob die Ports offen sind:
lsof -i :9101 (Director) lsof -i :9102 (Filedaemon) lsof -i :9103 (Storagedaemon)
Diese Version 18.2 funktioniert nicht mit den UCS-Servern (Stand 09.2019). Da die Version des Clients (Filedaemon) immer exakt die gleiche sein muss wie am Server, also 17.2. Installation des Clients 17.2 für Ubuntu 18.04. Direkt vom Repository der Firma ITEAS IT Services Gmbh..
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2FAB19E7CCB7F415 echo "deb https://apt.iteas.at/iteas bionic main" > /etc/apt/sources.list.d/iteas.list apt update apt install bareos-filedaemon
Optinal die QTGUI wenn man eine Desktopworkstation benutzt:
apt install bareos-traymonitor
Für die Installation (neueste Version) muss ein Rository eingebunden werden, direkt von Bareos.
RELEASE=release/latest/ DIST=xUbuntu_$(lsb_release -sr) URL=http://download.bareos.org/bareos/$RELEASE/$DIST printf "deb $URL /\n" | sudo tee /etc/apt/sources.list.d/bareos.list wget -q $URL/Release.key -O- | sudo apt-key add - apt update apt install bareos-client -y
Hat man alles installiert, editiert man die Datei
nano /etc/bareos/bareos-fd.d/client/myself.conf
Dort schreibt man den richtigen Namen hinein so wie dieser auch in der autogenerierten Config am Server steht. z.B. ubuntu.supertux.lan-fd
Weiters editiert man die Datei
nano /etc/bareos/bareos-fd.d/director/bareos-dir.conf
Dort schreibt man das richtige Passwort von der autogenerierten Config am Server ab und ersetzt das in dieser Datei. Event. möchte man noch Zeitpläne und Filesets anpassen. Hat man das erledigt, kann man das Backup auch schon starten.
Um die richtige Version in UCS zu bekommen muss man die Appcenterquelle einbinden. Wichtig auch hier das die Clientersion immer analog zur Serverversion passt. In unserem Fall wieder die Version 17.2.x
Nun das neue Repository im Webinterface unter „Software → Repository-Einstellungen“, unter „Zusätzliche Repositories“ auf „Neu“ klicken und die Tabelle wie folgt ausfüllen:
Dann auf „Änderungen Anwenden“ klicken. Das Repo wird nun eingelesen. Der Vorgang kann je nach Serverlast, Internetlast und Geschwindigkeit etwas dauern. Danach kann man den Client im Webinterface unter „Software → Paketverwaltung“ installieren. Paketname: „bareos-client“. Oder auf der CMD mit:
univention-install bareos-client
Diese Version 18.2 funktioniert nicht mit den UCS-Servern (Stand 09.2019). Da die Version des Clients (Filedaemon) immer exakt die gleiche sein muss wie am Server, also 17.2. Installation des Clients 17.2 für Ubuntu 18.04. Direkt vom Repository der Firma ITEAS IT Services Gmbh..
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2FAB19E7CCB7F415 echo "deb https://apt.iteas.at/iteas buster main" > /etc/apt/sources.list.d/iteas.list apt update apt install bareos-client
Auch auf Gentoo spielt das ganze einwandfrei zusammen. Folgende Dinge müssen gesetzt sein.
Useflags in der Datei /etc/portage/package.use/static
app-backup/bareos clientonly -storage-daemon -postgres
Plus Freischaltung der richtigen Version in der Datei /etc/portage/package.keywords/static
=app-backup/bareos-17.2.6
Danach kann man das Paket ganz normal mit emerge
installieren. Konfiguration gleich wie bei bei den anderen Systemen.
Bareos spricht auch IPV6. Default aber nur IPV4. Um das zu ändern editiert man folgendes File /etc/bareos/bareos-fd.d/client/myself.conf
Achtung, die Einrückungen müssen hier genau passen.
Client { Name = ubuntudev.osit.cc-fd Maximum Concurrent Jobs = 20 # remove comment from "Plugin Directory" to load plugins from specified directory. # if "Plugin Names" is defined, only the specified plugins will be loaded, # otherwise all storage plugins (*-fd.so) from the "Plugin Directory". # # Plugin Directory = /usr/lib/bareos/plugins # Plugin Names = "" # if compatible is set to yes, we are compatible with bacula # if set to no, new bareos features are enabled which is the default # compatible = yes FD Addresses = { ipv6 = { addr = ::; } } }
Danach startet man den Filedaemon neu.
systemctl restart bareos-filedaemon.service
Ob es funktioniert sieht man mit lsof -i :9102
.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bareos-fd 20971 root 3u IPv6 97544 0t0 TCP *:bacula-fd (LISTEN)
Um die Fortschrittsanzeige im Webinterface zu aktivieren, muss man die Statistiken auf dem Server einschalten.
(assuming default/out-of-the-box config filenames)
/etc/bareos/bareos-dir.d/director/bareos-dir.conf: (Director section) Statistics Collect Interval = XX # interval in seconds
/etc/bareos/bareos-dir.d/storage/File.conf: (Storage section) Collect Statistics = yes
/etc/bareos/bareos-sd.d/storage/bareos-sd.conf: (Storage section) Collect Job Statistics = yes
Danach muss der Director und der Storagedaemon neu gestartet werden.