So installieren Sie Bacula Server unter CentOS 7

Einführung

Bacula ist eine Open-Source-Netzwerk-Backup-Lösung, mit der Sie Backups erstellen und Daten auf Ihren Computersystemen wiederherstellen können. Es ist sehr flexibel und robust, wodurch es, obwohl es etwas umständlich zu konfigurieren ist, in vielen Situationen für Backups geeignet ist. Ein Backup-System ist eine important component in den meisten Serverinfrastrukturen, von der aus wiederhergestellt wird Datenverlust ist häufig ein kritischer Bestandteil von Disaster Recovery-Plänen.

In diesem Tutorial zeigen wir Ihnen, wie Sie die Serverkomponenten von Bacula auf einem CentOS 7-Server installieren und konfigurieren. Wir werden Bacula so konfigurieren, dass ein wöchentlicher Job ausgeführt wird, der ein lokales Backup erstellt (d. H. ein Backup seines eigenen Hosts). Dies ist an sich keine besonders überzeugende Verwendung von Bacula, bietet Ihnen jedoch einen guten Ausgangspunkt für die Erstellung von Backups Ihrer anderen Server, d. H. die Backup-Clients. Das nächste Tutorial in dieser Reihe behandelt das Erstellen von Backups Ihrer anderen Remote-Server, indem Sie den Bacula-Client installieren und konfigurieren und den Bacula-Server konfigurieren.

Wenn Sie stattdessen lieber Ubuntu 14.04 verwenden möchten, folgen Sie diesem Link: How To Install Bacula Server unter Ubuntu 14.04.

Voraussetzungen

Sie müssen auf einem CentOS 7-Server über Superuser-Zugriff (Sudo) verfügen. Außerdem benötigt der Server ausreichend Speicherplatz für alle Sicherungen, die Sie zu einem bestimmten Zeitpunkt aufbewahren möchten.

Wenn Sie DigitalOcean verwenden, sollten Sie * Private Networking * auf Ihrem Bacula-Server und allen Client-Servern aktivieren, die sich in derselben Datencenter-Region befinden. Auf diese Weise können Ihre Server beim Durchführen von Sicherungen das private Netzwerk verwenden, wodurch der Netzwerk-Overhead verringert wird.

Wir werden Bacula so konfigurieren, dass der private FQDN unserer Server verwendet wird, z. + bacula.private.example.com +. Wenn Sie kein DNS-Setup haben, verwenden Sie stattdessen die entsprechenden IP-Adressen. Wenn Sie das private Netzwerk nicht aktiviert haben, ersetzen Sie alle Netzwerkverbindungsinformationen in diesem Lernprogramm durch Netzwerkadressen, die von den betreffenden Servern erreichbar sind (z. B. öffentliche IP-Adressen oder VPN-Tunnel).

Die letzte Annahme ist, dass SELinux deaktiviert ist oder Sie SELinux-bezogene Probleme selbst beheben können.

Schauen wir uns zunächst eine Übersicht der Bacula-Komponenten an.

Bacula Komponentenübersicht

Obwohl Bacula aus mehreren Softwarekomponenten besteht, folgt es dem Server-Client-Sicherungsmodell. Um die Diskussion zu vereinfachen, konzentrieren wir uns mehr auf den * Backup-Server * und die * Backup-Clients * als auf die einzelnen Bacula-Komponenten. Trotzdem ist es wichtig, flüchtige Kenntnisse über die verschiedenen Bacula-Komponenten zu haben, deshalb werden wir sie jetzt durchgehen.

Ein Bacula * Server *, den wir auch als "Backup-Server" bezeichnen, hat folgende Komponenten:

  • Bacula Director (DIR): Software, die die Sicherungs- und Wiederherstellungsvorgänge steuert, die von den File- und Storage-Daemons ausgeführt werden

  • * Storage Daemon (SD): * Software, die Lese- und Schreibvorgänge auf den für Backups verwendeten Speichergeräten durchführt

  • * Katalog: * Dienste, die eine Datenbank mit gesicherten Dateien verwalten. Die Datenbank wird in einer SQL-Datenbank wie MySQL oder PostgreSQL gespeichert

  • * Bacula Console: * Eine Befehlszeilenschnittstelle, über die der Sicherungsadministrator mit Bacula Director interagieren und ihn steuern kann

Note: The Bacula server components don't need to run on the same server, but they all work together to provide the backup server functionality.

Ein Bacula * Client *, d.h. Auf einem zu sichernden Server wird die Komponente * File Daemon (FD) * ausgeführt. Der File Daemon ist eine Software, die dem Bacula-Server (insbesondere dem Director) den Zugriff auf die zu sichernden Daten ermöglicht. Wir werden diese Server auch als "Backup-Clients" oder "Clients" bezeichnen.

Wie bereits in der Einführung erwähnt, konfigurieren wir den Sicherungsserver so, dass eine Sicherung seines eigenen Dateisystems erstellt wird. Dies bedeutet, dass der Sicherungsserver auch ein Sicherungsclient ist und die File Daemon-Komponente ausführt.

Beginnen wir mit der Installation.

Installieren Sie Bacula und MySQL

Bacula verwendet eine SQL-Datenbank wie MySQL oder PostgreSQL, um den Backup-Katalog zu verwalten. In diesem Tutorial verwenden wir MariaDB, einen Drop-In-Ersatz für MySQL.

Installieren Sie die Bacula- und MariaDB Server-Pakete mit yum:

sudo yum install -y bacula-director bacula-storage bacula-console bacula-client mariadb-server

Nach Abschluss der Installation müssen wir MySQL mit dem folgenden Befehl starten:

sudo systemctl start mariadb

Nachdem MySQL (MariaDB) installiert ist und ausgeführt wird, erstellen wir den Bacula-Datenbankbenutzer und die Tabellen mit den folgenden Skripten:

/usr/libexec/bacula/grant_mysql_privileges
/usr/libexec/bacula/create_mysql_database -u root
/usr/libexec/bacula/make_mysql_tables -u bacula

Als nächstes wollen wir ein einfaches Sicherheitsskript ausführen, das einige gefährliche Standardeinstellungen entfernt und den Zugriff auf unser Datenbanksystem ein wenig sperrt. Starten Sie das interaktive Skript, indem Sie Folgendes ausführen:

sudo mysql_secure_installation

In der Eingabeaufforderung werden Sie nach Ihrem aktuellen Root-Passwort gefragt. Da Sie gerade MySQL installiert haben, werden Sie höchstwahrscheinlich keine haben. Lassen Sie das Feld leer, indem Sie die Eingabetaste drücken. Anschließend werden Sie gefragt, ob Sie ein Root-Passwort festlegen möchten. Fahren Sie fort und drücken Sie die Eingabetaste und geben Sie das Passwort ein. Bei den restlichen Fragen drücken Sie einfach bei jeder Eingabeaufforderung die Eingabetaste, um die Standardwerte zu akzeptieren. Dadurch werden einige Beispielbenutzer und -datenbanken entfernt, Remotestammanmeldungen deaktiviert und diese neuen Regeln geladen, sodass MySQL die von uns vorgenommenen Änderungen sofort berücksichtigt.

Jetzt müssen wir das Passwort für den Bacula-Datenbankbenutzer festlegen.

Geben Sie die MySQL-Konsole als Root-MySQL-Benutzer ein:

mysql -u root -p

Geben Sie an der Eingabeaufforderung das soeben festgelegte MySQL-Root-Passwort ein.

Legen Sie nun das Passwort für den Bacula-Datenbankbenutzer fest. Verwenden Sie diesen Befehl, aber ersetzen Sie das hervorgehobene "baculadbpassword" durch ein sicheres Passwort:

UPDATE mysql.user SET Password=PASSWORD('') WHERE User='bacula';
FLUSH PRIVILEGES;

Wenn Sie hier fertig sind, beenden Sie die MySQL-Eingabeaufforderung:

exit

Aktivieren Sie MariaDB, um beim Booten zu starten. Verwenden Sie dazu den folgenden Befehl:

sudo systemctl enable mariadb

Stellen Sie Bacula so ein, dass MySQL Library verwendet wird

Standardmäßig verwendet Bacula die PostgreSQL-Bibliothek. Da wir MySQL verwenden, müssen wir es so einstellen, dass stattdessen die MySQL-Bibliothek verwendet wird.

Führen Sie diesen Befehl aus:

sudo alternatives --config libbaccats.so

Sie werden die folgende Eingabeaufforderung sehen. Geben Sie 1 (MySQL) ein:

OutputThere are 3 programs which provide 'libbaccats.so'.

 Selection    Command
-----------------------------------------------
  1           /usr/lib64/libbaccats-mysql.so
  2           /usr/lib64/libbaccats-sqlite3.so
*+ 3           /usr/lib64/libbaccats-postgresql.so

Enter to keep the current selection[+], or type selection number:

Die Bacula-Server- (und Client-) Komponenten sind jetzt installiert. Erstellen wir die Sicherungs- und Wiederherstellungsverzeichnisse.

Erstellen Sie Sicherungs- und Wiederherstellungsverzeichnisse

Bacula benötigt ein * backup * -Verzeichnis zum Speichern von Backup-Archiven und ein * restore * -Verzeichnis, in dem wiederhergestellte Dateien abgelegt werden. Wenn Ihr System über mehrere Partitionen verfügt, müssen Sie die Verzeichnisse auf einer Partition erstellen, auf der ausreichend Speicherplatz vorhanden ist.

Erstellen wir neue Verzeichnisse für beide Zwecke:

sudo mkdir -p /bacula/backup /bacula/restore

Wir müssen die Dateiberechtigungen ändern, damit nur der Bacula-Prozess (und ein Superuser) auf diese Speicherorte zugreifen können:

sudo chown -R bacula:bacula /bacula
sudo chmod -R 700 /bacula

Jetzt können wir den Bacula Director konfigurieren.

Konfigurieren Sie Bacula Director

Bacula verfügt über mehrere Komponenten, die unabhängig voneinander konfiguriert werden müssen, um ordnungsgemäß zu funktionieren. Die Konfigurationsdateien befinden sich alle im Verzeichnis + / etc / bacula +.

Wir fangen mit dem Bacula-Direktor an.

Öffnen Sie die Bacula Director-Konfigurationsdatei in Ihrem bevorzugten Texteditor. Wir verwenden vi:

sudo vi /etc/bacula/bacula-dir.conf

Director-Ressource konfigurieren

Suchen Sie die Director-Ressource und konfigurieren Sie sie für die Wiedergabe von "+ 127.0.0.1 " (localhost), indem Sie die hier gezeigte Zeile " DirAddress +" hinzufügen:

bacula-dir.conf - Director DirAddress hinzufügen

Director {                            # define myself
 Name = bacula-dir
 DIRport = 9101                # where we listen for UA connections
 QueryFile = "/etc/bacula/query.sql"
 WorkingDirectory = "/var/spool/bacula"
 PidDirectory = "/var/run"
 Maximum Concurrent Jobs = 1
 Password = "@@DIR_PASSWORD@@"         # Console password
 Messages = Daemon

}

Fahren Sie nun mit dem Rest der Datei fort.

Lokale Jobs konfigurieren

Mit einem Bacula-Job werden Sicherungs- und Wiederherstellungsaktionen ausgeführt. Jobressourcen definieren die Details, wie ein bestimmter Job ausgeführt wird, einschließlich des Clientnamens und des FileSet, das unter anderem gesichert oder wiederhergestellt werden soll.

Hier konfigurieren wir die Jobs, die zum Durchführen von Sicherungen des lokalen Dateisystems verwendet werden.

Suchen Sie in der Director-Konfiguration die Ressource * Job * mit dem Namen “BackupClient1” (suchen Sie nach “BackupClient1”). Ändern Sie den Wert von "+ Name +" in "BackupLocalFiles", so dass es so aussieht:

bacula-dir.conf - BackupClient1-Job umbenennen

Job {
 Name = ""
 JobDefs = "DefaultJob"
}

Suchen Sie als Nächstes die Ressource * Job * mit dem Namen “RestoreFiles” (suchen Sie nach “RestoreFiles”). In diesem Job möchten Sie zwei Dinge ändern: Aktualisieren Sie den Wert von "+ Name " in "RestoreLocalFiles" und den Wert von " Where +" in "/ bacula / restore". Es sollte so aussehen:

bacula-dir.conf - RestoreFiles Job umbenennen

Job {
 Name = ""
 Type = Restore
 Client=BackupServer-fd
 FileSet="Full Set"
 Storage = File
 Pool = Default
 Messages = Standard
 Where =
}

Dadurch wird der RestoreLocalFiles-Job so konfiguriert, dass Dateien in + / bacula / restore + wiederhergestellt werden, dem zuvor erstellten Verzeichnis.

Dateigruppe konfigurieren

Ein Bacula FileSet definiert eine Reihe von Dateien oder Verzeichnissen, die von Jobs verwendet werden, um Dateien von einer Sicherungsauswahl einzuschließen oder auszuschließen.

Suchen Sie die FileSet-Ressource mit dem Namen "Vollständiger Satz" (unter dem Kommentar "# Liste der zu sichernden Dateien"). Hier nehmen wir drei Änderungen vor: (1) Fügen Sie die Option hinzu, gzip zum Komprimieren unserer Backups zu verwenden, (2) ändern Sie die Include-Datei von "+ / usr / sbin " in " / " und (3) fügen Sie "" hinzu Datei = / bacula + `im Abschnitt Ausschließen. Wenn die Kommentare entfernt sind, sollte es so aussehen:

bacula-dir.conf - Update "Full Set" FileSet

FileSet {
 Name = "Full Set"
 Include {
   Options {
     signature = MD5

   }
File =
}
 Exclude {
   File = /var/lib/bacula
   File = /proc
   File = /tmp
   File = /.journal
   File = /.fsck

 }
}

Sehen wir uns die Änderungen an, die wir am Dateisatz "Vollständiger Satz" vorgenommen haben. Zuerst haben wir die gzip-Komprimierung beim Erstellen eines Backup-Archivs aktiviert. Zweitens schließen wir "+ / " ein, d.h. die Root-Partition, die gesichert werden soll. Drittens schließen wir " / bacula +" aus, weil wir unsere Bacula-Backups und wiederhergestellten Dateien nicht redundant sichern möchten.

Note: If you have partitions that are mounted within /, and you want to include those in the FileSet, you will need to include additional File records for each of them.

Denken Sie daran, dass Ihre Sicherungen mehr Speicherplatz benötigen, als wenn Ihre Sicherungsauswahlen spezifischer sind, wenn Sie in Ihren Sicherungsaufträgen immer breite Dateisätze wie "Vollständiger Satz" verwenden. Beispielsweise kann ein FileSet, das nur Ihre angepassten Konfigurationsdateien und Datenbanken enthält, für Ihre Anforderungen ausreichend sein, wenn Sie einen klaren Wiederherstellungsplan haben, in dem die Installation der erforderlichen Softwarepakete und das Platzieren der wiederhergestellten Dateien an den richtigen Speicherorten unter Verwendung von nur einem Bruchteil von angegeben sind Der Speicherplatz für Sicherungsarchive.

Konfigurieren Sie die Storage Daemon-Verbindung

In der Bacula Director-Konfigurationsdatei definiert die Speicherressource den Speicher-Daemon, zu dem der Director eine Verbindung herstellen soll. Wir werden den eigentlichen Storage Daemon gleich konfigurieren.

Suchen Sie die Speicherressource und ersetzen Sie den Wert von Address (+ localhost +) durch den privaten vollqualifizierten Domänennamen (oder die private IP-Adresse) Ihres Sicherungsservers. Es sollte so aussehen (ersetzen Sie das hervorgehobene Wort):

bacula-dir.conf - Speicheradresse aktualisieren

Storage {
 Name = File
# Do not use "localhost" here
 Address =                 # N.B. Use a fully qualified name here
 SDPort = 9103
 Password = "@@SD_PASSWORD@@"
 Device = FileStorage
 Media Type = File
}

Dies ist erforderlich, da der Storage Daemon so konfiguriert wird, dass er die private Netzwerkschnittstelle überwacht, damit Remoteclients eine Verbindung dazu herstellen können.

Konfigurieren Sie die Katalogverbindung

In der Bacula Director-Konfigurationsdatei definiert die Katalogressource, wo die Datenbank verwendet und mit der der Director eine Verbindung herstellen soll.

Suchen Sie die Katalogressource mit dem Namen "MyCatalog" (unter dem Kommentar "Generischer Katalogservice") und aktualisieren Sie den Wert von "+ dbpassword +" so, dass er mit dem Kennwort übereinstimmt, das Sie für den bacula MySQL-Benutzer festgelegt haben:

bacula-dir.conf - Aktualisiere den Katalog dbpassword

# Generic catalog service
Catalog {
 Name = MyCatalog
# Uncomment the following line if you want the dbi driver
# dbdriver = "dbi:postgresql"; dbaddress = 127.0.0.1; dbport =
 dbname = "bacula"; dbuser = "bacula"; dbpassword = ""
}

Dadurch kann der Bacula Director eine Verbindung zur MySQL-Datenbank herstellen.

Pool konfigurieren

Eine Pool-Ressource definiert den Speichersatz, der von Bacula zum Schreiben von Sicherungen verwendet wird. Wir werden Dateien als Speichervolumen verwenden und das Etikett einfach aktualisieren, damit unsere lokalen Backups richtig beschriftet werden.

Suchen Sie die Pool-Ressource mit dem Namen "Datei" (unter dem Kommentar "# File Pool definition") und fügen Sie eine Zeile hinzu, die ein Beschriftungsformat angibt. Es sollte so aussehen, wenn Sie fertig sind:

bacula-dir.conf - Update-Pool:

# File Pool definition
Pool {
 Name = File
 Pool Type = Backup

 Recycle = yes                       # Bacula can automatically recycle Volumes
 AutoPrune = yes                     # Prune expired volumes
 Volume Retention = 365 days         # one year
 Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable
 Maximum Volumes = 100               # Limit number of Volumes in Pool
}

Speichern und schließen. Sie haben nun die Konfiguration des Bacula Director abgeschlossen.

Überprüfen Sie die Director-Konfiguration:

Vergewissern Sie sich, dass Ihre Director-Konfigurationsdatei keine Syntaxfehler enthält:

sudo bacula-dir -tc /etc/bacula/bacula-dir.conf

Wenn keine Fehlermeldungen vorliegen, enthält Ihre Datei + bacula-dir.conf + keine Syntaxfehler.

Als Nächstes konfigurieren wir den Storage Daemon.

Konfigurieren Sie den Storage Daemon

Unser Bacula-Server ist fast eingerichtet, aber wir müssen den Storage Daemon noch konfigurieren, damit Bacula weiß, wo Backups gespeichert werden.

Öffnen Sie die SD-Konfiguration in Ihrem bevorzugten Texteditor. Wir verwenden vi:

sudo vi /etc/bacula/bacula-sd.conf

Speicherressource konfigurieren

Suchen Sie die Speicherressource. Dies definiert, wo der SD-Prozess auf Verbindungen wartet. Fügen Sie den Parameter + SDAddress + hinzu und weisen Sie ihn dem privaten vollqualifizierten Domänennamen (oder der privaten IP-Adresse) Ihres Sicherungsservers zu:

bacula-sd.conf - SDAddress aktualisieren

Storage {                             # definition of myself
 Name = BackupServer-sd
 SDPort = 9103                  # Director's port
 WorkingDirectory = "/var/lib/bacula"
 Pid Directory = "/var/run/bacula"
 Maximum Concurrent Jobs = 20

}

Konfigurieren Sie das Speichergerät

Suchen Sie als Nächstes die Geräte-Ressource mit dem Namen "FileStorage" (suchen Sie nach "FileStorage") und aktualisieren Sie den Wert von "+ Archive Device +" entsprechend Ihrem Sicherungsverzeichnis:

bacula-sd.conf - Archivierungsgerät aktualisieren

Device {
 Name = FileStorage
 Media Type = File
 Archive Device =
 LabelMedia = yes;                   # lets Bacula label unlabeled media
 Random Access = Yes;
 AutomaticMount = yes;               # when device opened, read it
 RemovableMedia = no;
 AlwaysOpen = no;
}

Speichern und schließen.

Überprüfen Sie die Storage Daemon-Konfiguration

Vergewissern Sie sich, dass Ihre Storage Daemon-Konfigurationsdatei keine Syntaxfehler enthält:

sudo bacula-sd -tc /etc/bacula/bacula-sd.conf

Wenn keine Fehlermeldungen vorliegen, enthält Ihre Datei + bacula-sd.conf + keine Syntaxfehler.

Wir haben die Bacula-Konfiguration abgeschlossen. Wir sind bereit, die Bacula-Serverkomponenten neu zu starten.

Legen Sie die Passwörter für Bacula-Komponenten fest

Jede Bacula-Komponente, wie Director, SD und FD, verfügt über Kennwörter, die für die Authentifizierung zwischen Komponenten verwendet werden. Wahrscheinlich haben Sie beim Durchlaufen der Konfigurationsdateien Platzhalter bemerkt. Es ist möglich, diese Kennwörter manuell festzulegen. Da Sie diese Kennwörter jedoch nicht wirklich benötigen, führen Sie Befehle aus, um zufällige Kennwörter zu generieren und in die verschiedenen Bacula-Konfigurationsdateien einzufügen.

Diese Befehle generieren und setzen das Director-Passwort. Die + bconsole + stellt eine Verbindung zum Director her und benötigt daher auch das Passwort:

DIR_PASSWORD=`date +%s | sha256sum | base64 | head -c 33`
sudo sed -i "s/@@DIR_PASSWORD@@/${DIR_PASSWORD}/" /etc/bacula/bacula-dir.conf
sudo sed -i "s/@@DIR_PASSWORD@@/${DIR_PASSWORD}/" /etc/bacula/bconsole.conf

Diese Befehle generieren und setzen das Storage Daemon-Passwort. Der Director stellt eine Verbindung zum SD her und benötigt daher auch das Kennwort:

SD_PASSWORD=`date +%s | sha256sum | base64 | head -c 33`
sudo sed -i "s/@@SD_PASSWORD@@/${SD_PASSWORD}/" /etc/bacula/bacula-sd.conf
sudo sed -i "s/@@SD_PASSWORD@@/${SD_PASSWORD}/" /etc/bacula/bacula-dir.conf

Diese Befehle generieren und setzen das lokale File Daemon-Passwort (die Bacula-Client-Software). Der Director stellt eine Verbindung zu diesem FD her und benötigt daher auch das Kennwort:

FD_PASSWORD=`date +%s | sha256sum | base64 | head -c 33`
sudo sed -i "s/@@FD_PASSWORD@@/${FD_PASSWORD}/" /etc/bacula/bacula-dir.conf
sudo sed -i "s/@@FD_PASSWORD@@/${FD_PASSWORD}/" /etc/bacula/bacula-fd.conf

Jetzt können wir unsere Bacula-Komponenten starten!

Starten Sie Bacula Components

Starten Sie den Bacula Director, den Storage Daemon und den lokalen File Daemon mit den folgenden Befehlen:

sudo systemctl start bacula-dir
sudo systemctl start bacula-sd
sudo systemctl start bacula-fd

Wenn alle ordnungsgemäß gestartet wurden, führen Sie diese Befehle aus, damit sie beim Booten automatisch gestartet werden:

sudo systemctl enable bacula-dir
sudo systemctl enable bacula-sd
sudo systemctl enable bacula-fd

Testen wir, ob Bacula funktioniert, indem wir einen Sicherungsjob ausführen.

Test Backup Job

Wir werden die Bacula-Konsole verwenden, um unseren ersten Sicherungsjob auszuführen. Wenn es ohne Probleme läuft, wissen wir, dass Bacula richtig konfiguriert ist.

Geben Sie nun die Konsole mit diesem Befehl ein:

sudo bconsole

Dadurch gelangen Sie zur Eingabeaufforderung der Bacula-Konsole, die mit einem "+ * +" gekennzeichnet ist.

Erstellen Sie ein Etikett

Beginnen Sie, indem Sie einen Befehl + label + eingeben:

label

Sie werden aufgefordert, einen Datenträgernamen einzugeben. Geben Sie einen beliebigen Namen ein:

Enter new Volume name:

Wählen Sie dann den Pool aus, den das Backup verwenden soll. Wir verwenden den zuvor konfigurierten "Datei" -Pool, indem wir "2" eingeben:

Select the Pool (1-3):2

Sicherungsjob manuell ausführen

Bacula weiß jetzt, wie wir die Daten für unser Backup schreiben wollen. Wir können jetzt unser Backup ausführen, um zu testen, ob es richtig funktioniert:

run

Sie werden aufgefordert, den auszuführenden Job auszuwählen. Wir möchten den Job "BackupLocalFiles" ausführen, geben Sie also an der Eingabeaufforderung "1" ein:

Select Job resource (1-3):1

Überprüfen Sie an der Bestätigungsaufforderung "Sicherungsjob ausführen" die Details und geben Sie "Ja" ein, um den Job auszuführen:

yes

Überprüfen Sie Nachrichten und Status

Nach dem Ausführen eines Jobs teilt Bacula Ihnen mit, dass Sie Nachrichten haben. Die Nachrichten werden durch die Ausführung von Jobs generiert.

Überprüfen Sie die Nachrichten, indem Sie Folgendes eingeben:

messages

In der Meldung sollte "Kein vorheriger Datensatz für vollständigen Sicherungsjob gefunden" stehen und der Sicherungsjob wurde gestartet. Wenn Fehler auftreten, stimmt etwas nicht, und sie sollten Ihnen einen Hinweis geben, warum der Job nicht ausgeführt wurde.

Eine andere Möglichkeit, den Status des Jobs anzuzeigen, besteht darin, den Status des Directors zu überprüfen. Geben Sie dazu den folgenden Befehl an der bconsole-Eingabeaufforderung ein:

status director

Wenn alles richtig funktioniert, sollten Sie sehen, dass Ihr Job ausgeführt wird. Etwas wie das:

Output - status director (Running Jobs)Running Jobs:
Console connected at 09-Apr-15 12:16
JobId Level   Name                       Status
======================================================================
    3 Full    BackupLocalFiles.2015-04-09_12.31.41_06 is
====

Wenn Ihr Auftrag abgeschlossen ist, wird er wie folgt in den Abschnitt "Abgebrochene Aufträge" des Statusberichts verschoben:

Output - status director (Terminated Jobs)Terminated Jobs:
JobId  Level    Files      Bytes   Status   Finished        Name
====================================================================
    3  Full    161,124    877.5 M         09-Apr-15 12:34 BackupLocalFiles

Der Status „OK“ zeigt an, dass der Sicherungsjob ohne Probleme ausgeführt wurde. Herzliche Glückwünsche! Sie haben eine Sicherungskopie des vollständigen Satzes Ihres Bacula-Servers.

Der nächste Schritt ist das Testen des Wiederherstellungsjobs.

Wiederherstellungsjob testen

Nachdem ein Backup erstellt wurde, muss überprüft werden, ob es ordnungsgemäß wiederhergestellt werden kann. Mit dem Befehl "+ restore +" können Sie gesicherte Dateien wiederherstellen.

Führen Sie Restore All Job aus

Zur Veranschaulichung stellen wir alle Dateien in unserer letzten Sicherung wieder her:

restore all

Ein Auswahlmenü mit vielen verschiedenen Optionen wird angezeigt, mit denen festgelegt wird, von welchem ​​Sicherungssatz die Wiederherstellung erfolgen soll. Da wir nur eine einzige Sicherung haben, wählen wir "Letzte Sicherung auswählen", Option 5:

Select item (1-13):5

Da es nur einen Client gibt, den Bacula-Server, wird dieser automatisch ausgewählt.

Bei der nächsten Eingabeaufforderung werden Sie gefragt, welches FileSet Sie verwenden möchten. Wählen Sie "Full Set", das sollte 2 sein:

Select FileSet resource (1-2):2

Dadurch gelangen Sie in einen virtuellen Dateibaum mit der gesamten Verzeichnisstruktur, die Sie gesichert haben. Diese Shell-ähnliche Oberfläche ermöglicht es, mit einfachen Befehlen die Markierung von wiederherzustellenden Dateien aufzuheben.

Da wir festgelegt haben, dass alle wiederhergestellt werden sollen, ist jede gesicherte Datei bereits für die Wiederherstellung markiert. Markierte Dateien werden durch ein vorangestelltes "+ * +" gekennzeichnet.

Wenn Sie Ihre Auswahl verfeinern möchten, können Sie mit den Befehlen "ls" und "cd" durch Dateien navigieren und sie auflisten, Dateien zur Wiederherstellung mit "mark" markieren und Dateien mit "unmark" entmarkieren. Eine vollständige Liste der Befehle erhalten Sie, indem Sie "help" in die Konsole eingeben.

Wenn Sie mit der Auswahl der Wiederherstellung fertig sind, geben Sie Folgendes ein:

done

Bestätigen Sie, dass Sie den Wiederherstellungsjob ausführen möchten:

OK to run? (yes/mod/no):yes

Überprüfen Sie Nachrichten und Status

Wie bei Sicherungsjobs sollten Sie nach dem Ausführen eines Wiederherstellungsjobs die Nachrichten und den Director-Status überprüfen.

Überprüfen Sie die Nachrichten, indem Sie Folgendes eingeben:

messages

Es sollte eine Meldung angezeigt werden, die besagt, dass der Wiederherstellungsjob gestartet wurde oder mit dem Status "Restore OK" beendet wurde. Wenn Fehler auftreten, stimmt etwas nicht, und sie sollten Ihnen einen Hinweis geben, warum der Job nicht ausgeführt wurde.

Auch hier können Sie den Status eines Wiederherstellungsjobs anhand des Director-Status überprüfen:

status director

Wenn Sie mit der Wiederherstellung fertig sind, geben Sie "+ exit +" ein, um die Bacula Console zu verlassen:

exit

Überprüfen Sie die Wiederherstellung

Um zu überprüfen, ob der Wiederherstellungsjob die ausgewählten Dateien tatsächlich wiederhergestellt hat, können Sie im Verzeichnis "+ / bacula / restore +" nachsehen (das im Job "RestoreLocalFiles" in der Director-Konfiguration definiert wurde):

sudo ls -la /bacula/restore

Sie sollten wiederhergestellte Kopien der Dateien in Ihrem Root-Dateisystem sehen, mit Ausnahme der Dateien und Verzeichnisse, die im Abschnitt "Ausschließen" des Jobs "RestoreLocalFiles" aufgelistet wurden. Wenn Sie versuchen, Datenverluste zu beheben, können Sie die wiederhergestellten Dateien an die entsprechenden Speicherorte kopieren.

Wiederhergestellte Dateien löschen

Möglicherweise möchten Sie die wiederhergestellten Dateien löschen, um Speicherplatz freizugeben. Verwenden Sie dazu diesen Befehl:

sudo -u root bash -c "rm -rf /bacula/restore/*"

Beachten Sie, dass Sie diesen Befehl als root ausführen müssen, da sich viele der wiederhergestellten Dateien im Besitz von root befinden.

Fazit

Sie haben jetzt ein grundlegendes Bacula-Setup, mit dem Sie Ihr lokales Dateisystem sichern und wiederherstellen können. Im nächsten Schritt fügen Sie Ihre anderen Server als Sicherungsclients hinzu, damit Sie sie bei Datenverlust wiederherstellen können.

Das nächste Tutorial zeigt Ihnen, wie Sie Ihre anderen Remote-Server als Bacula-Clients hinzufügen können: https://www.digitalocean.com/community/tutorials/how-to-back-up-a-centos-7-server-with- bacula [Sichern eines CentOS 7-Servers mit Bacula].

Related