Standardní úrovně RAID - Standard RAID levels

Při skladování počítače , se standardní úrovně RAID obsahují základní sadu RAID ( „ redundantní pole nezávislých disků ‚nebo‘ redundantní pole levných disků “), konfigurace, které využívají techniky prokládání , zrcadlení , nebo parity vytvořit velké spolehlivé ukládají data, z více univerzálních počítačových pevných disků (HDD). Nejběžnějšími typy jsou RAID 0 (prokládání), RAID 1 (zrcadlení) a jeho varianty, RAID 5 (distribuovaná parita) a RAID 6 (duální parita). Lze také kombinovat nebo vnořovat více úrovní RAID , například RAID 10 (prokládání zrcadel) nebo RAID 01 (sady zrcadlících pruhů). Úrovně RAID a jim přidružené datové formáty jsou standardizovány asociací Storage Networking Industry Association (SNIA) ve standardu Common RAID Disk Drive Format (DDF). Číselné hodnoty slouží pouze jako identifikátory a neznamenají výkon, spolehlivost, generování ani žádnou jinou metriku.

Přestože většina úrovní RAID může poskytovat dobrou ochranu před hardwarovými vadami nebo vadnými sektory/chybami čtení ( těžké chyby ) a zotavení z nich, neposkytuje žádnou ochranu před ztrátou dat v důsledku katastrofických selhání (požár, voda) nebo měkkých chyb , jako je chyba uživatele. , porucha softwaru nebo infekce malwarem. U cenných dat je RAID pouze jedním stavebním kamenem rozsáhlejšího schématu prevence a obnovy ztráty dat - nemůže nahradit plán zálohování .

RAID 0

Schéma nastavení RAID 0

RAID 0 (také známý jako sada pruhů nebo prokládaný svazek ) rozděluje („ pruhy “) data rovnoměrně na dva nebo více disků, bez informací o paritě , redundance nebo odolnosti vůči chybám . Protože RAID 0 neposkytuje žádnou odolnost vůči chybám ani redundanci, selhání jednoho disku způsobí selhání celého pole; v důsledku prokládání dat na všech discích způsobí selhání celkovou ztrátu dat. Tato konfigurace je obvykle implementována s rychlostí jako zamýšleným cílem. RAID 0 se běžně používá ke zvýšení výkonu, ačkoli jej lze také použít jako způsob, jak vytvořit velký logický svazek ze dvou nebo více fyzických disků.

Nastavení RAID 0 lze vytvořit s disky různých velikostí, ale úložný prostor přidaný do pole každým diskem je omezen velikostí nejmenšího disku. Pokud je například 120 GB disk prokládán společně s 320 GB diskem, velikost pole bude 120 GB × 2 = 240 GB. Některé implementace RAID však umožňují zbývajících 200 GB použít pro jiné účely.

Diagram v této části ukazuje, jak jsou data distribuována do pruhů A x na dva disky, přičemž A1: A2 jako první proužek, A3: A4 jako druhý atd. Jakmile je velikost pruhu definována při vytváření pole RAID 0 pole, je třeba jej udržovat za všech okolností. Protože jsou pruhy přístupné paralelně, pole n -drive RAID 0 se jeví jako jeden velký disk s datovou rychlostí n krát vyšší než je rychlost jednoho disku.

Výkon

Pole n disků RAID 0 poskytuje přenosové rychlosti čtení a zápisu až nkrát vyšší než rychlosti jednotlivých disků, ale bez redundance dat. Díky tomu se RAID 0 používá především v aplikacích, které vyžadují vysoký výkon a jsou schopné tolerovat nižší spolehlivost, například ve vědeckých počítačích nebo počítačových hrách .

Některé benchmarky desktopových aplikací ukazují, že výkon RAID 0 je nepatrně lepší než jeden disk. Další článek zkoumal tato tvrzení a dospěl k závěru, že „prokládání neznamená vždy zvýšení výkonu (v určitých situacích bude ve skutečnosti pomalejší než nastavení bez RAID), ale ve většině situací přinese výrazné zlepšení výkonu“. Syntetické benchmarky ukazují různé úrovně vylepšení výkonu, když je v nastavení RAID 0 použito více pevných disků nebo SSD ve srovnání s výkonem jednoho disku. Některé syntetické benchmarky však také ukazují pokles výkonu pro stejné srovnání.

RAID 1

Schéma nastavení RAID 1

RAID 1 se skládá z přesné kopie (nebo zrcadlení ) sady dat na dvou nebo více discích; klasický zrcadlený pár RAID 1 obsahuje dva disky. Tato konfigurace nenabízí žádnou paritu, prokládání nebo překlenutí místa na disku na více discích, protože data se zrcadlí na všechny disky patřící do pole a pole může být pouze tak velké jako nejmenší členský disk. Toto rozložení je užitečné, když je výkon nebo spolehlivost čtení důležitější než výkon zápisu nebo výsledná kapacita úložiště dat.

Pole bude fungovat i nadále, dokud bude funkční alespoň jeden člen.

Výkon

Jakýkoli požadavek na čtení může být obsluhován a zpracováván jakoukoli jednotkou v poli; v závislosti na povaze zatížení I/O se tedy výkon náhodného čtení pole RAID 1 může rovnat součtu výkonu každého člena, zatímco výkon zápisu zůstává na úrovni jednoho disku. Pokud jsou však v poli RAID 1 použity disky s různými rychlostmi, celkový výkon zápisu se rovná rychlosti nejpomalejšího disku.

Syntetické benchmarky ukazují různé úrovně vylepšení výkonu, když je v nastavení RAID 1 použito více pevných disků nebo SSD ve srovnání s výkonem jednoho disku. Některé syntetické benchmarky však také ukazují pokles výkonu pro stejné srovnání.

RAID 2

Schéma nastavení RAID 2

RAID 2 , který se v praxi používá jen zřídka, prokládá data na bitové (nikoli blokové) úrovni a pro opravu chyb používá Hammingův kód . Disky jsou synchronizovány řadičem tak, aby se otáčel se stejnou úhlovou orientací (dosahují indexu současně), takže obecně nemůže obsluhovat více požadavků současně. Avšak v závislosti na vysokorychlostním Hammingově kódu by mnoho vřeten pracovalo souběžně se současným přenosem dat, takže jsou možné "velmi vysoké přenosové rychlosti dat", jako například v DataVault, kde bylo současně přenášeno 32 datových bitů.

U všech pevných disků implementujících interní opravu chyb poskytovala složitost externího Hammingova kódu oproti paritě jen malou výhodu, takže RAID 2 byl implementován jen zřídka; je to jediná původní úroveň RAID, která se v současné době nepoužívá.

RAID 3

Schéma nastavení RAID 3 se šesti bajtovými bloky a dvěma paritními bajty ukazuje dva bloky dat v různých barvách.

RAID 3 , který se v praxi používá jen zřídka, se skládá z prokládání na úrovni bajtů s vyhrazeným paritním diskem. Jednou z charakteristik RAID 3 je, že obecně nemůže obsluhovat více požadavků současně, což se stává, protože jakýkoli jednotlivý blok dat bude podle definice rozložen mezi všechny členy sady a bude umístěn na stejném fyzickém místě na každém disku. Každá I/O operace proto vyžaduje aktivitu na každém disku a obvykle vyžaduje synchronizovaná vřetena.

Díky tomu je vhodný pro aplikace, které vyžadují nejvyšší přenosové rychlosti při dlouhém sekvenčním čtení a zápisu, například nekomprimované úpravy videa . Aplikace, které provádějí malá čtení a zápisy z náhodných umístění disků, získají z této úrovně nejhorší výkon.

Požadavek, aby se všechny disky točily synchronně (v uzamčení ), přidal úvahy o designu, které oproti jiným úrovním RAID neposkytovaly žádné významné výhody. RAID 3 i RAID 4 byly rychle nahrazeny RAID 5. RAID 3 byl obvykle implementován v hardwaru a problémy s výkonem byly řešeny pomocí velkých diskových mezipamětí.

RAID 4

Diagram 1: Nastavení RAID 4 s vyhrazeným paritním diskem, přičemž každá barva představuje skupinu bloků v příslušném paritním bloku (pruh)

RAID 4 se skládá z prokládání na úrovni bloku s vyhrazeným paritním diskem. Díky svému rozložení poskytuje RAID 4 dobrý výkon náhodných čtení, zatímco výkon náhodných zápisů je nízký kvůli potřebě zapisovat všechna paritní data na jeden disk, pokud souborový systém neumí RAID-4 a kompenzuje že.

Výhodou RAID 4 je, že jej lze rychle rozšířit online, bez přepočítávání parity, pokud jsou nově přidané disky zcela zaplněny 0 bajty.

V diagramu 1 by požadavek na čtení pro blok A1 obsluhoval disk 0. Souběžný požadavek na čtení pro blok B1 by musel počkat, ale požadavek na čtení pro B2 by mohl být obsluhován souběžně na disku 1.

RAID 5

Schéma rozložení RAID 5 s každou barvou představující skupinu datových bloků a přidružený paritní blok (pruh). Tento diagram ukazuje levé asynchronní rozložení

RAID 5 se skládá z prokládání na úrovni bloku s distribuovanou paritou. Na rozdíl od RAID 4 jsou informace o paritě distribuovány mezi disky. K provozu vyžaduje přítomnost všech jednotek kromě jednoho. Při selhání jednoho disku lze z distribuované parity vypočítat další čtení tak, aby nedošlo ke ztrátě dat. RAID 5 vyžaduje alespoň tři disky.

V poli diskové jednotky RAID 5 existuje mnoho rozložení dat a parity v závislosti na posloupnosti zápisu na disky, tj.

  1. posloupnost zapsaných datových bloků, zleva doprava nebo zprava doleva na diskové pole, disků 0 až N a
  2. umístění paritního bloku na začátku nebo na konci pruhu a
  3. umístění prvního bloku pruhu vzhledem k paritě předchozího pruhu.

Obrázek vpravo ukazuje 1) datové bloky zapsané zleva doprava, 2) paritní blok na konci pruhu a 3) první blok dalšího pruhu, který není na stejném disku jako paritní blok předchozího pruhu. Může být označen jako rozložení levého asynchronního pole RAID 5 a toto je jediné rozložení identifikované v posledním vydání knihy The Raid Book vydané zaniklým Raid Advisory Board. V synchronním uspořádání je první datový blok dalšího pruhu zapsán na stejnou jednotku jako paritní blok předchozího pruhu.

Ve srovnání s RAID 4 distribuovaná parita RAID 5 vyrovnává stres vyhrazeného paritního disku mezi všemi členy RAID. Kromě toho se zvyšuje výkon zápisu, protože všichni členové RAID se účastní obsluhy požadavků na zápis. Ačkoli to nebude tak efektivní jako nastavení prokládání (RAID 0), protože parita musí být stále zapsána, toto již není překážkou.

Vzhledem k tomu, že se výpočet parity provádí na celém pruhu, malé změny v zážitku pole zapisují zesílení : v nejhorším případě, kdy má být zapsán jeden logický sektor, je třeba přečíst původní sektor a podle něj paritní sektor, původní data se odstraní z parity, započítají se nová data do parity a zapíše se nový datový sektor i nový paritní sektor.

RAID 6

Schéma nastavení RAID 6, které je totožné s RAID 5, kromě přidání druhého paritního bloku

RAID 6 rozšiřuje RAID 5 přidáním dalšího paritního bloku; používá tedy pruhování na úrovni bloku se dvěma paritními bloky distribuovanými na všechny členské disky.

Stejně jako v RAID 5 existuje mnoho rozložení diskových polí RAID 6 v závislosti na směru zápisu datových bloků, umístění paritních bloků vzhledem k datovým blokům a na tom, zda je či není zapsán první datový blok následujícího pruhu na stejný disk jako poslední paritní blok předchozího pruhu. Obrázek vpravo je jen jedním z mnoha takových rozvržení.

Podle asociace Storage Networking Industry Association (SNIA) definice RAID 6 zní: „Jakákoli forma RAID, která může i nadále provádět požadavky na čtení a zápis na všechny virtuální disky pole RAID za přítomnosti jakýchkoli dvou souběžných selhání disku. K implementaci RAID úrovně 6 bylo použito několik metod, včetně výpočtů duálních kontrolních dat (parita a Reed -Solomon ), ortogonálních duálních kontrolních dat a diagonální parity. "

Výkon

RAID 6 nemá výkonnostní postih za operace čtení, ale má výkonnostní postih za operace zápisu kvůli režii spojené s výpočty parity. Výkon se velmi liší v závislosti na tom, jak je RAID 6 implementován v architektuře úložiště výrobce - v softwaru, firmwaru nebo pomocí firmwaru a specializovaných ASIC pro intenzivní paritní výpočty. RAID 6 dokáže číst stejnou rychlostí jako RAID 5 se stejným počtem fyzických disků.

Při použití diagonální nebo ortogonální duální parity je pro operace zápisu nutný výpočet druhé parity. Tím se zdvojnásobí režie CPU pro zápisy RAID-6 oproti úrovním RAID s jednou paritou. Když je použit kód Reed Solomon, druhý výpočet parity není nutný. Reed Solomon má tu výhodu, že umožňuje, aby všechny nadbytečné informace byly obsaženy v daném pruhu.

Zjednodušený příklad parity

Předpokládejme, že bychom chtěli distribuovat naše data po částech. Naším cílem je definovat dvě hodnoty parity a známé jako syndromy , což má za následek systém fyzických pohonů, který je odolný vůči ztrátě jakýchkoli dvou z nich. Abychom mohli generovat více než jeden nezávislý syndrom, budeme muset provést naše paritní výpočty na datových blocích velikosti Typickou volbou v praxi je velikost bloku , tj. Prokládání dat na bajt. Označíme základnu-2 reprezentace datového bloku jako , kde každý je buď 0 nebo 1.

Pokud používáme malý počet kusů , můžeme použít jednoduchý výpočet parity, který v obecném případě pomůže motivovat použití systému Reed – Solomon. Pro naši první hodnotu parity vypočítáme prostý XOR dat napříč pruhy, jako u RAID 5. Toto je zapsáno

kde označuje operátor XOR. Druhá hodnota parity je analogická, ale s každým datovým blokem bitově posunuta o jinou částku. Psaní , definujeme
V případě selhání jednoho disku lze data přepočítat stejně jako u RAID 5. Ukážeme si, že se můžeme také zotavit ze současného selhání 2 disků. Ztratíme -li datový kus a můžeme obnovit data a zbývající data pomocí skutečnosti, že . Předpokládejme, že v systému bloků selhala jednotka obsahující kus . Můžeme počítat

a obnovit ztracená data vrácením bitového posunu. Můžeme se také zotavit ze selhání dvou datových disků výpočtem XOR a se zbývajícími daty. Pokud by se v předchozím příkladu ztratil i kus, počítali bychom

Na bitové úrovni to představuje systém rovnic v neznámých, které jednoznačně určují ztracená data.

Tento systém již nebude fungovat na větším počtu jednotek . Důvodem je, že pokud opakovaně aplikujeme časy operátora směny na kus délky , skončíme zpět tam, kde jsme začali. Pokud bychom se pokusili aplikovat výše uvedený algoritmus na systém obsahující datové disky, pravá strana druhé rovnice by byla , což je stejné jako první sada rovnic. To by poskytlo pouze polovinu tolik rovnic, kolik je potřeba k vyřešení chybějících hodnot.

Obecný paritní systém

Je možné podporovat mnohem větší počet jednotek pečlivějším výběrem funkce parity. Problém, se kterým se potýkáme, je zajistit, aby systém rovnic nad konečným polem měl jedinečné řešení, a proto se obrátíme k teorii polynomiálních rovnic. Zvažte pole Galois pomocí . Toto pole je izomorfní s polynomickým polem pro vhodný neredukovatelný polynom stupně nad . V Galoisově poli budeme reprezentovat datové prvky jako polynomy . Nechť odpovídá pruhy dat napříč pevnými disky zakódovanými jako prvky pole tímto způsobem. Použijeme k označení sčítání v poli a zřetězení k označení násobení. Opakované použití je záměrné: je to proto, že sčítání v konečném poli představuje operátor XOR, takže výpočet součtu dvou prvků je ekvivalentní výpočtu XOR na polynomiálních koeficientech.

Generátor z pole je prvek pole tak, že je pro každou nezáporných . To znamená, že každý prvek pole, kromě hodnoty , lze zapsat jako mocninu . Konečné pole má zaručeně alespoň jeden generátor. Vyberte si jeden takový generátor , a definovat a takto:

Stejně jako dříve je první kontrolní součet pouze XOR každého pruhu, i když je nyní interpretován jako polynom. Účinek je možné považovat za působení pečlivě zvoleného posuvného registru lineární zpětné vazby na datový blok. Na rozdíl od bitového posunu ve zjednodušeném příkladu, který mohl být aplikován pouze krát, než se začalo kódování opakovat, je použití operátoru vícekrát zaručeno, že vytvoří jedinečné invertibilní funkce, které umožní délku kusu podporovat až datových kusů.

Pokud dojde ke ztrátě jednoho datového bloku, je situace podobná té předchozí. V případě dvou ztracených datových bloků můžeme vzorce pro obnovu vypočítat algebraicky. Předpokládejme, že a jsou ztracené hodnoty s , pak pomocí ostatních hodnot najdeme konstanty a :

Můžeme vyřešit pro ve druhé rovnici a zapojit ji do první najít , a pak .

Na rozdíl od P je výpočet Q relativně náročný na CPU, protože zahrnuje polynomické násobení v . To lze zmírnit implementací hardwaru nebo použitím FPGA .

Srovnání

Následující tabulka poskytuje přehled některých aspektů pro standardní úrovně RAID. V každém případě je účinnost pole pole uvedena jako výraz z hlediska počtu jednotek, n ; tento výraz označuje zlomkovou hodnotu mezi nulou a jednou, což představuje zlomek součtu kapacit jednotek, které jsou k dispozici k použití. Pokud jsou například v RAID 3 uspořádány tři disky, dává to efektivitu místa v poli 1 - 1/ n = 1 - 1/3 = 2/3 ≈ 67% ; má -li tedy každý disk v tomto příkladu kapacitu 250 GB, pak má pole celkovou kapacitu 750 GB, ale kapacita použitelná pro ukládání dat je pouze 500 GB.

Úroveň Popis Minimální počet jednotek Účinnost vesmíru Odolnost proti chybám Číst výkon Napište výkon
jako faktor jednoho disku
RAID 0 Block-level striping bez parity nebo zrcadlení 2 1 Žádný n n
RAID 1 Zrcadlení bez parity nebo proužkování 2 1/n n - 1 selhání disku n 1
RAID 2 Pruhování na úrovni bitů s Hammingovým kódem pro opravu chyb 3 1 - 1/nlog 2 ( n + 1) Selhání jednoho disku Záleží Záleží
RAID 3 Pruhování na úrovni bajtů s vyhrazenou paritou 3 1 - 1/n Selhání jednoho disku n - 1 n - 1
RAID 4 Pruhování na úrovni bloku s vyhrazenou paritou 3 1 - 1/n Selhání jednoho disku n - 1 n - 1
RAID 5 Pruhování na úrovni bloku s distribuovanou paritou 3 1 - 1/n Selhání jednoho disku n jeden sektor: 1/4
plný pruh: n - 1
RAID 6 Pruhování na úrovni bloku s dvojitou distribuovanou paritou 4 1 - 2/n Dvě selhání disku n jeden sektor: 1/6
plný pruh: n - 2

Systémové důsledky

Při měření výkonu I/O pěti souborových systémů s pěti konfiguracemi úložiště - jeden SSD, RAID 0, RAID 1, RAID 10 a RAID 5 bylo ukázáno, že F2FS na RAID 0 a RAID 5 s osmi SSD překonává EXT4 pětkrát respektive 50krát. Měření také naznačují, že řadič RAID může být významným překážkou při budování systému RAID s vysokorychlostními disky SSD.

Vnořený RAID

Kombinace dvou nebo více standardních úrovní RAID. Jsou známé také jako RAID 0+1 nebo RAID 01, RAID 0+3 nebo RAID 03, RAID 1+0 nebo RAID 10, RAID 5+0 nebo RAID 50, RAID 6+0 nebo RAID 60 a RAID 10+0 nebo RAID 100.

Nestandardní varianty

Kromě standardních a vnořených úrovní RAID zahrnují alternativy i nestandardní úrovně RAID a architektury disků RAID . Architektury jednotek jiných než RAID jsou označovány podobnými termíny a zkratkami, zejména JBOD („jen hromada disků“), SPAN/BIG a MAID („masivní řada nečinných disků“).

Poznámky

Reference

Další čtení

externí odkazy