Štandardné typy diskových polí (Standard RAID Levels)

RAID 0

RAID 0 (Striped Set = prekladaná sada) rozdeľuje bloky dát súmerne medzi 2 alebo viac diskov bez informácie o parite. Používa sa zvyčajne na zvýšenie výkonu, hoci môže byť použitá na vytvorenie malého počtu veľkých virtuálnych diskov. Výsledná pridaná kapacita je limitovaná najmenším diskom, teda napr. pri použití 160 a 100 GB disku je výsledná kapacita iba 2 x 100 GB = 200 GB (nie 100 + 160 GB). Všeobecne je celková kapacita RAID 0 vyjadrená vzťahom SRAID0 = n × min(S1,S2, …Sn), kde SRAID0 je kapacita poľa, n počet diskov a S1, S2 až Sn kapacity jednotlivých diskov.

Zvýšenie výkonu (teoreticky n-násobné, pričom n je počet diskov v poli) je citeľné pri zápise a čítaní veľkých súborov. Pri práci s veľkým počtom malých súborov je výkon poľa značne degradovaný väčšou prístupovou dobou, keďže disky musia zakaždým vyhľadávať súvisiace bloky na jednotlivých diskoch. Ak je veľkosť súborov, s ktorými sa pracuje, menšia než veľkosť stripu, nárast výkonu RAID 0 oproti jedinému disku je nulový. (Strip = reťaz blokov cez disky naprieč celým poľom, na obr. vpravo tvoria strip bloky A1 a A2, bloky A3-A4 tvoria iný strip etc.)

Zlyhanie jediného disku v poli RAID 0 má za následok stratu všetkých dát uložených v poli. Úroveň zabezpečenia dát pred stratou je preto nižšia v porovnaní so samostatným diskom a znižuje sa približne nepriamo úmerne s rastúcim počtom jednotiek v poli: MTBFRAID0 ≈ MTBFdisk / n (MTBF = Mean Time Between Failures, tiež MTTF = Mean Time To Failure – stredná doba do výskytu kritickej chyby; očakávaná životnosť; n je počet diskov).

RAID 1

RAID 1 (Mirrored Set = zrkadlená sada) vytvára identickú kópiu dát na dvoch alebo viacerých diskoch. To je výhodné, ak redundancia má prednosť pred využitím maximálnej možnej kapacity – toto pole pri postupnom zlyhávaní diskov pracuje, kým funguje posledný z nich (samozrejme, výkon sa zníži). Pravdepodobnosť zlyhania celého poľa je súčinom pravdepodobností zlyhania jednotlivých diskov (za predpokladu štatistickej nezávislosti zlyhaní): pRAID1 = p1 × p2 ×… × pn, kde n je celkový počet diskov. Napríklad v poli RAID 1 s dvoma diskami, každý s p = 0,001 (desatina %) je pravdepodobnosť zlyhania celej sústavy 0,0012 = 10−6. Tento teoretický predpoklad však treba v praxi brať s rezervou, ani redundancia nechráni dáta úplne. Disky pochádzajúce z jednej výrobnej série môžu trpieť tou istou výrobnou chybou a zlyhať prakticky súčasne; celé diskové pole môže tiež byť vyradené vplyvom vonkajších okolností – skrat v napájacom zdroji, prepätie a pod.

Kapacita tohto riešenia je rovná kapacite najmenšieho disku.

Výkon je závislý na korektnej implementácii – v optimálnom prípade sa pri čítaní takmer znásobuje počtom diskov v poli, pretože rôzne časti jedného súboru sa čítajú z viacerých diskov súčasne a nezávislý seek diskov znižuje prístupovú dobu. V praxi sa však stáva, že starší alebo low-endový radič nedokáže pristupovať k diskom nezávisle a znižuje priepustnosť poľa na úroveň samostatného disku. Navyše nutnosť preskakovať medzi blokmi s fragmentmi súborov potláča aj výhodu rýchleho sekvenčného čítania. Pri zápise zostáva výkon nepatrne pod úrovňou samostatného disku, keďže objem zapisovaných dát sa znásobuje kvôli zápisu na všetky disky v poli a zlomok výkonu uberie aj réžia tohto procesu.

Pole RAID 1 disponuje niektorými administratívnymi výhodami. V niektorých systémoch je možné napr. odpojiť z neho jeden disk (označiť ako neaktívny) a vykonať jeho zálohovanie, následne sa disk opäť pripojí a vykoná sa rebuild poľa. Toto je osožné v systémoch, ktoré musia byť stále v chode a ich súbory vždy dostupné (pričom počas zálohovania sa nesmie na disk/pole zapisovať, aby bola zaručená konzistentnosť dát).

RAID 2

RAID 2 rozdeľuje dáta na bitovej úrovni na 3 alebo viac diskov, s použitím Hammingovho kódu na opravu chýb. Rotácia diskov je synchronizovaná a dáta sú ukladané tak, aby každý sekvenčný bit bol na inom disku. Parita, s použitím Hammingovho kódu, sa počíta z príslušných bitov a ukladá sa aspoň na jeden disk, vyhradený pre paritu. Disky sú synchronizované radičom. Tento typ RAID poľa sa v praxi nepoužíva.

 

RAID 3

RAID 3 rozdeľuje dáta na bajtovej úrovni s vyhradeným (dedikovaným) diskom na paritu. Rotácia diskov je synchronizovaná a dáta sú ukladané tak, aby každý sekvenčný bajt bol uložený na inom disku. Dáta parity sú počítané z príslušných bajtov a sú uložené na samostatnom disku, vyhradenom len pre paritu. Minimálny počet diskov je 3. Parita je vypočítavaná pomocou logickej funkcie XOR. Aj keď implementácia RAID 3 existuje, v praxi sa bežne nepoužíva.

RAID 4

RAID 4 (Striped Set With Dedicated Parity) používa rozdeľovanie dát na blokovej úrovni s vyhradeným diskom na paritu. Je to podobné riešenie ako RAID 3 s tým rozdielom, že disky môžu pracovať samostatne, ak je vyžadovaný iba jeden blok. Je to dané faktom, že prekladanie dát sa deje na úrovni blokov, nie bajtov ako pri RAID 3. Ak to podporuje diskový radič, RAID 4 môže spracúvať viaceré požiadavky na čítanie súčasne. Rozdiel oproti RAID 5 spočíva v použití dedikovaného disku na ukladanie paritných blokov, kým v prípade RAID 5 sa všetky bloky (dátové aj paritné) rozdeľujú medzi všetky disky (distribuovaná parita). Dedikovaný disk s paritnými blokmi predstavuje najmä pri väčšom počte diskov v poli úzke hrdlo tohto riešenia – zápis na každý z dátových diskov si vyžaduje zápis na paritný disk; tiež pri rekonštrukcii dát po zlyhaní niektorého dátového disku je potrebné neustále čítať paritu súčasne s každým blokom z každého dátového disku. Preto je RAID 5 o niečo výkonnejší a preferovanejší typ diskového poľa. V prípade poruchy paritného disku sa pole správa ako RAID 0, v tomto jedinom prípade je jeho výkon vyšší, než výkon RAID 5.

RAID 5

RAID 5 (Striped Set With Distributed Parity) používa rozdeľovanie dát na blokovej úrovni s paritou na každom disku. Takéto rozdeľovanie dát eliminuje úzke hrdlo RAID 4 tvorené preťažovaným paritným diskom. Je to jedno z najpopulárnejších RAID riešení a je často používané.

Na vytvorenie poľa RAID 5 sú potrebné najmenej 3 fyzické disky. Jeho využiteľná kapacita je daná vzťahom SRAID5 = (n-1) × Smin, kde Smin je veľkosť najmenšieho z diskov a n počet diskov. Využiteľnosť kapacity diskov aj úroveň bezpečnosti dát sa dajú škálovať zmenou počtu diskov v poli. Maximálny počet diskov v RAID 5 je teoreticky neobmedzený, v praxi však ich vysoký počet znamená vyššiu pravdepodobnosť simultánneho zlyhania dvoch a viacerých jednotiek (MTBF poľa môže dokonca klesnúť pod úroveň MTBF samostatného disku), príliš veľké časové nároky na rebuild poľa a väčšiu možnosť výskytu neopraviteľného sektoru počas rebuildu.

Pri zlyhaní ktoréhokoľvek z diskov si toto pole zachováva funkčnosť za cenu zníženého výkonu – chýbajúce bloky dát sú priebežne (on the fly) dopočítavané z dátových a paritných blokov zvyšných diskov. Na aplikačnej úrovni sa výpadok jedného disku takmer neprejaví. RAID 5 radič s udalosťou “oboznámi” operačný systém, ktorý vyzve administrátora na výmenu zlyhaného disku. Po výmene nastáva rebuild poľa – z dátových a paritných blokov funkčných diskov sa dopočítajú chýbajúce bloky na vymenenej jednotke. V časovom intervale medzi poruchou a dokončením rebuildu (Interim Data Recovery Mode) je RAID 5 vystavené zvýšenému riziku celkovej straty dát v prípade poruchy jedného zo zvyšných diskov, keďže pri zlyhaní dvoch alebo viacerých diskov naraz dochádza k strate všetkých dát.

Rýchlosť čítania z RAID 5 sa takmer vyrovná rýchlosti RAID 0, malý rozdiel je spôsobený nutnosťou preskakovať paritné bloky rozmiestnené medzi dátovými, keďže čítať paritu za normálnej prevádzky nie je potrebné. Nevýhodou riešenia je pomalý zápis. Ide totiž o komplikovaný proces, pri ktorom dochádza najprv k prečítaniu starých dát zo stripu (strip = postupnosť súvisiacich blokov na rôznych diskoch naprieč poľom), výpočet a zápis novej parity a nakoniec zápis nových dát na strip. Proces je náročný na diskové operácie a spôsobuje veľké toky dát medzi diskami a radičom. Obzvlášť markantný pokles výkonu nastane v prípade, že je bežná implementácia RAID 5 vystavená záťaži zahrňajúcej množstvo zápisov objemov dát menších, než je kapacita jedného stripu. Komplexnejšie implementácie zahŕňajú nevolatilnú vyrovnávaciu pamäť (write-back cache), ktorá redukuje tento nepriaznivý jav.

V prípade, že nie je použitý špecializovaný radič RAID 5 s hardwarovou podporou paritných výpočtov, dochádza k zaťaženiu procesora (software RAID). Iný problém predstavuje tzv. write hole, jav, ktorý nastane, ak dôjde v momente zápisu k pádu systému a konzistentnosť parity stripu s dátami sa naruší. Ak toto nie je správne detegované a opravené skôr, než dôjde k zlyhaniu disku alebo bloku, po výmene chybného disku dôjde k nekorektnej obnove príslušného dátového bloku z nesprávnej parity a dáta v tomto bloku budú stratené. Túto hrozbu sa snažia eliminovať technológie ako záložné napájanie cache a RAID Z.

RAID 6

RAID 6 (Striped Set With Dual Distributed Parity) používa rozdeľovanie na blokovej úrovni, podobne ako RAID 5, a rozširuje ho o ďalší blok s paritou. Používa teda dva bloky s paritou na každom disku.

RAID 6 sa skladá najmenej zo 4 fyzických diskov. Využiteľná kapacita poľa je určená vzťahom: SRAID6 = (n-2) × Smin, kde Smin je veľkosť najmenšieho z diskov a n počet diskov.

Výhodou je vyššia odolnosť voči zlyhaniu jednotlivých diskov, nevýhodou v porovnaní s RAID 5 ešte nákladnejšia réžia v zmysle poklesu výkonu pri operáciách zápisu.

Na záver možno dodať, že Macrofer dokáže zachrániť údaje pri všetkých typoch RAID polí. Úspešnosť obnovy dát pri RAID poliach býva veľmi vysoká.

Obnova dát z RAID v MACROFER:

Firma MACROFER sa zaoberá záchranou dát z HDD už viac ako 20 rokov. Za ten čas nám prešlo cez ruky viac ako 10 000 poškodených harddiskov. Prečítajte si viac o obnove dát na disku.