V sobotu 2. listopadu proběhla mohutná oslava naší plnoletosti !!
Multimediaexpo.cz je již 18 let na českém internetu !!

RAID

Z Multimediaexpo.cz

RAID (anglicky Redundant Array of Inexpensive/Independent Disksvícenásobné diskové pole laciných/nezávislých disků) je v informatice metoda zabezpečení dat proti selhání pevného disku. Zabezpečení je realizováno specifickým ukládáním dat na více nezávislých disků, kdy jsou uložená data zachována i při selhání některého z nich. Úroveň zabezpečení se liší podle zvoleného typu RAID, které je označováno čísly (nejčastěji RAID 0, RAID 1, RAID 5 či nověji RAID 6). RAID je často používán na serverech, avšak je nutné si uvědomit, že RAID nenahrazuje zálohování dat.

Obsah

Původ RAID

Pojem RAID vznikl v roce 1988, kdy byla Univerzitou California – Berkeley vydána publikace A Case For Redundant Arrays of Inexpensive Disks (David Patterson, Randy Katz a Garth Gibson). Písmenko I bývá vysvětlováno jednak jako Inexpensive = levný (například Adaptec), jednak jako Independent = nezávislý (například Microsoft). Obojí je pravda, protože RAID pole je složeno z obyčejných sériově vyráběných pevných disků, které nejsou nijak upravovány. Technologie RAID prošla postupným vývojem, kdy byly zjištěné nedostatky odstraňovány nebo bylo odlišným přístupem dosaženo vyššího výkonu výsledného RAID pole.

Terminologie

Odlišné způsoby ukládání dat jsou realizovány buď softwarově nebo hardwarově. V softwarovém řešení obsluhuje zápis do pole RAID operační systém (resp. speciální mezivrstva nebo přímo ovladač zařízení), a proto se jedná o nejlevnější řešení, které však trpí některými nedostatky (snížení rychlosti). Hardwarové řešení tyto nedostatky odstraňuje pomocí speciálního zařízení (řadič), který obstarává obsluhu RAID sám a hlavní procesor počítače tak není zatěžován. Problémem je, že většina lacinějších RAID řadičů na trhu je ve skutečnosti softwarově řízena, takže se o hardwarové řešení nejedná.

Pokud dojde při provozu RAID pole k výpadku některého disku (resp. členu pole), dostane se pole do tak zvaného degradovaného stavu, ve kterém je jeho výkon typicky nižší, avšak stále jsou všechna uložená data k dispozici. Správce počítače vymění havarovaný disk za nový a ten začlení zpět do pole (anglicky hot add), čímž začne tak zvaná rekonstrukce pole, při které jsou dopočítány chybějící údaje a zapsány na nový disk. Data jsou typicky během rekonstrukce stále přístupná. Po dokončení rekonstrukce je RAID pole opět tak zvaně synchronizováno. Někdy je v poli trvale k dispozici rezervní disk (anglicky spare), takže rekonstrukce pole může být zahájena zcela automaticky.

RAID pole vytváří logický (virtuální) úložný prostor, se kterým se dá typicky pracovat stejným způsobem, jako by to byl jediný pevný disk. Jednotlivé disky v poli nazýváme členy pole. Implementace RAID pole je typicky taková, že data na degradovaném nebo právě rekonstruovaném poli jsou data stále k dispozici, i když obvykle se sníženým výkonem (rychlostí čtení a zápisu).

RAID není záloha dat

RAID 0
RAID 1

Častou chybou je považování RAID pole za zálohovaní dat. Skutečná záloha však vyžaduje doplňující operace (uložení dat na bezpečné místo, jejich fyzické zabezpečení, šifrování zálohy, možnost návratu ke starší verzi dat apod.). Proto není možné při používání RAID pole samotné zálohování vyloučit.

Populární typy RAID

RAID 0

Pole RAID 0 není vlastně skutečný RAID, protože neobsahuje žádné redundantní informace a tedy neposkytuje uloženým datům žádnou ochranu (porucha členu znamená ztrátu dat). Jednotlivá zařízení jsou jen spojena do logického celku a vytváří tak kapacitu součtu všech členů. Označuje se také jako JBOD (anglicky Just a Bunch Of Disks). Spojení může být realizována dvěma způsoby: jako zřetězení (tj. lineárně, anglicky linear) a prokládáním (anglicky striping):

Zřetězení
Ve zřetězení jsou data postupně ukládána na několik disků. Jakmile se zaplní první, ukládá se na druhý, poté na třetí atd. Výhodou je snadné zvětšení kapacity přidáním dalšího členu a skutečnost, že při výpadku členu mohou být některé soubory nedotčeny.
Prokládání
Při prokládání jsou data ukládána na disky cyklicky (střídavě, viz obrázek vpravo). Prostor je rozdělen na části pevné velikosti a zápis nebo čtení delšího úseku dat tak probíhá z více disků. Při poruše disku není pravděpodobné, že by nějaký soubor zůstal nepoškozen. Prokládání může zrychlit čtení i zápis větších bloků dat, protože je možné zároveň číst (zapisovat) jeden blok z jednoho disku a následující blok z jiného disku. Zrychlení čtení by mělo být teoreticky menší, než v případě RAID 1, avšak při reálném použití je čtení i zápis v režimu RAID 0 výrazně rychlejší než v RAID 1. Výkonnostní nárůst při sekvenčním čtení bývá v domácích podmínkách kolem 50% (tj. při použití dvou disků se sekvenčním čtením 100MB/s bude mít diskové pole rychlost čtení (obvykle) přibližně 150MB/s).[1] Zvýšení o 50% samozřejmě neznamená o polovinu vyšší výkon, jelikož zapojení do RAID 0 nesnižuje přístupovou dobu.

RAID 1 (zrcadlení)

Nejjednodušší ale poměrně efektivní ochrana dat. Provádí se zrcadlení (mirroring) obsahu disků. Obsah se současně zaznamenává na dva disky. V případě výpadku jednoho disku se pracuje s kopií, která je ihned k dispozici. Podobná technika může být uplatněna o úroveň výše, kdy jsou použity dva samostatné řadiče. Tato technika se nazývá duplexing a je odolná i proti výpadku řadiče. Teoreticky se může výrazně zvýšit rychlost čtení a o něco snížit odezva, avšak záleží na konkrétním řadiči (softwarové většinou možnost čtení z obou disků nevyužijí vůbec). Zato zápis může být pomalejší, protože se ukládají stejná data na dva disky. Technika výrazně zvyšuje bezpečnost dat proti ztrátě způsobené poruchou hardware. Nevýhodou je potřeba dvojnásobné diskové kapacity.

  • Pole RAID 0+1 (stripování) je kombinací RAID 0 a RAID 1. Data uložíme prokládaně (stripováním) na dva disky (A, B), poté totéž uděláme s dalšími dvěma disky (C, D). Získáme tak dva logické disky AB, CD, které mají redundantní obsah. (Máme-li soubor, který se při stripování rozdělí na dvě poloviny, první část souboru máme na disku A a C, druhou na disku B a D) Výhodou tohoto způsobu je, že nejen rozkládáme zátěž mezi více disků při čtení a zápisu, ale data jsou také uložena redundantně, takže se dají po chybě snadno obnovit. Mezi nevýhody patří využití pouze 50 % celkové diskové kapacity, a při výpadku jednoho ze čtyř disků ztrácíme redundantnost dat.
  • Pole RAID 1+0 (stripování) je opět kombinací RAID 0 a RAID 1, ale postupujeme obráceně. Nejdříve uložíme stejná data na disk A, B, poté na disk C, D. Získáme tak dva logické disky AB, CD, na nichž jsou data uložena stripovaně. (Máme-li soubor, který se při stripování rozdělí na dvě poloviny, první část souboru je na disku A a B, druhá část je na disku C a D, na rozdíl od RAID 0+1) Výhody jsou podobné RAID 0+1, navíc je RAID 1+0 odolnější proti výpadku více disků a po chybě je obnova dat mnohem rychlejší. Nevýhodou je opět využití pouze 50 % kapacity

RAID 5

RAID 5
RAID 6

RAID 5 vyžaduje alespoň 3 členy, přičemž kapacitu jednoho členu zabírají samoopravné kódy, které jsou uloženy na členech střídavě (a ne pouze na jednom, čímž byla odstraněna nevýhoda RAID 4). Výhodou je, že lze využít paralelního přístupu k datům, protože delší úsek dat je rozprostřen mezi více disků, takže čtení je rychlejší. Nevýhodou je pomalejší zápis (nutnost výpočtu samoopravného kódu). Je odolný vůči výpadku jednoho disku.

RAID 6

Obdoba RAID 5, používá dva paritní disky, přičemž na každém z nich je parita vypočtena jiným způsobem. Opět kvůli přetížení paritních disků jsou paritní data uložena střídavě na všech discích. Výhodou je odolnost proti výpadku dvou disků. Rychlost čtení je srovnatelná s RAID 5, ale zápis je pomalejší než u RAID 5, právě kvůli výpočtu dvou sad paritních informací.

Nestandardní a méně používané typy RAID

RAID 2

Je složitější verze RAID 3, kde jsou data po bitech stripována mezi jednotlivé disky. Data jsou zabezpečena pomocí tzv. Hammingova kódu. Díky němu lze rovněž rozpoznat a opravit chyby při čtení. Počet redundantních disků je úměrný počtu datových disků. Výhodou je zkrácení doby odpovědi při dlouhých přístupech na disk (spouštění paralelně), nevýhodou je malá propustnost.

RAID 3

Je použito N+1 stejných disků. Na N disků jsou ukládána data a na poslední disk je uložen exkluzivní OR - XOR (parita) těchto dat. Při výpadku paritního disku jsou data zachována, při výpadku libovolného jiného disku je možno z ostatních disků spolu s paritním diskem ztracená data zrekonstruovat. Výhodou je potřeba jen jednoho disku navíc, navíc se zkracuje doba odpovědi stejně jako u RAID 2. Nevýhoda je, že paritní disk je takzvaný bottle neck, neboli problémové místo systému, a je vytížen při zápisu na jakýkoliv jiný disk. Proto lze očekávat i jeho vyšší opotřebení a tím i nižší spolehlivost.

RAID 4

Disky jsou stripovány po blocích, ne po bitech a parita je na paritním disku opět ukládána po blocích. Výhody a nevýhody stejné, jako u RAID 3.

RAID 7

RAID 7 bylo vytvořeno firmou Storage Computer Corporation. Je odvozené od RAID 3 a RAID 4 a liší se zejména tím, že k nim přidává vyrovnávací paměť.


RAID 0+1
RAID 10
RAID 50

RAID 0+1

Jedná se o typ složený z několika diskových polí typu RAID. Někdy bývá také označováno jako RAID 01.V tomto případě se jedná o diskové pole typu RAID 0, které je zrcadleno. Celková využitelná kapacita se vypočítá následovně (c = kapacita nejmenšího použitého disku; n = celkový počet disků v diskovém poli):

\(velikost = \frac{n \cdot c}{2}\)

RAID 10 (RAID 1+0)

Od RAID 0+1 se liší tím, že se data nejdříve v diskových polích zrcadlí a teprve pak se tato pole vloží do dalšího diskového pole typu RAID 0 pro větší zrychlení přenosových rychlostí. Maximální počet pevných disků, který může selhat bez jakýchkoliv následků je jeden v každém poli. Tento typ se často používá pro hodně vytížené databázové aplikace. Nemusí se totiž počítat paritní data, čímž se vše zrychluje (případně zlevňuje). Celková využitelná kapacita se vypočítá následovně (c = kapacita nejmenšího použitého disku; n = celkový počet disků v diskovém poli):

\(velikost = \frac{n \cdot c}{2}\)

RAID 50 (RAID 5+0)

                 RAID 0
            .-----------------------------------------------------.
            |                          |                          |
          RAID 5                     RAID 5                     RAID 5
   .-----------------.        .-----------------.        .-----------------.
   |        |        |        |        |        |        |        |        |
120 GB   120 GB   120 GB   120 GB   120 GB   120 GB   120 GB   120 GB   120 GB
  A1       A2       Ap       A3       A4       Ap       A5       A6       Ap
  B1       Bp       B2       B3       Bp       B4       B5       Bp       B6
  Cp       C1       C2       Cp       C3       C4       Cp       C5       C6
  D1       D2       Dp       D3       D4       Dp       D5       D6       Dp

Celková využitelná kapacita tohoto pole je 720 GB (týká se výše zobrazené ilustrace).

RAID 60 (RAID 6+0)

                                RAID 0
                .------------------------------------.
                |                                    |
              RAID 6                               RAID 6
   .--------------------------.        .--------------------------.
   |        |        |        |        |        |        |        |
120 GB   120 GB   120 GB   120 GB   120 GB   120 GB   120 GB   120 GB
  A1       A2       Aq       Ap       A3       A4       Aq       Ap
  B1       Bq       Bp       B2       B3       Bq       Bp       B4
  Cq       Cp       C1       C2       Cq       Cp       C3       C4
  Dp       D1       D2       Dq       Dp       D3       D4       Dq

Celková využitelná kapacita tohoto pole je 480 GB (týká se výše zobrazené ilustrace). Jedná se o dvouúrovňové pole, vytvořené zrcadlením (stripingem) několika polí typu RAID 6. Ty poskytují vyšší zabezpečení než RAID 5, zatímco RAID 0 nad nimi pomůže k vysoké přenosové rychlosti. Minimální počet disků je 8. V současné době se jedná o jedno z nejbezpečnějších řešení pro vysoké výkony. Zároveň je zde možnost vysoké efektivity využití kapacity, pokud se použije také větší množství disků.

RAID 100 (RAID 10+0)

                RAID 0
               .-------------------------------------.
               |                                     |
             RAID 0                                RAID 0
       .-----------------.                  .-----------------.
       |                 |                  |                 |
     RAID 1            RAID 1             RAID 1            RAID 1
   .--------.        .--------.         .--------.        .--------.
   |        |        |        |         |        |        |        |
120 GB   120 GB   120 GB   120 GB    120 GB   120 GB   120 GB   120 GB
  A1       A1       A2       A2        A3       A3       A4       A4
  A5       A5       A6       A6        A7       A7       A8       A8
  B1       B1       B2       B2        B3       B3       B4       B4
  B5       B5       B6       B6        B7       B7       B8       B8

Celková využitelná kapacita tohoto pole je 480GB (týká se výše zobrazené ilustrace).

Reference

  1. VelociRaptory a RAID - když jeden nestačí

Externí odkazy


Commons nabízí fotografie, obrázky a videa k tématu
RAID