Cayman Islander | Diary of a Freelance Programmer traveling the world

Cayman Islander's blog - Diary of Freelance Programmer

Jak si zálohujete počítač, počítačové programy a data?

RegistryWizard - Scan, Repair and Optimize your System

Musím říci, že zálohování dat, které provází každého kolem počítačů, je po počítačové bezpečnosti jedna z nejdůležitějších oblastí, na kterou je potřeba skoro každodenně myslet.

Radit druhým je jedna věc, ale jak máme každý nastavené postupy a procedury na vlastní zálohování a archivaci dat a rychlou obnovu celého počítačového systému v případě havárie? Neplatí náhodou právě mezi počítačovými specialisty nejvíce to pravidlo, že "pod svícnem je největší tma"?

Z osobního příkladu vím, že to tak je. Mám nejhorší osobní Web stránky (+8 let bez aktualizace) ze všech v rodině, mezi všemi známými, ve srovnání se všemi Web aplikacemi, co jsem kdy dělal pro nějaké zákazníky. Je to tím, že preferuji profesionální práci pro každého kolem, ale na sebe vyloženě kašlu. No a to se týká i zálohování dat ;-)


Jak zálohuji aplikace a data?

Každému radím, že si má vždy všechno nové zálohovat. Dokonce i děti u nás doma mají naučeno, že si mají večer před vypnutím počítačů nové soubory nahrát na flash disk nebo na externí disk namapovaný v síti. Platí totiž základní pravidlo, že počítač může kdykoliv "odejít" a všechno, co se přes den vytvořilo, může být ztraceno. Operační systém a instalované programy je možno nahrát na nový (opravený) počítač docela rychle a skoro bez problémů, ale uživatelská data jsou to nejcennější, co každý má.

Jak to ale funguje u programátora? Trochu odlišně třeba už proto, že pro mě osobně neznamená večer nějaký zásadní konec dne.

Kdy mám tedy zálohovat data? Před večeří nebo po večeři? Než vypnu počítač (nevypínám ho) nebo než usnu? Co třeba, když celý den pracuji na něčem důležitém, pak si dám 1-2 hodiny přestávku na "odpočinek" nebo na kulečník s kamarády s tím, že až se vrátím, tak budu pokračovat, kdy mám tedy zálohovat? Před kulečníkem nebo po kulečníku?

Co když si v noci uprostřed rozdělané práce jen tak sednu k TV, abych si pár minut odpočinul a hned usnu na pár hodin?

Problém také je, že má změněná data se obvykle nevlezou na nějakou disketu jako kdysi, neboť obvykle se pohybuji po celém disku a měním současně dokumentaci, generuji nové verze programů, měním databázové scripty, připravuji prezentace pro zákazníka, měním nastavení programů, upravuji Favorites, vytvářím nové FTP účty, doplňuji poznámky do všech možných textů, instaluji nové utility nebo nové verze programů.

Neustálé vypalování záložních CD nebo DVD trvá také nějakou dobu, kdy obvykle ihned po vytvoření takových záloh zase plno věcí změním a mohl bych začít znovu ;-)


Jak všechno rychle a elegantně zálohovat?

Kdysi jsem za bezpečný a dostačující systém považoval hardware mirroring, tj. zrcadlené disky zapojené v RAID diskovém poli, neboť se mi několikrát stalo, že mi náhodně "odešel" disk a všechno od poslední zálohy bylo ztraceno. Když mi ale odešel již druhý disk v průběhu roku, tak jsem přišel na to, že to způsobuje elektrická síť v domě, kde jsme kdysi bydleli (socialistická fušeřina od rozvodny v ulici až po rozvody v domě a ve všech bytech). Kolísání napětí a nárazy proudu jsou totiž to nejhorší při zápisování na disk.

Nové servery a externí diskové pole jsem tedy vybavil dodatečnými záložními UPS v externím provedení. Podobně, všechna PC v síti dostala také Back-UPS Pro jednotky pro provoz na baterie a bezpečný řízený shutdown v případě výpadku proudu a vyrovnávání veškerých kolizí v elektrické síti. Všechny síťové i napájecí kabely jsem doplnil předřazenou přepěťovou ochranou a všechna zařízení jsou připojena přes CyberFort od APC, když ne přímo napojena na online UPS jednotku - dle typu zařízení, neboť takový scanner nemusí být nutně napojen na online UPS a stačí zapojení jen přes Surge Protection ;-)

Kolísání napětí v síti sice vyřešeno, ochrana disků dostatečná, data zálohována online na několik disků, při mé nepřítomnosti navíc zaručeno bezpečné ukončení všech běžících databází, procesů, příp. i automatické vypnutí počítačů.

Co ale dělat, když v sobotu v noci, při dokončování nějaké důležité práce pro významného zákazníka, náhle "odejde" grafická karta, napájecí zdroj, pamět, či procesor?


Nejlepší jsou dva identické počítače vedle sebe!

Jelikož nemám a nechci mít doma sklad všech možných součástek, které bych mohl vyměnit u vadného počítače, jelikož také v noci není možno zavolat technika ani si někde něco koupit a mít to okamžitě nainstalované, tak si mi ověřila jednoduchá varianta.

Mám dva počítače vedle sebe, kdy každou změnu v instalaci software, či nové verze programů, provádím současně na obou počítačích, což doplňuji o vytváření záložních CD/DVD a pravidelnou synchronizaci dat. V případě výpadku hlavního počítače z jakýchkoliv důvodů jen přepnu obrazovku na druhý z počítačů v clusteru, obnovím poslední data a pokračuji normálně v práci.

Nejde totiž mnohdy jen o data, ale je potřeba mít také okamžitě připravené a funkční prostředí na vývoj aplikací s posledními verzemi a se všemi nainstalovanými patch sety a s identickým nastavením všech default hodnot v systému a u daných aplikací.

Nesmí se mi ovšem v zápětí pokazit i druhý počítač ;-)


Kupovat všechno dvakrát nebo třikrát?

Zlepšování procesu archivace dat se věnuji průběžně skoro neustále. Neexistuje totiž žádné dokonalé řešení. Něco jiného je totiž zabezpečení aplikací a dat někde v bance, kdy každé rozumné řešení počítá s možností poruchy hardware i výpadky software, aby firemní síť odolala např. zemětřesení, povodním, výpadkům proudu i bombovým útokům.

Několikrát jsem již navrhoval provozní zabezpečení se vzdálenými uzly sítě, kdy je plno možných enterprise řešení pro maximum availability architekturu, jak chránit nepřetržitý provoz aplikací a databází. Můžou se použít např. různá RAID 1-5 řešení a hardware mirroring, RAC databázové clustery, příp. standby databáze. Oddělené uzly firemní sítě můžou být provozované v různých lokalitách vzdálených i stovky kilometrů, jež jsou připojené přes vyhrazené dark fiber optické kabely. Záleží jen na financích, kolik do zabezpečení chce firma investovat.

Jak ale řešit osobní zálohování v malé domácí síti pro pár uživatelů, to je otázka úplně jiná. Jestli někdo má nějaké smysluplné řešení a několik let mu již úspěšně funguje, tak se pochlubte v komentářích.


Když jedna záloha nestačí...

Mám originální data na jednom místě a zálohu na druhém. Co ale dělat, když odejdou oba tyto zdroje, tj. počítač se pokazí a záloha je nečitelná? Ještě se to nikomu nestalo? Mně už několikrát, proto mám veškerá data současně na dvou počítačích a navíc ještě na CD/DVD, příp. na notebooku nebo na externím USB disku, což je ideální, když někam cestuji.

Neplatí náhodou i v počítačovém oboru při zálohování dat to staré dobré horolezecké pravidlo, že je nutné se jistit na třech místech současně?


BeInSync - Secure Remote Access, File Sync and Online Backup Software

BeInSync - Secure Remote Access, File Sync and Online Backup Software

"BeInSync is the leader in secure remote access and file synchronization software solutions that maximize productivity and data availability for individuals, business users and mobile professionals, with +2 million downloads."

Viz také - K čemu jsou Web aplikace, kdyz nefunguje Internet...


22 comments :

Ondra řekl(a)...

Když odejde PC, není nic jednodušího než vytáhnout z tašky notebook. Data si synchronizuji díky Buxferu, takže 2GB nejdůležitějších dat mám vždy na obou počítačích bez nutnosti cokoliv přenášet.

George řekl(a)...

Nasadil jste mi brouka do hlavy ;-)

Budu o zálohování přemýšlet ... snad i realizovat

Cayman řekl(a)...

2Ondra: "Data si synchronizuji díky Buxferu..." - tím myslíš synchronizaci pomocí Buxfer.com nebo je to něco jiného?

Jinak, já obvykle pracuji na něčem na PC a současně vedle na notebooku na něčem jiném, takže notebook ani nemusím vytahovat, neboť mi také stále běží. Jde o to, kdy zálohovat a kdy synchronizovat data ;-)

2George: "Budu o zálohování přemýšlet..." - to bych tedy opravdu mírně doporučoval ;-)

Daniel řekl(a)...

Moznost prvni - pouzivat Mac a jeho Time Machine s nekolika externimi disky (real-time zalohovani sledujici zmeny na urovni filesystemu, na windows bohuzel nemozne realizovat).

Moznost druha - pouzivat na data sitovy server s patricnym RAIDem a pro jistotu jednou tydne server odzalohovat na externi disk, disky mit 4 a "tocit je", takze takze prvni tyden se prepise zaloha na prvnim, druhy na druhem, ... ctvrty na ctvrtem, potom zase na prvnim , ...

Budgetova moznost - pouzivat externi disky a na workstation pouzivat subversion nebo nejaky jiny system, ktery s ulozenim prace vytvori kopii ulozeneho souboru s datem. Da se tak snadno jit zpatky v praci a obcas i zachranit nektera ze starsich verzi, kdyz je jina necitelna a ztratit treba 5 minut prace namisto dne.

Plus zasada nejdulezitejsi - ukladat praci po KAZDE stredne velke a velke zmene. Casto ten nejdulezitejsi bod. :D

Mit dva pocitace je velmi rozumne, zalezi kolik chce clovek do zaloh investovat, v jakych lhutach a terminech pracuje a take co dela za praci, jsou obory, kde jejich narocnost nektere moznosti vylucuje kvuli technickym omezenim a jsou obory, kde na nejakych 5ti minutach, hodinach nebo dnech nezalezi. :)

Anonymní řekl(a)...

no tak v praci nam odisiel disk prednedavnom , zachrana dat , kde sme to posielali nas stala 10 litru

deep řekl(a)...

Všetky naozaj dôležité dáta mi musia vojsť na usb flash disk. Ten používam ako primárny zdroj dát. Vždy po zmene dáta skopírujem na disk notebooku aj na pracovnú stanicu. Nejaké dokumenty, adresáre, mám poupravené do na prvý pohľad nečitateľnej formy v google docs, tam sa nestratia. No a kopu vecí nemám vôbec zálohovanú. Napríklad maily mažem skoro hneď ako ich prečítam (Zero Inbox).

deep řekl(a)...

Napíš niekedy aj o tom ako tvoríš dokumentáciu, pri programovaní ti ju asi generuje rad tool, ale taký ten denník programátora x rokov dozadu občas spomínaš, teda pre inšpiráciu môžeš prezradiť ako si robíš poznámky a ako sa v nich potom vyznáš. Lebo ja sa už v tých mojich adresároch a txt súboroch strácam.

Anonymní řekl(a)...

no musim povedat ze ZFS a snapshoty su na toto tiez velmi vhodny nastroj (Time Machine je v podstate odkukane ZFS snapshots) co ma solaris 10 alebo opensolaris. Nemam to doma rozbehane, mam len jeden notebook ale pre kriticke aplikacie napr. pravidelny (na pozadi snapshot) a poslanie na iny stroj po sieti :) jednoducha a elegantna myslienka

deep řekl(a)...

ZFS je uplne super, to pouzivam vsade kde to ide. Prikladam jedno video o ZFS http://www.youtube.com/watch?v=1zw8V8g5eT0

Anonymní řekl(a)...

Zálohovat na 2. počítač v té samé místnosti nebo v tom samé domě je nedostatečné. Přijdou zloději, vypukne požár, do el. rozvody udeří blesk - a jsi nahraný.

Zálohovat data na flashku je rozumné minimum, pokud je těch flashek vice a jsou dobře uloženy. Pokud mám jen jednu a dojde k maléru zrovna když běží záloha, je v hajzlu jak počítač tak aktuální záloha tak i všechny minulé zálohy.

Z principu nejbezpečnější je zálohovat na vzdálené úložiště. Mám server umístěný v profi serverovně a každou noc na něj přes S-FTP odesílám zálohy.

Další důležitou otázkou je volba vhodné zálohovací strategie. Úplná záloha všeho je obvykle neúnosně velká, s přírůstkovými zálohami je pak zase větší práce při případné obnově. Zvolil jsem tedy něco mezi tím - skenuji složky všech projektů a pokud v kterémkoli projektu je od poslední zálohy byť jediný změněný soubor, udělá se kompletní záloha celého projektu do jediného šifrovaného 7-zipu. Ten se pojmenuje ProjectName_RRRR-MM-DD.7z a odečle se na FTP. Mám pak od každého projektu úplnou zálohu z každého dne, kdy se na něm dělalo.

Pokud jde o zachování funkčního vývojového systému, není při dnešních výkonu dnešních strojů problém vsadit na virtualizaci. V případě jakéhokoli problému s jedním PC lze během pár minut přenést image na 2. stroj a pokračovat v práci.

NX řekl(a)...

Nebo mit komp postavenej tak, ze se nesere a mate vyreseno :)))

Cayman řekl(a)...

2NX: To je zase někdo chytrý, že ;-) Evidentně toho nemáš moc za sebou, neboť bys takhle nemudroval.

Ta tvoje "úchvatná" rada "mit komp postavenej tak, ze se nesere" má totiž jednu zásadní chybičku. Každý počítač je dělán z komponent, jejichž výrobní kvalitu nijak neovlivníš. Za dobu mé praxe mi "odešlo" i několik značkových strojů (IBM, DELL, SUN, HP), dokonce obvykle přesně 1-2 měsíce po uplynutí záruky, až mám někdy pocit, že značkové stroje se vyznačují právě tou přesně spočítanou zárukou (funkčností).

Jinak, počítače si už asi 10 let nestavím, ale kupuji hotové, kdy mnohem důležitější je pro mě prodloužená záruka, servis / výměna čehokoliv druhý den u zákazníka. Všechno tohle lze zajistit až na to, když se ti něco pokazí v sobotu v noci a nemůžeš čekat do pondělí na opravu.

Cayman řekl(a)...

2Daniel: Jak píšeš, tak to tak zhruba dělám. Mám v siti připojené RAID diskové pole, kam průběžně zálohuji všechny PC v síti a jednou za čas dělám kopii na externí disk. Tam ukládám i případný nový "disk image", když nainstaluji něco většího v systému, což je dokonalé pro rychlejší obnovu celého disku (partition).

Záložní CD / DVD pak vytvářím jen pro kopie software nebo pro menší skupiny dat (např. jen pro jednotlivé projekty, texty apod.)

Tu doporučovanou zásadu, "ukladat praci po KAZDE stredne velke a velke zmene", se snažím dodržovat, ale to je právě ten největší problém, že se k tomu musím dokopat v ten pravý čas ;-)

Cayman řekl(a)...

Ještě, jak psal někdo výše, že "zálohovat na 2. počítač v té samé místnosti nebo v tom samé domě je nedostatečné...", to je sice hezké, ale zloděje, požár, blesk nebo potopu mám dostatečně vyřešeno. Jak zabezpečit byt nebo dům proti ohni nebo proti zlodějům, tak to je na extra debatu.

Samozřejmě, že je dobré mít vše i někde externě a taky jednou za čas hodím všechno zašifrovaně na FTP server, ale nejdůležitější, co vidím, tak jsou poruchy hardware, které nemůže nikdo ovlivnit. Proto hlavně dělám zálohy ;-)

Líbí se mi, každopádně, ta zálohovací strategie s tím skenováním adresářů a při změně udělat ten ProjectName_RRRR-MM-DD a FTP na vzdálený server. To asi naimplementuji ;-)

Online hry řekl(a)...

Jednoduše - GetDropBox.com

Cayman řekl(a)...

Hezký pokus, ale já bych nikdy nesvěřil data firmě, která vznikla před rokem a jejich tým vypadá spíše na skupinu hackerů, jak na solidní firmu (viz - https://www.getdropbox.com/about) ;-)

Nic na tom nemění fakt, že jim prachy na rozjezd nápadu dala Sequoia Capital. Opravdu nemíním sdílet svá data a stav všech souborů s někým cizím na Webu. To si takový systém spíše sám naprogramuji ;-)

zadirr řekl(a)...

Myslím že než "pod svícnem je tma" se sem víc hodí "kovářova kobyla chodí bosa" :-) Teda aspoň v mém případě.

Se zálohováním je největší potíž ta, že dneska, když zálohuju dvě různé věci, tak se mi těžko odhaduje, co budu jednoho dne potřebovat obnovit a co ne. Takže se zálohuje prostě všechno stejně na stejné místo, no a když se po pár letech něco stane, tak je toho v těch zálohách tolik, že najít v tom to co hledám je peklo :-( Nebo jsem snad sám, kdo má tenhle problém?

Mít dva synchronizované notebooky, tak abych mohl při havárii jednoho rychle pokračovat na druhém, to mě ještě nenapadlo. Zní to zajímavě, zkusím o tom přemýšlet. Ale trochu se bojím, že ten záložní bude pár měsíců pozadu :-( Po nedávné nehodě mého notebooku, při které chybělo málo a přišel jsem o všechny soukromé fotky za poslední dva roky, spíš přemýšlím, že si koupím notebook se dvěma disky. Je to sice méně dokonalé než mít "RAIDovaný" celý notebook, ale je to daleko míň pracné a lepší RAIDovaný disk než nic.

zadirr řekl(a)...

Ještě si dovolím přidat úsměvnou historku.

Žila byla jednou jedna organizace z takzvaného státního sektoru. Organizace to byla veliká převeliká, několik tisíc zaměstnanců, několik miliard roční obrat, všechno důležité v SAPu, celé oddělení lidí kteří se starali o IT záležitosti včetně zálohování databáze.

Na zálohování v té organizaci měli veliký magnetofon, ale kdo by se otravoval s vyměňováním pásek, když jsou dneska terabajty disků tak levné (a když nikde žádný akcionář, který by se ptal, jestli je ekonomicky efektivní zálohovat na diskové pole za miliony, když se dá zálohovat na pásky za desetikoruny, úředníci z nadřízeného ministerstva mají jiné starosti).

No a tak se koupilo diskové pole daleko větší než obrovské, a zálohovalo se na jediné diskové pole. Mělo to obrovskou výhodu žádný zaměstnanec nemusel zvedat pravidelně zadek a chodit navštěvovat místnost s magnetofonem. Všechno to zařídil pan Crond.

Jednoho dne se ale stalo, že se nějak nepovedl upgrade SAPu nebo co, a bylo potřeba obnovit databázi ze zálohy. A ten samý den se stalo, že shořel disk v diskovém poli. A byl průser jak mraky. Říkáte si, že jeden disk přece není žádná tragédie? Jenže ona na tom diskovém poli už několik týdnů blikala kontrolka oznamující, že odešel disk. A všichni si říkali, že se objedná nový, až bude čas.

Poučení? Ani neomezený budget na technologie nezaručí bezproblémové obnovení dat ze záloh.

Bruinee řekl(a)...

Vsechno je to o bilanci vydaju/nakladu.

Nekomu se treba vyplati jednou za X let zalatit 10 tisic za obnovu padleho disku. Jinemu se vyplati rok implementovat a ladit svuj system, kazdy vecer se s prominutim srat se zalohovanim a nutit svy deti kopirovat data nekam na externi server, kupovat do pocitace raid a jeste si to kopirovat na notebook a pres FTP do Australie :)

Cayman řekl(a)...

2zadirr: Pravda, bosá kovářova kobyla a navíc ve tmě, to se hodí více ;-)

Já tedy také raději zálohuji všechno (celý disk, jednu partition, příp. alespoň celý adresář), neboť je to nejjednodušší pro následnou obnovu. S množstvím kopií ale moc starostí nemám, neboť udržuji jen 3 poslední verze a zbytek mažu. S hledáním pak nemám moc problém, neboť obnovím vždy poslední zálohu a je to.

U toho druhého záložního PC nebo notebooku je nutno dbát na to, aby se data na obou synchronizovala každý den a pak není žádný problém.

Dík za historku z praxe. Nikdo nepozná kvalitu svých záloh, dokud je nevyzkouší v praxi, což pro státní firmy platí obzvlášť ;-)

Jaromír Adámek řekl(a)...

Před asi 8mi lety, jsem měl taky v počítači RAID 1 (+ zálohy na CD a DVD), který mě stál i s přídavnou kartou pěkné peníze, ale dnes to už řeším jinak.

I denní výpadek v práci mi nevadí, takže mám OS na jedné partition, data na druhé v RAIDu 0 (což zvyšuje riziko ztráty, ale mě to nevadí, jak jsem psal) a pak mám přímo v PC ještě jeden HDD, na který se mi každý den o půlnoci vytvoří zálohy všech důležitých dat a programů.

Každý den něco, je to naplánováno přes spouštění ve Windows. Spustí se mi BAT s CMD příkazem, který s minimální prioritou udělá na HDD v daném adresáři zálohu typu "5_Programy__2008_12_24__st__00_00.7z". 7zip je opensource, takže má zveřejněné kódy a případně dostanu zálohy z něho i za 30 let, pokud HW vydrží. U nedůležitých věcí udržuji několik posledních záloh, atd. podle důležitosti. Na data a nastavení programů (či registrů ve Windows), mám taky své BATáky, které provádějí zálohy ještě před těmito velkými.

Vše se provádí automaticky.

Taky jednou za čas, asi za měsíc, si připojím externí HDD a odnesu zálohy na externí místo (pro případ krádeže, požáru, blesku, silného přepětí (i když mám UPSky, přepětové ochrany typu B, C, D,..) atd.)

RAID 1 jsem nenasazoval proto, že mi výpadek nevadí, a aspoň bych si nainstaloval čistý systém, spíš HDD využiju než pro jeden obraz z RAIDu 1, pro více inkrementálních záloh, kdy se pak můžu vracet ke starým verzím, což má pro mě větší hodnotu. Navíc v RAIDu nejde jen o HW poruchu, ale kolikrát se špatně uloží jen MBR, nebo něco jiného a celý RAID 1 jde díky této SW chybě do kytiček.

Databáze na mém web serveru, se mi cronem zálohují přímo na něj (zabalené MySQL dumpy) a pak si je můj domácí počítač BAT FTP scriptem sám vždy jednou denně vnoci stáhne, rozbalí, znovu zapakuje a uloží na pravá místa, nic se nepřepisuje, nechává se celá minulá histori DUMPů klidně za půl roku, aby jeden špatný nepřepsal dobrý minulý a já pak nic nemohl obnovit), a tyto dumpy jsou samozřejmě součástí celého výše popsaného procesu zálohy.

Nechci používat žádné WWW služby typu DropBox a proto mám přenosná data na flash-disku, který (pokud je připojen a dešifrován (všechny data všude jsou šifrováná TrueCryptem, a zálohy v 7zipu AESem samozřejmě včetně názvů souborů), tak se zazálohu v noci automaticky taky).

Na DVD jsem přestal zálohovat, protože se mi už dávno záloha nevešla na jedno médium, nebavilo mě dělat pořád kontrolní opravná data pomocí QuickPARu (paranoia :), a hlavně to vyžadovalo mou akci, takže se záloha nedělala tak často, jak měla (dělal jsem ji asi měsíčně, ale chtělo to týdně, ideálně denně, což bylo nereálné při 10ti DVD (teď už víc)). I když udělat jednou za rok zálohy na DVD nemusí být špatné, mohla by to být taková "poslední záchrana", když všechno selže.

O jištění na třech bodech popřemýšlím. Možná začnu důležitá data dávat na svůj dedicated a vytvořím tak trojúhelník (server, domov, jiná lokace), a nebo ještě přidám další (už čtvrtou) lokaci.

Ono je hlavně důležité vše zautomatizovat, aby se zálohovalo samo, a určit co je opravdu důležité, takové filmy si člověk stáhne kdy chce znovu...

V tomhle všem hodně pomůže znalost scriptů (BATu v DOSu, tak i shelu na Linuxu (zatím umím skoro nic)...).

Cayman řekl(a)...

Vida, jeden z mála lidí, co to má pěkně zmáknuté :-)

Okomentovat