RAID
Obsah
· 1 Úvod
o 1.1 Rozdíl mezi fyzickými a logickými disky
o 1.2 Čtení a zápis dat
o 1.3 Co je RAID?
o 1.4 Proč používat RAID?
o 1.5 Historie
· 2 Základní pojmy používané v systémech RAID
o 2.1 Ukládání do mezipaměti
o 2.2 Zrcadlení: Více než jedna kopie dat
o 2.3 Pruhování: Část dat je na jiném disku
o 2.4 Oprava chyb a poruch
o 2.5 Horké zálohy: použití více disků, než je potřeba
o 2.6 Velikost proužku a velikost části: rozložení dat na několik disků
o 2.7 Sestavení disku: JBOD, spojování nebo spojování disků (spanning)
o 2.8 Klonování jednotky
o 2.9 Různá nastavení
· 3 Základy: jednoduché úrovně RAID
o 3.1 Běžně používané úrovně RAID
§ 3.1.1 RAID 0 "striping"
§ 3.1.2 RAID 1 "zrcadlení"
§ 3.1.3 RAID 5 "prokládání s distribuovanou paritou"
§ 3.1.4 Obrázky
o 3.2 Méně používané úrovně RAID
§ 3.2.1 RAID 2
§ 3.2.2 RAID 3 "prokládání s vyhrazenou paritou"
§ 3.2.3 RAID 4 "prokládání s vyhrazenou paritou"
§ 3.2.4 RAID 6
§ 3.2.5 Obrázky
o 3.3 Nestandardní úrovně RAID
§ 3.3.1 Dvojitá parita / diagonální parita
§ 3.3.2 RAID-DP
§ 3.3.3 RAID 1.5
§ 3.3.4 RAID 5E, RAID 5EE a RAID 6E
§ 3.3.5 RAID 7
§ 3.3.6 Intel Matrix RAID
§ 3.3.7 Linuxový ovladač MD RAID
§ 3.3.8 RAID Z
§ 3.3.9 Obrázky
· 4 Spojování úrovní RAID
· 5 Vytvoření pole RAID
o 5.1 Softwarový RAID
o 5.2 Hardwarový RAID
o 5.3 Hardwarově podporovaný RAID
· 6 Různé termíny související se selháním hardwaru
o 6.1 Míra selhání
o 6.2 Střední doba do ztráty dat
o 6.3 Průměrná doba do zotavení
o 6.4 Neobnovitelná bitová chybovost
· 7 Problémy s RAID
o 7.1 Pozdější přidání disků
o 7.2 Související selhání
o 7.3 Atomicita
o 7.4 Neobnovitelná data
o 7.5 Spolehlivost mezipaměti pro zápis
o 7.6 Kompatibilita zařízení
· 8 Co RAID umí a neumí
o 8.1 Co umí RAID
o 8.2 Co RAID neumí
· 9 Příklad
· 10 Odkazy
· 11 Další webové stránky
RAID je zkratka, která znamená Redundant Array of Inexpensive Disks nebo Redundant Array of Independent Disks. RAID je termín používaný v počítačích. Pomocí RAID se z několika pevných disků vytvoří jeden logický disk. To lze provést různými způsoby. Každý ze způsobů, který spojuje pevné disky dohromady, má určité výhody a nevýhody oproti použití disků jako jednotlivých, na sobě nezávislých disků. Hlavní důvody, proč se používá RAID, jsou následující:
- Aby ke ztrátě dat docházelo méně často. K tomu slouží několik kopií dat.
- Získání většího úložného prostoru pomocí mnoha menších disků.
- Větší flexibilita (disky lze měnit nebo přidávat za chodu systému)
- Rychlejší získání dat.
Není možné dosáhnout všech těchto cílů najednou, a proto je třeba se rozhodnout.
Existují i špatné věci:
- Určité volby mohou chránit před ztrátou dat z důvodu selhání jednoho (nebo několika) disků. Nechrání však před smazáním nebo přepsáním dat.
- V některých konfiguracích může RAID tolerovat selhání jednoho nebo několika disků. Po výměně selhaných disků je třeba data rekonstruovat. V závislosti na konfiguraci a velikosti disků může tato rekonstrukce trvat dlouho.
- Některé druhy chyb znemožňují čtení dat.
Většina prací o RAID vychází z článku z roku 1988.
Společnosti používají systémy RAID k ukládání dat od doby, kdy byla tato technologie vytvořena. Systémy RAID lze vytvořit různými způsoby. Od doby objevu se náklady na vytvoření systému RAID velmi snížily. Z tohoto důvodu mají některé funkce RAID dokonce i některé počítače a přístroje používané v domácnostech. Takové systémy lze použít například k ukládání hudby nebo filmů.
Úvod
Rozdíl mezi fyzickými a logickými disky
Pevný disk je součástí počítače. Běžné pevné disky používají k ukládání informací magnetismus. Při použití pevných disků je má k dispozici operační systém. V systému Microsoft Windows dostane každý pevný disk písmeno jednotky (začíná písmenem C:, A: nebo B: jsou vyhrazeny pro disketové jednotky). Operační systémy typu Unix a Linux mají jednokořenový adresářový strom. To znamená, že lidé, kteří počítače používají, někdy nevědí, kde jsou informace uloženy (abychom byli spravedliví, mnoho uživatelů systému Windows také neví, kde jsou jejich data uložena).
V počítačích se pevným diskům (které jsou hardwarové a lze se jich dotknout) někdy říká fyzické disky nebo fyzické disky. To, co operační systém zobrazuje uživateli, se někdy nazývá logický disk. Fyzický disk lze rozdělit na různé části, kterým se říká diskové oddíly. Každý diskový oddíl obvykle obsahuje jeden souborový systém. Operační systém zobrazí každý oddíl jako logický disk.
Proto se uživateli jeví nastavení s mnoha fyzickými disky i nastavení s mnoha logickými disky stejně. Uživatel se nemůže rozhodnout, zda je "logický disk" totéž co fyzický disk, nebo zda se jedná pouze o část disku. Sítě SAN (Storage Area Networks) tento pohled zcela mění. Jediné, co je ze sítě SAN vidět, je řada logických disků.
Čtení a zápis dat
V počítači jsou data uspořádána ve formě bitů a bajtů. Ve většině systémů tvoří jeden bajt 8 bitů. Počítačová paměť využívá k ukládání dat elektřinu, pevné disky magnetismus. Proto se při zápisu dat na disk elektrický signál mění na magnetický. Při čtení dat z disku se převod provádí opačným směrem: Elektrický signál je vytvořen z polarity magnetického pole.
Co je RAID?
Pole RAID spojuje dva nebo více pevných disků tak, že tvoří logický disk. Důvody, proč se to dělá, jsou různé. Mezi nejčastější patří:
- Zastavení ztráty dat při selhání jednoho nebo více disků pole.
- Zrychlení přenosu dat.
- Získání možnosti měnit disky za chodu systému.
- Spojení několika disků za účelem získání větší úložné kapacity; někdy se používá více levných disků namísto jednoho dražšího.
RAID se vytváří pomocí speciálního hardwaru nebo softwaru v počítači. Spojené pevné disky se pak uživateli jeví jako jeden pevný disk. Většina úrovní RAID zvyšuje redundanci. To znamená, že ukládají data častěji nebo ukládají informace o tom, jak data rekonstruovat. Díky tomu může dojít k selhání několika disků, aniž by došlo ke ztrátě dat. Při výměně porouchaného disku se data, která by měl obsahovat, zkopírují nebo obnoví z ostatních disků systému. To může trvat dlouho. Doba, kterou to zabere, závisí na různých faktorech, například na velikosti pole.
Proč používat RAID?
Jedním z důvodů, proč mnoho firem používá RAID, je možnost jednoduše používat data v poli. Ti, kdo data používají, si vůbec nemusí být vědomi, že používají RAID. Když dojde k poruše a pole se obnovuje, přístup k datům bude pomalejší. Přístup k datům během této doby také zpomalí proces obnovy, ale stále je to mnohem rychlejší než nemoct s daty pracovat vůbec. V závislosti na úrovni RAID však nemusí dojít k selhání disků během přípravy nového disku k použití. Selhání disku v této době bude mít za následek ztrátu všech dat v poli.
Různé způsoby spojování disků se nazývají úrovně RAID. Větší číslo úrovně nemusí být nutně lepší. Různé úrovně RAID mají různé účely. Některé úrovně RAID vyžadují speciální disky a speciální řadiče.
Historie
V roce 1978 přišel muž jménem Norman Ken Ouchi, který pracoval ve společnosti IBM, s návrhem popisujícím plány na to, co se později stalo RAID 5. Plány popisovaly také něco podobného jako RAID 1, stejně jako ochranu části RAID 4.
Pracovníci univerzity v Berkeley pomáhali s plánováním výzkumu v roce 1987. Snažili se umožnit, aby technologie RAID rozpoznala dva pevné disky místo jednoho. Zjistili, že když má technologie RAID dva pevné disky, má mnohem lepší úložný prostor než při použití pouze jednoho pevného disku. Mnohem častěji však docházelo k poruchám.
O různých typech RAID (1 až 5) psali v roce 1988 David Patterson, Garth Gibson a Randy Katz v článku nazvaném "A Case for Redundant Arrays of Inexpensive Disks (RAID)". V tomto článku byla nová technologie poprvé nazvána RAID a název se stal oficiálním.
![Pevný disk byl vyjmut z pole.](https://alegsaonline.com/image/220px-RAID_single_disk.jpg)
![Zoom](https://www.alegsaonline.com/zoom.png)
Pevný disk byl vyjmut z pole.
![Detail 4 disků, které tvoří pole RAID, zabudované do stolního systému. Modré západky umožňují výměnu disků za chodu systému.](https://alegsaonline.com/image/220px-Raid_array.jpg)
![Zoom](https://www.alegsaonline.com/zoom.png)
Detail 4 disků, které tvoří pole RAID, zabudované do stolního systému. Modré západky umožňují výměnu disků za chodu systému.
Základní pojmy používané v systémech RAID
RAID využívá několik základních myšlenek, které byly popsány v článku "RAID: High-Performance, Reliable Secondary Storage" od Petera Chena a dalších, publikovaném v roce 1994.
Ukládání do mezipaměti
Ukládání do mezipaměti je technologie, která má své využití i v systémech RAID. V systémech RAID se používají různé druhy mezipaměti:
- Operační systém
- Řadič RAID
- Podnikové diskové pole
V moderních systémech se požadavek na zápis zobrazí jako splněný, když jsou data zapsána do mezipaměti. To neznamená, že data byla zapsána na disk. Požadavky z mezipaměti nemusí být nutně zpracovány ve stejném pořadí, v jakém byly zapsány do mezipaměti. To způsobuje, že v případě selhání systému někdy některá data nebyla zapsána na příslušný disk. Z tohoto důvodu je mnoho systémů vybaveno vyrovnávací pamětí, která je zálohována baterií.
Zrcadlení: Více než jedna kopie dat
Když mluvíme o zrcadle, jde o velmi jednoduchou myšlenku. Namísto toho, aby data byla pouze na jednom místě, existuje několik kopií dat. Tyto kopie jsou obvykle na různých pevných discích (nebo diskových oddílech). Pokud existují dvě kopie, může jedna z nich selhat, aniž by to mělo vliv na data (protože ta jsou stále na druhé kopii). Zrcadlení může také poskytnout podporu při čtení dat. Vždy se budou brát z nejrychlejšího disku, který reaguje. Zápis dat je však pomalejší, protože je třeba aktualizovat všechny disky.
Pruhování: Část dat je na jiném disku
Při prokládání jsou data rozdělena na různé části. Tyto části se pak nacházejí na různých discích (nebo diskových oddílech). To znamená, že zápis dat je rychlejší, protože může probíhat paralelně. To však neznamená, že nedojde k chybám, protože každý blok dat se nachází pouze na jednom disku.
Oprava chyb a poruch
Je možné vypočítat různé druhy kontrolních součtů. Některé metody výpočtu kontrolních součtů umožňují najít chybu. To umí většina úrovní RAID, které využívají redundanci. Některé metody jsou obtížnější, ale umožňují chybu nejen odhalit, ale i opravit.
Hot spares: použití více disků, než je potřeba
Mnoho způsobů podpory RAID se nazývá hot spare. Hot spare je prázdný disk, který se za běžného provozu nepoužívá. Při poruše disku lze data zkopírovat přímo na horký záložní disk. Tímto způsobem je třeba nahradit selhávající disk novým prázdným diskem, který se stane horkou rezervou.
Velikost proužku a velikost části: rozložení dat na několik disků
RAID funguje tak, že se data rozloží na několik disků. V této souvislosti se často používají dva pojmy: velikost proužku a velikost části.
Velikost oddílu je nejmenší datový blok, který je zapsán na jeden disk pole. Velikost proužku je velikost datového bloku, který bude rozložen na všechny disky. Tak při čtyřech discích a velikosti proužku 64 kilobajtů (kB) bude na každý disk zapsáno 16 kB. Velikost bloku v tomto příkladu je tedy 16 kB. Větší velikost proužku bude znamenat vyšší rychlost přenosu dat, ale také větší maximální zpoždění. V tomto případě se jedná o dobu potřebnou k získání bloku dat.
Sestavení disku: JBOD, spojování nebo spojování disků (spanning)
Mnoho řadičů (a také software) umí spojovat disky následujícím způsobem: Vezmou první disk, dokud neskončí, pak vezmou druhý a tak dále. Tímto způsobem se několik menších disků tváří jako jeden větší. Ve skutečnosti se nejedná o RAID, protože zde není žádná redundance. Také spanning může kombinovat disky, u kterých RAID 0 nemůže dělat nic. Obecně se tomu říká prostě svazek disků (JBOD).
Jedná se o vzdáleného příbuzného RAID, protože logická jednotka je tvořena různými fyzickými jednotkami. Konkatenace se někdy používá k přeměně několika malých jednotek na jednu větší užitečnou jednotku. To nelze provést v případě RAID 0. Například JBOD může spojit disky o velikosti 3 GB, 15 GB, 5,5 GB a 12 GB do logické jednotky o velikosti 35,5 GB, která je často užitečnější než samotné disky.
V diagramu vpravo jsou data spojena od konce disku 0 (blok A63) na začátek disku 1 (blok A64); od konce disku 1 (blok A91) na začátek disku 2 (blok A92). Pokud by se použil RAID 0, pak by se disk 0 a disk 2 zkrátily na 28 bloků, což je velikost nejmenšího disku v poli (disk 1) a celková velikost je 84 bloků.
Některé řadiče RAID používají označení JBOD, když hovoří o práci s disky bez funkcí RAID. Každá jednotka se v operačním systému zobrazuje samostatně. Tento JBOD není totéž co konkatenace.
V mnoha systémech Linux se používají termíny "lineární režim" nebo "režim připojování". Implementace v systému Mac OS X 10.4 - nazývaná "Concatenated Disk Set" - nezanechává uživateli žádná použitelná data na zbývajících discích, pokud jeden disk v konkatenované sadě disků selže, ačkoli disky jinak fungují tak, jak je popsáno výše.
Spojování je jedním z použití Správce logických svazků v systému Linux. Lze jej použít k vytváření virtuálních jednotek.
Klonování jednotky
Většina moderních pevných disků má standard nazvaný technologie Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T). SMART umožňuje sledovat určité věci na jednotce pevného disku. Některé řadiče umožňují vyměnit jeden pevný disk ještě před jeho selháním, například proto, že S.M.A.R.T nebo jiný test disku hlásí příliš mnoho opravitelných chyb. Za tímto účelem řadič zkopíruje všechna data na hot spare disk. Poté může být disk nahrazen jiným (který se jednoduše stane novým horkým záložním diskem).
Různá nastavení
Nastavení disků a způsob použití výše uvedených technik ovlivňuje výkon a spolehlivost systému. Při použití více disků je pravděpodobnost selhání jednoho z nich vyšší. Z tohoto důvodu je třeba vytvořit mechanismy, které budou schopny chyby vyhledávat a opravovat. Tím se celý systém stává spolehlivějším, protože je schopen přežít a opravit poruchu.
![JBOD se 3 disky různých velikostí](https://alegsaonline.com/image/200px-JBOD.svg.png)
![Zoom](https://www.alegsaonline.com/zoom.png)
JBOD se 3 disky různých velikostí
Základy: jednoduché úrovně RAID
Běžně používané úrovně RAID
RAID 0 "prokládání"
RAID 0 ve skutečnosti není RAID, protože není redundantní. V případě RAID 0 jsou disky jednoduše spojeny dohromady, aby vytvořily velký disk. Tomu se říká "prokládání". Při poruše jednoho disku dojde k poruše celého pole. Proto se pole RAID 0 používá pro důležitá data jen zřídka, ale čtení a zápis dat z disku může být díky prokládání rychlejší, protože každý disk čte část souboru najednou.
U pole RAID 0 jsou diskové bloky, které následují za sebou, obvykle umístěny na různých discích. Z tohoto důvodu by všechny disky používané v RAID 0 měly mít stejnou velikost.
RAID 0 se často používá pro odkládací prostor v operačních systémech Linux nebo Unix-like.
RAID 1 "zrcadlení"
V případě pole RAID 1 se spojí dva disky. Na obou jsou uložena stejná data, jeden "zrcadlí" druhý. Jedná se o snadnou a rychlou konfiguraci, ať už je realizována hardwarovým řadičem, nebo softwarově.
RAID 5 "prokládání s distribuovanou paritou"
Nejčastěji se pravděpodobně používá RAID úrovně 5. K vytvoření úložného pole RAID 5 jsou zapotřebí nejméně tři pevné disky. Každý blok dat bude uložen na třech různých místech. Na dvou z těchto míst bude blok uložen tak, jak je, na třetím bude uložen kontrolní součet. Tento kontrolní součet je speciálním případem Reed-Solomonova kódu, který používá pouze bitové sčítání. Obvykle se počítá metodou XOR. Protože je tato metoda symetrická, lze jeden ztracený datový blok obnovit z druhého datového bloku a kontrolního součtu. Pro každý blok bude na jiném disku uložen paritní blok, který obsahuje kontrolní součet. To se provádí za účelem zvýšení redundance. Každý disk může selhat. Celkově bude kontrolní součty držet jeden disk, takže celková využitelná kapacita bude odpovídat kapacitě všech disků kromě jednoho. Velikost výsledného logického disku bude odpovídat velikosti všech disků dohromady, kromě jednoho disku, který obsahuje paritní informace.
Je to samozřejmě pomalejší než RAID úrovně 1, protože při každém zápisu je třeba přečíst všechny disky, aby se vypočítaly a aktualizovaly paritní informace. Výkon při čtení je u RAID 5 téměř stejný jako u RAID 0 při stejném počtu disků. S výjimkou paritních bloků se rozložení dat na discích řídí stejným schématem jako u RAID 0. Důvodem, proč je RAID 5 o něco pomalejší, je to, že disky musí přeskakovat paritní bloky.
RAID 5 s vadným diskem bude fungovat i nadále. Je v degradovaném režimu. Degradovaný RAID 5 může být velmi pomalý. Z tohoto důvodu se často přidává další disk. Ten se nazývá hot spare disk. Pokud dojde k selhání disku, lze data přímo obnovit na přídavném disku. RAID 5 lze také poměrně snadno vytvořit softwarově.
Především kvůli problémům s výkonem neúspěšných polí RAID 5 vytvořili někteří databázoví odborníci skupinu s názvem BAARF - Battle Against Any Raid Five.
Pokud dojde k selhání systému během aktivního zápisu, může dojít k nekonzistenci parity proužku s daty. Pokud se to neopraví před selháním disku nebo bloku, může dojít ke ztrátě dat. Nesprávná parita bude použita k rekonstrukci chybějícího bloku v daném proužku. Tento problém se někdy označuje jako "díra pro zápis". Běžně se používají mezipaměti s bateriovým napájením a podobné techniky, které snižují pravděpodobnost, že k tomuto jevu dojde.
Obrázky
·
RAID 0 jednoduše umístí různé bloky na různé disky. Neexistuje žádná redundance.
·
V systému Raid 1 je každý blok na obou discích.
·
RAID 5 vypočítává speciální kontrolní součty pro data. Bloky s kontrolním součtem i bloky s daty jsou rozděleny na všechny disky.
Méně používané úrovně RAID
RAID 2
To se používalo u velmi velkých počítačů. Pro použití RAID Level 2 jsou potřeba speciální drahé disky a speciální řadič. Data jsou distribuována na bitové úrovni (všechny ostatní úrovně používají akce na úrovni bajtů). Provádějí se speciální výpočty. Data jsou rozdělena do statických sekvencí bitů. Dohromady se skládá 8 datových bitů a 2 paritní bity. Poté se vypočítá Hammingův kód. Fragmenty Hammingova kódu se pak rozdělí na různé disky.
RAID 2 je jediná úroveň RAID, která dokáže opravit chyby, ostatní úrovně RAID je mohou pouze detekovat. Když zjistí, že potřebné informace nemají smysl, jednoduše je obnoví. To se provádí pomocí výpočtů s využitím informací na ostatních discích. Pokud tyto informace chybí nebo jsou chybné, nemohou toho moc udělat. Protože RAID 2 používá Hammingovy kódy, dokáže zjistit, která část informace je chybná, a opravit pouze tuto část.
RAID 2 potřebuje ke svému fungování alespoň 10 disků. Kvůli své složitosti a potřebě velmi drahého a speciálního hardwaru se RAID 2 již příliš nepoužívá.
RAID 3 "prokládání s vyhrazenou paritou"
Úroveň RAID 3 se podobá úrovni RAID 0. Je přidán další disk pro uložení paritních informací. To se provádí bitovým sčítáním hodnoty bloku na ostatních discích. Paritní informace jsou uloženy na samostatném (vyhrazeném) disku. To není dobré, protože pokud dojde k havárii paritního disku, paritní informace se ztratí.
RAID úrovně 3 se obvykle provádí nejméně se třemi disky. Nastavení se dvěma disky je totožné s RAID úrovně 0.
RAID 4 "prokládání s vyhrazenou paritou"
Je velmi podobný RAID 3, ale paritní informace se počítají z větších bloků, nikoli z jednotlivých bajtů. Je to jako RAID 5. Pro pole RAID 4 jsou potřeba alespoň tři disky.
RAID 6
Úroveň RAID 6 nebyla původní úrovní RAID. Do pole RAID 5 přidává další paritní blok. Potřebuje minimálně čtyři disky (dva disky kvůli kapacitě, dva disky kvůli redundanci). RAID 5 lze považovat za speciální případ Reed-Solomonova kódu. RAID 5 je však speciální případ, potřebuje pouze sčítání v Galoisově poli GF(2). To lze snadno provést pomocí XOR. RAID 6 tyto výpočty rozšiřuje. Už to není speciální případ a je třeba provést všechny výpočty. U RAID 6 se používá další kontrolní součet (tzv. polynom), obvykle z GF(28). S tímto přístupem je možné chránit proti libovolnému počtu selhaných disků. RAID 6 je určen pro případ použití dvou kontrolních součtů k ochraně proti ztrátě dvou disků.
Stejně jako u RAID 5 jsou parita a data pro každý blok na různých discích. Dva paritní bloky jsou rovněž umístěny na různých discích.
RAID 6 lze vytvořit různými způsoby. Liší se výkonem zápisu a množstvím výpočtů. Možnost rychlejšího zápisu obvykle znamená, že je potřeba více výpočtů.
RAID 6 je pomalejší než RAID 5, ale umožňuje pokračovat v práci s RAIDem i v případě selhání dvou disků. RAID 6 se stává oblíbeným, protože umožňuje obnovení pole po selhání jednoho disku, i když má jeden ze zbývajících disků jeden nebo více vadných sektorů.
Obrázky
·
RAID 3 je podobný jako RAID úrovně 0. Je přidán další disk, na kterém je uložen kontrolní součet pro každý blok dat.
·
RAID 4 je podobný RAID úrovně 3, ale paritu počítá nad většími bloky dat.
·
RAID 6 je podobný RAID 5, ale vypočítává dva různé kontrolní součty. To umožňuje selhání dvou disků bez ztráty dat.
Nestandardní úrovně RAID
Dvojitá parita / Diagonální parita
RAID 6 používá dva paritní bloky. Ty se počítají speciálním způsobem přes polynom. RAID s dvojitou paritou (nazývaný také RAID s diagonální paritou) používá pro každý z těchto paritních bloků jiný polynom. Průmyslové sdružení, které definovalo RAID, nedávno uvedlo, že RAID s dvojitou paritou je jiná forma RAID 6.
RAID-DP
RAID-DP je další způsob dvojité parity.
RAID 1.5
RAID 1.5 (nezaměňovat s RAID 15, který je jiný) je proprietární implementace RAID. Stejně jako RAID 1 používá pouze dva disky, ale provádí prokládání i zrcadlení (podobně jako RAID 10). Většina věcí se provádí hardwarově.
RAID 5E, RAID 5EE a RAID 6E
RAID 5E, RAID 5EE a RAID 6E (s přidaným E jako Enhanced) obecně označují různé typy RAID 5 nebo RAID 6 s hot spare. U těchto implementací není jednotka hot spare fyzickou jednotkou. Spíše existuje ve formě volného místa na discích. To zvyšuje výkon, ale znamená to, že hot spare nelze sdílet mezi různými poli. Toto schéma bylo zavedeno systémem IBM ServeRAID kolem roku 2001.
RAID 7
Jedná se o proprietární implementaci. Přidává do pole RAID 3 nebo RAID 4 mezipaměť.
Intel Matrix RAID
Některé základní desky Intel mají čip RAID s touto funkcí. Používá dva nebo tři disky a poté je rovnoměrně rozdělí a vytvoří kombinaci úrovní RAID 0, RAID 1, RAID 5 nebo RAID 1+0.
Ovladač RAID Linux MD
To je název pro ovladač, který v systému Linux umožňuje používat softwarový RAID. Kromě běžných úrovní RAID 0-6 obsahuje také implementaci RAID 10. Od jádra 2.6.9 je RAID 10 jednoúrovňový. Implementace má některé nestandardní vlastnosti.
RAID Z
Společnost Sun implementovala souborový systém nazvaný ZFS. Tento souborový systém je optimalizován pro zpracování velkého množství dat. Jeho součástí je správce logických svazků. Obsahuje také funkci RAID-Z. Vyhýbá se problému zvanému RAID 5 write hole, protože má politiku copy-on-write: Nepřepisuje data přímo, ale zapisuje nová data na nové místo na disku. Pokud byl zápis úspěšný, stará data se odstraní. Vyhýbá se tak nutnosti provádět operace čtení-změna-zápis pro malé zápisy, protože zapisuje pouze celé pruhy. Malé bloky jsou zrcadleny místo chráněny paritou, což je možné, protože souborový systém zná způsob organizace úložiště. Může tedy v případě potřeby přidělit další místo. Existuje také RAID-Z2, který využívá dvě formy parity a dosahuje podobných výsledků jako RAID 6: schopnost přežít až dvě selhání disku bez ztráty dat.
Obrázky
·
Schéma nastavení RAID DP (Double Parity).
·
Nastavení Matrix RAID.
Spojování úrovní RAID
Pomocí pole RAID lze různé disky spojit do logického disku.Uživatel uvidí pouze logický disk. Každá z výše uvedených úrovní RAID má své dobré i špatné stránky. RAID však může pracovat i s logickými disky. Tak lze se sadou logických disků použít jednu z výše uvedených úrovní RAID. Mnoho lidí to zaznamenává tak, že čísla píší dohromady. Někdy mezi ně píší "+" nebo "&". Obvyklé kombinace (při použití dvou úrovní) jsou následující:
- RAID 0+1: Dvě nebo více polí RAID 0 se spojí do pole RAID 1; nazývá se zrcadlení proužků.
- RAID 1+0: Stejně jako RAID 0+1, ale úrovně RAID jsou obrácené; Stripe of Mirrors. Díky tomu je selhání disku vzácnější než u výše uvedeného RAID 0+1.
- RAID 5+0: Prokládání několika políček RAID 5 s políčkem RAID 0. Jeden disk každého pole RAID 5 může selhat, ale tento disk RAID 5 je jediným bodem selhání; pokud selže jiný disk tohoto pole, všechna data pole budou ztracena.
- RAID 5+1: V situaci, kdy je RAID tvořen šesti disky, mohou selhat libovolné tři disky (aniž by došlo ke ztrátě dat).
- RAID 6+0: Prokládání několika polí RAID 6 přes pole RAID 0; dva disky každého pole RAID 6 mohou selhat bez ztráty dat.
Se šesti disky po 300 GB, tedy s celkovou kapacitou 1,8 TB, je možné vytvořit pole RAID 5 s 1,5 TB využitelného prostoru. V tomto poli může jeden disk selhat bez ztráty dat. Při použití pole RAID 50 se prostor zmenší na 1,2 TB, ale jeden disk každého pole RAID 5 může selhat, navíc se znatelně zvýší výkon. Pole RAID 51 snižuje využitelnou velikost na 900 GB, ale umožňuje selhání libovolných tří disků.
·
RAID 0+1: Několik polí RAID 0 je kombinováno s polem RAID 1.
·
RAID 1+0: Robustnější než RAID 0+1; podporuje vícenásobné selhání disků, pokud neselžou dva disky, které tvoří zrcadlo.
·
RAID 5+1: V tomto případě mohou selhat libovolné tři disky, aniž by došlo ke ztrátě dat.
Vytvoření pole RAID
RAID lze vytvořit různými způsoby. Buď softwarově, nebo hardwarově.
Softwarový RAID
Pole RAID lze softwarově vytvořit dvěma různými způsoby. V případě softwarového RAID jsou disky připojeny jako běžné pevné disky. O fungování pole RAID se stará počítač. To znamená, že při každém přístupu musí procesor provést také výpočty pro RAID. Výpočty pro RAID 0 nebo RAID 1 jsou jednoduché. Výpočty pro RAID 5, RAID 6 nebo jednu z kombinovaných úrovní RAID však mohou být velmi pracné. U softwarového pole RAID může být obtížné automaticky spustit systém z pole, které selhalo. A konečně, způsob provedení softwarového pole RAID závisí na použitém operačním systému; obecně není možné znovu sestavit softwarové pole RAID s jiným operačním systémem. Operační systémy obvykle používají k vytváření polí RAID spíše diskové oddíly než celé pevné disky.
Hardwarový RAID
RAID lze vytvořit také hardwarově. V tomto případě se používá speciální řadič disků; tato karta řadiče skrývá před operačním systémem a uživatelem skutečnost, že provádí RAID. Výpočty informací o kontrolním součtu a další výpočty související s RAID se provádějí na speciálním mikročipu v tomto řadiči. Díky tomu je RAID nezávislý na operačním systému. Operační systém neuvidí RAID, uvidí pouze jeden disk. Různí výrobci dělají RAID různými způsoby. To znamená, že pole RAID vytvořené pomocí jednoho hardwarového řadiče RAID nelze obnovit pomocí jiného řadiče RAID jiného výrobce. Hardwarové řadiče RAID jsou často drahé.
Hardwarově podporovaný RAID
Jedná se o kombinaci hardwarového RAID a softwarového RAID. Hardwarově podporovaný RAID používá speciální čip řadiče (jako hardwarový RAID), ale tento čip neumí mnoho operací. Je aktivní pouze při spuštění systému; jakmile je operační systém plně načten, je tato konfigurace jako softwarový RAID. Některé základní desky mají funkce RAID pro připojené disky; nejčastěji jsou tyto funkce RAID prováděny jako hardwarově podporovaný RAID. To znamená, že je zapotřebí speciální software, aby bylo možné tyto funkce RAID používat a aby bylo možné obnovit selhání disku.
Různé termíny související s poruchami hardwaru
V souvislosti s poruchami hardwaru se používají různé termíny:
Míra selhání
Míra poruchovosti udává, jak často systém selhává. Střední doba do poruchy (MTTF) nebo střední doba mezi poruchami (MTBF) systému RAID je stejná jako u jeho komponent. Systém RAID totiž nemůže chránit před selháním jednotlivých pevných disků. Složitější typy RAID (cokoli nad rámec "prokládání" nebo "spojování") však mohou pomoci zachovat data neporušená i v případě selhání jednotlivého pevného disku.
Průměrná doba do ztráty dat
Střední doba do ztráty dat (MTTDL) udává průměrnou dobu, než dojde ke ztrátě dat v daném poli. Střední doba do ztráty dat daného pole RAID může být vyšší nebo nižší než u jeho pevných disků. To závisí na typu použitého pole RAID.
Průměrná doba do zotavení
Pole s redundancí se mohou zotavit z některých poruch. Střední doba do obnovy ukazuje, jak dlouho trvá, než se selhané pole vrátí do normálního stavu. K tomu se připočítává jak doba výměny selhávajícího diskového mechanismu, tak i doba na opětovné sestavení pole (tj. replikace dat kvůli redundanci).
Neobnovitelná bitová chybovost
Míra neobnovitelnosti bitových chyb (UBE) udává, za jak dlouho nebude disková jednotka schopna obnovit data po použití kódů cyklické redundance (CRC) a několikanásobném opakování.
Problémy s RAID
S myšlenkou nebo technologií RAID jsou také určité problémy:
Pozdější přidání disků
Některé úrovně RAID umožňují rozšířit pole jednoduše přidáním pevných disků v pozdější době. Informace, jako jsou paritní bloky, jsou často rozptýleny na několika discích. Přidání disku do pole znamená nutnost reorganizace. Taková reorganizace je jako znovuvybudování pole, může trvat dlouho. Když se provede, nemusí být dodatečné místo ještě k dispozici, protože o něm musí být informován jak souborový systém na poli, tak operační systém. Některé souborové systémy nepodporují, aby byly zvětšovány po jejich vytvoření. V takovém případě je třeba všechna data zálohovat, pole znovu vytvořit s novým rozložením a data na něj obnovit.
Další možností, jak přidat úložiště, je vytvořit nové pole a nechat situaci vyřešit správce logických svazků. To umožňuje zvětšit téměř jakýkoli systém RAID, dokonce i RAID1 (který je sám o sobě omezen na dva disky).
Související selhání
Mechanismus opravy chyb v RAID předpokládá, že selhání disků jsou nezávislá. Je možné vypočítat, jak často může dojít k selhání některého zařízení, a uspořádat pole tak, aby ztráta dat byla velmi nepravděpodobná.
V praxi se však tyto disky často kupovaly společně. Jsou zhruba stejně staré a byly podobně používány (tzv. opotřebení). Mnoho pohonů selhává kvůli mechanickým problémům. Čím je pohon starší, tím jsou jeho mechanické části opotřebovanější. Mechanické části, které jsou staré, mají větší pravděpodobnost selhání než ty, které jsou mladší. To znamená, že poruchy pohonů již nejsou statisticky nezávislé. V praxi existuje pravděpodobnost, že se druhý disk také porouchá dříve, než se podaří obnovit první. To znamená, že v praxi může docházet ke ztrátě dat ve značné míře.
Atomicita
Dalším problémem, který se vyskytuje i u systémů RAID, je to, že aplikace očekávají tzv. atomicitu: Buď se zapíší všechna data, nebo žádná. Zápis dat se nazývá transakce.
V polích RAID se nová data obvykle zapisují na místo, kde byla stará data. Tento postup se označuje jako aktualizace na místě. Jim Gray, výzkumník v oblasti databází, napsal v roce 1981 článek, ve kterém tento problém popsal.
Jen velmi málo úložných systémů umožňuje atomický zápis. Když je objekt zapisován na disk, úložné zařízení RAID obvykle zapisuje všechny kopie objektu paralelně. Velmi často je za zápis dat odpovědný pouze jeden procesor. V takovém případě se budou zápisy dat na různé disky překrývat. Tomuto jevu se říká překrývaný zápis nebo rozložený zápis. Chyba, ke které dojde během zápisu, tak může způsobit, že se redundantní kopie budou nacházet v různých stavech. Co je horší, může se stát, že kopie nebudou ani ve starém, ani v novém stavu. Záznam se však spoléhá na to, že původní data jsou buď ve starém, nebo v novém stavu. To umožňuje zálohovat logickou změnu, ale jen málo úložných systémů poskytuje sémantiku atomického zápisu na disk RAID.
Použití mezipaměti pro zápis s bateriovým napájením může tento problém vyřešit, ale pouze v případě výpadku napájení.
Podpora transakcí není přítomna ve všech hardwarových řadičích RAID. Proto ji mnoho operačních systémů obsahuje jako ochranu proti ztrátě dat při přerušeném zápisu. Novell Netware, počínaje verzí 3.x, obsahoval systém sledování transakcí. Společnost Microsoft zavedla sledování transakcí prostřednictvím funkce žurnálování v systému NTFS. Souborový systém NetApp WAFL to řeší tak, že nikdy neaktualizuje data na místě, stejně jako systém ZFS.
Neobnovitelná data
Některé sektory na pevném disku se mohly stát nečitelnými z důvodu chyby. Některé implementace RAID mohou tuto situaci řešit přesunutím dat jinam a označením sektoru na disku jako chybného. U disků podnikové třídy k tomu dochází přibližně v 1 bitu z 1015, u běžných disků v 1 bitu z 1014. Kapacita disků se neustále zvyšuje. To může znamenat, že někdy nelze pole RAID obnovit, protože při obnově pole po selhání disku se taková chyba najde. Některé technologie, jako je RAID 6, se snaží tento problém řešit, ale trpí velmi vysokou penalizací za zápis, jinými slovy zápis dat se stává velmi pomalým.
Spolehlivost zápisu do mezipaměti
Diskový systém může potvrdit operaci zápisu, jakmile jsou data v mezipaměti. Nemusí čekat, až budou data fyzicky zapsána. Jakýkoli výpadek napájení však pak může znamenat významnou ztrátu dat uložených v takové mezipaměti ve frontě.
V případě hardwarového RAID lze k ochraně této mezipaměti použít baterii. To často problém vyřeší. Při výpadku napájení může řadič dokončit zápis do mezipaměti, jakmile se napájení obnoví. Toto řešení však stále může selhat: baterie se mohla vyčerpat, napájení mohlo být vypnuto příliš dlouho, disky mohly být přesunuty na jiný řadič, mohl selhat samotný řadič. Některé systémy mohou provádět pravidelné kontroly baterie, ale ty využívají samotnou baterii a nechávají ji ve stavu, kdy není plně nabitá.
Kompatibilita zařízení
Formáty disků v různých řadičích RAID nemusí být nutně kompatibilní. Proto nemusí být možné číst pole RAID na různém hardwaru. V důsledku toho může selhání jiného než diskového hardwaru vyžadovat použití identického hardwaru nebo zálohy pro obnovu dat.
Co RAID umí a co neumí
Tento návod byl převzat z vlákna na fóru souvisejícím s RAID. Bylo vytvořeno s cílem poukázat na výhody a nevýhody volby RAID. Je určena lidem, kteří chtějí zvolit RAID buď kvůli zvýšení výkonu, nebo kvůli redundanci. Obsahuje odkazy na další vlákna ve svém fóru, která obsahují neoficiální recenze uživatelů o jejich zkušenostech s RAID.
Co umí RAID
- RAID může chránit dobu provozu. Úrovně RAID 1, 0+1/10, 5 a 6 (a jejich varianty jako 50 a 51) nahrazují mechanické selhání pevného disku. I po selhání disku lze data v poli stále používat. Místo časově náročné obnovy z pásky, disku DVD nebo jiného pomalého zálohovacího média umožňuje pole RAID obnovit data na náhradní disk z ostatních členů pole. Během tohoto procesu obnovy jsou k dispozici uživatelům ve zhoršeném stavu. To je pro podniky velmi důležité, protože výpadky rychle vedou ke ztrátě výdělečné schopnosti. Pro domácí uživatele může ochránit provozuschopnost velkých úložných polí, která by v případě selhání disku, který není chráněn redundancí, vyžadovala časově náročnou obnovu z desítek disků DVD nebo poměrně velkého počtu pásek.
- RAID může v určitých aplikacích zvýšit výkon. Úrovně RAID 0, 5 a 6 používají prokládání. To umožňuje více vřeten zvýšit přenosové rychlosti při lineárních přenosech. Aplikace typu pracovní stanice často pracují s velkými soubory. Ty mají z prokládání disků velký užitek. Příkladem takových aplikací jsou ty, které používají video nebo zvukové soubory. Tato propustnost je užitečná také při zálohování z disku na disk. RAID 1 i další úrovně RAID založené na prokládání mohou zlepšit výkon pro přístupové vzory s mnoha současnými náhodnými přístupy, jako jsou ty, které používá databáze s více uživateli.
Co RAID neumí
- RAID nemůže chránit data v poli. Pole RAID má jeden souborový systém. To vytváří jediný bod selhání. Tomuto souborovému systému se může stát mnoho jiných věcí než selhání fyzického disku. RAID se proti těmto zdrojům ztráty dat nemůže bránit. Pole RAID nezabrání virům ve zničení dat. RAID nezabrání poškození dat. RAID nezachrání data, když je uživatel omylem změní nebo vymaže. RAID nechrání data před selháním hardwaru žádné jiné součásti než fyzických disků. RAID nechrání data před přírodními nebo člověkem způsobenými katastrofami, jako jsou požáry a povodně. Aby byla data chráněna, musí být zálohována na vyměnitelná média, jako je DVD, páska nebo externí pevný disk. Záloha musí být uložena na jiném místě. Samotný RAID nezabrání tomu, aby se katastrofa, pokud (ne pokud) nastane, změnila ve ztrátu dat. Katastrofám nelze zabránit, ale zálohování umožňuje zabránit ztrátě dat.
- RAID nemůže zjednodušit zotavení po havárii. Při provozu jednoho disku může disk používat většina operačních systémů, protože jsou vybaveny běžným ovladačem zařízení. Většina řadičů RAID však potřebuje speciální ovladače. Nástroje pro obnovu, které pracují s jednotlivými disky na obecných řadičích, budou pro přístup k datům na polích RAID vyžadovat speciální ovladače. Pokud jsou tyto nástroje pro obnovu špatně nakódovány a neumožňují poskytnutí dalších ovladačů, pak bude pole RAID pro tento nástroj pro obnovu pravděpodobně nedostupné.
- RAID nemůže zajistit zvýšení výkonu ve všech aplikacích. Toto tvrzení platí zejména pro typické uživatele desktopových aplikací a hráče. Pro většinu desktopových aplikací a her je důležitější strategie vyrovnávací paměti a výkon vyhledávání disku (disků) než hrubá propustnost. Zvýšení hrubé trvalé přenosové rychlosti se u těchto uživatelů projeví jen malým přínosem, protože většina souborů, ke kterým přistupují, je stejně obvykle velmi malá. Prokládání disků pomocí pole RAID 0 zvyšuje lineární přenosový výkon, nikoli výkon vyrovnávací paměti a vyhledávání. V důsledku toho prokládání disků pomocí pole RAID 0 nevykazuje ve většině desktopových aplikací a her žádný nebo jen malý nárůst výkonu, i když existují výjimky. Pro uživatele stolních počítačů a hráče, jejichž cílem je vysoký výkon, je lepší koupit rychlejší, větší a dražší jeden disk než provozovat dva pomalejší/menší disky v RAID 0. Ani provozování nejnovějších, největších a největších disků v RAID-0 pravděpodobně nezvýší výkon o více než 10 % a v některých přístupových modelech, zejména ve hrách, může výkon klesnout.
- Přesun RAID do nového systému je obtížný. V případě jednoho disku je přesun disku do nového systému poměrně snadný. Lze jej jednoduše připojit k novému systému, pokud má k dispozici stejné rozhraní. U pole RAID to však tak snadné není. Existuje určitý druh metadat, která říkají, jak je pole RAID nastaveno. Systém RAID BIOS musí být schopen tato metadata přečíst, aby mohl pole úspěšně sestavit a zpřístupnit operačnímu systému. Protože výrobci řadičů RAID používají pro svá metadata různé formáty (dokonce i řadiče různých rodin od stejného výrobce mohou používat nekompatibilní formáty metadat), je téměř nemožné přesunout pole RAID na jiný řadič. Při přesunu pole RAID do nového systému je třeba naplánovat i přesun řadiče. Vzhledem k oblibě řadičů RAID integrovaných na základních deskách je to velmi obtížné. Obecně je možné přesunout členy pole RAID a řadiče společně. Softwarový RAID v produktech Linux a Windows Server dokáže toto omezení také obejít, ale softwarový RAID má i další (většinou související s výkonem).
Příklad
Nejčastěji používané úrovně RAID jsou RAID 0, RAID 1 a RAID 5. Předpokládejme, že je k dispozici 3disková sestava se 3 identickými disky, každý o kapacitě 1 TB, a pravděpodobnost selhání disku za daný časový úsek je 1 %.
Úroveň RAID | Využitelná kapacita | Pravděpodobnost selhání v procentech | Pravděpodobnost selhání 1 z ... případů selhává |
0 | 3 TB | 2,9701% | 34 |
1 | 1 TB | 0,0001% | 1 milion |
5 | 2 TB | 0,0298% | 3356 |