Linux E X P R E S

Facebook

Filozofie zálohování

zachranny_kruh.jpg

Říká se, že lidé se dělí na ty, co zálohují, a na ty, co teprve o data přijdou. Pokud patříte do druhé skupiny, tak pro vás je určen tento seriál věnovaný zálohování. Na své si však přijde i první skupina, která může svůj proces zálohování vylepšit za použití jiného nástroje či metody.


V dnešní době internetu, kdy je velká část našeho života v digitální formě, stoupá potřeba se o naše data řádně starat. Abychom minimalizovali riziko ztráty cenných dat, je vhodné provádět tzv. zálohu, ze které lze poté provést případnou obnovu dat. Tomuto procesu říkáme zálohování. V tomto seriálu se seznámíte s pojmy a technikami používanými v zálohování a také jaké nástroje můžete k usnadnění práce použít.

Buďte paranoidní a počítejte vždy s nejhorším!

Stále existuje u některých lidí názor, že disku se přeci nemůže nic stát. A pokud by se mu přeci jen něco stalo, tak od toho máme RAID. Ten sice při správném nastavení snižuje riziko ztráty dat, ale ani zdaleka ji neeliminuje. Navíc je zde riziko spjaté se zakoupením všech disků se stejným modelem (jeden výrobce) pro naše diskové pole. Pokud bude mít výrobce chybu ve firmwaru, tak nám pravděpodobně odejdou všechny disky v poli zároveň.

Mezi další způsoby, jak přijít o data, může být: neopatrná manipulace s daty (mazání, formátování, uvedení zařízení do továrního nastavení), chyba administrátora, poškození paměťového média (CD/DVD, pád notebooku), ztráta (krádež, nepořádek, zapomenutí, malware), přírodní živly (požár, povodeň, bouřka). Možností, jak přijít o data, je mnohem více, ale pro představu to je myslím dostatečné.

Teď se sami sebe zeptejte: co bych dělal, pokud by některý z těchto scénářů nastal? V případě, že zálohujete, provedli byste obnovu dat a mohli dál nerušeně pokračovat v práci. V opačném případě byste asi začali panikařit, protože by vám nic jiného nezbylo. Můžete sice zkusit využít služeb společností, které se rekonstrukcí ztracených dat zabývají, ale to by vás stálo hodně peněz. Navíc může být část nebo všechna data nenávratně ztracena, a pak vám nepomohou ani tyto společnosti.

Existuje mnoho způsobů, jak můžete přijít o svá data, což jsme si ukázali výše. A různé způsoby zálohování dokážou ochránit data proti různým druhům problémů. Záleží na povaze vaší činnosti a dat, abyste se rozhodli, které pokládáte za prioritu a proti kterým chcete být chráněni především. Nicméně dobrá zálohovací strategie by měla zajistit alespoň nějakou ochranu proti všem zmíněným rizikům.

Co zálohovat?

Pokud jste se po přečtení předchozí kapitoly rozhodli, že přeci jenom budete zálohovat, tak vám gratuluji! Udělali jste první krok správným směrem ke klidnějšímu spánku. Nyní si ale musíme položit další velmi klíčovou otázku, a to co vše budeme zálohovat? V zásadě existují dva velmi rozdílné přístupy. Za prvé – budeme zálohovat úplně vše (všechny FS, adresáře, …), či jenom část dat (kupříkladu pracovní adresář). Po přečtení předchozí věty jste si možná řekli, že je nesmysl zálohovat vše. Přeci mi stačí zálohovat jen to, co potřebuji (fotky, dokumenty apod.). Možné riziko spojené s druhým přístupem si demonstrujeme na příkladu.

Pro definici co zálohovat se běžně používají include a exclude seznamy. V include listu říkáte, co chcete zálohovat, a v exclude naopak, co nechcete.

  • Řekněme, že chcete zálohovat vše kromě toho, co definujete v exclude seznamu:
Include: *
Exclude: /proc, /sys, /dev
  • Druhý způsob je výčet konkrétních adresářů:
Include: /home/uzivatel, /root, /mnt/data

A teď co se stane v druhém případě, když vytvoříte novy FS a připojíte ho do /mnt/storage? Někdo musí přijít (připojit se) k serveru a ručně nastavit, aby se zálohoval i tento adresář. Nevím jak vy, ale já bych na to velmi pravděpodobně zapomněl. Možná vás napadlo řešení v podobě využití souborů, jako je /etc/fstab apod., kde byste si mohli vytáhnout seznam file-systémů, ale je to práce navíc. Doporučuji vám proto zálohovat vše. Je to nejjednodušší varianta na administraci, nemusíte myslet na to, jestli se zrovna toto zálohuje, či ne. Argument „chci ušetřit datový prostor a nezatěžovat síť“ mi dnes již přijde neopodstatněný. V dnešní době terabitových disků je velikost OS zanedbatelná. Pokud použijeme inkrementální zálohy, tak navíc zjistíme, že počet změn, co se týče velikosti, je v OS minimální, a tak není potřeba (z mého pohledu) řešit, jestli zálohovat OS, či ne.

Kdy zálohovat?

Předem bych chtěl upozornit, že některé společnosti používají termíny popsané níže jinak. Kupříkladu Microsoft a jeho NtBackup.exe zaměňuje význam inkrementální a diferenciální zálohy. Doporučuji si před používáním libovolného programu nebo systému pro zálohování pročíst dokumentaci a ujistit se, jak je chápe výrobce. Disclaimer: Následující popis termínu je tak, jak je chápu já.

Úplná záloha (Full backup) - zde je vytvářena záložní kopie všech souborů (resp. těch, které určíme k zálohování). Zabírá nejvíce času i prostoru.

Inkrementální (Incremental backup) - zálohují se pouze změněné soubory od poslední inkrementální zálohy, resp. od úplné, jedná-li se o první inkrementální zálohu.

Diferenciální (Differential backup) - zálohují se pouze změněné soubory od poslední úplné zálohy.

Rozdíl mezi těmito druhy záloh je dobře vidět při obnově dat tzv. restore. Pokud jsme si od poslední úplné zálohy vytvářeli inkrementální zálohy, tak musíme nejdříve obnovit úplnou zálohu, a pak všechny následující inkrementy.

V případě, že jsme zvolili kombinaci úplné a diferenciální zálohy, tak i zde nejdříve obnovíme úplnou zálohu a pak již jen poslední diferenciální zálohu. Toto řešení má výhodu ve větší odolnosti proti ztrátě dat, protože máme více diferenciálních záloh a k obnově nám stačí jediná z nich. Samozřejmě pokud se nejedná o poslední diferenciální zálohu, tak obnovená data budou odpovídat stáří poslední diferenciální zálohy. Nevýhoda tohoto přístupu oproti kombinaci plné a inkrementální zálohy je ve větší náročnosti na datový prostor.

Další termín, se kterým se seznámíme, je datové/zálohovací okno (backup window). To udává, od kdy do kdy se bude daný stroj zálohovat. Často to bývá od půlnoci do tří, čtyř ráno. Důvodem je, že na serverech/stanicích už nikdo není (jen lidi, co pracují v noci, či lidé kteří mají posunutý čas kvůli tomu, že jsou na jiném místě zeměkoule), a mění se tak menší počet dat a vytíženost strojů a sítě je také menší. Datové okno je důležité dobře zvolit, aby se nespustily zálohy všech strojů v jeden okamžik. Hardware (paměť, CPU, ...) zálohovacího stroje by to pravděpodobně zvládnul, ale datový tok přes síť by byl moc velký.

Pro úplnost zde ještě zmíním často používaný termín data retention, jež udává, jak budou data dlouho uchována na konkrétním médiu.

Kam zálohovat? 

Na toto téma bude celý příští díl seriálu, takže to zde jen nakousnu. Ať už se rozhodneme svá cenná data uložit na libovolné médium (disk, DVD, flash disk, pásky či využijeme nějaké on-line úložiště), tak by tento prostor měl být vyhrazen pouze pro zálohy, tzn. neměl by sloužit jako běžný pracovní prostor, kam ukládáme dokumenty, instalujeme programy apod. Eliminujeme tím riziko, že program/uživatel smaže nebo přepíše naše zálohy.

Dovolím si na tomto místě uvést ještě jednu velmi důležitou poznámku. Šifrujte zálohy! Nikdy nevíte, kdo se k vašim datům dostane. Pokud zálohujete na externí disk, tak může kdokoliv přijít a připojit si ho ke svému notebooku a prohlížet/odcizit vaše data. Nutnost šifrovat zálohy má ještě větší význam při využívání on-line úložišť, kde data nahráváte do vyhrazeného prostoru na internetu. Zde nemáte žádnou záruku, kdo má přístup k vašim datům.

Není záloha jako záloha

V této kapitole se seznámíme s některými dalšími pojmy, které se zálohami souvisí. Nicméně to nejsou zálohy v pravém slova smyslu a je potřeba tyto termíny nezaměňovat.

Archív

Archív je one-shot záloha. Jedná se tedy o jednorázovou zálohu, od které není možné udělat žádný inkrementální/diferenciální backup. Nešetří se zde tedy s místem jako u záloh. Když obnovíme archív, tak bude obsahovat všechna data, jako v době odlití. Dělat archívy místo záloh je obecně drahé a jejich obnova trvá déle, a proto se jim často snažíme vyhnout. Nicméně i archívy mají svůj význam.

CDP (Continuous Data Protection)

CDP, označovaný také jako kontinuální záloha nebo real-time záloha, představuje speciální druh zálohy počítačových dat, kde jsou automaticky uloženy kopie všech změn. Jakmile jsou data zapsána na disk, tak jsou také asynchronně zapsaná na sekundární úložiště, což ve většině případů bývá síťové úložiště. Oproti klasickému zálohování zde není potřeba plánovat a nastavovat plánovač záloh (backup schedule). Administrátorovi nebo uživateli tento přístup umožňuje obnovit data, tak jak byly v konkrétním čase (Point-in-time recovery - PITR). Nevýhoda je pak samozřejmě ve větší režii diskových operaci (zápisů), a to hlavně v případě prováděných změn s velkými soubory.

Snapshot

Jedná se o stav systému v konkrétním čase. Při vytvoření snapshotu si systém poznamená, že chcete mít uložen aktuální stav systému, ale nic nikam nekopíruje. Pokud pak třeba dojde k přepsání nějakého souboru, který je součástí snapshotu, tak tento soubor vezme a zapíše ho na jiné místo na disku, tzn. že si bude pamatovat obě verze. Uživatel v souboru vidí všechny provedené změny a v případě potřeby se může snadno dostat k původní verzi. Velmi důležitou vlastností tohoto mechanismu je, že zabírá jen tolik místa, kolik změn bylo provedeno. Při běžné práci většinou přepisujete jen pár souborů stále dokola. Můžete si tedy držet x verzí zpět bez velké spotřeby datového prostoru na disku.

Jeden z typických use case pro použití snapshotů může být práce s dokumenty, zdrojovými kódy apod., kdy si některé tyto soubory omylem přepíšete nebo smažete. Velmi užitečné to je i pro testování aplikací, které mohou způsobit nějakým zásahem nestabilitu celého systému. V případě použití snapshotů je náprava snadná. Prostě se podíváte do některého z předchozích snapshotů a ztracená data si obnovíte.

Best practices

Na závěr si dovolím uvést seznam doporučených postupů. Některé jsme si již popsali a některé si rozebereme v dalších dílech tohoto seriálu.

  • Postupy zálohování volíme v závislosti na konkrétní situaci (interval změn dat, denní objem nových dat atd.). 
  • Kontrolujte zálohy (tzv. verifikace). Na to se často zapomíná a může to mít fatální důsledky. Po nastavení zálohovacího systému je potřeba zkusit si obnovit data. Za prvé zjistíme, jak se obnova ve skutečnosti provádí, a za druhé si ověříme, jestli se vůbec něco od-zálohovalo a zdali správně (jsou zachovány ACL, hardlinky apod.). Možnost verifikace má zabudovánu i velká část systémů. 
  • Označte si zálohy - co obsahují, datum vytvoření.
  • Ukládejte zálohy na různá místa. Pokud by došlo k požáru, tak pravděpodobně ztratíte zálohy zde uskladněné.
  • Šifrujte zálohy pro zajištění důvěrnosti dat.
  • V případě přenosu dat po síti, kterou nemáte pod kontrolou, šifrujte i přenos dat.
  • Snažte se vše automatizovat. Pokud je něco potřeba ručně, tak se na to většinou zapomene.
  • Udělejte si alespoň jednu kopii instalačních médií, kterou si odložte na bezpečné místo a samotnou instalaci provádějte z pořízených kopií.

Závěr

V dnešním díle jsme si řekli, proč je důležité zálohovat a probrali část teorie s ní spojenou, na které budeme stavět v následujících dílech. Příště si povíme něco o výběru média sloužícího jako odkladiště pro naše data. Uvidíte, že volba není zas tak jednoduchá, jak se na první pohled může zdát.

Stay tuned!

Diskuze (7) Nahoru