Sichern mit Open Source Solution - Bareos

  • Tutorial


Ein aktuelles Backup zur Hand zu haben, ist ein äußerst wichtiger Punkt, da niemand vor unangenehmen Fällen geschützt ist, die mit Medienausfall, Informationsverlust, versehentlichem Löschen usw. verbunden sind. In solchen Situationen werden durch die Sicherung nicht nur die Nerven geschont, sondern auch mögliche finanzielle Probleme behoben, die durch Datenverlust entstehen können.

Bareos - wurde aus folgenden Gründen als Backup-System ausgewählt:

  • ist Open Source;
  • sich aktiv entwickeln;
  • hat viele nützliche Funktionen;
  • kann seine Funktionalität dank Plugins erweitern.

Aufgabenbeschreibung


Nehmen wir an, wir haben 3 Autos. Server: Bareos, BitrixVm, Windows Server 2012 R2. All dies wird sich zum Beispiel im selben Netzwerk befinden, aber Bareos selbst ermöglicht Ihnen natürlich das Sichern, wenn sich die Maschine außerhalb davon befindet.

Bareos - 172.16.10.10
BitrixVM - 172.16.10.11
Windows Server - 172.16.10.12


Repository hinzufügen:

# wget http://download.bareos.org/bareos/release/latest/CentOS_7/bareos.repo -O /etc/yum.repos.d/bareos.repo


Für einen Server mit Bareos verwenden wir CentOS 7. Eine typische Installation findet statt:

# yum install -y bareos-client bareos-database-tools bareos-filedaemon bareos-database-postgresql bareos bareos-bconsole bareos-database-common bareos-storage bareos-director bareos-common

Als Datenbank wird PostgreSQL verwendet. Die Installation ist ebenfalls einfach:

# yum install -y postgresql-server postgresql-contrib

Bei der Installation von Bareos in / etc / bareos haben wir die folgende Liste von Dateien und Ordnern, mit Ausnahme des ssl-Verzeichnisses werden wir etwas später darauf zugreifen:

/bareos-dir.d
/bareos-sd.d
/ssl
bareos-dir.conf
bareos-fd.conf
bareos-sd.conf
bconsole.conf
.rndpwd

Nach der Installation werden vorbereitete Skripte für die Arbeit mit Bareos im Verzeichnis / usr / lib / bareos / scripts / angezeigt. Dank ihnen werden wir eine vorläufige Konfiguration der Datenbank durchführen (wir werden die Datenbank, Tabellen und Rechte erstellen):

su postgres -c /usr/lib/bareos/scripts/create_bareos_database
su postgres -c /usr/lib/bareos/scripts/make_bareos_tables
su postgres -c /usr/lib/bareos/scripts/grant_bareos_privileges

Der wichtige Punkt ist, dass die Namen unserer Maschinen aufgelöst werden müssen, andernfalls fügen Sie die entsprechenden Zeilen zu / etc / hosts hinzu

172.16.10.10	bareos-server
172.16.10.10	bareos-fd
172.16.10.11	bitrixvm
172.16.10.12	win-fd

bareos-server - der Server selbst, bareos-fd - wir sichern auch den Server selbst, d. h. Gleichzeitig fungiert es als Client. In der Konfiguration wird dann Bitrixvm (der Name des Clients spricht für sich selbst) und Win-FD (ein Client mit Windows Server 2012 R2) angezeigt.

Der Serverteil für BareOS, nämlich der Director, muss in der Datei bareos-dir.conf konfiguriert werden. Der Direktor ist für alle durchgeführten Operationen verantwortlich.

Aus den Hauptrichtlinien:

Director - eine Beschreibung des Directors selbst,
Storage - das Gerät, auf dem wir Backups
erstellen , Catalog - enthält Informationen zum abgeschlossenen Job, gespeicherte Dateien, Clients, Statusinformationen,
Nachrichten - welche Nachrichten werden gesammelt und wie sie zugestellt werden,
Console - Einrichten der Konsole zum Verwalten des Directors,
Client - Beschreibung des Clients, von dem Backups erstellt werden.
Pool - Ermöglicht die Verwaltung der so genannten. Datenträger, in den Daten für verschiedene Sicherungsarten geschrieben werden (Vollständig, Inkrementell, Differenziell), um die Speicherdauer für
Datenträger , Größen, Dateisätze und zusätzliche Attribute zu begrenzen ,
Zeitplan - Zeitplan,
Job - Beschreibung der Sicherungsaufgabe.

Aus der offiziellen Dokumentation geht hervor, dass das Schema der Interaktion zwischen Diensten:



Der Inhalt der Datei bareos-dir.conf:
Director {
# Erforderlicher Parameter Name des Directors
Name = bareos-server
# Erforderlicher Parameter für
Abfragedateien QueryFile = "/usr/lib/bareos/scripts/query.sql"
# Anzahl gleichzeitig ausgeführter Jobs
Maximum Concurrent Jobs = 10
# Kennwort (häufig verwendet 20 -40 Zeichen, für den Test beschränken wir uns auf 9 Zeichen.)
Passwort = "zcx @ # $ BGj"
# Angabe, welche Warnungen verwendet werden sollen (Nachrichtenanweisung wird später beschrieben)
Nachrichten = Standard
# TLS-Verschlüsselung. Wird später beschrieben.
# TLS aktiviert TLS aktiviert
= ja
TLS erforderlich = ja

TLS überprüft Peer = ja
# erlaubt CN
TLS erlaubt CN = “bareos-server”
TLS Allowed CN = "bitrixvm"
TLS Allowed CN = "win-fd"
#
Speicherort des CA-Zertifikats TLS CA Certificate File = /etc/bareos/ssl/ca-chain.cert.pem
# Speicherort des Zertifikats
TLS Certificate = / etc / bareos / ssl / bareos-server.cert.pem
# Position des Schlüssels zum
TLS- Zertifikat Key = /etc/bareos/ssl/bareos-server.nopass.key.pem
TLS-DH-Datei = /etc/bareos/ssl/dh1024.pem
}

Storage {
Name = bareos-server-sd
# Sie können sowohl nach IP als auch nach Namen angeben. Damit TLS ordnungsgemäß funktioniert, ist es wichtig,
Folgendes anzugeben: # name Address = bareos-server
Password = "zcx @ # $ BGj"
# Legt den Namen für das Gerät fest, auf dem die Daten gespeichert werden. Die Geräteparameter werden in der Datei-sd.conf bareos setzen
das Gerät = bareos sd-
Medien die Art der Datei =
Port = 9103
die TLS Enable = yes oder die
die TLS = yes oder die das Erfordern
die TLS - CA - Zertifikat der Datei = /etc/bareos/ssl/ca-chain.cert.pem
die TLS Zertifikat = /etc/bareos/ssl/bareos-server.cert.pem
TLS-Schlüssel = /etc/bareos/ssl/bareos-server.nopass.key.pem
}

Katalog {
# Alle Parameter für die Verbindung zur Datenbank
Name = bareos- sind festgelegt server
dbdriver = "postgresql"
dbname = "bareos"
dbuser = "bareos"
dbpassword = ""
}

Nachrichten {
# Beschreibt die Nachrichtentypen, die gesendet und protokolliert werden sollen.
Name = Standard-
E-Mail = root @ localhost = all ,! Übersprungen! Audit-
Konsole = all
,! Übersprungen! Gespeichert! Audit- Anhang = "/ var / log / bareos /bareos.log "= alle, übersprungen, audit
append =" /var/log/bareos/bareos-audit.log "= audit
}

Client {
#
Clientname für Backup Name = bareos-fd
# Verzeichnisname
Catalog = bareos -server
Enabled = yes
#
Geben Sie den Adressnamen ein. Address = bareos-server
Password = "zcx @ # $ BGj"
Port = 9102
# TLS-Parameter werden später beschrieben.
TLS Enable = yes
TLS Require = yes
TLS-CA-Zertifikatdatei = /etc/bareos/ssl/ca-chain.cert.pem
TLS-Zertifikat = /etc/bareos/ssl/bareos-server.cert.pem
TLS-Schlüssel = / etc / bareos / ssl / bareos-server. nopass.key.pem
}

Pool {
# Poolname für eine vollständige Sicherung
Name = bareos-pool -Full
# Hängt automatisch eine Bezeichnung wie "bareos-client-Full-" + Nummer #Volume an die Sicherungsdatei an
# Zum Beispiel den endgültigen Namen Volume nach der nächsten Sicherung wird wie folgt aussehen: bareos-client- # Full-0009
Label Format = "bareos-client-Full-"
# Pool type. Gemäß der offiziellen Dokumentation von BareOS wird derzeit nur Backup
Type Type = Backup
# Volume implementiert. # Volume für die vollständige Sicherung wird 3 Monate lang gespeichert.
Volume Retention = 3 Monate
# nach dem der Katalog von veralteten Daten
gelöscht wird AutoPrune = yes
# Volume wird überschrieben
Recycle = yes
}

Pool {
#
Poolname für inkrementelles Backup Name = bareos-pool-inkrementelles
Pool Typ = Backup
Recycle = yes
Auto Prune = yes Aufbewahrung des Volumes
= 10 Tage
Label Format = "bareos-client-Incremental-"
}

Pool {
#
Poolname für differenzielle Sicherung Name = bareos-pool-Differential Pooltyp
= Sicherung
Recycling = ja
Auto Prune = ja Aufbewahrung des Volumes
= 11 Tage
Label Format = "bareos-client-" Differential- »
}

FileSet {
#
Legen Sie den Namen für die Dateigruppe fest. Name = bareos-fileset
# Geben Sie in Include an, welche Dateien gespeichert werden sollen. In diesem Fall enthält der Ordner / etc
{
File = "/ etc"
}
}

Schedule {
# Schedule
Name Name = "MonthlyCycle"
# einmal pro Woche wird eine vollständige Sicherung
ausgeführt Run = Level = Full mon at 2:00
# Während des Tages 5 inkrementell Backups stündlich
Run = Level = Inkremental stündlich um 13:00
Run = Level = Inkremental stündlich um 14:00
Run = Level = Inkremental stündlich um 15:00
Run = Level = Inkremental stündlich um 16:00
Run = Level = Inkremental stündlich um 17:00
}

Job {
# Name für die Aufgabe
Name = Job-Full
# Sein Typ. Es kann sich um den Backup- oder Restore-
Typ handeln = Backup
# Backup- Level. Full, Differential oder Incremental
Level = Incremental
# Für welchen Client Job
Client = bareos-fd wird ausgeführt
#
Dateigruppe FileSet = bareos-Dateigruppe
#
Schedule = “MonthlyCycle”
# Name des verwendeten Speichers
= Storage-bareos-server-sd
# Alerts
Messages = Standart
# Verwendeter Pool
Pool = Bareos-Pool -
Vollständiger Backup-Pool = Bareos-Pool - Vollständiger
differenzieller Backup-Pool = Bareos-Pool-Differential
Inkrementeller Sicherungspool = Bareos-Pool-inkrementell
}

Job {
Name = Job-Vollständige Wiederherstellung
Typ =
Client wiederherstellen = Bareos-
FD FileSet = "Bareos-Dateigruppe"
Speicher = Bareos-Server-
SD Pool = Bareos-Pool -Full
Messages = Standart
# Angabe des Pfades, in den alle Dateien, in denen
= / tmp
} gespeichert ist, während der Wiederherstellung verschoben werden

# Fügen Sie zwei weitere Clients als separate Konfigurationsdateien hinzu.

@/etc/bareos/bareos-dir.d/win.conf
@/etc/bareos/bareos-dir.d/bitrixvm.conf

Es ist wichtig, dass eine Übereinstimmung zwischen den Konfigurationen besteht:


Konfigurieren Sie als Nächstes Storage in bareos-sd.conf:
Speicher {
# Name
Name = bareos-server-sd
# Maximale Anzahl gleichzeitig ausgeführter
Jobs Maximale Anzahl gleichzeitiger Jobs = 20
# Durch den Namen angegebene Adresse
SDAddress = bareos-server
SDPort = 9103
TLS Enable = yes
TLS Require = yes
TLS Verify Peer = no
TLS Zulässiges
TLS-CA-Zertifikat CN = "bareos-server" Datei = /etc/bareos/ssl/ca-chain.cert.pem
TLS-Zertifikat = /etc/bareos/ssl/bareos-server.cert.pem
TLS-Schlüssel = / etc / bareos / ssl / bareos-server.nopass.key.pem
}

Director {
# Wir beschreiben die Parameter eines Directors, der eine Verbindung zu Storage
Name = bareos-server
Password = "zcx @ # $ BGj" herstellen kann.
TLS Enable = Ja
TLS Require = Ja
TLS Verify Peer = Ja
TLS Allowed CN = "Bareos-Server"
TLS-CA-Zertifikat File = /etc/bareos/ssl/ca-chain.cert.pem
TLS Certificate = / etc / bareos / ssl /bareos-server.cert.pem
TLS-Schlüssel = /etc/bareos/ssl/bareos-server.nopass.key.pem
TLS-DH-Datei = /etc/bareos/ssl/dh1024.pem
}

Gerät {
# Wir beschreiben das Speichergerät selbst
Name = bareos-sd Medientyp
= Datei
# Pfad zum Gerät
Archivierungsgerät = / opt / backup
# Automatische
Kennzeichnung von Volumes zulassen LabelMedia = yes
# Für gleichzeitigen Zugriff bei gleichzeitiger Ausführung mehrerer Aufgaben
Zufälliger Zugriff = yes
# Mounten Sie das Gerät
automatisch AutomaticMount = yes RemovableMedia
= no
AlwaysOpen = no
}

Nachrichten {
Name = Standard
Director = Bareos-Server = all
}

Client-Einstellungen bareos-fd.conf:

Director {
# Parameter zum Verbinden des Directors
Name = Bareos-Server
Password = " zcx @ # $ BGj "
TLS aktivieren = ja
TLS erforderlich = ja
TLS überprüfen Peer = ja
TLS zulässig CN =" bareos-server "
TLS-CA-Zertifikat Datei = /etc/bareos/ssl/ca-chain.cert.pem
TLS-Zertifikat = /etc/bareos/ssl/bareos-server.cert.pem
TLS-Schlüssel = /etc/bareos/ssl/bareos-server.nopass.key.pem
TLS DH File = /etc/bareos/ssl/dh1024.pem
}

FileDaemon {
# FileDaemon ist ein Synonym für Client
Name = bareos-fd
Maximum Concurrent Jobs = 20
# Deaktiviert die Kompatibilität mit Bacula. In diesem Fall sind alle #bareos-Funktionen aktiviert, die standardmäßig aktiviert sind.
Kompatibel = Nein
TLS Aktivieren = Ja
TLS Erforderlich = Ja
TLS CA-Zertifikat Datei = /etc/bareos/ssl/ca-chain.cert.pem
TLS-Zertifikat = /etc/bareos/ssl/bareos-server.cert.pem
TLS-Schlüssel = /etc/bareos/ssl/bareos-server.nopass.key.pem

}

Nachrichten {
Name = Standarddirektor
= bareos-server = all
}

Nach all den Grundeinstellungen müssen Sie die Bareos-Dienste neu starten:

systemctl restart bareos-dir
systemctl restart bareos-sd
systemctl restart bareos-fd

Im Fehlerfall schauen wir uns den Zustand mit dem Befehl an:

systemctl status bareos-dir.service -l

Fahren wir mit der Installation des Bareos-Client-Plugins für Windows fort. Sie können es hier herunterladen .

Die Installation des Plugins ist ebenfalls einfach. Aus der Liste der angebotenen Komponenten wählen wir nur zwei aus, die auf dem Screenshot angezeigt werden: Dann setzen wir den Namen für den Client und geben die Parameter des vorhandenen Direktors an:



Wir schreiben solche Daten:

Client-Name - win-fd
Director-Name - bareos-Server-
Passwort - zcx @ # $ BGj
Netzwerkadresse - bareos-Server

Die eingegebenen Einstellungen können jederzeit korrigiert werden. Die Standardkonfigurationsdatei befindet sich unter "C: \ Programme \ Bareos \ bareos-fd.conf".

In der hosts-Datei geben wir auch die IP für den BareOS-Server an, damit der Name aufgelöst wird. Auf der Serverseite (bareos-server) sieht die Konfiguration für den Client (win-fd) so aus und befindet sich unter /etc/bareos/bareos-dir.d/win.conf:

Erweitern Sie
Client {
Name = win-fd
Adresse = win-fd
Passwort = "zcx @ # $ BGj"
TLS Aktivieren = ja
TLS Erforderlich = ja
TLS-CA-Zertifikat Datei = /etc/bareos/ssl/ca-chain.cert.pem
TLS-Zertifikat = /etc/bareos/ssl/bareos-server.cert.pem
TLS-Schlüssel = /etc/bareos/ssl/bareos-server.nopass.key.pem
}

Pool {
Name = win-bareos-pool-Full
Auto Prune = yes
Label Format = "bareos-client-Full-"
Pool Type = Backup
AutoPrune = Ja
Recycle = Ja
Volume Retention = 3 Monate
}

Pool {
Name = win-bareos-pool-Differential
Pool Type = Backup
AutoPrune = Ja
Recycle = Ja
Volume Retention = 11 Tage
Label Format = "win-bareos-client-Differential-"
}

Pool {
Name = win-bareos-pool-inkrementeller
Pool Type = Backup
AutoPrune = Ja
Recycle = Ja
Volume Retention = 10 Tage
Label Format = "Win-bareos-client-Incremental-"
}

Dateisatz {
Name = bareos-fileset-win
Include {
File = "C: \\ Users \\"
}
}

Job {
Name = Job-win-Full
Type = Backup
Level = Inkrementeller
Client = win-fd
FileSet = bareos-fileset-win
Schedule = "MonthlyCycle"
Storage = bareos-server-sd
Nachrichten =
Standardpool = Win-Bareos-Pool-Inkrementeller
vollständiger Sicherungspool = Win-Bareos-Pool-Vollständiger
differenzieller Sicherungspool = Win-Bareos-Pool-Differenzieller
inkrementeller Sicherungspool = Bareos-Pool-Inkrementeller
}

Job {
Name = Job- win-Full-restore
Typ = Wiederherstellungsclient
= win-fd
FileSet = "bareos-fileset-win"
Speicher = bareos-server-sd
Pool = win-bareos-pool-full
Nachrichten = Standart
Where = "C: / tmp"
}

Aus der FileSet-Direktive geht hervor, dass wir für die Job-Win-Full-Aufgabe den Benutzerordner "C: \ Users" kopieren und in der Job-Win-Full-Restore-Aufgabe ihn ggf. in den Ordner "C: \ tmp" zurückschreiben.

Es gibt noch einen Client (bitrixvm), für den Sie das Stammverzeichnis kopieren und in einer separaten Task die mysql-Datenbank kopieren müssen.

Gehen wir zum bitrixvm-Rechner und installieren den Client:
yum install -y bareos-client bareos-common Wechseln Sie

in das Verzeichnis / etc / bareos

/bareos-dir.d
/bareos-fd.d
/bconsole.conf
/ssl
.rndpwd
tray-monitor.d

Wechseln Sie zum Konfigurieren des Clients in das Verzeichnis /bareos-fd.d

/client
/director
/messages

Standardmäßig ist die Konfiguration nach der Installation auf die drei oben gezeigten Verzeichnisse verteilt, sodass wir der Einfachheit halber die Teilkonfigurationen in den Verzeichnissen director und messages kommentieren und alle Einstellungen in /client/myself.conf vornehmen
Erweitern Sie
Client {
Name = bitrixvm
Maximum Concurrent Jobs = 20
TLS Enable = yes
TLS Require = yes
TLS CA-Zertifikat File = /etc/bareos/ssl/ca-chain.cert.pem
TLS Certificate = /etc/bareos/ssl/bitrixvm.cert .pem
TLS-Schlüssel = /etc/bareos/ssl/bitrixvm.nopass.key.pem
compatible = no
}

Director {
Name = bareos-server
Kennwort = "zcx @ # $ BGj"
TLS-Aktivierung = yes
TLS Require = yes
TLS Verify Peer = ja
TLS erlaubt CN = "bareos-server"
TLS-CA-Zertifikatsdatei = /etc/bareos/ssl/ca-chain.cert.pem
TLS-Zertifikat = /etc/bareos/ssl/bitrixvm.cert.pem
TLS-Schlüssel = / etc /bareos/ssl/bitrixvm.nopass.key.pem
TLS DH File = /etc/bareos/ssl/dh1024.pem
}

Nachrichten {
Name = Standard
Director = bareos-server = all ,! Übersprungen ,! Wiederhergestellt
Description = "Relevante Nachrichten an den Director senden."
}

Wir geben die Parameter ein und starten den Dienst neu:

/etc/init.d/bareos-fd restart

Wir schreiben die Host-Adresse für den Bareos-Server in die Hosts. Auf

der Serverseite (Bareos-Server) sieht die Konfiguration für den Client (Bitrixvm) so aus und lautet /etc/bareos/bareos-dir.d/bitrixvm.conf:

Erweitern Sie
Client {
Name = bitrixvm
Adresse = bitrixvm
Passwort = "zcx @ # $ BGj"
TLS aktivieren = ja
TLS erforderlich = ja
TLS-CA-Zertifikat Datei = /etc/bareos/ssl/ca-chain.cert.pem
TLS-Zertifikat = / etc / bareos / ssl / bareos-server.cert.pem
TLS-Schlüssel = /etc/bareos/ssl/bareos-server.nopass.key.pem

}

Pool {
Name = bitrixvm-bareos-pool-Vollständiges
Beschriftungsformat = "bitrixvm-bareos- client-Full- »Pooltyp
= Sicherung
AutoPrune = Ja
Recycle = Ja Aufbewahrung des Volumes
= 3 Monate
}

Pool {
Name = bitrixvm-bareos-pool-Differential Pooltyp
= Sicherung
Beschriftungsformat = "bitrixvm-bareos-client-Differential-"
AutoPrune = ja
Recycle = ja Jobressource auswählen
(1-6): = 11 Tage
}

Pool {
Name = bitrixvm-bareos-pool-inkrementeller Pooltyp
= Sicherungsbeschriftungsformat
= "Bitrixvm-bareos-client-Incremental-"
AutoPrune = yes
Recycle = yes Aufbewahrung des Volumes
= 10 Tage
}

Job {
Name = Job-bitrixvm-mysql
Typ = Sicherungsstufe
= Full
Client = bitrixvm
FileSet = bareos-fileset-bitrixvm-mysql
Schedule = "MonthlyCycle"
Storage = bareos-server-sd
Messages = Standart
Pool = bitrixvm-bareos-pool-Incremental
Vollständiger Backup-Pool = Bitrixvm-Bareos-Pool-Vollständiger
differenzieller Backup-Pool = Bitrixvm-Bareos-Pool-Differenzieller
inkrementeller Backup-Pool = Bitrixvm-Bareos-Pool-inkrementeller

RunScript {
# Führen Sie das in diesem Abschnitt beschriebene Skript aus, bevor Sie die Backup-
RunsWhen = Before
# Run ausführen Skript, wenn die Aufgabe (Job) nicht erfolgreich abgeschlossen wurde
RunsOnFailure = Yes
RunsOnClient = Yes
#
# Der Befehl für das Skript selbst
Command = "sh -c" mysqldump -uroot -ppassword --opt --all-databases> /tmp/dump.sql '”
}
}

Job {
Name = Job-bitrixvm-Full
Type = Sicherungsstufe
= Full
Client = bitrixvm
FileSet = Bareos-Fileset-Bitrixvm
Schedule = "MonthlyCycle"
Storage = Bareos-Server-SD
Messages = Standart
Pool = Bitrixvm-Bareos-Pool-Inkrementelle
vollständige Sicherung Pool = Bitrixvm-Bareos-Pool-Vollständige
differenzielle Sicherung Pool = Bitrixvm-Bareos- der Pool-Differential
die inkrementelle Sicherung Pool = bitrixvm-bareos-der Pool-the Incremental
}

fileSet {
der Name = bareos-a fileset-bitrixvm
das Include {
die Optionen {
die Kompression = die GZIP
}
die Datei = "/"
}
}

fileSet {
der Name = bareos-a fileset-bitrixvm-mysql
Include {
Options {
# Setzt die Komprimierungsart
compression = GZIP
= Die MD5 - Signatur
}
die Datei = "/tmp/dump.sql"
}
}

Job jobseeker {
der Name = Job jobseeker-bitrixvm-die mysql-die Wiederherstellung
der Type = Restore
Client = bitrixvm
FileSet = «bareos-a fileset-bitrixvm-the mysql»
der Storage = bareos-server- sd
Pool = bitrixvm-bareos-Pool-Full
Messages = Standart
Wo = / tmp
}

Job {
Name = Job-bitrixvm Voll Restore-
Type = wiederherstellen
Client = bitrixvm
fileSet = «bareos-fileset-bitrixvm»
Lagerung = bareos-server- sd
Pool = bitrixvm-bareos-pool-Voll
Messages = Standart
Where = / tmp
}

Im RunScript-Abschnitt des Command-Parameters führen wir den Befehl mysqldump aus und übergeben alle erforderlichen Parameter "mysqldump -uroot -ppassword --opt --all-databases> /tmp/dump.sql".

Die gespeicherte dump.sql-Datei wird dann wie für das FileSet angegeben mit dem Namen "bareos-fileset-bitrixvm-mysql" gesichert.

Bareos verwendet das TLS-Protokoll, um die Datenübertragung zu verschlüsseln. Für jeden Kunden und für den Direktor benötigen wir ein CA-Zertifikat, ein Zertifikat und einen Schlüssel. Wir werden selbstsignierte Zertifikate verwenden. Dies kann alles über openssl erfolgen.

Gehen wir den Pfad der openssl-Konfigurationsdatei /etc/pki/tls/openssl.cnf entlang.

Generieren Sie ein CA-Zertifikat:

#openssl req -config openssl.cnf -new -x509 -extensions v3_ca -keyout private/myca.key -out certs/myca.crt

Nach Eingabe des Passworts und der restlichen Daten erhalten wir zwei Dateien:

/etc/pki/CA/private/myca.key
/etc/pki/CA/certs/myca.crt

Wir werden die Einstellungsdatei openssl.cnf optimieren / überprüfen, damit die Pfade zu den Zertifikaten korrekt angegeben werden. Fettgedrucktes, das geändert werden muss, ist hervorgehoben.

Sie müssen auch index.txt und serielle Dateien im Ordner / etc / pki / CA erstellen:

touch /etc/pki/CA/index.txt

Wir geben sofort den Wert "01" in die serielle Datei ein, die Datei enthält die folgende Nummer für die folgenden Zertifikate:

echo '01' > /etc/pki/CA/serial

Inhalt von openssl.cnf:
dir = / etc / pki / CA
certs = $ dir / certs
crl_dir = $ dir / crl
database = $ dir / index.txt
#unique_subject = no

new_certs_dir = $ dir / newcerts

certificate = $ dir / certs / myca.crt
serial = $ dir / serial
crlnumber = $ dir / crlnumber

crl = $ dir / crl.pem
private_key = $ dir / private / myca.key
RANDFILE = $ dir / private / .rand

x509_extensions = usr_cert

Wir generieren einen Schlüssel für den Server, Sie müssen ein Passwort eingeben.

openssl genrsa -aes256 -out bareos-server.key.pem 4096

Wir generieren eine Zertifikatsanfrage. Der wichtige Punkt bleibt, dass Sie in diesem Absatz beim Generieren eines Zertifikats den Common Name (CN) korrekt angeben müssen, damit er mit dem Namen des Computers übereinstimmt. Andernfalls treten Fehler auf, wenn Sie versuchen, eine Aufgabe auszuführen. In diesem Beispiel ist CN = bareos-server
openssl req -config openssl.cnf -key bareos-server.key.pem -new -sha256 -out bareos-server.csr.pem Wir

signieren CSR über CA, wir erhalten das Zertifikat selbst

openssl ca -config openssl.cnf -in bareos-server.csr.pem -out bareos-server.cert.pem

Wir entfernen das Passwort für den Schlüssel, weil Bareos brauchen es ohne Passwort

openssl rsa -in bareos-server.key.pem -out bareos-server.nopass.key.pem

Konvertieren Sie den CA-Schlüssel und das Zertifikat in eine einzelne Datei mit der Erweiterung .pem

cat /etc/pki/CA/private/myca.key /etc/pki/CA/certs/myca.cert > ca-chain.cert.pem

DH-Schlüssel generieren

openssl dhparam -out dh1024.pem -5 1024

Kopieren Sie Zertifikate bareos-server.cert.pem bareos-server.nopass.key.pem CA- chain.cert.pem dh1024.pem im Verzeichnis / etc / bareos / ssl, die notwendig vorher gewesen war , zu erstellen und zu bareos Gruppe installieren

für jedes Zertifikat ändern Gruppe auf bareos

chgrp bareos *

Ähnliche Aktionen müssen für jeden Client ausgeführt werden (bitrixvm, win-fd):

openssl genrsa -aes256 -out bitrixvm.key.pem 4096
openssl req -config openssl.cnf -key bitrixvm.key.pem -new -sha256 -out bitrixvm.csr.pem
openssl ca -config openssl.cnf -in bitrixvm.csr.pem -out bitrixvm.cert.pem
openssl rsa -in bitrixvm.key.pem -out bitrixvm.nopass.key.pem

Kopieren Sie mit SCP die 4 Dateien bitrixvm.cert.pem bitrixvm.nopass.key.pem ca-chain.cert.pem dh1024.pem in den Remote-Computer bitrixvm im Ordner / etc / bareos / ssl, den Sie zuerst erstellen und installieren müssen, wie für Ordner also für Zertifikate.

In der bitrixvm-Client-Konfiguration (/etc/bareos/bareos-fd.d/client/myself.conf) im Director-Bereich {müssen Client-Zertifikate registriert sein, jedoch keine Directors. Die serverseitige Konfiguration (/etc/bareos/bareos-dir.d/bitrixvm.conf) im Abschnitt Client {} zeigt die Director-Zertifikate. Starten Sie die Dienste nach dem Vornehmen von Konfigurationsänderungen neu.

Das Erstellen von Zertifikaten für die win-fd-Maschine ist identisch.

Sie müssen auch Zertifikate für bconsole registrieren, ein Dienstprogramm, mit dem Sie den Director in der Datei /etc/bareos/bconsole.conf verwalten können:

Erweitern Sie
Director {
Name = Bareos-Server
DIRport = 9101
Adresse = Bareos-Server
Password = "mmm_777"
TLS Enable = Ja
TLS Require = Ja
TLS Verify Peer = Ja
TLS Allowed CN = "Bareos-Server"
TLS CA Certificate File = / etc / bareos / ssl / ca-chain.cert.pem
TLS-Zertifikat = /etc/bareos/ssl/bareos-server.cert.pem
TLS-Schlüssel = /etc/bareos/ssl/bareos-server.nopass.key.pem
}

Das Sicherungs- oder Wiederherstellungsverfahren ist wie folgt. Wir werden das Dienstprogramm bconsole verwenden, als Begrüßung sehen wir *
run Zeigt alle möglichen Jobs an:

Erweitern Sie
*run
A job name must be specified.
The defined Job resources are:
1: Job-Full
2: Job-Full-restore
3: Job-bitrixvm-mysql
4: Job-bitrixvm-Full
5: Job-bitrixvm-mysql-restore
6: Job-bitrixvm-Full-restore
Select Job resource (1-6): 3

Run Backup job
JobName: Job-bitrixvm-mysql
Level: Full
Client: bitrixvm
Format: Native
FileSet: bareos-fileset-bitrixvm-mysql
Pool: bitrixvm-bareos-pool-Full (From Job FullPool override)
Storage: bareos-server-sd (From Job resource)
When: 2016-10-16 11:05:16
Priority: 10
OK to run? (yes/mod/no):
# Die zur Ausführung verbleibende Task empfängt JobId
Job in der Warteschlange. JobId = 75

Das Ergebnis des Befehls kann entweder über den Befehl message angezeigt werden. Als Antwort erhalten wir ungefähr Folgendes:

Erweitern Sie
16-Oct 11:05 bareos-server-sd JobId 75: Volume «bitrixvm-bareos-client-Full-0011» previously written, moving to end of data.
16-Oct 11:05 bareos-server-sd JobId 75: Ready to append to end of Volume «bitrixvm-bareos-client-Full-0011» size=2086097429
16-Oct 11:05 bareos-server-sd JobId 75: Elapsed time=00:00:01, Transfer rate=319.2 K Bytes/second
16-Oct 11:05 bareos-server JobId 75: Bareos bareos-server 15.2.2 (16Nov15):
Build OS: x86_64-redhat-linux-gnu redhat CentOS Linux release 7.0.1406 (Core)
JobId: 75
Job: Job-bitrixvm-mysql.2016-10-16_11.05.38_07
Backup Level: Full
Client: «bitrixvm» 16.3.1 (01Jul16) x86_64-redhat-linux-gnu,redhat,CentOS release 6.6 (Final),CentOS_6,x86_64
FileSet: «bareos-fileset-bitrixvm-mysql» 2016-10-14 04:57:40
Pool: «bitrixvm-bareos-pool-Full» (From Job FullPool override)
Catalog: «bareos-server» (From Client resource)
Storage: «bareos-server-sd» (From Job resource)
Scheduled time: 16-Oct-2016 11:05:16
Start time: 16-Oct-2016 11:05:42
End time: 16-Oct-2016 11:05:42
Elapsed time: 0 secs
Priority: 10
FD Files Written: 1
SD Files Written: 1
FD Bytes Written: 319,187 (319.1 KB)
SD Bytes Written: 319,285 (319.2 KB)
Rate: 0.0 KB/s
Software Compression: 71.0 % (gzip)
VSS: no
Encryption: no
Accurate: no
Volume-Name (n): bitrixvm-bareos-client-Full-0011
Volume-Sitzungs -ID : 3
Volume-Sitzungszeit: 1476554202
Letztes Volume-Byte: 2.086.417.588 (2.086 GB)
Nicht schwerwiegende FD-Fehler: 0
SD-Fehler: 0
FD-Beendigungsstatus: OK
SD-Beendigungsstatus: OK
Beendigung: Sicherung OK

Oder über den Befehl status dir

Erweitern Sie

Abgebrochene Jobs: Job-ID-Ebene Dateien Bytes Status Fertig Name
======================================== =============================
Full 0 0 Error 15-Oct-16 13:39 Job-bitrixvm-Full
73 Full 49,442 515.4 M OK 15-Okt-16 14:03 Job-Bitrixvm-Voll
74 Inkr 20 36,81 K OK 16-Okt-16 02:01 Job-Voll
75 Voll 1 319,1 K OK 16-Okt-16 11:05 Job-Bitrixvm- MySQL

Wo in der Statusspalte können Sie den Sicherungsstatus anzeigen. Jobnummer 75 war erfolgreich.

Die Wiederherstellung erfolgt mit dem Befehl restore

*restore

Danach wird eine Liste aller möglichen Optionen angeboten.

To select the JobIds, you have the following choices:

1: List last 20 Jobs run
2: List Jobs where a given File is saved
3: Enter list of comma separated JobIds to select
4: Enter SQL list command
5: Select the most recent backup for a client
6: Select backup for a client before a specified time
7: Enter a list of files to restore
8: Enter a list of files to restore before a specified time
9: Find the JobIds of the most recent backup for a client
10: Find the JobIds for a backup for a client before a specified time
11: Enter a list of directories to restore for found JobIds
12: Select full restore to a specified Job date
13: Cancel

Wir zeigen die Liste der letzten 20 Aufgaben an:



Klicken Sie auf 3 und geben Sie die JobID-Nummer an, z. B. 75. Danach gelangen wir automatisch zur Konsole, um die Dateien auszuwählen, die wiederhergestellt werden sollen

cwd is: /
$

Eine Liste aller verfügbaren Befehle kann über den Hilfebefehl angezeigt werden. Wir prüfen, welche Dateien in dieser Sicherung verfügbar sind, markieren die erforderlichen Dateien mit dem Befehl mark, indem wir die Dateien angeben oder durch * und wählen so alles aus. Nach Abschluss führen wir den Befehl done aus, woraufhin ein Dialog mit dem System gestartet wird.

$ ls
tmp/
$ cd tmp/
cwd is: /tmp/
$ ls
dump.sql
$ mark *
1 file marked.
$ done

Für den Auftrag sind folgende Datenträger erforderlich:
Speicherplatz (e) SD-Gerät (e)
================================ ============================================

bitrixvm-bareos-client- Full-0011 bareos-server-sd bareos-sd

Mit "*" gekennzeichnete Volumes sind online.

1 Datei zum Wiederherstellen ausgewählt.

Wählen Sie die Wiederherstellungsaufgabe aus, die wir benötigen (Element 2).

Die definierten Ressourcen für Wiederherstellungsaufträge lauten:
1: Job-Vollständige Wiederherstellung
2: Job-Bitrixvm-MySQL-Wiederherstellung
3: Job-Bitrixvm-Vollständige Wiederherstellung
Wählen Sie Wiederherstellungsauftrag (1-3): 2

Legen Sie den Client fest, für den wir eine Wiederherstellung durchführen. (2)

Definierte Clients:
1: bareos-fd
2: bitrixvm
3: win-fd
Wählen Sie den Client aus (1-3): 2

Verwenden des Katalogs "bareos-server"
Ausführen Wiederherstellungsjob
Jobname: Job-bitrixvm-mysql-restore
Bootstrap: /var/lib/bareos/bareos-server.restore.1.bsr
Where: / tmp
Replace: Always
FileSet: bareos-fileset- bitrixvm-mysql
Backup-Client: bitrixvm
Restore-Client: bitrixvm
Format: Native
Storage: bareos-server-sd
Wann: 2016-10-16 11:26:54
Katalog: bareos-server
Priorität: 10
Plugin-Optionen: * Keine *
OK zum Ausführen ? (yes / mod / no): yes Wir

bestätigen die Aufgabe mit yes, mit dem mod-Befehl können Sie die Wiederherstellungsoptionen vor dem Start bearbeiten, einschließlich des Verzeichnisses für die Wiederherstellung. Als nächstes wird der Aufgabe die Job-ID zugewiesen.

Job queued. JobId=76

Mit dem Befehl status dir können Sie den Wiederherstellungsstatus anzeigen. Wie Sie sehen, ist alles gut gelaufen. Danach können Sie zum Remote-Client wechseln, und im Ordner / tmp finden Sie die wiederhergestellte dump.sql-Datei.

76                1    1.100 M  OK       16-Oct-16 11:27 Job-bitrixvm-mysql-restore

Zusammenfassend können wir sagen, dass Bareos sich aktiv entwickelt, viele nützliche Funktionen in seinem Arsenal hat, die über den Rahmen dieses Artikels hinausgehen, und das Vorhandensein von Plugins, die die Funktionalität erweitern können, auch einen positiven Eindruck hinterlassen (Sichern von MS SQL, Plugins zum Speichern von Daten auf Ceph, Glanzlicht, LDAP-Backup).





SIM-CLOUD - Failover Cloud in Deutschland

Dedizierte Server in zuverlässigen Rechenzentren in Deutschland!
Beliebige Konfiguration, schnelle Montage und kostenlose Installation

Jetzt auch beliebt: