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ě ě
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
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
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
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ů
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
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í (?)