SlideShare uma empresa Scribd logo
1 de 68
Baixar para ler offline
Einführung in Bacula – Teil 1
und Aufbau eines Testsystems




         vorgestellt am 09.09.2010 in Pforzheim

               Daniel Bäurer
               inovex GmbH
               Systems Engineer Linux
Was ich mit Ihnen besprechen möchte
Einführung in Bacula

Agenda
1. Begrüßung

2. Was ist Bacula?

3. Merkmale von Bacula

4. Aufbau von Bacula (Komponenten)

5. Aufbau der Konfiguration (Ressourcen)

6. Grundkonfiguration des Bacula-Backupsystems




26.07.12                                         2
Was ich mit Ihnen besprechen möchte
Einführung in Bacula

Agenda
7. Erweiterte Konfiguration des Bacula-Backupsystems

8. Backup von MySQL-Datenbanken

9. Backup-to-Disk (B2D) mit Bacula

10. Disk-to-Disk-to-Tape (D2D2T) mit Bacula

11. Integration einer Tape-Library

12. Offener Themenbereich




26.07.12                                               3
Bacula
Ein Open-Source Netzwerk-Backupsystem




               Was ist Bacula?




26.07.12                                4
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Ein Open-Source Netzwerk-Backupsystem

   ●
       Netzwerkfähiges Open-Source Datensicherungsprogramm

   ●
       Quelltext weitestgehend unter der GPL V2

   ●
       Modulares Architekturmodell (Kapselung der Aufgaben)

   ●
       Wird entwickelt für Linux, BSD, Unix, Mac OS X und Windows




26.07.12                                                            5
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Historie

   ●
       Bacula bedeutet BACkup und DracULA

   ●
       Projektstart im Januar 2000 durch Kern Sibbald

   ●
       Erste Version wurde im April 2002 veröffentlicht

   ●
       Aktuelle Version ist 5.0.3, erschienen im August 2010 (Ubuntu 10.04
       LTS: 5.0.1, Debian 6.0: 5.0.2)




26.07.12                                                                     6
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Urspüngliche Zielsetzung

   ●
       Sichert alles vom Palm bis zur Mainframe

   ●
       Bietet vergleichbare Funktionen wie kommerzielle Produkte

   ●
       Kompatibilität für die nächsten 30 Jahre

   ●
       Skalierbar (mehr als 10.000 Systeme)




26.07.12                                                           7
Bacula
Ein Open-Source Netzwerk-Backupsystem




           Merkmale von Bacula




26.07.12                                8
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Merkmale

   ●
       Automatisches, zeitgleiches und priorisiertes Sichern von Systemen

   ●
       Sichert auf verschiedenste Medien (Band, Festplatte, CD/DVD, USB)

   ●
       Kann mit den meisten Bandlaufwerken und Tape-Libraries umgehen

   ●
       Unterstützt Barcode-Geräte

   ●
       Backup über mehrere Medien und mehrere Backups auf ein Medium




26.07.12                                                                    9
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Merkmale

   ●
       Sehr schnelles und interaktives Wiederherstellen der Daten

   ●
       Ausführen von Skripten vor und nach einem Backup oder Fehler

   ●
       Schutz vor Überschreiben von Medien

   ●
       Signatur für jede Datei und Prüfsumme der Sicherung

   ●
       Verschlüsselung der Kommunikation und der Daten




26.07.12                                                              10
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Modulares Konzept

   ●
       Client-Server-Modell

   ●
       Kapselung der Aufgaben in Modulen (Komponenten)

   ●
       Sehr hohe Skalierbarkeit der Komponenten

   ●
       Interaktion der Komponenten über TCP/IP

   ●
       Gegenseitige Authentifizierung der Komponenten




26.07.12                                                 11
Bacula
Ein Open-Source Netzwerk-Backupsystem




            Aufbau von Bacula
              (Komponenten)




26.07.12                                12
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Interaktion der Komponenten




                                                                         Aus http://www.bacula.org/de/rel-manual/Was_ist_Bacula.html




           Aus http://www.bacula.org/de/rel-manual/Was_ist_Bacula.html




26.07.12                                                                                                                               13
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Komponenten

   ●
       Director (bacula-dir)
       
         Oberste Instanz des Backup-Systems

       
           Koordiniert sämtliche Komponenten

       
           Steuert Backups und die Wiederherstellung

       
           In typischen Szenarien nur einmal vorhanden

       
           Läuft als Daemon (ohne root-Rechte möglich)




26.07.12                                                 14
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Komponenten

   ●
       Catalog (SQL-DB)
       
         Gedächtnis des Backup-Systems

       
           Speichert die Metadaten (Dateiindex, Attribute, etc.)

       
           Verwaltung der Sicherungsmedien

       
           Kann zur Erstellung von Berichten genutzt werden

       
           Unterstützt werden MySQL, PostgreSQL oder SQLite




26.07.12                                                           15
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Komponenten

   ●
       Storage-Daemon (bacula-sd)
       
         Kapselt den physischen Zugriff auf die Sicherungsmedien

       
           Archivierung auf unterschiedliche Medien (HDD, Band, USB)

       
           Pro Storage mehrere und unterschiedliche Medien möglich

       
           Mehrere Storage pro Backup-System möglich

       
           Läuft als Daemon (ohne root-Rechte möglich)




26.07.12                                                               16
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Komponenten

   ●
       File-Daemon (bacula-fd)
       
          Läuft auf allen Rechnern die gesichert werden sollen

       
           Führt das Backup nach Anweisung des Bacula-Director aus

       
           Ebenso wie die Wiederherstellung und den Datei-Abgleich

       
           Kommuniziert sowohl mit dem Director als auch dem Storage

       
           Benötigt vollen Zugriff auf das System (root-Rechte notwendig)




26.07.12                                                                    17
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Komponenten

   ●
       Console (CLI, GUI, Web-GUI)
       
         Administrations- und Benutzerschnittstelle zum Bacula-Director

       
           Manuelle Einflussnahme auf das Backup-System

       
           Unterschiedlichste Restriktionen möglich

   ●
       Monitor (GUI)
       
         Status-Schnittstelle

       
           Zustandsanzeige für alle Komponenten




26.07.12                                                                  18
Bacula
Ein Open-Source Netzwerk-Backupsystem




           Aufbau der Konfiguration
                 (Ressourcen)




26.07.12                                19
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Ressourcen




                         Aus http://www.bacula.org/de/rel-manual/Was_ist_Bacula.html




26.07.12                                                                               20
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Ressourcen

   ●
       Ressourcen (Objekte) abstrahieren das Backup-System

   ●
       Ressourcen enthalten mehrere Direktiven

   ●
       Ressourcen können weitere Ressourcen einbinden

   ●
       Eine Komponente wird aus mehreren Ressourcen gebildet

   ●
       Die Benamung der Ressourcen muss eindeutig sein




26.07.12                                                       21
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Ressourcen

   ●
       Pool-Ressource
       
         Wird vom Bacula-Director verwendet

       
           Besteht aus der Ressource Volume

       
           Gruppiert Volumes

       
           Sicherung ist auf die Größe des Pools beschränkt

       
           Meta-Daten (Volumes, usw.) werden im Katalog vorgehalten




26.07.12                                                              22
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Ressourcen

   ●
       Volume-Ressource
       
         Wird verwendet durch die Ressource Pool

       
           Sicherungsmedium (physikalisches Band, einzelne Datei)

       
           Meta-Daten (Anzahl Mounts, usw.) werden im Katalog vorgehalten

       
           Digitale Kennzeichnung (label) fügt Volume einem Pool hinzu




26.07.12                                                                    23
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Ressourcen

   ●
       Job-Ressource
       
         Wird verwendet durch den Bacula-Director

       
           Beschreibt genau eine Aufgabe die Bacula ausführen soll

       
           Besteht aus den Ressourcen Pool, FileSet, Schedule, Storage und
           Client

       
           Aufgaben können vom Typ Backup, Restore, Verify oder Admin
           sein




26.07.12                                                                     24
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Ressourcen

   ●
       FileSet-Ressource
       
          Gibt Dateien/Verzeichnisse an die zu sichern sind (include und
          exclude)

       
           Definiert wie zu sichern ist (komprimiert, signiert, usw.)

   ●
       Schedule
       
         Zeitplan, der beschreibt wann Aktionen ausgeführt werden

       
           Bindet die Job-Ressource kein Zeitplan ein, so kann der Job nur
           manuell ausgeführt werden.




26.07.12                                                                     25
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Ressourcen

   ●
       Storage-Ressource
       
         Bestimmt mit welcher Komponente gesichert werden soll

       
           Ist ein Verweis auf die zu verwendende Storage-Komponente

   ●
       Client-Ressource
       
         Bestimmt welcher Rechner sichern soll

       
           Ist ein Verweis auf die zu verwendende File-Komponente

   ●
       JobDefs-Ressource
       
         Fasst allgemeingültige Definitionen für Jobs zusammen



26.07.12                                                               26
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Komponentenspezifische Ressourcen

   ●
       Director-, Client- und Storage-Ressource
       
         Konfiguration der Komponenten

       
           Benutzungsrechte der Komponente

   ●
       Device-Ressource
       
         Konfiguration des Sicherungs-Mediums

   ●
       Messages
       
         Konfiguration der Benachrichtigungen




26.07.12                                          27
Bacula
Ein Open-Source Netzwerk-Backupsystem




           Grundkonfiguration des
            Bacula-Backupsystems




26.07.12                                28
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Grundkonfiguration des Backupsystems

   ●
       Die Grundkonfiguration des Backupsystems erfolgt anhand der
       Ressourcen einer Komponente.

   ●
       Für ein grundlegendes Bacula-System werden folgende
       Komponenten benötigt:
       
         Director mit Catalog – Steuerung des Systems
       
         Console – Beeinflussung des Systems
       
         Storage-Daemon – Speicherort der Sicherungsdaten
       
         File-Daemon – Sichern des Bacula-Director und -Catalog

   ●
       Alle Komponenten können auf der selben Hardware residieren.




26.07.12                                                             29
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Grundkonfiguration des Backupsystems

   ●
       Die Konfigurationsdateien der Komponenten befinden sich unterhalb
       von /etc/bacula in
       
         bacula-dir.conf – Director, Catalog und weitere Ressourcen
       
         bconsole.conf – Console
       
         bacula-sd.conf – Storage-Daemon
       
         bacula-fd.conf – File-Daemon

   ●
       Die Konfiguration einer Ressource beginnt immer mit einer
       Deklaration des Ressourcen-Typs.




26.07.12                                                                   30
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration des Director und Catalog

   ●
       Der Bacula-Director wird über die Ressource Director deklariert.

   ●
       Das Passwort wird zur Anmeldung durch die Console benötigt.

           Director {
                  Name = baculademo-dir
                  Description = "Dies ist der baculademo Backup-Server auf Basis von Bacula 5.0.2“
                  DirAddress = 192.168.92.10
                  Dirport = 9101
                  password = "IrgendwasNettes"
                  Messages = Daemon
                  WorkingDirectory = "/var/lib/bacula"
                  PidDirectory = "/var/run/bacula"
                  QueryFile = "/etc/bacula/scripts/query.sql"
                  Maximum Concurrent Jobs = 1
                  }




26.07.12                                                                                             31
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration des Director und Catalog

   ●
       Ebenfalls in der bacula-dir.conf wird der zu verwendende Bacula-
       Catalog deklariert (mehrere Kataloge möglich).

   ●
       Initial angelegt wird der Bacula-Catalog anhand vorgefertiger SQL-
       Scripte auf einem entsprechenden SQL-Dienstserver.

           Catalog {
                 Name = baculademo-cat
                 DB Name = bacula
                 DB Address = 127.0.0.1
                 DB Port = 3306
                 user = bacula
                 password = "AuchwasNettes"
                 }




26.07.12                                                                    32
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration von Pools

   ●
       Pools werden über die Ressource Pool deklariert.

   ●
       Volumes werden einem Pool über die Bacula-Console und dem
       Kommando label zugeordnet.

           Pool {
                    Name = File-Dayly-Pool
                    Pool Type = Backup
                    Storage = File-Storage
                    Volume Retention = 10 days
                    Maximum Volume Bytes = 650MB
                    AutoPrune = yes
                    Recycle = yes
                    LabelFormat = File-Dayly-Volume
                    Next Pool = Off-Site-Pool
                    }




26.07.12                                                           33
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration von Clients

   ●
       Eine Client-Ressource stellt einen Verweis auf den zu sichernden
       Rechner dar, auf dem ein erreichbarer File-Daemon läuft.

   ●
       Das Passwort wird zur Anmeldung am File-Daemon benötigt.

           Client {
                  Name = bacula-client-1.localdomain
                  Address = 192.168.92.20
                  FDPort = 9102
                  Catalog = baculademo-cat
                  Password = "WiederumwasNettes"
                  File Retention = 7 days
                  Job Retention = 14 days
                  AutoPrune = yes
                  }




26.07.12                                                                  34
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration von Storages

   ●
       Eine Storage-Ressource ist ein Verweis auf den Storage-Daemon,
       auf dem die zu sichernden Daten geschrieben werden.

   ●
       Das Passwort wird zur Anmeldung am Storage-Daemon benötigt.

           Storage {
                 Name = File-Storage
                 Address = 192.168.92.10
                 SDPort = 9103
                 Password = "ErneutwasNettes"
                 Device = FileStorage
                 Media Type = File
                 }




26.07.12                                                                35
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration von FileSets

   ●
       FileSets können anhand von includes und excludes erstellt werden.

   ●
       Wildcards und RegEx sind möglich.

           FileSet {
                  Name = Full-File-Set
                  Include {
                          File = /
                          Options {
                                     signature = MD5; hardlinks=yes }
                          }
                  Exclude {
                          File = /var/lib/mysql
                          }




26.07.12                                                                   36
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration von Schedules

   ●
       Die Schedule-Ressource beinhaltet einen oder mehrere Zeitpläne für
       die Sicherung.

   ●
       Ebenfalls können Konfigurationen bestimmter Ressourcen (Jobs)
       überschrieben werden.

           Schedule {
                 Name = Weekly-Backup-Schedule
                 Run = Level=Full sat at 23:05
                 Run = Level=Differential sun-fri at 23:05
                 }




26.07.12                                                                    37
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration von Jobs und JobDefs

   ●
       Sämtliche Parameter einer Job-Ressource können in die JobDefs-
       Ressource ausgelagert werden.

   ●
       Eine Job-Ressource kann Einstellungen der JobDefs-Ressource
       überschreiben.

           Job {
                   Name = baculademo.localdomain-MySQLBackup
                   Client = baculademo.localdomain
                   JobDefs = Default-Job
                   Level = Full
                   Schedule = Catalog-Backup-Schedule
                   Priority = 11
                   Run Before Job = "/etc/bacula/scripts/make_catalog_backup.pl baculademo-cat"
                   RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup"
                   }




26.07.12                                                                                          38
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration des Storage-Daemon

   ●
       Ein Storage-Daemon wird über die Ressource Storage deklariert.

   ●
       Die IP-Adresse und der Port muss sowohl für den Bacula-Director
       als auch die File-Daemons, die den Storage zum sichern benutzen,
       erreichbar sein.

           Storage {
                 Name = baculademo-sd
                 SDAddress = 192.168.92.10
                 SDPort = 9103
                 WorkingDirectory = "/var/lib/bacula"
                 PidDirectory = "/var/run/bacula"
                 Maximum Concurrent Jobs = 20
                 }




26.07.12                                                                  39
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration des Storage-Daemon

   ●
       Damit der Bacula-Director den Storage-Daemon verwenden kann,
       wird dieser über die Ressource Director bekannt gemacht.

   ●
       Das Passwort benötigt der Bacula-Director um sich am Storage-
       Daemon anzumelden.

   ●
       Ein Storage-Daemon kann von mehreren Director-Instanzen
       verwendet werden.

           Director {
                  Name = baculademo-dir
                  Password = "ErneutwasNettes"
                  Monitor = no
                  }




26.07.12                                                               40
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration des Storage-Daemon

   ●
       Der Storage-Daemon steuert das Gerät an, auf dem die Daten
       gesichert werden sollen. Dieses muss ebenfalls deklariert werden
       (Ressource Device).

           Device {
                 Name = FileStorage
                 Archive Device = /backup
                 Device Type = File
                 Media Type = File
                 Random Access = yes
                 Maximum Volume Size = 20GB
                 Maximum File Size = 650MB
                 LabelMedia = yes
                 }




26.07.12                                                                  41
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration des File-Daemon

   ●
       Ein File-Daemon wird über die Ressource FileDaemon deklariert.

   ●
       Die IP-Adresse und der Port müssen für den Bacula-Director
       erreichbar sein.

           FileDaemon {
                 Name = baculademo-fd
                 FDAddress = 192.168.92.10
                 FDport = 9102
                 WorkingDirectory = "/var/lib/bacula"
                 PidDirectory = "/var/run/bacula"
                 Maximum Concurrent Jobs = 20
                 }




26.07.12                                                                42
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Konfiguration des File-Daemon

   ●
       Auch dem File-Daemon muss, wie dem Storage-Daemon, der
       Director bekannt gemacht werden, der sich mit ihm verbinden darf.

   ●
       Das Passwort benötigt ebenfalls der Bacula-Director um sich am
       File-Daemon anmelden zu können.

   ●
       Auch ein File-Daemon kann von mehreren Directoren angesprochen
       werden.

           Director {
                  Name = baculademo-dir
                  Password = "WiederumwasNettes"
                  Monitor = no
                  }




26.07.12                                                                   43
Bacula
Ein Open-Source Netzwerk-Backupsystem




   Erweiterte Konfiguration des
      Bacula-Backupsystem




26.07.12                                44
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Erweiterte Konfiguration: Run Command und RunScript

   ●
       Mit Run Command können vor oder nach einem Job, aber auch in
       einem Fehlerfall, Kommandos ausgeführt werden.

   ●
       Mit Run Script können komplexere Strukturen abgebildet werden.

           RunScript {
                 RunsWhen = Before
                 FailJobOnError = No
                 Command = "/etc/init.d/apache stop"
                 }
           RunScript {
                 RunsWhen = After
                 RunsOnFailure = yes
                 Command = "/etc/init.d/apache start"
                 }




26.07.12                                                                45
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Erweiterte Konfiguration: Unterstützung von TLS

   ●
       Die Kommunikation zwischen den Komponenten kann mit TLS
       verschlüsselt werden.

   ●
       TLS kann aktiviert sein, muss allerdings nicht zwingend von den
       Komponenten verwendet werden.

   ●
       Selbstsignierte Zertifikate sind nur mit Einschränkung nutzbar. Es ist
       besser wenn man eine eigene oder offizielle CA verwendet.

           TLS Enable = yes
           TLS Require = no
           TLS Certificate = /etc/ssl/private/bacula.pem
           TLS Key = /etc/ssl/private/bacula.pem
           TLS CA Certificate File = /etc/ssl/private/ca.pem




26.07.12                                                                        46
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Erweiterte Konfiguration: Unterstützung von PEK

   ●
       Die zu sichernden Daten können mit „Private/Public Encryption
       Keys“ verschlüsselt und signiert werden.

   ●
       Um eine Wiederherstellung nicht zu gefährden, sollte zumindest der
       Masterkey an einem sicheren Ort gelagert werden!

   ●
       Die Verschlüsselung wird auf/von jedem File-Daemon durchgeführt.

           PKI Signatures = Yes
           PKI Encryption = Yes
           PKI Keypair = /etc/ssl/private/bacula.pem
           PKI Master Key = /etc/ssl/private/master.cert




26.07.12                                                                    47
Bacula
Ein Open-Source Netzwerk-Backupsystem




           Backup von MySQL-
              Datenbanken




26.07.12                                48
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Backup von MySQL-Datenbanken

   ●
       Bacula liefert keinerlei Schnittstellen für das (Online-) Backup von
       MySQL-Datenbanken.

   ●
       In Verbindung mit Run Command oder RunScript können die
       MySQL-Werkzeugen wie mysqldump oder mysqlhotcopy
       verwendet werden.

   ●
       Einschränkungen in Bezug auf die verwendete Storage-Engine
       (InnoDB, MyISAM, NDB) und Schreibschutz (LOCK TABLE)

   ●
       Verwendung etablierter Sicherungsmethoden für MySQL mit Bacula
       (Master-Slave, NDB-Backup, Binary-Log, LVM-Snapshot, etc.)




26.07.12                                                                      49
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – MySQL-Backup mit mysqldump

   ●
       mysqldump eignet sich sowohl für die MyISAM- als auch InnoDB-
       Storage-Engine.

   ●
       Für Datenbank-Server mit gemischten Storage-Engines gut
       geeignet.

   ●
       Bei großen Datenbanken wird durch das Erzeugen des Dumps eine
       sehr große Last erzeugt.

   ●
       Wenn der Dump ohne Locks erzeugt wird, könnte ein inkonsistenter
       Zustand der Daten erzeugt werden.




26.07.12                                                                  50
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – MySQL-Backup mit mysqlhotcopy

   ●
       mysqlhotcopy eignet sich nur für die MyISAM-Storage-Engine. Für
       diesen Typ ist es aber der Sicherung mit mysqldump vorzuziehen.

   ●
       Bei großen Datenbanken, im Vergleich zu mysqldump, sehr schnell.

   ●
       Das Sicherungsvolumen ist wesentlich höher als bei mysqldump.

   ●
       mysqlhotcopy verwendet LOCKING was zwar konsistente
       Sicherungen erzeugt aber nicht für alle Datenbanken in Frage
       kommt.




26.07.12                                                                  51
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – MySQL-Backup mit mysqldump und mysqlhotcopy

   ●
       Bacula kann ein MySQL-Backup mit den beiden Werkzeugen sehr
       einfach durch die Option „Client Run Before Job“ ausführen.

   ●
       Dabei wird ein (typisches) Script auf dem Client (MySQL-Server)
       hinterlegt, dass vor dem eigentlichen Backup-Job ausgeführt wird.

   ●
       Anschließend speichert Bacula die MySQL-Sicherung

   ●
       Mit „Client Run After Job“ kann die erzeugte Sicherungen
       abschließend auf dem Client gelöscht werden.
             Client Run Before Job = "/etc/bacula/scripts/make_dump.sh"
             Client Run After Job = "/etc/bacula/scripts/delete_dump.sh"




26.07.12                                                                   52
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – MySQL-Backup mittels Master-Slave-Replikation

   ●
       Um einige Nachteile (Locking, Last, etc.) der beiden MySQL-
       Werkzeuge mysqldump und mysqlhotcopy zu umgehen, kann man
       auf eine Master-Slave-Replikation zurückgreifen.

   ●
       Dabei werden alle Sicherungsaufgaben der beiden Werkzeuge auf
       dem Slave durchgeführt.

   ●
       Als Alternative zu den beiden Werkzeugen, kann der Slave in einen
       konsistenten Zustand gebracht („stop slave“) und MySQL angehalten
       werden.

   ●
       Anschließend wird das gesamte MySQL-Data-Verzeichnis mittels
       RunScript oder Run Command gesichert.



26.07.12                                                                   53
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Weitere MySQL-Backup-Methoden

   ●
       Um ein MySQL-Cluster zu sichern, kann auf die implementierte
       Backup-Funktion der NDB-Cluster-Engine zurückgegriffen werden.

   ●
       Nachdem die Sicherung erzeugt wurde, können die Metadaten (.ctl),
       die Tabellendatensätze (.data) und die Transaktionslogs (.log) von
       jedem Cluster-Knoten gesichert werden.

   ●
       Erstellen und Sichern von MySQL-Binlog-Dateien

   ●
       Verwendung von InnoDB Hot Backup (kommerziell) oder das
       erzeugen eines LVM-Snapshot.




26.07.12                                                                    54
Bacula
Ein Open-Source Netzwerk-Backupsystem




           Backup-to-Disk (B2D) mit
                    Bacula




26.07.12                                55
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Backup-to-Disk (B2D)

   ●
       Auf dem Storage-Daemon wird die Sicherung in Dateien in einer
       eigenen Ressource (Device) deklariert.

   ●
       Als Sicherungsziel (Archive Device) wird einfach ein Verzeichnispfad
       sowie als Medientyp „File“ angegeben.

   ●
       Wenn mehrere B2D-Verzeichnispfade (auf dem selben Storage-
       Daemon) benutzt werden sollen, muss sich der Medientyp
       unterscheiden (File1, File2, Filen).

   ●
       Vorteile von B2D sind kürzere Sicherungszeiten, ein schnelleres
       Wiederherstellen und bieten einen geringeren Sicherungsaufwand.




26.07.12                                                                      56
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Data-Spooling

   ●
       Data-Spooling schreibt die Daten der Clients zuerst in eine Datei um
       diese anschließend in einem Vorgang auf Bänder zu schreiben.

   ●
       Dadurch wird verhindert, dass das Bandlaufwerk permanent stoppt
       und wieder anläuft.

   ●
       Der Sicherungsvorgang wird beschleunigt.

   ●
       Die Spooling-Daten können nicht für eine Wiederherstellung
       verwendet werden.
               SpoolData = yes
               Maximum Spool Size = 400GB
               Spool Directory = /tmp




26.07.12                                                                      57
Bacula
Ein Open-Source Netzwerk-Backupsystem




   Disk-to-Disk-to-Tape (D2D2T)
             mit Bacula




26.07.12                                58
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Disk-to-Disk-to-Tape (D2D2T)

   ●
       Bacula bietet die Möglichkeit, Jobs oder Volumes (und weiterer
       Kriterien) zu migrieren oder kopieren. Dies bildet die Grundlage von
       D2D2T.

   ●
       Bei der Migration werden die Daten anhand der festgelegten
       Kriterien von einem Volume auf ein anderes Volume verschoben.
       Alle Einträge im Bacula-Catalog werden auf das neue Volume
       umgeschrieben.

   ●
       Beim Kopieren werden die Daten auf ein weiteres Volume dupliziert.
       Auch die Einträge im Bacula-Catalog werden dupliziert und mit dem
       Vermerk „Copy“ markiert.




26.07.12                                                                      59
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Disk-to-Disk-to-Tape (D2D2T)

   ●
       Damit D2D2T benutzt werden kann, muss der entsprechende Pool
       zwingend die Option „Next Pool“ enthalten.

   ●
       Next Pool bestimmt in welchen Pool Volumes verschoben oder
       kopiert werden.

   ●
       Eine D2D2T-Job wird wie jeder andere Job angelegt. Allerdings wird
       der Job-Typ auf Migrate oder Copy gesetzt.
             Job {
                Name = "migrate"
                Type = Migrate
                Selection Type = Volume
                Selection Pattern = "File"
                }




26.07.12                                                                    60
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Virtuelles Backup

   ●
       Eine etwas abgewandelte Möglichkeit von D2D2T ist das virtuelle
       Backup (Vbackup) oder auch Consolidation.

   ●
       Beim Vbackup wird aus dem letzten Vollbackup und den folgenden
       differentiellen und/oder inkrementellen Sicherungen ein neues
       Vollbackup erstellt.

   ●
       Als Voraussetzung von Vbackup muss der betreffende Pool ebenfalls
       über die Option „Next Pool“ verfügen.

   ●
       Ein Vbackup wird dadurch erstellt, indem das Sicherungslevel auf
       VirtualFull eingestellt wird (Job- oder Schedule-Ressource).




26.07.12                                                                   61
Bacula
Ein Open-Source Netzwerk-Backupsystem




  Integration einer Tape-Library




26.07.12                                62
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Integration einer Tape-Library

   ●
       Bei der Integration von Tape-Libraries greift Bacula auf das MTX-
       Projekt (Media Changer Tools) zurück.

   ●
       Sämtliche von MTX unterstützen Autochanger (Tape-Libraries)
       können für Bacula verwendet werden.

   ●
       Bacula liefert ein eigens mtx-Script mit, dass die Schnittstelle zu
       MTX übernimmt (die MTX-Tools steuern den Autochanger).

   ●
       Es können auch Autochanger verwendet werden, die mehr als ein
       Laufwerk ansteuern.




26.07.12                                                                     63
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Integration einer Tape-Library

   ●
       Voraussetzung für den Einsatz einer Tape-Library ist, dass Volumes
       im Katalog existieren (gelabelt sind) und auch einer Slotnummer im
       Autochanger zugeteilt wurden.

   ●
       Hierfür muss die Storage-Ressource des Bacula-Director angepasst
       werden. Die Ressource muss den Eintrag Autochanger = yes
       enthalten.

   ●
       Auch die Device-Ressource des Storage-Daemon muss den Eintag
       Autochanger = yes enthalten, damit die Tape-Library benutzt werden
       kann.




26.07.12                                                                    64
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Integration einer Tape-Libraray

   ●
       Eine typische Konfiguration der Libraray könnte wie folgt aussehen:
           Autochanger {
                  Name = Autochanger
                  Device = Tape1, Tape2
                  Changer Device = /dev/sg0
                  Changer Command = "/etc/bacula/mtx-changer %c %o %S %a %d"
                  }
           Device {
                  Name = Tape1
                  Drive Index = 0
                  Autochanger = yes
                  …
           Device {
                  Name = Tape2
                  Drive Index = 1
                  Autochanger = yes
                  ...




26.07.12                                                                       65
Bacula
Ein Open-Source Netzwerk-Backupsystem




           Offener Themenbereich




26.07.12                                66
Bacula
Ein Open-Source Netzwerk-Backupsystem

Bacula – Offener Themenbereich

   ●
       Planung der Backupstrategie

   ●
       Berechnung des benötigten Speicherplatz für die Datensicherung

   ●
       Hardwareanforderung

   ●
       …

   ●
       …

   ●
       ...




26.07.12                                                                67
Vielen Dank für Ihre Aufmerksamkeit!




inovex GmbH

Pforzheim                 München               Köln
Karlsruher Straße 71      Konrad-Zuse-Platz 1   Hansaring 68-70
D-75179 Pforzheim         D-81829 München       D-50670 Köln

Mais conteúdo relacionado

Mais procurados

Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...
Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...
Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...Informatik Aktuell
 
MySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLMySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLFromDual GmbH
 
MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6FromDual GmbH
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA'sFromDual GmbH
 
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...NETWAYS
 
Marek Adar – IT-Tage 2015 – Oracle 12c Multitenant
Marek Adar – IT-Tage 2015 – Oracle 12c MultitenantMarek Adar – IT-Tage 2015 – Oracle 12c Multitenant
Marek Adar – IT-Tage 2015 – Oracle 12c MultitenantInformatik Aktuell
 
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationWeltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationFromDual GmbH
 
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSystem-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSpeedPartner GmbH
 
Virtualized Exadata - the first 4 "productive" years...
Virtualized Exadata - the first 4 "productive" years...Virtualized Exadata - the first 4 "productive" years...
Virtualized Exadata - the first 4 "productive" years...Daniele Massimi
 
Not only SQL - CouchDB und andere NoSQL-Datenbanken
Not only SQL - CouchDB und andere NoSQL-DatenbankenNot only SQL - CouchDB und andere NoSQL-Datenbanken
Not only SQL - CouchDB und andere NoSQL-DatenbankenKerstin Puschke
 
Einstieg in relationale Datenbanken mit MySQL (Folien)
Einstieg in relationale Datenbanken mit MySQL (Folien)Einstieg in relationale Datenbanken mit MySQL (Folien)
Einstieg in relationale Datenbanken mit MySQL (Folien)Kerstin Puschke
 
MySQL Backup/Recovery
MySQL Backup/RecoveryMySQL Backup/Recovery
MySQL Backup/RecoveryFromDual GmbH
 
üBersicht 1
üBersicht 1üBersicht 1
üBersicht 1empalis
 

Mais procurados (15)

Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...
Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...
Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...
 
MySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLMySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQL
 
MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA's
 
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
 
Marek Adar – IT-Tage 2015 – Oracle 12c Multitenant
Marek Adar – IT-Tage 2015 – Oracle 12c MultitenantMarek Adar – IT-Tage 2015 – Oracle 12c Multitenant
Marek Adar – IT-Tage 2015 – Oracle 12c Multitenant
 
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationWeltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
 
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSystem-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
 
Virtualized Exadata - the first 4 "productive" years...
Virtualized Exadata - the first 4 "productive" years...Virtualized Exadata - the first 4 "productive" years...
Virtualized Exadata - the first 4 "productive" years...
 
NoSQL with MySQL
NoSQL with MySQLNoSQL with MySQL
NoSQL with MySQL
 
Not only SQL - CouchDB und andere NoSQL-Datenbanken
Not only SQL - CouchDB und andere NoSQL-DatenbankenNot only SQL - CouchDB und andere NoSQL-Datenbanken
Not only SQL - CouchDB und andere NoSQL-Datenbanken
 
Einstieg in relationale Datenbanken mit MySQL (Folien)
Einstieg in relationale Datenbanken mit MySQL (Folien)Einstieg in relationale Datenbanken mit MySQL (Folien)
Einstieg in relationale Datenbanken mit MySQL (Folien)
 
NoSQL und CouchDB
NoSQL und CouchDBNoSQL und CouchDB
NoSQL und CouchDB
 
MySQL Backup/Recovery
MySQL Backup/RecoveryMySQL Backup/Recovery
MySQL Backup/Recovery
 
üBersicht 1
üBersicht 1üBersicht 1
üBersicht 1
 

Destaque

Estudos Qualitativos On Line
Estudos Qualitativos On LineEstudos Qualitativos On Line
Estudos Qualitativos On LineMadalena Lupi
 
Hiperion Digital Microwave Radio Presentation
Hiperion Digital Microwave Radio PresentationHiperion Digital Microwave Radio Presentation
Hiperion Digital Microwave Radio PresentationBarry Rule
 
Enhancing the gas barrier properties of polylactic acid by means of electrosp...
Enhancing the gas barrier properties of polylactic acid by means of electrosp...Enhancing the gas barrier properties of polylactic acid by means of electrosp...
Enhancing the gas barrier properties of polylactic acid by means of electrosp...Sergio Torres-Giner
 
03 m-ct-inyeccion-bosch-me744
03 m-ct-inyeccion-bosch-me74403 m-ct-inyeccion-bosch-me744
03 m-ct-inyeccion-bosch-me744lebegui2
 
Listing eurobonds on the cisx
Listing eurobonds on the cisxListing eurobonds on the cisx
Listing eurobonds on the cisxprahladtripati
 
Mi vce 2000 ss & vce-2200 ss - Servicio Tecnico Fagor
Mi vce 2000 ss & vce-2200 ss - Servicio Tecnico FagorMi vce 2000 ss & vce-2200 ss - Servicio Tecnico Fagor
Mi vce 2000 ss & vce-2200 ss - Servicio Tecnico Fagorserviciotecnicofagor
 
Jayakar, pupul krishnamurti. biografía
Jayakar, pupul   krishnamurti. biografíaJayakar, pupul   krishnamurti. biografía
Jayakar, pupul krishnamurti. biografíasergi75
 
Ba z cityformu
Ba z cityformuBa z cityformu
Ba z cityformufroloo
 
BeTrains for Qt
BeTrains for QtBeTrains for Qt
BeTrains for Qtmaleadt
 
Reflexiones junto a la fuente taza, finales de octubre 2013
Reflexiones junto a la fuente taza, finales de octubre 2013Reflexiones junto a la fuente taza, finales de octubre 2013
Reflexiones junto a la fuente taza, finales de octubre 2013gamiruela
 
Kreishäuser in Siegen
Kreishäuser in SiegenKreishäuser in Siegen
Kreishäuser in Siegensiwiarchiv
 
Erl1 panorama de samaritan´s purse
Erl1 panorama de samaritan´s purseErl1 panorama de samaritan´s purse
Erl1 panorama de samaritan´s purseJosue Miranda
 
Trabajo colaborativo girs nathalia apraez julio avellaneda jairo marin
Trabajo colaborativo girs nathalia apraez  julio avellaneda  jairo marinTrabajo colaborativo girs nathalia apraez  julio avellaneda  jairo marin
Trabajo colaborativo girs nathalia apraez julio avellaneda jairo marinJairo Marín
 
02 el delito y la responsabilidad penal
02 el delito y la responsabilidad penal02 el delito y la responsabilidad penal
02 el delito y la responsabilidad penalIUPMerida
 
Penulisan Proposal Riset Doktor
Penulisan Proposal Riset DoktorPenulisan Proposal Riset Doktor
Penulisan Proposal Riset DoktorYeffry Handoko
 

Destaque (20)

Estudos Qualitativos On Line
Estudos Qualitativos On LineEstudos Qualitativos On Line
Estudos Qualitativos On Line
 
Hiperion Digital Microwave Radio Presentation
Hiperion Digital Microwave Radio PresentationHiperion Digital Microwave Radio Presentation
Hiperion Digital Microwave Radio Presentation
 
Enhancing the gas barrier properties of polylactic acid by means of electrosp...
Enhancing the gas barrier properties of polylactic acid by means of electrosp...Enhancing the gas barrier properties of polylactic acid by means of electrosp...
Enhancing the gas barrier properties of polylactic acid by means of electrosp...
 
03 m-ct-inyeccion-bosch-me744
03 m-ct-inyeccion-bosch-me74403 m-ct-inyeccion-bosch-me744
03 m-ct-inyeccion-bosch-me744
 
Listing eurobonds on the cisx
Listing eurobonds on the cisxListing eurobonds on the cisx
Listing eurobonds on the cisx
 
Mi vce 2000 ss & vce-2200 ss - Servicio Tecnico Fagor
Mi vce 2000 ss & vce-2200 ss - Servicio Tecnico FagorMi vce 2000 ss & vce-2200 ss - Servicio Tecnico Fagor
Mi vce 2000 ss & vce-2200 ss - Servicio Tecnico Fagor
 
Jayakar, pupul krishnamurti. biografía
Jayakar, pupul   krishnamurti. biografíaJayakar, pupul   krishnamurti. biografía
Jayakar, pupul krishnamurti. biografía
 
edificios futuristas famosos
edificios futuristas famososedificios futuristas famosos
edificios futuristas famosos
 
Ba z cityformu
Ba z cityformuBa z cityformu
Ba z cityformu
 
BeTrains for Qt
BeTrains for QtBeTrains for Qt
BeTrains for Qt
 
Html 5
Html 5Html 5
Html 5
 
Reflexiones junto a la fuente taza, finales de octubre 2013
Reflexiones junto a la fuente taza, finales de octubre 2013Reflexiones junto a la fuente taza, finales de octubre 2013
Reflexiones junto a la fuente taza, finales de octubre 2013
 
Kreishäuser in Siegen
Kreishäuser in SiegenKreishäuser in Siegen
Kreishäuser in Siegen
 
DeanCV
DeanCVDeanCV
DeanCV
 
Erl1 panorama de samaritan´s purse
Erl1 panorama de samaritan´s purseErl1 panorama de samaritan´s purse
Erl1 panorama de samaritan´s purse
 
Manual electrolux lavavajillas esi4510rox
Manual electrolux   lavavajillas esi4510roxManual electrolux   lavavajillas esi4510rox
Manual electrolux lavavajillas esi4510rox
 
Egipte
EgipteEgipte
Egipte
 
Trabajo colaborativo girs nathalia apraez julio avellaneda jairo marin
Trabajo colaborativo girs nathalia apraez  julio avellaneda  jairo marinTrabajo colaborativo girs nathalia apraez  julio avellaneda  jairo marin
Trabajo colaborativo girs nathalia apraez julio avellaneda jairo marin
 
02 el delito y la responsabilidad penal
02 el delito y la responsabilidad penal02 el delito y la responsabilidad penal
02 el delito y la responsabilidad penal
 
Penulisan Proposal Riset Doktor
Penulisan Proposal Riset DoktorPenulisan Proposal Riset Doktor
Penulisan Proposal Riset Doktor
 

Semelhante a Bacula Workshop - Teil 1

Docker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtDocker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtB1 Systems GmbH
 
Orchestrierung einer Private Cloud mit OpenStack Heat
Orchestrierung einer Private Cloud mit OpenStack Heat Orchestrierung einer Private Cloud mit OpenStack Heat
Orchestrierung einer Private Cloud mit OpenStack Heat B1 Systems GmbH
 
DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerStefan Oehrli
 
OpenStack – Automatisiertes Bereitstellen von Instanzen
OpenStack – Automatisiertes Bereitstellen von InstanzenOpenStack – Automatisiertes Bereitstellen von Instanzen
OpenStack – Automatisiertes Bereitstellen von InstanzenB1 Systems GmbH
 
Automatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudAutomatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudTrivadis
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...B1 Systems GmbH
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesDigicomp Academy AG
 
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...Schlomo Schapiro
 
Private Cloud mit Open Source
Private Cloud mit Open SourcePrivate Cloud mit Open Source
Private Cloud mit Open SourceDaniel Schneller
 
Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...
Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...
Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...OPITZ CONSULTING Deutschland
 
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center ManagementOpensource Tools für das Data Center Management
Opensource Tools für das Data Center Managementinovex GmbH
 
Oracle Database Backup Service Martin Berger
Oracle Database Backup Service Martin BergerOracle Database Backup Service Martin Berger
Oracle Database Backup Service Martin BergerDésirée Pfister
 
Oracle Database Backup Service
Oracle Database Backup ServiceOracle Database Backup Service
Oracle Database Backup ServiceTrivadis
 
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfSyahri Ramadhan
 
Ausgewählte Performance Technologien
Ausgewählte Performance TechnologienAusgewählte Performance Technologien
Ausgewählte Performance Technologienoraclebudb
 

Semelhante a Bacula Workshop - Teil 1 (15)

Docker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtDocker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemacht
 
Orchestrierung einer Private Cloud mit OpenStack Heat
Orchestrierung einer Private Cloud mit OpenStack Heat Orchestrierung einer Private Cloud mit OpenStack Heat
Orchestrierung einer Private Cloud mit OpenStack Heat
 
DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und Docker
 
OpenStack – Automatisiertes Bereitstellen von Instanzen
OpenStack – Automatisiertes Bereitstellen von InstanzenOpenStack – Automatisiertes Bereitstellen von Instanzen
OpenStack – Automatisiertes Bereitstellen von Instanzen
 
Automatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudAutomatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloud
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
 
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
 
Private Cloud mit Open Source
Private Cloud mit Open SourcePrivate Cloud mit Open Source
Private Cloud mit Open Source
 
Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...
Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...
Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...
 
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center ManagementOpensource Tools für das Data Center Management
Opensource Tools für das Data Center Management
 
Oracle Database Backup Service Martin Berger
Oracle Database Backup Service Martin BergerOracle Database Backup Service Martin Berger
Oracle Database Backup Service Martin Berger
 
Oracle Database Backup Service
Oracle Database Backup ServiceOracle Database Backup Service
Oracle Database Backup Service
 
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
 
Ausgewählte Performance Technologien
Ausgewählte Performance TechnologienAusgewählte Performance Technologien
Ausgewählte Performance Technologien
 

Mais de inovex GmbH

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegeninovex GmbH
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIinovex GmbH
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolutioninovex GmbH
 
Network Policies
Network PoliciesNetwork Policies
Network Policiesinovex GmbH
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learninginovex GmbH
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungeninovex GmbH
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeteninovex GmbH
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetesinovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systemsinovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreiheninovex GmbH
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenteninovex GmbH
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?inovex GmbH
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretabilityinovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use caseinovex GmbH
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessinovex GmbH
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumiinovex GmbH
 

Mais de inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Bacula Workshop - Teil 1

  • 1. Einführung in Bacula – Teil 1 und Aufbau eines Testsystems vorgestellt am 09.09.2010 in Pforzheim Daniel Bäurer inovex GmbH Systems Engineer Linux
  • 2. Was ich mit Ihnen besprechen möchte Einführung in Bacula Agenda 1. Begrüßung 2. Was ist Bacula? 3. Merkmale von Bacula 4. Aufbau von Bacula (Komponenten) 5. Aufbau der Konfiguration (Ressourcen) 6. Grundkonfiguration des Bacula-Backupsystems 26.07.12 2
  • 3. Was ich mit Ihnen besprechen möchte Einführung in Bacula Agenda 7. Erweiterte Konfiguration des Bacula-Backupsystems 8. Backup von MySQL-Datenbanken 9. Backup-to-Disk (B2D) mit Bacula 10. Disk-to-Disk-to-Tape (D2D2T) mit Bacula 11. Integration einer Tape-Library 12. Offener Themenbereich 26.07.12 3
  • 4. Bacula Ein Open-Source Netzwerk-Backupsystem Was ist Bacula? 26.07.12 4
  • 5. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Ein Open-Source Netzwerk-Backupsystem ● Netzwerkfähiges Open-Source Datensicherungsprogramm ● Quelltext weitestgehend unter der GPL V2 ● Modulares Architekturmodell (Kapselung der Aufgaben) ● Wird entwickelt für Linux, BSD, Unix, Mac OS X und Windows 26.07.12 5
  • 6. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Historie ● Bacula bedeutet BACkup und DracULA ● Projektstart im Januar 2000 durch Kern Sibbald ● Erste Version wurde im April 2002 veröffentlicht ● Aktuelle Version ist 5.0.3, erschienen im August 2010 (Ubuntu 10.04 LTS: 5.0.1, Debian 6.0: 5.0.2) 26.07.12 6
  • 7. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Urspüngliche Zielsetzung ● Sichert alles vom Palm bis zur Mainframe ● Bietet vergleichbare Funktionen wie kommerzielle Produkte ● Kompatibilität für die nächsten 30 Jahre ● Skalierbar (mehr als 10.000 Systeme) 26.07.12 7
  • 8. Bacula Ein Open-Source Netzwerk-Backupsystem Merkmale von Bacula 26.07.12 8
  • 9. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Merkmale ● Automatisches, zeitgleiches und priorisiertes Sichern von Systemen ● Sichert auf verschiedenste Medien (Band, Festplatte, CD/DVD, USB) ● Kann mit den meisten Bandlaufwerken und Tape-Libraries umgehen ● Unterstützt Barcode-Geräte ● Backup über mehrere Medien und mehrere Backups auf ein Medium 26.07.12 9
  • 10. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Merkmale ● Sehr schnelles und interaktives Wiederherstellen der Daten ● Ausführen von Skripten vor und nach einem Backup oder Fehler ● Schutz vor Überschreiben von Medien ● Signatur für jede Datei und Prüfsumme der Sicherung ● Verschlüsselung der Kommunikation und der Daten 26.07.12 10
  • 11. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Modulares Konzept ● Client-Server-Modell ● Kapselung der Aufgaben in Modulen (Komponenten) ● Sehr hohe Skalierbarkeit der Komponenten ● Interaktion der Komponenten über TCP/IP ● Gegenseitige Authentifizierung der Komponenten 26.07.12 11
  • 12. Bacula Ein Open-Source Netzwerk-Backupsystem Aufbau von Bacula (Komponenten) 26.07.12 12
  • 13. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Interaktion der Komponenten Aus http://www.bacula.org/de/rel-manual/Was_ist_Bacula.html Aus http://www.bacula.org/de/rel-manual/Was_ist_Bacula.html 26.07.12 13
  • 14. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Komponenten ● Director (bacula-dir)  Oberste Instanz des Backup-Systems  Koordiniert sämtliche Komponenten  Steuert Backups und die Wiederherstellung  In typischen Szenarien nur einmal vorhanden  Läuft als Daemon (ohne root-Rechte möglich) 26.07.12 14
  • 15. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Komponenten ● Catalog (SQL-DB)  Gedächtnis des Backup-Systems  Speichert die Metadaten (Dateiindex, Attribute, etc.)  Verwaltung der Sicherungsmedien  Kann zur Erstellung von Berichten genutzt werden  Unterstützt werden MySQL, PostgreSQL oder SQLite 26.07.12 15
  • 16. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Komponenten ● Storage-Daemon (bacula-sd)  Kapselt den physischen Zugriff auf die Sicherungsmedien  Archivierung auf unterschiedliche Medien (HDD, Band, USB)  Pro Storage mehrere und unterschiedliche Medien möglich  Mehrere Storage pro Backup-System möglich  Läuft als Daemon (ohne root-Rechte möglich) 26.07.12 16
  • 17. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Komponenten ● File-Daemon (bacula-fd)  Läuft auf allen Rechnern die gesichert werden sollen  Führt das Backup nach Anweisung des Bacula-Director aus  Ebenso wie die Wiederherstellung und den Datei-Abgleich  Kommuniziert sowohl mit dem Director als auch dem Storage  Benötigt vollen Zugriff auf das System (root-Rechte notwendig) 26.07.12 17
  • 18. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Komponenten ● Console (CLI, GUI, Web-GUI)  Administrations- und Benutzerschnittstelle zum Bacula-Director  Manuelle Einflussnahme auf das Backup-System  Unterschiedlichste Restriktionen möglich ● Monitor (GUI)  Status-Schnittstelle  Zustandsanzeige für alle Komponenten 26.07.12 18
  • 19. Bacula Ein Open-Source Netzwerk-Backupsystem Aufbau der Konfiguration (Ressourcen) 26.07.12 19
  • 20. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Ressourcen Aus http://www.bacula.org/de/rel-manual/Was_ist_Bacula.html 26.07.12 20
  • 21. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Ressourcen ● Ressourcen (Objekte) abstrahieren das Backup-System ● Ressourcen enthalten mehrere Direktiven ● Ressourcen können weitere Ressourcen einbinden ● Eine Komponente wird aus mehreren Ressourcen gebildet ● Die Benamung der Ressourcen muss eindeutig sein 26.07.12 21
  • 22. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Ressourcen ● Pool-Ressource  Wird vom Bacula-Director verwendet  Besteht aus der Ressource Volume  Gruppiert Volumes  Sicherung ist auf die Größe des Pools beschränkt  Meta-Daten (Volumes, usw.) werden im Katalog vorgehalten 26.07.12 22
  • 23. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Ressourcen ● Volume-Ressource  Wird verwendet durch die Ressource Pool  Sicherungsmedium (physikalisches Band, einzelne Datei)  Meta-Daten (Anzahl Mounts, usw.) werden im Katalog vorgehalten  Digitale Kennzeichnung (label) fügt Volume einem Pool hinzu 26.07.12 23
  • 24. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Ressourcen ● Job-Ressource  Wird verwendet durch den Bacula-Director  Beschreibt genau eine Aufgabe die Bacula ausführen soll  Besteht aus den Ressourcen Pool, FileSet, Schedule, Storage und Client  Aufgaben können vom Typ Backup, Restore, Verify oder Admin sein 26.07.12 24
  • 25. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Ressourcen ● FileSet-Ressource  Gibt Dateien/Verzeichnisse an die zu sichern sind (include und exclude)  Definiert wie zu sichern ist (komprimiert, signiert, usw.) ● Schedule  Zeitplan, der beschreibt wann Aktionen ausgeführt werden  Bindet die Job-Ressource kein Zeitplan ein, so kann der Job nur manuell ausgeführt werden. 26.07.12 25
  • 26. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Ressourcen ● Storage-Ressource  Bestimmt mit welcher Komponente gesichert werden soll  Ist ein Verweis auf die zu verwendende Storage-Komponente ● Client-Ressource  Bestimmt welcher Rechner sichern soll  Ist ein Verweis auf die zu verwendende File-Komponente ● JobDefs-Ressource  Fasst allgemeingültige Definitionen für Jobs zusammen 26.07.12 26
  • 27. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Komponentenspezifische Ressourcen ● Director-, Client- und Storage-Ressource  Konfiguration der Komponenten  Benutzungsrechte der Komponente ● Device-Ressource  Konfiguration des Sicherungs-Mediums ● Messages  Konfiguration der Benachrichtigungen 26.07.12 27
  • 28. Bacula Ein Open-Source Netzwerk-Backupsystem Grundkonfiguration des Bacula-Backupsystems 26.07.12 28
  • 29. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Grundkonfiguration des Backupsystems ● Die Grundkonfiguration des Backupsystems erfolgt anhand der Ressourcen einer Komponente. ● Für ein grundlegendes Bacula-System werden folgende Komponenten benötigt:  Director mit Catalog – Steuerung des Systems  Console – Beeinflussung des Systems  Storage-Daemon – Speicherort der Sicherungsdaten  File-Daemon – Sichern des Bacula-Director und -Catalog ● Alle Komponenten können auf der selben Hardware residieren. 26.07.12 29
  • 30. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Grundkonfiguration des Backupsystems ● Die Konfigurationsdateien der Komponenten befinden sich unterhalb von /etc/bacula in  bacula-dir.conf – Director, Catalog und weitere Ressourcen  bconsole.conf – Console  bacula-sd.conf – Storage-Daemon  bacula-fd.conf – File-Daemon ● Die Konfiguration einer Ressource beginnt immer mit einer Deklaration des Ressourcen-Typs. 26.07.12 30
  • 31. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration des Director und Catalog ● Der Bacula-Director wird über die Ressource Director deklariert. ● Das Passwort wird zur Anmeldung durch die Console benötigt. Director { Name = baculademo-dir Description = "Dies ist der baculademo Backup-Server auf Basis von Bacula 5.0.2“ DirAddress = 192.168.92.10 Dirport = 9101 password = "IrgendwasNettes" Messages = Daemon WorkingDirectory = "/var/lib/bacula" PidDirectory = "/var/run/bacula" QueryFile = "/etc/bacula/scripts/query.sql" Maximum Concurrent Jobs = 1 } 26.07.12 31
  • 32. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration des Director und Catalog ● Ebenfalls in der bacula-dir.conf wird der zu verwendende Bacula- Catalog deklariert (mehrere Kataloge möglich). ● Initial angelegt wird der Bacula-Catalog anhand vorgefertiger SQL- Scripte auf einem entsprechenden SQL-Dienstserver. Catalog { Name = baculademo-cat DB Name = bacula DB Address = 127.0.0.1 DB Port = 3306 user = bacula password = "AuchwasNettes" } 26.07.12 32
  • 33. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration von Pools ● Pools werden über die Ressource Pool deklariert. ● Volumes werden einem Pool über die Bacula-Console und dem Kommando label zugeordnet. Pool { Name = File-Dayly-Pool Pool Type = Backup Storage = File-Storage Volume Retention = 10 days Maximum Volume Bytes = 650MB AutoPrune = yes Recycle = yes LabelFormat = File-Dayly-Volume Next Pool = Off-Site-Pool } 26.07.12 33
  • 34. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration von Clients ● Eine Client-Ressource stellt einen Verweis auf den zu sichernden Rechner dar, auf dem ein erreichbarer File-Daemon läuft. ● Das Passwort wird zur Anmeldung am File-Daemon benötigt. Client { Name = bacula-client-1.localdomain Address = 192.168.92.20 FDPort = 9102 Catalog = baculademo-cat Password = "WiederumwasNettes" File Retention = 7 days Job Retention = 14 days AutoPrune = yes } 26.07.12 34
  • 35. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration von Storages ● Eine Storage-Ressource ist ein Verweis auf den Storage-Daemon, auf dem die zu sichernden Daten geschrieben werden. ● Das Passwort wird zur Anmeldung am Storage-Daemon benötigt. Storage { Name = File-Storage Address = 192.168.92.10 SDPort = 9103 Password = "ErneutwasNettes" Device = FileStorage Media Type = File } 26.07.12 35
  • 36. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration von FileSets ● FileSets können anhand von includes und excludes erstellt werden. ● Wildcards und RegEx sind möglich. FileSet { Name = Full-File-Set Include { File = / Options { signature = MD5; hardlinks=yes } } Exclude { File = /var/lib/mysql } 26.07.12 36
  • 37. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration von Schedules ● Die Schedule-Ressource beinhaltet einen oder mehrere Zeitpläne für die Sicherung. ● Ebenfalls können Konfigurationen bestimmter Ressourcen (Jobs) überschrieben werden. Schedule { Name = Weekly-Backup-Schedule Run = Level=Full sat at 23:05 Run = Level=Differential sun-fri at 23:05 } 26.07.12 37
  • 38. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration von Jobs und JobDefs ● Sämtliche Parameter einer Job-Ressource können in die JobDefs- Ressource ausgelagert werden. ● Eine Job-Ressource kann Einstellungen der JobDefs-Ressource überschreiben. Job { Name = baculademo.localdomain-MySQLBackup Client = baculademo.localdomain JobDefs = Default-Job Level = Full Schedule = Catalog-Backup-Schedule Priority = 11 Run Before Job = "/etc/bacula/scripts/make_catalog_backup.pl baculademo-cat" RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup" } 26.07.12 38
  • 39. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration des Storage-Daemon ● Ein Storage-Daemon wird über die Ressource Storage deklariert. ● Die IP-Adresse und der Port muss sowohl für den Bacula-Director als auch die File-Daemons, die den Storage zum sichern benutzen, erreichbar sein. Storage { Name = baculademo-sd SDAddress = 192.168.92.10 SDPort = 9103 WorkingDirectory = "/var/lib/bacula" PidDirectory = "/var/run/bacula" Maximum Concurrent Jobs = 20 } 26.07.12 39
  • 40. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration des Storage-Daemon ● Damit der Bacula-Director den Storage-Daemon verwenden kann, wird dieser über die Ressource Director bekannt gemacht. ● Das Passwort benötigt der Bacula-Director um sich am Storage- Daemon anzumelden. ● Ein Storage-Daemon kann von mehreren Director-Instanzen verwendet werden. Director { Name = baculademo-dir Password = "ErneutwasNettes" Monitor = no } 26.07.12 40
  • 41. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration des Storage-Daemon ● Der Storage-Daemon steuert das Gerät an, auf dem die Daten gesichert werden sollen. Dieses muss ebenfalls deklariert werden (Ressource Device). Device { Name = FileStorage Archive Device = /backup Device Type = File Media Type = File Random Access = yes Maximum Volume Size = 20GB Maximum File Size = 650MB LabelMedia = yes } 26.07.12 41
  • 42. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration des File-Daemon ● Ein File-Daemon wird über die Ressource FileDaemon deklariert. ● Die IP-Adresse und der Port müssen für den Bacula-Director erreichbar sein. FileDaemon { Name = baculademo-fd FDAddress = 192.168.92.10 FDport = 9102 WorkingDirectory = "/var/lib/bacula" PidDirectory = "/var/run/bacula" Maximum Concurrent Jobs = 20 } 26.07.12 42
  • 43. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Konfiguration des File-Daemon ● Auch dem File-Daemon muss, wie dem Storage-Daemon, der Director bekannt gemacht werden, der sich mit ihm verbinden darf. ● Das Passwort benötigt ebenfalls der Bacula-Director um sich am File-Daemon anmelden zu können. ● Auch ein File-Daemon kann von mehreren Directoren angesprochen werden. Director { Name = baculademo-dir Password = "WiederumwasNettes" Monitor = no } 26.07.12 43
  • 44. Bacula Ein Open-Source Netzwerk-Backupsystem Erweiterte Konfiguration des Bacula-Backupsystem 26.07.12 44
  • 45. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Erweiterte Konfiguration: Run Command und RunScript ● Mit Run Command können vor oder nach einem Job, aber auch in einem Fehlerfall, Kommandos ausgeführt werden. ● Mit Run Script können komplexere Strukturen abgebildet werden. RunScript { RunsWhen = Before FailJobOnError = No Command = "/etc/init.d/apache stop" } RunScript { RunsWhen = After RunsOnFailure = yes Command = "/etc/init.d/apache start" } 26.07.12 45
  • 46. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Erweiterte Konfiguration: Unterstützung von TLS ● Die Kommunikation zwischen den Komponenten kann mit TLS verschlüsselt werden. ● TLS kann aktiviert sein, muss allerdings nicht zwingend von den Komponenten verwendet werden. ● Selbstsignierte Zertifikate sind nur mit Einschränkung nutzbar. Es ist besser wenn man eine eigene oder offizielle CA verwendet. TLS Enable = yes TLS Require = no TLS Certificate = /etc/ssl/private/bacula.pem TLS Key = /etc/ssl/private/bacula.pem TLS CA Certificate File = /etc/ssl/private/ca.pem 26.07.12 46
  • 47. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Erweiterte Konfiguration: Unterstützung von PEK ● Die zu sichernden Daten können mit „Private/Public Encryption Keys“ verschlüsselt und signiert werden. ● Um eine Wiederherstellung nicht zu gefährden, sollte zumindest der Masterkey an einem sicheren Ort gelagert werden! ● Die Verschlüsselung wird auf/von jedem File-Daemon durchgeführt. PKI Signatures = Yes PKI Encryption = Yes PKI Keypair = /etc/ssl/private/bacula.pem PKI Master Key = /etc/ssl/private/master.cert 26.07.12 47
  • 48. Bacula Ein Open-Source Netzwerk-Backupsystem Backup von MySQL- Datenbanken 26.07.12 48
  • 49. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Backup von MySQL-Datenbanken ● Bacula liefert keinerlei Schnittstellen für das (Online-) Backup von MySQL-Datenbanken. ● In Verbindung mit Run Command oder RunScript können die MySQL-Werkzeugen wie mysqldump oder mysqlhotcopy verwendet werden. ● Einschränkungen in Bezug auf die verwendete Storage-Engine (InnoDB, MyISAM, NDB) und Schreibschutz (LOCK TABLE) ● Verwendung etablierter Sicherungsmethoden für MySQL mit Bacula (Master-Slave, NDB-Backup, Binary-Log, LVM-Snapshot, etc.) 26.07.12 49
  • 50. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – MySQL-Backup mit mysqldump ● mysqldump eignet sich sowohl für die MyISAM- als auch InnoDB- Storage-Engine. ● Für Datenbank-Server mit gemischten Storage-Engines gut geeignet. ● Bei großen Datenbanken wird durch das Erzeugen des Dumps eine sehr große Last erzeugt. ● Wenn der Dump ohne Locks erzeugt wird, könnte ein inkonsistenter Zustand der Daten erzeugt werden. 26.07.12 50
  • 51. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – MySQL-Backup mit mysqlhotcopy ● mysqlhotcopy eignet sich nur für die MyISAM-Storage-Engine. Für diesen Typ ist es aber der Sicherung mit mysqldump vorzuziehen. ● Bei großen Datenbanken, im Vergleich zu mysqldump, sehr schnell. ● Das Sicherungsvolumen ist wesentlich höher als bei mysqldump. ● mysqlhotcopy verwendet LOCKING was zwar konsistente Sicherungen erzeugt aber nicht für alle Datenbanken in Frage kommt. 26.07.12 51
  • 52. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – MySQL-Backup mit mysqldump und mysqlhotcopy ● Bacula kann ein MySQL-Backup mit den beiden Werkzeugen sehr einfach durch die Option „Client Run Before Job“ ausführen. ● Dabei wird ein (typisches) Script auf dem Client (MySQL-Server) hinterlegt, dass vor dem eigentlichen Backup-Job ausgeführt wird. ● Anschließend speichert Bacula die MySQL-Sicherung ● Mit „Client Run After Job“ kann die erzeugte Sicherungen abschließend auf dem Client gelöscht werden. Client Run Before Job = "/etc/bacula/scripts/make_dump.sh" Client Run After Job = "/etc/bacula/scripts/delete_dump.sh" 26.07.12 52
  • 53. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – MySQL-Backup mittels Master-Slave-Replikation ● Um einige Nachteile (Locking, Last, etc.) der beiden MySQL- Werkzeuge mysqldump und mysqlhotcopy zu umgehen, kann man auf eine Master-Slave-Replikation zurückgreifen. ● Dabei werden alle Sicherungsaufgaben der beiden Werkzeuge auf dem Slave durchgeführt. ● Als Alternative zu den beiden Werkzeugen, kann der Slave in einen konsistenten Zustand gebracht („stop slave“) und MySQL angehalten werden. ● Anschließend wird das gesamte MySQL-Data-Verzeichnis mittels RunScript oder Run Command gesichert. 26.07.12 53
  • 54. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Weitere MySQL-Backup-Methoden ● Um ein MySQL-Cluster zu sichern, kann auf die implementierte Backup-Funktion der NDB-Cluster-Engine zurückgegriffen werden. ● Nachdem die Sicherung erzeugt wurde, können die Metadaten (.ctl), die Tabellendatensätze (.data) und die Transaktionslogs (.log) von jedem Cluster-Knoten gesichert werden. ● Erstellen und Sichern von MySQL-Binlog-Dateien ● Verwendung von InnoDB Hot Backup (kommerziell) oder das erzeugen eines LVM-Snapshot. 26.07.12 54
  • 55. Bacula Ein Open-Source Netzwerk-Backupsystem Backup-to-Disk (B2D) mit Bacula 26.07.12 55
  • 56. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Backup-to-Disk (B2D) ● Auf dem Storage-Daemon wird die Sicherung in Dateien in einer eigenen Ressource (Device) deklariert. ● Als Sicherungsziel (Archive Device) wird einfach ein Verzeichnispfad sowie als Medientyp „File“ angegeben. ● Wenn mehrere B2D-Verzeichnispfade (auf dem selben Storage- Daemon) benutzt werden sollen, muss sich der Medientyp unterscheiden (File1, File2, Filen). ● Vorteile von B2D sind kürzere Sicherungszeiten, ein schnelleres Wiederherstellen und bieten einen geringeren Sicherungsaufwand. 26.07.12 56
  • 57. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Data-Spooling ● Data-Spooling schreibt die Daten der Clients zuerst in eine Datei um diese anschließend in einem Vorgang auf Bänder zu schreiben. ● Dadurch wird verhindert, dass das Bandlaufwerk permanent stoppt und wieder anläuft. ● Der Sicherungsvorgang wird beschleunigt. ● Die Spooling-Daten können nicht für eine Wiederherstellung verwendet werden. SpoolData = yes Maximum Spool Size = 400GB Spool Directory = /tmp 26.07.12 57
  • 58. Bacula Ein Open-Source Netzwerk-Backupsystem Disk-to-Disk-to-Tape (D2D2T) mit Bacula 26.07.12 58
  • 59. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Disk-to-Disk-to-Tape (D2D2T) ● Bacula bietet die Möglichkeit, Jobs oder Volumes (und weiterer Kriterien) zu migrieren oder kopieren. Dies bildet die Grundlage von D2D2T. ● Bei der Migration werden die Daten anhand der festgelegten Kriterien von einem Volume auf ein anderes Volume verschoben. Alle Einträge im Bacula-Catalog werden auf das neue Volume umgeschrieben. ● Beim Kopieren werden die Daten auf ein weiteres Volume dupliziert. Auch die Einträge im Bacula-Catalog werden dupliziert und mit dem Vermerk „Copy“ markiert. 26.07.12 59
  • 60. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Disk-to-Disk-to-Tape (D2D2T) ● Damit D2D2T benutzt werden kann, muss der entsprechende Pool zwingend die Option „Next Pool“ enthalten. ● Next Pool bestimmt in welchen Pool Volumes verschoben oder kopiert werden. ● Eine D2D2T-Job wird wie jeder andere Job angelegt. Allerdings wird der Job-Typ auf Migrate oder Copy gesetzt. Job { Name = "migrate" Type = Migrate Selection Type = Volume Selection Pattern = "File" } 26.07.12 60
  • 61. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Virtuelles Backup ● Eine etwas abgewandelte Möglichkeit von D2D2T ist das virtuelle Backup (Vbackup) oder auch Consolidation. ● Beim Vbackup wird aus dem letzten Vollbackup und den folgenden differentiellen und/oder inkrementellen Sicherungen ein neues Vollbackup erstellt. ● Als Voraussetzung von Vbackup muss der betreffende Pool ebenfalls über die Option „Next Pool“ verfügen. ● Ein Vbackup wird dadurch erstellt, indem das Sicherungslevel auf VirtualFull eingestellt wird (Job- oder Schedule-Ressource). 26.07.12 61
  • 62. Bacula Ein Open-Source Netzwerk-Backupsystem Integration einer Tape-Library 26.07.12 62
  • 63. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Integration einer Tape-Library ● Bei der Integration von Tape-Libraries greift Bacula auf das MTX- Projekt (Media Changer Tools) zurück. ● Sämtliche von MTX unterstützen Autochanger (Tape-Libraries) können für Bacula verwendet werden. ● Bacula liefert ein eigens mtx-Script mit, dass die Schnittstelle zu MTX übernimmt (die MTX-Tools steuern den Autochanger). ● Es können auch Autochanger verwendet werden, die mehr als ein Laufwerk ansteuern. 26.07.12 63
  • 64. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Integration einer Tape-Library ● Voraussetzung für den Einsatz einer Tape-Library ist, dass Volumes im Katalog existieren (gelabelt sind) und auch einer Slotnummer im Autochanger zugeteilt wurden. ● Hierfür muss die Storage-Ressource des Bacula-Director angepasst werden. Die Ressource muss den Eintrag Autochanger = yes enthalten. ● Auch die Device-Ressource des Storage-Daemon muss den Eintag Autochanger = yes enthalten, damit die Tape-Library benutzt werden kann. 26.07.12 64
  • 65. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Integration einer Tape-Libraray ● Eine typische Konfiguration der Libraray könnte wie folgt aussehen: Autochanger { Name = Autochanger Device = Tape1, Tape2 Changer Device = /dev/sg0 Changer Command = "/etc/bacula/mtx-changer %c %o %S %a %d" } Device { Name = Tape1 Drive Index = 0 Autochanger = yes … Device { Name = Tape2 Drive Index = 1 Autochanger = yes ... 26.07.12 65
  • 66. Bacula Ein Open-Source Netzwerk-Backupsystem Offener Themenbereich 26.07.12 66
  • 67. Bacula Ein Open-Source Netzwerk-Backupsystem Bacula – Offener Themenbereich ● Planung der Backupstrategie ● Berechnung des benötigten Speicherplatz für die Datensicherung ● Hardwareanforderung ● … ● … ● ... 26.07.12 67
  • 68. Vielen Dank für Ihre Aufmerksamkeit! inovex GmbH Pforzheim München Köln Karlsruher Straße 71 Konrad-Zuse-Platz 1 Hansaring 68-70 D-75179 Pforzheim D-81829 München D-50670 Köln