SlideShare a Scribd company logo
1 of 50
Download to read offline
Zálohování
Od tar k Bacula
Václav Pužman @ SUT.SH
19. 11. 2019
Fahrplan
●
Zálohování
●
Tar a Rsync
●
Back In Time, BorgBackup
●
Bacula
●
Diskuze
Zálohování
●
Záloha je
– Kopie dat
●
Na jiný datový nosič
●
Do jiného počítačového systému
●
Záloha není
– Úložišt s redundancí (nap . RAID)ě ř
●
Snapshoty
Zálohování
●
Kopie dat?
cp -r source destination
✔
Jednoduché
✔
Součástí coreutils
✗
Manuální
✗
Vždy kopíruje všechna data
✗
Nezachovává vlastníka, skupinu
ani oprávn níě
Zálohování
●
N které problémy lze odstranit pomocí p epínačě ř ů
-a, --archive (ekviv. s -dr –preserve=all)
-u, --update
--preserve=mode,ownership,timestamps
✔
Stále jednoduché
✔
Zachovává atributy souborů
✔
Kopíruje soubory, které jsou
nov jší a nebo v cíli neexistujíě
✗
Manuální
✗
Nenaváže na p erušenéř
kopírování
✗
Kopíruje celé zm n né souboryě ě
Fahrplan
●
Zálohování
●
Tar a Rsync
●
Back In Time, BackupPC, BorgBackup
●
Bacula
●
Diskuze
Tar a Rsync
●
tar - tape archive
– Nástroj pro archivaci a zálohy soubor (est. 1979)ů
tar [-v] -cpf /destination/archive.tar /files/to/backup
tar [-v] [-C <working_dir>] -xf /destination/archive.tar
✔
Vytvo í jeden archiv (soubor)ř
✗
Manuální
✗
Nenaváže na p erušenéř
vytvá ení archivuř
Tar a Rsync
●
rsync
– kopírovací nástroj s velkým
množstvím voleb
– kopíruje soubory po blocích
rsync -a -P source destination
✔
Kopíruje zm n né souboryě ě
(pokud jsou již data v cíli)
✔
Naváže na p erušené kopírováníř
✗
Manuální
✗
Neodstraní nepot ebná data vř
cíli
Tar a Rsync
●
Záloha je ... kopie dat na vzdálený systém
remote ~$ nc -l 1024 > backup.tar
local ~$ tar -cp /files/backup | nc -q 0 remote 1024
tar -cp 
--file=[user@]remote:/destination/archive.tar 
--rsh-command=/usr/bin/ssh 
/files/to/backup
rsync -aP /files/to/backup [user@]remote:/destination
Tar a Rsync
●
Komprese
– tar – vytvo ení komprimovaného archivuř
tar -vcpzf /destination/archive.tar.gz /files/to/backup
– rsync – komprese p enášených datř
rsync -aPz /files/to/backup [user@]remote:/destination
Tar a Rsync
-rw-r--r-- 1 root root 11873542252 bře 14 2015 20151103-backup-hp.rar
drwxr-xr-x 2 puzmi puzmi 4096 dub 23 2013 backup-desktop2
-rw-r--r-- 1 puzmi puzmi 15823851083 srp 3 2015 backup-hdd2.img
drw-r--r-- 1 queeg queeg 4096 lis 5 2010 backup
drw-r--r-- 1 root root 4096 zář 19 2009 backup_2
drwxr-xr-x 2 root root 4096 lis 25 2018 backup-2T
drwxr-xr-x 2 root root 4096 dub 13 2017 back-20170413
-rw-r--r-- 1 phenom phenom 361840 dub 27 2013 bacula-director-pgsql_5.2.6+dfsg-9_amd64.deb
-rw-r--r-- 1 phenom phenom 1195630 kvě 22 14:27 bacula-revize_20190225.tar.gz
-rw-r--r-- 1 phenom phenom 285126 pro 2 2011 jfsutils_1.1.15-2_amd64.deb
drwxr-xr-x 2 queeg queeg 258048 čer 15 2017 TEMP
drwxr-xr-x 2 root root 4096 kvě 30 2016 zaloha_pc-doma
Tar a Rsync
●
Možnosti automatizace
– cron
– systemd timer
– systemd + inotify
●
Mazání starých záloh
Tar a Rsync
~/.config/systemd/user/backup.path
[Unit]
Description=Checks for changes
[Path]
PathChanged=%h/Documents
PathChanged=%h/Music
[Install]
WantedBy=default.target
Tar a Rsync
~/.config/systemd/user/backup.service
[Unit]
Description=Backs up files
[Service]
ExecStart=/usr/bin/rsync %h/./Documents %h/./Music -a
remote:/destination
Tar a Rsync
●
Další užitečné p epínače pro tarř
--one-filesystem
--exclude-from
--xattrs
Tar a Rsync
●
Další užitečné p epínače pro rsyncř
-A -X
--delete
--files-from --exclude-from
--bwlimit
--delete-excluded
--quiet
Tar a Rsync
●
Možnost komprese
●
Možnost p enosu dat na vzdálený systémř
●
Možnost snadno filtrovat soubory určené k záloze
●
Pozor - b žný uživatel nem že zm nit vlastníkaě ů ě
– kopírování, rozbalování archivů
– → root / sudo
Fahrplan
●
Zálohování
●
Tar a Rsync
●
Back In Time, BorgBackup
●
Bacula
●
Diskuze
Zálohování
●
Záloha nemusí být jen prostá kopie
– Typ záloh – plné, diferenciální, inkrementální
– Četnost záloh, automatizace
– Komprese
– Deduplikace
– Zálohy na lokální nebo vzdálené úložiště
– Monitoring
– Podporované OS
Fahrplan
●
Zálohování
●
Tar a Rsync
●
Back In Time, BorgBackup
●
Bacula
●
Diskuze
Back In Time
●
Jednoduchý nástroj
●
Vytvá í snapshotyř
●
Staví na Rsync
●
Metadata v komprimovaném textovém souboru
●
Python3 + Qt5
– https://github.com/bit-team/backintime
– https://backintime.readthedocs.io
Back In Time
●
Snapshoty
– Na začátku plná záloha
– Poté hardlinky na nezm n né soubory z p vodní plné zálohyě ě ů
– Kopie zm n ných souborě ě ů
●
Zálohování na vzdálený počítač p es SSHř
●
Možnost obnovit jednotlivé soubory
●
Vlastnictví a oprávn ní v komprimovaném souboru sě
metadaty
Back In Time
Back In Time
BorgBackup
●
Deduplikační zálohovací software
●
Podpora komprese, šifrování
●
P enos dat na vzdálený počítač (SSH, Borg)ř
●
Záloha jako p ipojitelný souborový systémř
●
Multiplatformní
●
C/Cython
– https://www.borgbackup.org/
BorgBackup
●
Deduplikace
– Data rozd lena do částíě
– Hash (HMAC)-SHA256
– Části s totožným hashem nejsou kopírovány
●
Neuvažuje se název, časové značky ani pozice části v souboru
●
Uvažovány jsou použe části v jednom repozitá i, nezáleží nař
p voduů
BorgBackup
●
Repozitář
– Heslem chrán ný adresá pro zálohyě ř
– M že být sdílený pro více strojuů
●
Automatizace
– Skript + cron/systemd
Fahrplan
●
Zálohování
●
Tar a Rsync
●
Back In Time, BorgBackup
●
Bacula
●
Diskuze
Bacula
●
Opensource podnikové ešení zálohováníř
●
Podpora páskových jednotek
●
Rozd lena do n kolika komponentě ě
●
Podpora komprese, deduplikace, šifrování
●
C/C++
– https://www.bacula.org/
– https://www.bacula.org/documentation/documentation/
Bacula
●
Multiplatformní produkt
– Klientská část i pro Windows
– Balíčky pro v tšinu hlavních distribucíě
●
Komplexní konfigurace
– Od “velký špatný”
– Po robustní zálohovací systém
Bacula
●
Komponenty
– Catalog
– Director
– Storage Daemon
– File Daemon
– Bconsole
Bacula
●
Catalog
– Databáze (SQLite3, MySQL, PostgreSQL)
– Obsahuje informace o
●
Klientech
●
Provedených zálohách a zálohovacích úlohách
●
Svazcích, Pool-ech, Seznamech souborů
●
Metadata souborů
Bacula
●
Director (Dir)
– “Pan editel”ř
– Obsahuje v tšinu konfiguraceě
– Plánuje zálohovací (obnovovací) úlohy
●
Storage Daemon (SD)
– Obsluhuje úložišt (disky, pásky)ě
Bacula
●
File Daemon (FD)
– Klientská část
– Minimum konfigurace (nenáročné pro správce)
●
Bconsole
– Nástroj pro správu Bacula
Bacula
DirectorCatalog
Bconsole Storage Daemon
Storage Daemon
File DaemonFile Daemon
Bacula
●
Konfigurace Dir
– Volume
– Pool
– FileSet
– JobDef
– Job
– Schedule
●
Konfigurace Dir
– Client
– StorageDaemon
– Catalog
– Bconsole
Bacula
●
Volume
– Páska (tape)
– Jednotka úložišt datě
– R zné parametry (viz Pool)ů
Bacula
●
Pool
– Seskupuje svazky (Volume), pro která platí totožná pravidla
– Určuje zp sob štítkování svazků ů
– Určuje velikost svazku
●
Max Volume Bytes, Max Volume Jobs, Volume Use Duration
– Umož uje aplikovat politiky doby retenceň
●
File Retention, Job Retention, Volume Retention
Bacula
●
Doba retence
– Časový interval, po který jsou v Catalogu uchovávána data o
souboru, provedené záloze a/nebo svazku
– Umož uje (a nezaručuje) mazání svazkň ů
●
Bootstrap soubor
– Obsahuje data o souborech a zálohách (redundantní ke
Catalogu)
Bacula
●
FileSet
– Určuje seznam soubor , které se mají zálohovatů
– Include, Exclude
●
Podpora globbingu a regulárních výrazů
– onefs = yes|no
●
Bacula zálohuje pouze v rámci jednoho FS, lze potlačit
– Nastavuje kompresi, šifrování ( Include)∀
– Nastavuje kontrolní součty (SHA1, MD5)
Bacula
●
JobDef
– Šablona zálohovací úlohy
– V tšina nastavení totožná s Jobě
●
Job
– Kombinace (JobDef,) Client, FileSet, Pool, Schedule
– Určuje typ zálohy (Inkrementální, Diferenciální, Plná)
– Umož uje stanovit spušt ní skriptu (Dir i FD) p ed a/nebo poň ě ř
provedení zálohy
Bacula
●
Schedule
– Časový rozvrh záloh
– Umož uje “p epsat” n které parametry úlohň ř ě
●
Typ zálohy, Pool, Spooling, Prioritu
– Tém p irozený jazyk pro nastavení časuěř ř
Run = Level=Incremental Pool=ng-storage-daily Priority=10 sun-fri at 05:00
Run = Level=Differential Pool=ng-storage-weekly Priority=10 weekly on sat at 05:00
Run = Level=Full Pool=ng-storage-monthly Priority=10 2nd sat at 21:00
Bacula
●
Spooling
– Zrychluje a usnad uje soub h více úlohň ě
– Data z FD jsou uložena na p echodné úložištř ě
– Po dokončení zálohy jsou data z p echodného úložištř ě
p esunuta do Archivu (disk, pásky) a “katalogizována”ř
●
V ádu jednotek soub žných úloh nemá spooling valnýř ě
význam
Bacula
●
Bacula jednoduše
– Jediný Pool stejn velkých svazk pro všechny typy zálohě ů
– Dop. jedinou politiku doby retence
●
Bacula
– Jeden Pool pro každý typ zálohy
– Lepší kontrola nad velikostí, snažší aplikace politik DR
●
Bacula Pro
– R zné politiky DR, zacházení se zálohamiů
– Více SD a více Pool-ů
Bacula
●
Catalog – MySQL × PostgreSQL?
– Dokumentace: do 2 milion soubor / Job stačí MySQLů ů
– Strahov: PostgreSQL
– PostgreSQL až 10× rychlejší díky optimalizacím
– SQLite3 nanejvýše pro vyzkoušení
Bacula
●
Na Strahově
– Verze 5.2.6(13), aktualizace plánována
– Vznik kolem roku 2013
– Dlouhodobé problémy (nevyhovující konfigurace)
– Velká revize b ezen – kv ten 2019ř ě
– Aktualizace vč. úpravy HW konfigurace
●
Komprese, zabezpečení spojení, monitoring
●
Deduplikace (?), Admin Jobs (?), šifrování (?)
Bacula
●
Na Strahově
– Server
2 × Xeon E5520 4C 2,27 Ghz
2 × 4 GB DDR 3 1333 Mhz
2 × 146 GB 15k SAS RAID1 system
9 × 2 TB RAID5 backup
2 × 450 GB RAID0 spooling
5 × 3 TB RAID5 cloud
1 × 1 Gbps
Fahrplan
●
Zálohování
●
Tar a Rsync
●
Back In Time, BackupPC, BorgBackup
●
Bacula
●
Diskuze
Diskuze
●
Existuje velké množství otev ených projektř ů
– BackupPC
– BareOS (fork Bacula)
– Burp
– Duplicity
– ...
Zálohování
od tar k Bacula
D kuji za pozornost.ě

More Related Content

What's hot

What's hot (17)

The Future of GlusterFS and Gluster.org
The Future of GlusterFS and Gluster.orgThe Future of GlusterFS and Gluster.org
The Future of GlusterFS and Gluster.org
 
Galera Replication Demystified: How Does It Work?
Galera Replication Demystified: How Does It Work?Galera Replication Demystified: How Does It Work?
Galera Replication Demystified: How Does It Work?
 
Kafka monitoring using Prometheus and Grafana
Kafka monitoring using Prometheus and GrafanaKafka monitoring using Prometheus and Grafana
Kafka monitoring using Prometheus and Grafana
 
Pulsar in the Lakehouse: Overview of Apache Pulsar and Delta Lake Connector -...
Pulsar in the Lakehouse: Overview of Apache Pulsar and Delta Lake Connector -...Pulsar in the Lakehouse: Overview of Apache Pulsar and Delta Lake Connector -...
Pulsar in the Lakehouse: Overview of Apache Pulsar and Delta Lake Connector -...
 
Ceph issue 해결 사례
Ceph issue 해결 사례Ceph issue 해결 사례
Ceph issue 해결 사례
 
Nick Fisk - low latency Ceph
Nick Fisk - low latency CephNick Fisk - low latency Ceph
Nick Fisk - low latency Ceph
 
Virtual Flink Forward 2020: Testing production streaming applications - Gyul...
Virtual Flink Forward 2020: Testing production streaming applications -  Gyul...Virtual Flink Forward 2020: Testing production streaming applications -  Gyul...
Virtual Flink Forward 2020: Testing production streaming applications - Gyul...
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performance
 
PostgreSQL + ZFS best practices
PostgreSQL + ZFS best practicesPostgreSQL + ZFS best practices
PostgreSQL + ZFS best practices
 
SystemV vs systemd
SystemV vs systemdSystemV vs systemd
SystemV vs systemd
 
Postgresql Database Administration Basic - Day1
Postgresql  Database Administration Basic  - Day1Postgresql  Database Administration Basic  - Day1
Postgresql Database Administration Basic - Day1
 
NGINX ADC: Basics and Best Practices
NGINX ADC: Basics and Best PracticesNGINX ADC: Basics and Best Practices
NGINX ADC: Basics and Best Practices
 
PostgreSQL Replication Tutorial
PostgreSQL Replication TutorialPostgreSQL Replication Tutorial
PostgreSQL Replication Tutorial
 
LTO/オートローダー/仮想テープライブラリの基礎知識
LTO/オートローダー/仮想テープライブラリの基礎知識LTO/オートローダー/仮想テープライブラリの基礎知識
LTO/オートローダー/仮想テープライブラリの基礎知識
 
Fluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellFluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshell
 
Linux
Linux Linux
Linux
 
Linux monitoring and Troubleshooting for DBA's
Linux monitoring and Troubleshooting for DBA'sLinux monitoring and Troubleshooting for DBA's
Linux monitoring and Troubleshooting for DBA's
 

Similar to Zálohování – od tar k Bacula

4318 archivace a_zalohovani_dat_1
4318 archivace a_zalohovani_dat_14318 archivace a_zalohovani_dat_1
4318 archivace a_zalohovani_dat_1
pisaceku
 

Similar to Zálohování – od tar k Bacula (20)

Architektura databáze Oracle
Architektura databáze OracleArchitektura databáze Oracle
Architektura databáze Oracle
 
Novinky Oracle db 12c
Novinky Oracle db 12cNovinky Oracle db 12c
Novinky Oracle db 12c
 
Postgresql na EXT3/4, XFS, BTRFS a ZFS
Postgresql na EXT3/4, XFS, BTRFS a ZFSPostgresql na EXT3/4, XFS, BTRFS a ZFS
Postgresql na EXT3/4, XFS, BTRFS a ZFS
 
4318 archivace a_zalohovani_dat_1
4318 archivace a_zalohovani_dat_14318 archivace a_zalohovani_dat_1
4318 archivace a_zalohovani_dat_1
 
Workshop 2018 11-30 - Představení drupalu 8
Workshop 2018 11-30 - Představení drupalu 8Workshop 2018 11-30 - Představení drupalu 8
Workshop 2018 11-30 - Představení drupalu 8
 
Optimalizace Symfony na devu
 Optimalizace Symfony na devu Optimalizace Symfony na devu
Optimalizace Symfony na devu
 
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
 
PostgreSQL na EXT4, XFS, BTRFS a ZFS / OpenAlt
PostgreSQL na EXT4, XFS, BTRFS a ZFS / OpenAltPostgreSQL na EXT4, XFS, BTRFS a ZFS / OpenAlt
PostgreSQL na EXT4, XFS, BTRFS a ZFS / OpenAlt
 
Oracle RMAN - nastavení a provedení zálohy
Oracle RMAN - nastavení a provedení zálohyOracle RMAN - nastavení a provedení zálohy
Oracle RMAN - nastavení a provedení zálohy
 
Představení Drupalu 8
Představení Drupalu 8Představení Drupalu 8
Představení Drupalu 8
 
Checkpoint (CSPUG 22.11.2011)
Checkpoint (CSPUG 22.11.2011)Checkpoint (CSPUG 22.11.2011)
Checkpoint (CSPUG 22.11.2011)
 
Tipy a triky, best practices, deployment, testování
Tipy a triky, best practices, deployment, testováníTipy a triky, best practices, deployment, testování
Tipy a triky, best practices, deployment, testování
 
Zkušenosti se systémem Archivematica
Zkušenosti se systémem ArchivematicaZkušenosti se systémem Archivematica
Zkušenosti se systémem Archivematica
 
Marek Melichar - Zkušenosti se systémem Archivematica
Marek Melichar - Zkušenosti se systémem ArchivematicaMarek Melichar - Zkušenosti se systémem Archivematica
Marek Melichar - Zkušenosti se systémem Archivematica
 
Daos
DaosDaos
Daos
 
Czech and Slovak Sun Training Day 2007 - Solaris
Czech and Slovak Sun Training Day 2007 - SolarisCzech and Slovak Sun Training Day 2007 - Solaris
Czech and Slovak Sun Training Day 2007 - Solaris
 
Co přináší Oracle Database 12c Release 2
Co přináší Oracle Database 12c Release 2Co přináší Oracle Database 12c Release 2
Co přináší Oracle Database 12c Release 2
 
Red Hat Storage Server presentation
Red Hat Storage Server presentationRed Hat Storage Server presentation
Red Hat Storage Server presentation
 
Datová úložiště CESNET
Datová úložiště CESNETDatová úložiště CESNET
Datová úložiště CESNET
 
Czech Sun Training Day 2008 - Java Enterprise System
Czech Sun Training Day 2008 - Java Enterprise SystemCzech Sun Training Day 2008 - Java Enterprise System
Czech Sun Training Day 2008 - Java Enterprise System
 

Zálohování – od tar k Bacula

  • 1. Zálohování Od tar k Bacula Václav Pužman @ SUT.SH 19. 11. 2019
  • 2. Fahrplan ● Zálohování ● Tar a Rsync ● Back In Time, BorgBackup ● Bacula ● Diskuze
  • 3. Zálohování ● Záloha je – Kopie dat ● Na jiný datový nosič ● Do jiného počítačového systému ● Záloha není – Úložišt s redundancí (nap . RAID)ě ř ● Snapshoty
  • 4. Zálohování ● Kopie dat? cp -r source destination ✔ Jednoduché ✔ Součástí coreutils ✗ Manuální ✗ Vždy kopíruje všechna data ✗ Nezachovává vlastníka, skupinu ani oprávn níě
  • 5. Zálohování ● N které problémy lze odstranit pomocí p epínačě ř ů -a, --archive (ekviv. s -dr –preserve=all) -u, --update --preserve=mode,ownership,timestamps ✔ Stále jednoduché ✔ Zachovává atributy souborů ✔ Kopíruje soubory, které jsou nov jší a nebo v cíli neexistujíě ✗ Manuální ✗ Nenaváže na p erušenéř kopírování ✗ Kopíruje celé zm n né souboryě ě
  • 6. Fahrplan ● Zálohování ● Tar a Rsync ● Back In Time, BackupPC, BorgBackup ● Bacula ● Diskuze
  • 7. Tar a Rsync ● tar - tape archive – Nástroj pro archivaci a zálohy soubor (est. 1979)ů tar [-v] -cpf /destination/archive.tar /files/to/backup tar [-v] [-C <working_dir>] -xf /destination/archive.tar ✔ Vytvo í jeden archiv (soubor)ř ✗ Manuální ✗ Nenaváže na p erušenéř vytvá ení archivuř
  • 8. Tar a Rsync ● rsync – kopírovací nástroj s velkým množstvím voleb – kopíruje soubory po blocích rsync -a -P source destination ✔ Kopíruje zm n né souboryě ě (pokud jsou již data v cíli) ✔ Naváže na p erušené kopírováníř ✗ Manuální ✗ Neodstraní nepot ebná data vř cíli
  • 9. Tar a Rsync ● Záloha je ... kopie dat na vzdálený systém remote ~$ nc -l 1024 > backup.tar local ~$ tar -cp /files/backup | nc -q 0 remote 1024 tar -cp --file=[user@]remote:/destination/archive.tar --rsh-command=/usr/bin/ssh /files/to/backup rsync -aP /files/to/backup [user@]remote:/destination
  • 10. Tar a Rsync ● Komprese – tar – vytvo ení komprimovaného archivuř tar -vcpzf /destination/archive.tar.gz /files/to/backup – rsync – komprese p enášených datř rsync -aPz /files/to/backup [user@]remote:/destination
  • 11. Tar a Rsync -rw-r--r-- 1 root root 11873542252 bře 14 2015 20151103-backup-hp.rar drwxr-xr-x 2 puzmi puzmi 4096 dub 23 2013 backup-desktop2 -rw-r--r-- 1 puzmi puzmi 15823851083 srp 3 2015 backup-hdd2.img drw-r--r-- 1 queeg queeg 4096 lis 5 2010 backup drw-r--r-- 1 root root 4096 zář 19 2009 backup_2 drwxr-xr-x 2 root root 4096 lis 25 2018 backup-2T drwxr-xr-x 2 root root 4096 dub 13 2017 back-20170413 -rw-r--r-- 1 phenom phenom 361840 dub 27 2013 bacula-director-pgsql_5.2.6+dfsg-9_amd64.deb -rw-r--r-- 1 phenom phenom 1195630 kvě 22 14:27 bacula-revize_20190225.tar.gz -rw-r--r-- 1 phenom phenom 285126 pro 2 2011 jfsutils_1.1.15-2_amd64.deb drwxr-xr-x 2 queeg queeg 258048 čer 15 2017 TEMP drwxr-xr-x 2 root root 4096 kvě 30 2016 zaloha_pc-doma
  • 12. Tar a Rsync ● Možnosti automatizace – cron – systemd timer – systemd + inotify ● Mazání starých záloh
  • 13. Tar a Rsync ~/.config/systemd/user/backup.path [Unit] Description=Checks for changes [Path] PathChanged=%h/Documents PathChanged=%h/Music [Install] WantedBy=default.target
  • 14. Tar a Rsync ~/.config/systemd/user/backup.service [Unit] Description=Backs up files [Service] ExecStart=/usr/bin/rsync %h/./Documents %h/./Music -a remote:/destination
  • 15. Tar a Rsync ● Další užitečné p epínače pro tarř --one-filesystem --exclude-from --xattrs
  • 16. Tar a Rsync ● Další užitečné p epínače pro rsyncř -A -X --delete --files-from --exclude-from --bwlimit --delete-excluded --quiet
  • 17. Tar a Rsync ● Možnost komprese ● Možnost p enosu dat na vzdálený systémř ● Možnost snadno filtrovat soubory určené k záloze ● Pozor - b žný uživatel nem že zm nit vlastníkaě ů ě – kopírování, rozbalování archivů – → root / sudo
  • 18. Fahrplan ● Zálohování ● Tar a Rsync ● Back In Time, BorgBackup ● Bacula ● Diskuze
  • 19. Zálohování ● Záloha nemusí být jen prostá kopie – Typ záloh – plné, diferenciální, inkrementální – Četnost záloh, automatizace – Komprese – Deduplikace – Zálohy na lokální nebo vzdálené úložiště – Monitoring – Podporované OS
  • 20. Fahrplan ● Zálohování ● Tar a Rsync ● Back In Time, BorgBackup ● Bacula ● Diskuze
  • 21. Back In Time ● Jednoduchý nástroj ● Vytvá í snapshotyř ● Staví na Rsync ● Metadata v komprimovaném textovém souboru ● Python3 + Qt5 – https://github.com/bit-team/backintime – https://backintime.readthedocs.io
  • 22. Back In Time ● Snapshoty – Na začátku plná záloha – Poté hardlinky na nezm n né soubory z p vodní plné zálohyě ě ů – Kopie zm n ných souborě ě ů ● Zálohování na vzdálený počítač p es SSHř ● Možnost obnovit jednotlivé soubory ● Vlastnictví a oprávn ní v komprimovaném souboru sě metadaty
  • 25. BorgBackup ● Deduplikační zálohovací software ● Podpora komprese, šifrování ● P enos dat na vzdálený počítač (SSH, Borg)ř ● Záloha jako p ipojitelný souborový systémř ● Multiplatformní ● C/Cython – https://www.borgbackup.org/
  • 26. BorgBackup ● Deduplikace – Data rozd lena do částíě – Hash (HMAC)-SHA256 – Části s totožným hashem nejsou kopírovány ● Neuvažuje se název, časové značky ani pozice části v souboru ● Uvažovány jsou použe části v jednom repozitá i, nezáleží nař p voduů
  • 27. BorgBackup ● Repozitář – Heslem chrán ný adresá pro zálohyě ř – M že být sdílený pro více strojuů ● Automatizace – Skript + cron/systemd
  • 28. Fahrplan ● Zálohování ● Tar a Rsync ● Back In Time, BorgBackup ● Bacula ● Diskuze
  • 29. Bacula ● Opensource podnikové ešení zálohováníř ● Podpora páskových jednotek ● Rozd lena do n kolika komponentě ě ● Podpora komprese, deduplikace, šifrování ● C/C++ – https://www.bacula.org/ – https://www.bacula.org/documentation/documentation/
  • 30. Bacula ● Multiplatformní produkt – Klientská část i pro Windows – Balíčky pro v tšinu hlavních distribucíě ● Komplexní konfigurace – Od “velký špatný” – Po robustní zálohovací systém
  • 31. Bacula ● Komponenty – Catalog – Director – Storage Daemon – File Daemon – Bconsole
  • 32. Bacula ● Catalog – Databáze (SQLite3, MySQL, PostgreSQL) – Obsahuje informace o ● Klientech ● Provedených zálohách a zálohovacích úlohách ● Svazcích, Pool-ech, Seznamech souborů ● Metadata souborů
  • 33. Bacula ● Director (Dir) – “Pan editel”ř – Obsahuje v tšinu konfiguraceě – Plánuje zálohovací (obnovovací) úlohy ● Storage Daemon (SD) – Obsluhuje úložišt (disky, pásky)ě
  • 34. Bacula ● File Daemon (FD) – Klientská část – Minimum konfigurace (nenáročné pro správce) ● Bconsole – Nástroj pro správu Bacula
  • 36. Bacula ● Konfigurace Dir – Volume – Pool – FileSet – JobDef – Job – Schedule ● Konfigurace Dir – Client – StorageDaemon – Catalog – Bconsole
  • 37. Bacula ● Volume – Páska (tape) – Jednotka úložišt datě – R zné parametry (viz Pool)ů
  • 38. Bacula ● Pool – Seskupuje svazky (Volume), pro která platí totožná pravidla – Určuje zp sob štítkování svazků ů – Určuje velikost svazku ● Max Volume Bytes, Max Volume Jobs, Volume Use Duration – Umož uje aplikovat politiky doby retenceň ● File Retention, Job Retention, Volume Retention
  • 39. Bacula ● Doba retence – Časový interval, po který jsou v Catalogu uchovávána data o souboru, provedené záloze a/nebo svazku – Umož uje (a nezaručuje) mazání svazkň ů ● Bootstrap soubor – Obsahuje data o souborech a zálohách (redundantní ke Catalogu)
  • 40. Bacula ● FileSet – Určuje seznam soubor , které se mají zálohovatů – Include, Exclude ● Podpora globbingu a regulárních výrazů – onefs = yes|no ● Bacula zálohuje pouze v rámci jednoho FS, lze potlačit – Nastavuje kompresi, šifrování ( Include)∀ – Nastavuje kontrolní součty (SHA1, MD5)
  • 41. Bacula ● JobDef – Šablona zálohovací úlohy – V tšina nastavení totožná s Jobě ● Job – Kombinace (JobDef,) Client, FileSet, Pool, Schedule – Určuje typ zálohy (Inkrementální, Diferenciální, Plná) – Umož uje stanovit spušt ní skriptu (Dir i FD) p ed a/nebo poň ě ř provedení zálohy
  • 42. Bacula ● Schedule – Časový rozvrh záloh – Umož uje “p epsat” n které parametry úlohň ř ě ● Typ zálohy, Pool, Spooling, Prioritu – Tém p irozený jazyk pro nastavení časuěř ř Run = Level=Incremental Pool=ng-storage-daily Priority=10 sun-fri at 05:00 Run = Level=Differential Pool=ng-storage-weekly Priority=10 weekly on sat at 05:00 Run = Level=Full Pool=ng-storage-monthly Priority=10 2nd sat at 21:00
  • 43. Bacula ● Spooling – Zrychluje a usnad uje soub h více úlohň ě – Data z FD jsou uložena na p echodné úložištř ě – Po dokončení zálohy jsou data z p echodného úložištř ě p esunuta do Archivu (disk, pásky) a “katalogizována”ř ● V ádu jednotek soub žných úloh nemá spooling valnýř ě význam
  • 44. Bacula ● Bacula jednoduše – Jediný Pool stejn velkých svazk pro všechny typy zálohě ů – Dop. jedinou politiku doby retence ● Bacula – Jeden Pool pro každý typ zálohy – Lepší kontrola nad velikostí, snažší aplikace politik DR ● Bacula Pro – R zné politiky DR, zacházení se zálohamiů – Více SD a více Pool-ů
  • 45. Bacula ● Catalog – MySQL × PostgreSQL? – Dokumentace: do 2 milion soubor / Job stačí MySQLů ů – Strahov: PostgreSQL – PostgreSQL až 10× rychlejší díky optimalizacím – SQLite3 nanejvýše pro vyzkoušení
  • 46. Bacula ● Na Strahově – Verze 5.2.6(13), aktualizace plánována – Vznik kolem roku 2013 – Dlouhodobé problémy (nevyhovující konfigurace) – Velká revize b ezen – kv ten 2019ř ě – Aktualizace vč. úpravy HW konfigurace ● Komprese, zabezpečení spojení, monitoring ● Deduplikace (?), Admin Jobs (?), šifrování (?)
  • 47. Bacula ● Na Strahově – Server 2 × Xeon E5520 4C 2,27 Ghz 2 × 4 GB DDR 3 1333 Mhz 2 × 146 GB 15k SAS RAID1 system 9 × 2 TB RAID5 backup 2 × 450 GB RAID0 spooling 5 × 3 TB RAID5 cloud 1 × 1 Gbps
  • 48. Fahrplan ● Zálohování ● Tar a Rsync ● Back In Time, BackupPC, BorgBackup ● Bacula ● Diskuze
  • 49. Diskuze ● Existuje velké množství otev ených projektř ů – BackupPC – BareOS (fork Bacula) – Burp – Duplicity – ...
  • 50. Zálohování od tar k Bacula D kuji za pozornost.ě