Bacula - howto. W sutuacji gdy posiadamy firewalla należy go odpowiednio zmodyfikować (na przykładzie iptables ):



Podobne dokumenty
System backup ów Bacula

Virtual Backup czyli backup syntetyczny w Bacula

Bacula. Czy warto? Tomasz Górny tgorn(at)onet.pl Zimowisko 2010

Artykuł zawiera teorię kopiowania backupów jak i prezentuje jego praktyczne zastosowanie przy użyciu strategii backupu Dysk-Na-Dysk-Na-Taśmę.

GLOBALNA DEDUPLIKACJA BLOKOWA W ŚRODOWISKU BACULA

MikroTik Serwer OpenVPN

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Plik bootstrap w teorii i w praktyce

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Po pobraniu plików instalacyjnych w pierwszej kolejności dokonujemy instalacji serwera ESET Remote Administrator Server

Aplikacje internetowe - laboratorium

Konfiguracja vsftpd ( Very Secure FTP Server )

Instalacja postgresa wersja step by step. 1. Dla nowego systemu, na którym nie było wcześniej instalowanych postgresów

Instalacja Oracle Designera ( )

Recykling woluminów w Baculi cz.2

Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Instrukcja instalacji serwera i konfiguracji licencji AppWave Concurrent.

Administracja bazami danych

Projektowanie baz danych za pomocą narzędzi CASE

Wdrożenie modułu płatności eservice. dla systemu Magento


Jak utworzyć RAMdysk w systemie Windows?

Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Wprowadzenie do Doctrine ORM

Instalacja i konfiguracja narzędzia Bacula Bweb

AE/ZP-27-16/14. Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi

Zarządzanie z poziomu Web Center Control

Odpowiedź II wyjaśnienie na zapytania do Specyfikacji Istotnych Warunków Zamówienia.

Poradnik zetula.pl. Jak założyć konto na zetula.pl. i zabezpieczyć dane na swoim komputerze?

Internetowe bazy danych

Bazy Danych. Ćwiczenie 1: Przygotowanie środowiska pracy dla bazy MySQL z wykorzystaniem XAMPP Portable Lite oraz MySQL-Front

Wykonywanie kopii bezpieczeństwa w bazie Oracle 11g

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Instalacja NOD32 Remote Administrator

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Zmiana treści Specyfikacji Istotnych Warunków Zamówienia.

Bezpieczeństwo systemów informatycznych

Jak przenieść bazę danych na zdalny serwer?

Zmiana treści Specyfikacji Istotnych Warunków Zamówienia.

Tajemnice bconsole czyli pierwsze kroki z tekstową konsolą Bacula cz.3

OpenVPN na dd-wrt

Informacje które należy zebrać przed rozpoczęciem instalacji RelayFax.

Typy tabel serwera MySQL

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

RODO a programy Matsol

Architektura komunikacji

Win Admin Replikator Instrukcja Obsługi

Materiały dodatkowe. Raspberry Pi

Wykaz zmian w programie SysLoger

Witaj, jeżeli przegladasz ten plik oznacza że chcesz stworzyć własnego masterka. No cóż koniec bełkotania bierzmy się za zrobienie mastera!

PROCEDURA BACKUP & RECOVER Dokument opisuje procedurę backup u i odtwarzania dla bazy Oracle 11gR2

Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

Kopie bezpieczeństwa. Wykorzystaj moc NAS-A.

Bezpieczeństwo Systemów Telekomunikacyjnych 2014 / 2015 Bezpieczeństwo aplikacji sieciowych, Ataki (D)DoS Prowadzący: Jarosław Białas

Instalacja systemu zarządzania treścią (CMS): Joomla

Wykaz zmian w programie SysLoger

BACKUP BAZ DANYCH MS SQL

BACKUP BAZ DANYCH FIREBIRD

Kalipso wywiady środowiskowe

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

Opis instalacji i konfiguracji programu HW Virtual Serial Port z kasą PS3000Net

Konfiguracja ustawień sieci w systemie Windows XP z użyciem oprogramowania Odyssey Client

INSTRUKCJA OBSŁUGI DLA SIECI

Administracja bazami danych. dr inż. Grzegorz Michalski

Przebieg instalacji NKP

Opis instalacji oparto na przykładzie serwera SUPERHOST z obsługą PHP i MySQL.

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Konfiguracja SNMP z wykorzystaniem pakietu MRTG

PODSTAWOWA KONFIGURACJA LINKSYS WRT300N

Tajemnice bconsole czyli pierwsze kroki z tekstową konsolą Bacula cz.1

Sieciowa instalacja Sekafi 3 SQL

Instrukcja instalacji

Win Admin Replikator Instrukcja Obsługi

Podstawowe informacje na temat serwera PLD Linux

1.1 Podłączenie Montaż Biurko Montaż naścienny... 4

Microsoft Visual SourceSafe uproszczona instrukcja użytkowania

MUCHA S.C Zgorzelec ul.turowska 1

Konfiguracja pomiaru temperatury oraz alarmu poprzez wyjścia cyfrowe w przypadku przekroczenia zadanej temperatury

Programowanie niskopoziomowe

Copyright 2012 COIG SA Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek

Migracja XL Business Intelligence do wersji

Usługi sieciowe systemu Linux

trainxx tramxx

DBPLUS Data Replicator Subtitle dla Microsoft SQL Server. dbplus.tech

Laboratorium A: Podstawy administrowania serwerem

Konfiguracja autoloader a do pracy z Bacula w systemie operacyjnym GNU/Linux

1. REPLIKACJA. 1.1 Replikacja w MySQL. 1.2 Rodzaje replikacji

EuroFirma Sklep Internetowy do programów

Uruchamianie bazy PostgreSQL

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Instrukcja tworzenia aplikacji bazodanowej opartej o technologię Oracle i platformę.net

Podstawy systemów UNIX Podstawy RMAN

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

Konfiguracja programu pocztowego dla kont w domenie spcsk.pl

Transkrypt:

Bacula - howto AUTOR: Leszek 'crony' Miś MAIL: leszek.mis@gmail.com WWW: e-guardian.org I. Wstęp II. Instalacja i konfiguracja III. Administracja I. Wstęp Bacula to opensource'owy system do backupowania, odtwarzania i zarządzania danymi, nadający się w pełni do wdrożenia dla infrastruktury produkcyjnej. Ściśle połączony projekt z zewnętrzną bazą danych (PostregSQL, MySQL) pozwala na dużą różnorodność konfiguracyjną. Możliwe jest zapisywanie backupów zarówno na urządzenia taśmowe ( pojedyńcze drive'y jak i biblioteki ) oraz bezpośrednio na dyski. Bacula składa się z 3 podstawowych demonów: * bacula-dir : port 9101 * bacula-fd : port 9102 * bacula-sd : port 9103 Bacula wykorzystuje komunikację TCP obustronną. Pakiet SYN przy inicjalicji połączenia wysyłany jest od "bacula-dir [port:9101]" do "bacula-fd [port:9102]" (przy statusie baculi), ale i w drugą stronę również przy running job. Można to zaobserwować za pomocą narzędzia tcpdump. KOMUNIKACJA: * Console -> DIR: 9101 * DIR -> SD: 9103 * DIR -> FD: 9102 * FD -> SD: 9103 W sutuacji gdy posiadamy firewalla należy go odpowiednio zmodyfikować (na przykładzie iptables ): * na serwerze: INPUT -p tcp --dport 9101:9103 -j ACCEPT; OUTPUT -p tcp --dport 9102:9103 -j ACCEPT * na klientach: INPUT -p tcp --dport 9102 -j ACCEPT; OUTPUT -p tcp --dport 9103 - ACCEPT Jeżeli występowałyby timeouty związane z firewallami, istnieje coś takiego jak heartbeat interval... II. Instalacja i konfiguracja

a). kompilacja Baculi: Ściągamy najnowszą wersję oprogramowania ( na dzisiaj jest to wersja: 2.2.7 ) Rozpakowujemy archiwum i wydajemy następujące polecenie:./configure --prefix=/usr/local/bacula/ -- mandir=/usr/local/bacula/man \ --sysconfdir=/usr/local/bacula/etc -- infodir=/usr/share/info \ --with-subsys-dir=/var/lock/subsys --withopenssl=/usr/include/openssl/ \ --with-working-dir=/var/lib/bacula -- with-scriptdir=/usr/local/bacula/libexec \ --with-dir-user=bacula -- with-dir-group=bacula --with-sd-user=root \ --with-sd-group=bacula -- with-fd-user=root --with-fd-group=bacula \ --enable-smartalloc -- with-mysql-dir=/usr/include/mysql/ --with-readline=/usr \ --withpython --with-dump-email=dumps@crony --with-job-email=jobs@crony \ -- with-pid-dir=/var/run/ --enable-wx-console --enable-gnome \ --withincluded-gettext --with-gnu-ld --disable-rpath --disable-nls --withmysql make && make install Po poprawnej kompilacji stwórzmy symlink /etc/bacula do katalogu /usr/local/etc/bacula aby nie było problemu ze znalezieniem plików konfiguracyjnych. b). baza danych Baculi W naszym przypadku skompilowaliśmy Baculę z supportem dla MySQL-a. Przechodzimy do katalogu /usr/local/bacula/libexec/. Tutaj znajdują się skrypty, za pomocą których będziemy mogli stworzyć bazę, tabele i nadać odpowiednie uprawnienia. Aby stworzyć bazę należy wyedytować następujace skrypty i dodać do nich parametr -p, za pomocą którego zostaniemy zapytani o hasło administratora. - create_mysql_database - make_mysql_tables - grant_mysql_privileges head -n 8 make_mysql_tables if $bindir/mysql $* -p -f <<END-OF-DATA USE bacula; To samo wykonujemy dla reszty skryptów. Za pomocą skryptu drop_bacula_tables można w szybki sposób wyczyścić cały katalog baculi. W sytuacji gdy będziemy chcieli zupgrade'ować Baculę należy uruchomić skrypt: /usr/local/bacula/libexec/update_mysql_tables c.) Konfiguracja Konfiguracja opiera się o zdefiniowanie poszczególnych sekcji: - /etc/bacula/bacula-dir.conf:

Director { Name = crony-dir # nazwa directora. Description = "zarządzający" DIRport = 9101 # port na którym działa director DirAddress = crony.e-guardian.net # adres directora, QueryFile = "/usr/local/bacula/libexec/query.sql" # zapytania SQL WorkingDirectory = "/var/lib/bacula/" PidDirectory = "/var/run/bacula-dir/" Maximum Concurrent Jobs = 100 # ilość konkurencyjnych jobów Password = "haaaaslooo" Messages = Daemon # poziom logowania TLS Enable = yes # szyfrowanie połączenia # wymaganie TLS-a Ogólna definicja dla jobów: JobDefs { Name = "definicja1" # nazwa Type = Backup # typ: backup, restore, verify, archive Level = Full # czy ma backupowac wszystko, czy Incremental czy Differential FileSet = "Full Set" # zbiór plików, katalogów które będą backupowane Schedule = "dobowy" # nazwa schedulera, zdefiniowany w innej sekcji Storage = Autochanger # na jaki storage bacula ma zapisywać dane Messages = Standard # poziom logowania Pool = dzienny # pool Priority = 10 # priorytet job { Name = "bastard-full" # nazwa joba Client = "bastard-fd" # klient, w tym przypadku bastard JobDefs = "definicja1" # przypisanie definicji, patrz sekcja wyzej FileSet="Full Set" # zbiór plików, katalogów które będą backupowane SpoolData = yes # spooling danych czyli najpierw zapisujemy dane na dysk, następnie na tasiemki Write Bootstrap = "/var/lib/bacula/bastard.bsr" # pliczek bardzo pomocny przy rozwaleniu się bazy. Definicja joba-restore'a do odzyskiwania danych: Job { Name = "RestoreFiles" Type = Restore # typ odzyskiwania. Client=bastard-fd FileSet="Full Set" Pool = dzienny Storage = Autochanger Messages = Standard Where = /RESTORES

Definicja Filesetu, czyli zasobów, które będą backupowane: FileSet { Name = "Full Set" # nazwa filesetu Include { # zawierać powinna: Options { signature = MD5 # sygnatura MD5 File = /home/ # wszystko stad bedzie backupowane Definicja schedula: Schedule { Name = "dobowy" # nazwa Run = Full mon-fri at 2:00 # kiedy mają się uruchamiać konkretne joby. Schedule { Name = "weekend" Run = Full sat-sun at 3:00 Definicja klientów: Client { Name = bastard-fd # nazwa Address = bastard.e-guardian.net # adres klienta, również ważny przy certyfikatach FDPort = 9102 # port na którym nasłuchuje file daemon Catalog = Catalog Password = "haaaasloooo" TLS Enable = yes # szyfrowanko TLS CA Certificate File = /etc/bacula/certs/ca-cacert.pem TLS Certificate = /etc/bacula/certs/bastard-cert.pem TLS Key = /etc/bacula/certs/bastard-key.pem Definicja storagu: Storage { Name = Autochanger # nazwa Device = Autochanger # nazwa urządzenia zdefiniowana w bacula-sd.conf Address = crony.e-guardian.net # adres SDPort = 9103 # port na którym nasłuchuje SD Password = "haaaaslooo" Media Type = LTO-2 # typ nosnika Autochanger = yes # wykorzystanie autochangera. TLS Enable = yes # szyfrowanie TLS CA Certificate File = /etc/bacula/certs/ca-cacert.pem TLS Certificate = /etc/bacula/certs/bastard-cert.pem TLS Key = /etc/bacula/certs/bastard-key.pem Definicja katalogu - user i haslo do bazy: Catalog {

Name = Catalog dbname = bacula; user = bacula; password = "haaasloooo2" DB Socket = /var/run/mysqld/mysqld.sock # socket do bazy DB Address = localhost # adres bazy danych Definicja poziomu logowania i wysylania infa na maila: Messages { Name = Daemon # nazwa. mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r" # mechanizm wysyłania powiadomień mail = jobs@crony = all,!skipped # do kogo console = all,!skipped,!saved # logowanie na konsolę append = "/var/lib/bacula/log" = all,!skipped # logowanie do pliku Definicja pooli: Pool { Name = dzienny # nazwa poola Pool Type = Backup # typ poola Recycle = no # Recycle Oldest Volume = yes AutoPrune = no # kasuje przedawnione joby i tym sposobem czyści Volumen - /etc/bacula/bacula-sd.conf: Storage { Name = crony-sd # nazwa SD SDPort = 9103 # port WorkingDirectory = "/var/lib/bacula" Pid Directory = "/var/run/" Maximum Concurrent Jobs = 20 TLS Enable = yes TLS Verify Peer = no Sekcja definiująca directora: Director { Name = crony-dir Password = "hasloooo TLS Enable = yes TLS Verify Peer = no

Definicja autochangera: Autochanger { Name = Autochanger # nazwa Device = Drive-0 # tape-drive 1 Device = Drive-1 # tape-drive 2 Device = Drive-2 # tape-drive 3 Changer Command = "/usr/local/bacula/libexec/mtx-changer %c %o %S %a %d" #komenda uruchamiana podczas migracji tasiemek do odpowiednich slotów i urządzeń Changer Device = /dev/sg1 # urządzenie autochangera Definicja kolejnych tape-drive'ow : Device { Name = Drive-0 # nazwa tape-drive'a z sekcji autochangera Drive Index = 0 # pierwsze urządzenie Media Type = LTO-2 # typ tasiemek Archive Device = /dev/nst0 # urządzenie tape-drive'a Device Type = Tape # typ nośnika AutomaticMount = yes; # kiedy urządzenie otwarte, czytaj je. AlwaysOpen = no; Removable Media = yes # RandomAccess = no # dostęp do urządzenia losowy AutoChanger = yes # wykorzystanie autochangera Changer Device = /dev/sg1 Changer Command = "/usr/local/bacula/libexec/mtx-changer %c %o %S %a %d" # Alert Command = "sh -c 'tapeinfo -f %c grep TapeAlert cat'" informacja o błędzie Spool Directory = /stagging2 # katalog na spooling AutoSelect = yes # wybieranie automatyczne - /etc/bacula/bacula-fd.conf Director { Name = crony-dir Password = "hasloooo TLS Enable = yes TLS Verify Peer = no Definicja FD: FileDaemon { Name = bastard-fd # nazwa FDport = 9102 WorkingDirectory = /var/lib/bacula Pid Directory = /var/run/ Maximum Concurrent Jobs = 20 SD Connect Timeout = 1 min # gdy FD nie będzie potrafił się połączyć do SD, # timeout wynosi 1 minutę

III. Administracja Autorzy Baculi stworzyli cli za pomocą którego możemy w prosty sposób administrować mechanizmem. CLI nazywa się bconcole. bconcole -c /etc/bacula/bconsole.conf Przydatne komendy: * status all, director, storage, client - ukaże status poszczególnych elementów baculi * reload -> przeładowanie configa directora bez kasowania uruchomionych jobow. * add -> dodaje media do pooli * umount -> odmontowuje załadowaną tasiemkę * label -> labeling * restore -> odzyskiwanie danych, nawet pojedyńczego pliku. * run -> natychmiastowe uruchomienie wybranego joba. Być może komuś przydadzą się te informację...zakręcone, ale troche poświęconego czasu i restore/backup jak znalazł :) Istnieje również panel www Bacula-web, za pomocą którego możemy na bieżąco sprawdzać jak się ma nasza Bacula:>