Server/Client Backup mit Bareos

Startseite Foren LUGNM Projekte Server/Client Backup mit Bareos

Schlagwörter: , ,

  • Dieses Thema hat 0 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 6 Jahren von DirkM.
Ansicht von 1 Beitrag (von insgesamt 1)
  • Autor
    Beiträge
  • #688
    DirkM
    Teilnehmer

    Bareos inkl. Webinterfaces

    Dieses How-to bezieht sich auf eine Installation unter Debian 9.x (Strech), lässt ich aber
    bestimmt leicht auf andere Distributionen portieren.

    Nachdem Bareos zusammen mit Webfrontend betrieben werden soll, müssen vor der eigentlichen Installation des Bareos-Server folgende Voraussetzungen erfüllt sein. Es sei gleich vorweg erwähnt, dass Webfrontend nur für Jobverarbeitung und dem Restore da ist.
    Die eigentlichen Jobs müssen auf der CLI erstellt werden.

    Starten wir mit der Installation der benötigen Paket welche wir vor der Bareos-Installation
    benötigen. Ich habe diese in kurze Scripts geschrieben, damit man dies nicht ständig tippen muss. Diese sollte also als „root“ ausgeführt werden!

    Installation von Web- und Datenbankserver:

    #!/bin/bash

    # Für Web-UI – Webserver inkl. PHP installieren
    apt install apache2 apache2-doc apache2-utils libapache2-mod-php php7.0 php7.0-common php7.0-gd php7.0-cli php7.0-cgi libapache2-mod-fcgid apache2-suexec-pristine apache2-suexec-custom php-pear
    # Apache Module aktivieren
    a2enmod suexec rewrite
    # Apache Dienst neu starten
    service apache2 restart

    # Datenbankserver und -client installieren
    apt install mariadb-server mariadb-client
    # Datenbankserver absichern
    mysql_secure_installation

    Nun nachdem Webservice und Datenbank laufen können wir auch schon mit der Installation des Bareos-Servers beginnen. Man könnte jetzt die Paket aus dem Repository nehmen, die Community von Bareos stellt aber diese auch in aktueller Version zur Verfügung.

    Aus diesem Grund habe ich diese in APT aufgenommen, damit auch die zukünftigen Updates mit berücksichtig werden.
    Hier wieder ein kleines Script, welches dies erledigt.
    Unter Debian startet hier eine debconf welche die Einrichtungsparameter kurz abfragt, anschließend ist das System schon fast einsatzbereit.

    #!/bin/bash

    DIST=Debian_9.0
    DATABASE=mysql
    URL=http://download.bareos.org/bareos/release/latest/$DIST/

    printf „deb $URL /\n“ > /etc/apt/sources.list.d/bareos.list
    #add bareos keyring
    wget -q $URL/Release.key -O- | apt-key add –

    apt-get update
    apt-get install bareos bareos-database-$DATABASE

    Wenn jetzt alles soweit sauber durchgelaufen ist, können die Dienste noch gestartet werden.

    # Bareos Direcotr starten
    service bareos-dir start

    # Bareos Storagedaemon starten
    service bareos-sd start

    # Bareos Filedaemon starten
    Service bareos-fd start

    Jetzt kann die Weboberfläche noch nachinstalliert werden.

    apt install bareos-webui

    Damit man sich hier einloggen kann muss hier noch eine Konfigurationsdatei aktiviert/erstellt werden:

    cp /etc/bareos/bareos-dir.d/console/admin.conf.example /etc/bareos/bareos-dir.d/console/admin.conf

    Mit dem Editor öffnen und ein Passwort vergeben.

    vi /etc/bareos/bareos-dir.d/console/admin.conf

    Anschließend den Webservice neu startet:

    systemctl reload apache2.service

    Die Weboberfläche sollte anschließend unter:

    http://<server-ip>/bareos-webui/

    erreichbar sein.

    Wie einleitend schon erwähnt, kann man in der Weboberfläche Jobs starten und Dateien wiederherstellen, aber keine neuen Jobs einrichten.
    Dies verknüpfen wir gleich mal mit der Client-Installation.

    Folgendes kleine Script nimmt wieder die Änderung an der Source-Liste vor und installiert die Bareos Client Software.

    #!/bin/bash

    DIST=Debian_9.0
    URL=http://download.bareos.org/bareos/release/latest/$DIST/

    printf „deb $URL /\n“ > /etc/apt/sources.list.d/bareos.list
    #add bareos keyring
    wget -q $URL/Release.key -O- | apt-key add –

    apt-get update
    apt-get install bareos-client

    So – erst mal zurück auf den Bareos-Server!
    Der Client muss nun dem Bareos-Server bekannt gemacht wernden:

    bconsole
    *configure add client name=client01 address=x.x.x.x password=PASSWORD4backup

    Daraufhin werden unter:

    /etc/bareos/bareos-dir.d/client/<name.conf>
    /etc/bareos/bareos-dir-export/client/<name>/bareos-fd.d/director/bareos-dir.conf

    erzeugt.

    Die letzte Datei ist für den Client bestimmt und sollte mittels SCP nach /etc/bareos-fd.d/director/
    kopiert werden.
    In der bareos-dir.conf wird das vergebene Passwort als MD5-Hash eingetragen. Bei mir hat dies leider nicht funktioniert und wurde durch das Passwort im Klartext ersetzt.

    Anschließend am Client den Service starten:

    service bareos-fd start

    Auf dem Server in die Bareos-Console gehen und die Konfiguration einlesen und die Verbindung prüfen:

    bconsole
    *reload
    *status client=<name>

    Wenn bis hier keine Fehler sind, sollte auch in der Webui unter Clients, dass System sichtbar sein. Betriebssystem und die anderen Informationen werden erst nach dem ersten Backup angezeigt.

    Anschließend muss jetzt nur noch die Backup-Strategie festgelegt werden.

    WANN wird WAS WIE gesichert.

    WANN wird unter: /etc/bareos/bareos-dir.d/schedule/ hinterlegt.

    Beispiel: vi /etc/bareos/bareos-dir.d/schedule/Daily2200.conf

    Schedule {
    Name = „Daily2200“
    Run = daily at 22:00
    }

    WAS wird unter: /etc/bareos/bareos-dir.d/fileset/ hinterlegt.

    Beispiel: vi /etc/bareos/bareos-dir.d/fileset/LinuxConfig.conf

    FileSet {
    Name = „LinuxConfig“
    Include {
    Options {
    Signature = SHA1
    Compression = LZ4
    noatime = yes
    }
    File = /etc
    }
    }

    WIE wird unter: /etc/bareos/bareos-dir.d/jobdefs/ hinterlegt.

    Beispiel: vi /etc/bareos/bareos-dir.d/jobdefs/BackupLinuxConfig.conf

    JobDefs {
    Name = „BackupLinuxConfig“
    Type = Backup
    Level = Incremental
    Client = bareos-fd
    FileSet = „LinuxConfig“
    Schedule = Daily2200
    Storage = File
    Messages = Standard
    Pool = Incremental
    Priority = 10
    Write Bootstrap = „/var/lib/bareos/%c.bsr“
    Full Backup Pool = Full
    Differential Backup Pool = Differential
    Incremental Backup Pool = Incremental
    }

    In den JobDefs werden die Standard-Werte definiert. WER diese dann ausführt wird in
    einer job.conf unter: /etc/bareos/bareos-dir.d/job/ definiert.

    Beispiel: vi /etc/bareos/bareos-dir.d/job/<name>-config-backup.conf

    Job {
    Name = „client01-config-backup“ # Name des Jobs
    JobDefs = „BackupLinuxConfig“ # Name des JobDefs
    Client = „client01“                         # Name des Clients
    }

    Ist alles wunschgemäß erstellt muss die Konfiguration in der Bareos-Console wieder eingelesen werden.

    bconsole
    *reload

    Jetzt sollte diese auch in der Web-GUI sichtbar sein und die Jobs zu den entsprechenden Zeiten ausgeführt werden.

    Have a lot of fun.

    Dirk

Ansicht von 1 Beitrag (von insgesamt 1)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.