Tak už jdeme do finále a poslední tóny zní. Jak to jde, už víme, ale co když to nejde?
Dostali jsme se konečně k poslednímu dílu, kde se koukneme na možnosti řešení některých problémů u typů polí, které byste si mohli doma nejspíš postavit.
Nejprve si dáme malé rychlíkové shrnutí všech běžných typů a jejich hlavních vlastností, výhod a nevýhod:
- RAID0 - Stripe set
- Typické použití: Dočasné úložiště s vysokou porpustností (například videostřižna)
- Alespoň 2 disky
- + Ultimátní rychlost za neměřitelnou cenu systémových zdrojů
- + Propustnost a kapacita roste úměrně s počtem disků
- + Latence klesá úměrně s počtem disků
- - Žádná ochrana uložených dat, pádem jednoho disku jsou data v podstatě neobnovitelná
- RAID1 - Mirror (zrcadlo)
- Typické použití: Vytvoření spolehlivého disku spojením 2 běžných (například rychlý spolehlivý systémový disk)
- Alespoň 2 disky
- + Ochrana dat plnou redundancí uložených dat (kolik disků, tolik kopiií dat)
- + Vysoká rychlost čtení za neměřitelnou cenu systémových zdrojů
- + Propustnost při čtení roste úměrně s počtem disků
- + Latence čtení klesá úměrně s počtem disků
- - Propustnost při zápisu je stejná jako u nejpomalejšího disku v poli
- - Kapacita je přeplacená tolikrát, kolik je disků v poli
- RAID5 - Stripe set s distribuovanou paritou
- Typické použití: Vytvoření velkokapacitního spolehlivého úložiště se slušnou rychlostí (například skladiště filmů, fotografií a další multimediálních dat)
- Alespoň 3 disky, pro zvýšení výkonu je použito vždy N-1 disků (tedy u tří disků je dvojnásobná, u čtyř trojnásobná a tak dále)
- + Ochrana dat paritou (kapacita o velikost jednoho disku je využita na redundanci)
- + Vysoká rychlost čtení za (do pádu jednoho disku v poli) neměřitelnou cenu systémových zdrojů
- + Propustnost a kapacita roste úměrně s počtem disků
- + Latence klesá úměrně s počtem disků
- - Při zápisu dat je nutné spočítat paritu, která stojí několik procentu výkonu CPU
- - Zápis dat je kvůli paritě nutné zarovnat na velikost stripe a vynutí si tedy i čtení z paritního disku
- RAID10 - Stripované zrcadlo
- Typické použití: Extrémně rychlé spolehlivé úložiště (například databázový server)
- Alespoň 4 disky
- + Ochrana dat plnou redundancí uložených dat (každý druhý disk je redundantní)
- + Vysoká rychlost za neměřitelnou cenu systémových zdrojů
- + Latence klesá lineárně s každou přidanou dvojicí disků
- + Propustnost čtení roste lineárně s každým přidaným diskem
- + Propustnot zápisu roste lineárně s každou přidanou dvojicí disků
- - Využitelná kapacita je vždy 50% použité kapacity disků
Takže už máme pole vybudované, spokojeně ho používáme a najednou se objevil problém:
Jeden disk v poli zemřel
Je to možná trochu zvláštní, ale tohle je nejtriviálnější situace, se kterou si snadno poradíte.
Většina polí, která jsem potkal, totiž pracuje se SMART informací z disku a ta chytřejší ještě vyhodnocují další parametry, jako je průměrná doba zápisu na disk, rychlost čtení a především ohlášená chyba zápisu dat. Pokud taková událost nastane, systém vypíše varování a nebo disk rovnou odepíše jako vadný. Jelikož odepsání způsobí přímo ovladač pole, jedná se o konzistentní odpojení a data zůstávají v pořádku a nedotčená. Stejně tak, pokud disk odejde na elektronické úrovni. Ve všech případech nejspíš dojde ke krátkodobému pozastavení práce OS, jelikož se systém nejdříve pokusí udělat reset sběrnice. To platí především pokud disk sám odejde a přestane odpovídat. Zažil jsem, že mi systém vytuhnul na cca 3 minuty, než opakovanými resety SATA sběrnice dospěl k závěru, že tudy cesta opravdu nevede. Jakmile prohlásil disk za mrtvý, vše se zase rozběhlo a v logu se mi objevila hláška, abych s tím něco udělal ;o).
Král je tedy mrtev, ať žije nový král! Postup doporučuji následující:
- Vypněte počítač
- Vyndejte padlý disk (dejte pozor, že je to opravdu on)
- Připojte nový disk
- Proveďte rebuild pole v BIOSu (pokud máte pole vybudované s jeho pomocí)
- nebo rebuildujte pole pomocí OS (pokud je to pole na úrovni operačního systému)
Výše uvedný postup aplikujte, pokud máte po ruce náhradní disk a nebo pokud se nebojíte, že by vám v době vyřizování reklamace padnul nějaký další disk. Ve všech případech ale doporučuji, pokud ji nemáte, okamžitě udělat zálohu.
Jeden disk v poli postupně umírá na elektrické úrovni
Tohle taky není žádná katastrofa, i když docela leze na nervy. Nejpíš se vám bude totiž stávat, že disk vypadne z pole, ale když rebootujete počítač, tak se bude zase tvářit v pořádku. Po přidání do pole se pole obnoví a vše zase nějakou dobu poběží. Postup je stejný, jako v předešlém bodě. Zkrátka disk vyměníte a máte zase klid.
Disku v poli se postupně ničí magnetická vrstva
Tohle je problém, který obyčejně nemá automatické řešení. Pokud disk nekontroluje, že zapsaná data odpovídají datům přečteným (nehledejte v eShopech, nekontroluje) a pokud není chyba takového ražení, že zápis vysloveně selže (například se nepodaří aktualizovat tabulku interních dat disku), data se prostě na toto místo nezapíší a projeví se až chyba při jejich čtení a to dokonce může být jenom ve formě poškození obsahu!
Abyste nemuseli panikařit nijak dlouho, tahle chyba hrozí v podstatě jen u velmi starých disků a u disků, které se na nějakou signifikantní dobu přehřívaly (tou hranicí by mělo být 60°C na plotně disku) po dobu alespoň několika hodin.
Nicméně jak z toho dovnitř? Nejtěžší je u tohoto problému vůbec přijít na to, že se to děje. K tomu by vám ale možná trochu překvapivě mohl pomoct nějaký diskový katalog. Nejdůležitější vlastností takového katalogu je možnost ohlásit, že ač se nezměnila velikost ani čas souboru, došlo ke změně kontrolního součtu (v angličtině se používá checksum a nebo CRC). Takovým varováním běžně disponují antivirové programy, ale ty se zase obyčejně nezaměřují na obrázky, filmy a další média.
Důvod vysvětlím na RAID1, ale ostatní redundantní pole mají logiku stejnou, jen RAID5 to bude mít o něco jednodušší. V předchozím přehledu je řečeno, že rychlost čtení roste s každým přidaným diskem. Data jsou totiž zapsána alespoň na 2 disky zároveň, ale čtení může proběhnout z kteréhokoliv z disků (až na RAID5). Tím pádem se zákonitě musí čas od času stát, že se jednou načte správná verze obsahu a jednou špatná. Tím se změní kontrolní součet souboru, aniž by se ale podle dalších dat (čast souboru, velikost) ten soubor vůbec měnil.
Takže víme, že je něco shnilého ve státě dánském, a co s tím teď?
Máte-li obyčejný RAID1, je situace jednoduchá. Disky jsou si rovnocenné, takže stačí udělat toto:
- Vypněte počítač
- Odpojte disk, na který máte větší podezření
- Zapněte počítač
- Zkontrolujte původně padlý soubor
- Je v pořádku? OK, máte nejspíš odpojený ten vadný disk, udělejet kontrolu zbylých dat a reklamujte ten špatný disk.
- Není to v pořádku?
- Tak počítač vypněte, odpojte ten aktuální disk, připojte ten odpojený
- Zapněte počítač
- Nyní by už data měla být OK a vy byste měli v ruce držet disk určený k reklamaci
Rozhodně, pokud se nechcete dozvědět spoustu nových věcí o diskových polích, nedoporučuji prohlásit jeden disk za vadný na úrovni správce pole. Mohli byste se totiž snadno dostat do situace, že budete muset na nejnižší možné úrovni přeeditovat metadata pole, kam se ta informace o vadném disku zapíše! Pokud zvolíte postup uvedený výše, tak u odpojeného disku nejde k žádné modifikaci jeko obsahu, jen u disku, z kterého nabootujete si správce pole nejspíš poznamená, že jeho bratříček je vadný a tím pádem se po jeho připojení bude muset udělat rebuild pole. Ale to by se musel udělat v případě výměny disku tak jako tak. A pokud jste se napoprvé netrefili, nabootování z druhého disku bude bez problémové stejně, jako u toho prvního. Opět se v něm poznačí, že je bratříček vadný, a vy budete držet dvě rovnocenné verze dat, o kterých se můžete rozhodnout, která je ta platná.
U pole typu RAID10 doporučuji postupovat obdobně, jen s tím rozdílem, že rozdělíte všechny zrcadlené disky, a získáte tak opět dvě rovnocenné verze dat a můžete se v klidu rozhodnout, která je ta opravdu platná.
U pole typu RAID5 je situace o něco jednodušší, tam byste totiž neměli mít až tak zásadní problém identifikovat ten správný špatný disk. Co je ovšem klíčové, že si musíte být opravdu jistí. Díky paritní redundanci totiž nemáte šanci získat rovnocenné verze dat, jako to bylo u RAID1 a RAID10! Jakmile tedy odpojíte nějaký disk, máte šanci získat data jen z dopočítané parity a pokud vyjmete špatný disk, může být výsledek katastrofální.
Postup je ale po objevení pachatele stejný s tím, že nemusíte (a vlastně ani nemůžete) volit mezi rovnocenými verzemi dat, ale rovnou zařizujete reklamaci.
Komplexnější způsoby opravy dat doporučuji svěřit odborníkům. Pokud jsou data opravdu cenná, pak zcela jistě profesionálové začnou s pokusem okopírovat binárně data disk po disku na jiné disky a jakékoliv restaurování pak budou dělat na těchto kopiích. V žádném případě tedy nevěřte nikomu, kdo vám bude slibovat, že to dostane rovnou z těch donesených disků.
Ať už se rozhodnete řešit tyto situace externě a nebo sami, vždy se připravte na to, že jde o docela zdlouhavý proces. Jen zkopírování třeba 500GB disku na jiný disk zabere nějakou tu hodinu (při průměrné rychlosti 50MB/s by to bylo kolem 3 hodin) a to se vám snadno může stát, že zvolená cesta je slepá ulička a budete to celé opakovat znovu.
A tím vám všem děkuji za přízeň a s naším seriálkem o diskových polích se tímto dílem loučíme. Pokud máte zájem, prosím vás o hlasování v anketce pod článkem, abych mohl případně nachystat další článek na tém, které vás z nabídnutých zajímá nejvíc.
Kořen
AUTOR: Jan Kořínek |
---|
V IT jsem už 18 let a z toho jsem posledních 5 let vedl webhostingovou divizi. V tuto chvíli už působím jen jako externí konzultant - specialista na Linux, počítačové sítě a bezpečnost.
A jelikož si od IT odpočívám, otevřeli jsme si se ženou kavárničku. |
|