Zálohovanie dát
na Servri

Čo zálohovať

To že zálohovať je potrebné je jasné... Je to taká nutná, trochu otravná činnosť, ktorá naberá význam práve vtedy keď je potrebné čosi zo zálohy obnoviť...
Server je počítač ako hociktorý iný. Tiež sú na ňom uložené rôzne dáta. Rozdiel oproti pracovnej stanici je v (operačnom) systéme.
Na pracovnej stanici systém až tak dôležitý nie je. Ak sa čosi pokazí, tak celý počítač dokážem preinštalovať za pár hodín. Dáta boli zálohované, takže nič dôležité nestratí. Užívateľ síce príde o pár nastavení, ale zväčša sú to len drobnosti, ktoré si vie obnoviť aj sám. A ak aj nie tak škoda sa týka jedného jediného užívateľa...

V prípade servra je to však o čomsi úplne inom. Ak server prestane pracovať tak to má efekt na celú doménu a nik v doméne nemôže plnohodnotne pracovať. Ak je potrebné server nainštalovať nanovo bude to trvať rozhodne viac ako pár hodín a systémové nastavenia sú extrémne dôležité. Samozrejmosťou je Active Directory, Group Policy, DNS, zdieľané zložky, tlačiarne - jednoducho všetko. Toto všetko MUSÍ byť zálohované a musí to byť ľahko (rýchlo) obnoviteľné... Je nepredstaviteľné, že by obnovenie servra malo trvať napr. týždeň a celá organizácia by nemohla týždeň pracovať...
V skutočnosti už pár minút bez servra vie spôsobiť poriadne problémy...

Záložný doménový kontrolér

Takže úplne ako prvé treba zabezpečiť aby bolo možné pracovať aj ak nejaký server zlyhá...
Dajme tomu že na mojom počítači ServerA zlyhá niečo tak jednoduché ako ventilátor na procesore. Počítač sa samozrejme automaticky vypne a ServerA je nedostupný. Celá doména je nedostupná...

Bob príde k počítaču kde nikdy predtým nepracoval, pokúsi sa prihlásiť a - nefunguje to...

Oprava ventilátora zabere pravdepodobne iba pár minút ale aj za tých pár minút sa môže stať viacerým užívateľom to čo Bobovi.
Riešením je vytvoriť ďalší doménový kontrolér, ktorý bude pracovať paralelne s mojim ServromA a bude slúžiť ako záložný. (Názov Backup Domain Controller resp. BDC sa už nepoužíva a v OS Server 2003 sú si všetky doménové kontroléry rovnocenné).
V tejto chvíli mám servre dva a ďalší zatiaľ stavať nejdem, takže prvé čo ma napadne je urobiť záložný (resp. proste "ďalší", keďže názov záložný sa nepoužíva) kontrolér domény zo ServraB.
(Ak je ServerA teraz vypnutý tak ho zapnem, logicky - nemožno robiť zálohu z toho čo neexistuje)

Na počítači ServerB spustím dcpromo a postupujem rovnako ako pri vytváraní nového doménového kontroléra, akurát to bude kontrolér pre existujúcu doménu...

Potom klasicky Next, Next, Next, "Recovery" heslo nechám Password@1 (raz sa zíde)
Active Directory sa zreplikuje, reštart a - hotovo.

Pár minút nechám oba servre zapnuté a počkám kým sa AD zreplikuje. Alebo "vynútim" replikáciu (Force Replication)

V Active Directory Domains and Trust nájdem môj doménový kontrolér, pravé tlačítko na NTDS a Replicate Now.

Ak znova zopakujem pokus - vypnem ServerA a pokúsim sa prihlásiť ako Bob na XPClientA všetko prebehne vporiadku a nik si pravdepodobne nevšimne, že ServerA nefunguje (zatiaľ je len doménový kontrolér)

Zálohovanie samotné

Na zálohovanie existuje celá rada špecializovaných programov, ale aj priamo v OS Windows existuje program ntbackup.
V podstate je jedno aký program je na zálohovanie použitý, dôležité je aby umožňoval aj zálohu Active Directory resp. systému...

Pri ntbackup zazálohujem (pravdepodobne) najmä všetky zdieľané adresáre - pretože tu sú uložené užívateľské dáta, a System State - tu je okrem iného uložené Active Directory.

Za pár minút sa to zazálohuje a môžem teda skúšať obnoviť dáta.
Alica mala na sieťovom disku uloženú tabuľku. Dajme tomu, že si ju nechtiac zmazala (alebo prepísala nesprávnymi dátami). Dáta boli na servri, takže sa nepresunuli do žiadneho koša (Recycle Bin) ale sú nadobro zmazané.
Avšak, keďže mám zálohu, obnoviť tabuľku nebude problém...

Spustím znova ntbackup, tentokrát v Restore móde, vyberiem dáta koré chcem obnoviť, môžem ponechať pôvodné umiestnenie (Original Location) a zvolím Start Restore. Za pár minút má Alica svoje dáta naspäť...

Iný príklad - Lubo pracuje na XPClientA a pri úpravách v AD nechtiac zmaže celú OU Sales...
Nikto v obchodnom oddelení sa nemôže prihlásiť na počítač, všetky nastavenia sú stratené a najhoršie je, že nik si presne nepamätá ako to v Sales vyzeralo, kto mal aké práva GPO... atď.

Ako prvé si uvedomí, že má predsa servre dva a možno sa zmazané Sales nestihlo zreplikovať - možno bude stále na jednom zo servrov... Nebude.
Je potrebné obnoviť System State zo zálohy, a keďže som zálohu spravil na počítači ServerB prihlásim sa na tento a spustím ntbackup.

Pri pokuse o obnovu sa ukáže, že zas až tak úplne ľahké to nebude...
ntbackup tvrdí, že treba byť v Directory Services Restore Mode.

Reštartnem teda server a pri bootovaní zvolím túto možnosť...
No a pri prihlasovaní použijem administrátorský účet (Recovery Administrator - heslo je Password@1)

Spustím ntbackup, obnovím System State a opýta sa ma či chcem reštartovať počítač.
Bola by chyba zvoliť yes...

...Pretože ak server hneď po obnovení Active Directory reštartujem, a po reštarte skontrolujem AD, zistím že OU Sales stále chýba...

Dôvod prečo je to tak je trošku zložitejší. Vyplýva to z toho, že mám servre dva. Tieto si navzájom replikujú databázy. Aby bolo možné zistiť, ktorá databáza je aktuálnejšia majú ich databázy (resp. objekty) svoje čísla verzií. No a replikuje sa vždy tá najnovšia databáza...
Teda čo sa stalo? Mal som napr. AD s číslom verzie 10. Zmazal som na ServriA (napríklad) OU Sales. Keďže došlo k zmene, tak AD na ServriA má verziu 11 a na ServriB je verzia 10 - staršia verzia sa teda prepíše...
Moja záloha ServraB obsahuje staršiu verziu AD (povedzme verziu 5). Čiže čo sa stalo hneď ako som verziu 5 obnovil? Systém zistil, že na ServriA je aktuálnejšia verzia - verzia 11 (tá so zmazanou OU Sales...) a tak ju zreplikoval aj na ServerB...

To čo treba spraviť je tzv. Authoritative Restore. Toto zaručí, že objekt v Active Directory bude mať najnovšiu verziu (a teda nebude prepísaný).
Z príkazového riadku spustím ntdsutil
authoritative restore
restore subtree "....", v tomto prípade OU Sales...

Po tomto autoritatívnom obnovení zo zálohy bude OU Sales skutočne obnovená a zmeny sa replikujú na ďalšie doménové kontroléry "správne".

RAID

Technológia RAID opäť priamo nesúvisí so zálohovaním, ale - zvyšuje bezpečnosť dát tým že ich taktiež akokeby zálohuje. Skratka je z redundant array of independent disks. Toto značí, že diskov musí byť viac - sú v akomsi poli a je tam istá nadbytočnosť - dáta su ukladané viackrát. A práve toto zaručuje vyššiu bezpečnosť. Ak niektorý z harddiskov zlyhá dáta sú stále dostupné a koncový užívateľ si žiaden problém nevšimne.

Ďalšou výhodou je väčší výkon (priepustnosť, odozva, rýchlosť zápisu) diskov. Keďže diskov je viacero záťaž možno rozložiť a tak sa nestáva tak často že veľa procesov potrebuje naraz čítať (alebo ešte "horšie" zapisovať) na ten istý fyzický disk.

Z týchto dvoch výhod vyplýva, že najväčšie uplatnenie má technológia RAID na servroch. Zároveň - keďže sa jedná o pomerne dôležité dáta (bezpečnosť a rýchlosť prístupu k dátam) tak sa RAID väčšinou rieši hardwareovo - pomocou špeciálneho RAID radiča.
Microsoft ponúka však aj riešenie pre "chudobnejších" a Windows XP (aj Windows 2003 Server) ponúka softwareový RAID.

Diskových polí (RAID) je viacero typov.

RAID 0 - Je akurát viacero diskov pri sebe a dáta sú rovnomerne rozložené po každom z nich. Výkon je najvyšší ale ochrana proti zlyhaniu nie je žiadna. Stačí aby zlyhal jeden disk a všetky dáta sú stratené...

RAID 1 - Mirroring, alebo zrkadlenie. Vedľa seba sú dva (alebo viacero) disky s úplne rovnakým obsahom. Dáta sú zabezpečené - ak zlyhá jeden disk, stále mám identickú kópiu na druhom disku. Zároveň rýchlosť čítania je vyššia. (Niektoré dáta čítam z disku 1 a v tej istej chvíli iné z disku 2)

RAID 2,3,4 - Dáta sú rozložené na viacerých diskoch a zároveň je tu ochrana proti zlyhaniu pomocou kontrolných súčtov a parít...

RAID 5 - Toto je asi najpopulárnejšie riešenie. Vyžaduje aspoň 3 disky (lepšie 5). Dáta sú rozložené na viacerých diskoch a zároveň parita je vždy uložená niekde inde. Rýchlosť nie je lepšia ale mám dáta zálohované (pomocou parity je možné dáta obnoviť) a neplytvá sa diskovým priestorom toľko ako pri RAID1. Oproti RAID 4 je zápis rýchlejšií (keďže aj parita je rozložená)

RAID 6,7,10,50,53... Ďalšie vylepšenia, ale až tak často sa nepoužívajú.

Najprv si vytvorím na mojom servri nejaké nové fyzické disky. (V praxi je to rovné tomu že prikúpim do servra nové harddisky)

Disky zinicializujem...

Skonvertujem na dynamické a reštartujem počítač...

Vytvorím nový "disk" (Volume) a zvolím Mirrored. (Na RAID5, ktorý je omnoho zaujímavejší treba bohužiaľ až tri disky)

Vytvorím na novom "disku" (Volume) nejaký súbor.
Samozrejme na virtuálnom počítači žiadny nárast výkonu síce nezbadám, s reálnymi diskami - pri veľkých objemoch dát by sa rýchlejší prístup prejavil...

Vypnem server a odpojím jeden z diskov (simulujem poruchu jedného z diskov)

Ak skontrolujem správu diskov teraz, je vidieť že Disk 2 chýba...

Dáta sú však stále dostupné a koncový užívateľ si ani nevšimne že došlo k nejakému problému.

Ak chýbajúci disk zapojím do iného počítača (v tomto prípade XPClientA) systém vie že sa jedná o cudzí disk, ktorý je časťou RAIDu...

Ak sa tento disk pokúsim importovať (pravé tlačítko a import) tak sa mi to samozrejme nepodarí, pretože chýba "druhá časť RAIDu"
Sformátujem tento disk (simulujem poruchu, ktorú bolo možné odstrániť iba preformátovaním, resp. kúpou nového disku)

Pripojím nový disk naspäť na ServerA a zvolím Reaktivovať disk (Reactivate Volume)
Dáta sa "zosynchronizujú" a disk je v pôvodnom stave. Koncový užívateľ, ktorý pracoval s dátami na servri si žiadnu poruchu ani nevšimne. (Pokazený fyzický disk vymením samozrejme keď na servri nik nepracuje)

(c) Wray 2007