Standard RAID szintek - Standard RAID levels

A számítógépes tárolásban a szabványos RAID -szintek a RAID („ Független lemezek redundáns tömbje ” vagy „ Redundáns tömb az olcsó lemezek ”) alapkonfigurációját tartalmazzák, amelyek a csíkozás , a tükrözés vagy a paritás technikáját alkalmazzák , hogy nagy megbízható adattárolókat hozzanak létre több általános célú számítógépes merevlemez (HDD). A leggyakoribb típusok a RAID 0 (csíkozás), a RAID 1 (tükrözés) és változatai, a RAID 5 (elosztott paritás) és a RAID 6 (kettős paritás). Több RAID szint is kombinálható vagy egymásba ágyazható , például RAID 10 (tükrök csíkozása) vagy RAID 01 (tükröző csíkkészletek). A RAID -szinteket és a hozzájuk tartozó adatformátumokat a Storage Networking Industry Association (SNIA) szabványosítja a Common RAID Disk Drive Format (DDF) szabványban. A számértékek csak azonosítóként szolgálnak, és nem jelentenek teljesítményt, megbízhatóságot, generációt vagy más mutatót.

Míg a legtöbb RAID -szint jó védelmet nyújt a hardverhibák vagy a hibás szektorok/olvasási hibák ( kemény hibák ) ellen, és azokból való helyreállításhoz , nem nyújtanak védelmet a katasztrofális hibák (tűz, víz) vagy lágy hibák , például felhasználói hibák miatti adatvesztés ellen. , szoftverhiba vagy rosszindulatú programfertőzés. Értékes adatok esetén a RAID csak egy építőeleme egy nagyobb adatvesztés -megelőzési és helyreállítási tervnek - nem helyettesítheti a biztonsági mentési tervet.

RAID 0

Egy RAID 0 beállítás diagramja

A RAID 0 (más néven csíkkészlet vagy csíkos kötet ) egyenletesen osztja fel (" csíkok ") az adatokat két vagy több lemezen, paritásinformáció , redundancia vagy hibatűrés nélkül . Mivel a RAID 0 nem biztosít hibatűrést vagy redundanciát, egy meghajtó meghibásodása miatt a teljes tömb meghibásodik; mivel az összes lemezen lévő adatok csíkosak, a hiba teljes adatvesztést eredményez. Ezt a konfigurációt általában úgy hajtják végre, hogy a cél a sebesség. A RAID 0 -t általában a teljesítmény növelésére használják, bár arra is használható, hogy nagy logikai kötetet hozzon létre két vagy több fizikai lemezből.

A RAID 0 beállítás különböző méretű lemezekkel hozható létre, de az egyes lemezek által a tömbhöz hozzáadott tárhely a legkisebb lemez méretére korlátozódik. Például, ha egy 120 GB -os lemezt egy 320 GB -os lemezzel csíkoznak össze, a tömb mérete 120 GB × 2 = 240 GB lesz. Egyes RAID -implementációk azonban lehetővé teszik a fennmaradó 200 GB más célokra való felhasználását.

Az ebben a szakaszban látható diagram azt mutatja, hogy az adatok hogyan oszlanak el két lemez A x csíkjaiba, A1: A2 az első csík, A3: A4 a második stb. 0 tömb, azt folyamatosan karban kell tartani. Mivel a csíkok párhuzamosan érhetők el, az n -meghajtó RAID 0 tömb egyetlen nagy lemezként jelenik meg, az adatsebesség n -szer nagyobb, mint az egylemezes sebesség.

Teljesítmény

A RAID 0 tömb n meghajtók biztosítja az adatok olvasási és írási adatátviteli sebesség n -szer akkora, mint az egyes meghajtók árak, de nincs adat redundanciát. Ennek eredményeként a RAID 0 -t elsősorban olyan alkalmazásokban használják, amelyek nagy teljesítményt igényelnek, és képesek elviselni az alacsonyabb megbízhatóságot, például tudományos számítástechnikában vagy számítógépes játékokban .

Az asztali alkalmazások egyes referenciamutatói azt mutatják, hogy a RAID 0 teljesítménye némileg jobb, mint egyetlen meghajtó. Egy másik cikk megvizsgálta ezeket az állításokat, és arra a következtetésre jutott, hogy "a csíkozás nem mindig növeli a teljesítményt (bizonyos helyzetekben valóban lassabb lesz, mint a nem RAID beállítás), de a legtöbb esetben jelentős javulást eredményez". A szintetikus benchmarkok különböző szintű teljesítményjavulásokat mutatnak, ha több merevlemezt vagy SSD-t használnak a RAID 0 beállításban, összehasonlítva az egymeghajtásos teljesítménnyel. Ugyanakkor egyes szintetikus benchmarkok teljesítménycsökkenést mutatnak ugyanazon összehasonlításhoz.

RAID 1

Egy RAID 1 beállítás diagramja

A RAID 1 két vagy több lemezen lévő adathalmaz pontos másolatából (vagy tükréből ) áll; egy klasszikus RAID 1 tükrös pár két lemezt tartalmaz. Ez a konfiguráció nem kínál paritást, csíkozást vagy lemezterület -kiterjesztést több lemezen, mivel az adatok a tömbhöz tartozó összes lemezen tükröződnek, és a tömb csak akkora lehet, mint a legkisebb tag lemez. Ez az elrendezés akkor hasznos, ha az olvasási teljesítmény vagy megbízhatóság fontosabb, mint az írási teljesítmény vagy az adattárolási kapacitás.

A tömb addig működik, amíg legalább egy tagmeghajtó működik.

Teljesítmény

Bármilyen olvasási kérést kiszolgálhat és kezelhet a tömb bármely meghajtója; így az I/O terhelés jellegétől függően a RAID 1 tömb véletlenszerű olvasási teljesítménye egyenlő lehet az egyes tagok teljesítményének összegével, míg az írási teljesítmény egyetlen lemez szintjén marad. Ha azonban különböző sebességű lemezeket használnak egy RAID 1 tömbben, akkor az általános írási teljesítmény megegyezik a leglassabb lemez sebességével.

A szintetikus referenciaértékek különböző szintű teljesítményjavulásokat mutatnak, ha több merevlemezt vagy SSD-t használnak a RAID 1 beállításban, összehasonlítva az egymeghajtásos teljesítménnyel. Ugyanakkor egyes szintetikus benchmarkok teljesítménycsökkenést mutatnak ugyanazon összehasonlításhoz.

RAID 2

Egy RAID 2 beállítás diagramja

RAID 2 , ami ritkán használják a gyakorlatban, csíkok adatokat a bit (inkább, mint blokk) szinten, és használja a Hamming-kód a hibajavítás . A lemezeket a vezérlő szinkronizálja, hogy ugyanazon szögirányban forogjanak (egyszerre érik el az indexet), így általában nem tud egyszerre több kérést kiszolgálni. Azonban a nagy sebességű Hamming -kódtól függően sok orsó párhuzamosan működne az adatok egyidejű átvitelével, így "nagyon nagy adatátviteli sebesség" lehetséges, mint például a DataVault -ban, ahol 32 adatbit egyidejű továbbítása történt meg.

Mivel minden merevlemez -meghajtó belső hibajavítást hajt végre, a külső Hamming -kód bonyolultsága kevés előnnyel járt a paritáshoz képest, ezért a RAID 2 -t ritkán alkalmazták; ez az egyetlen eredeti RAID szint, amelyet jelenleg nem használnak.

RAID 3

A hatbájtos blokkokból és két paritásbájtból álló RAID 3 konfiguráció diagramja két ábrán látható, különböző színű adatblokk.

A gyakorlatban ritkán használt RAID 3 bájtos szintű csíkozásból áll egy dedikált paritáskoronggal . A RAID 3 egyik jellemzője, hogy általában nem tud egyszerre több kérést kiszolgálni, ami azért történik, mert minden egyes adatblokk értelemszerűen a halmaz összes tagjára lesz elosztva, és ugyanazon a fizikai helyen lesz minden lemezen. Ezért minden I/O művelet aktivitást igényel minden lemezen, és általában szinkronizált orsókat igényel.

Ez alkalmassá teszi azokat az alkalmazásokat, amelyek a legmagasabb átviteli sebességet igénylik hosszú szekvenciális olvasásoknál és írásoknál, például tömörítetlen videószerkesztésnél. Azok az alkalmazások, amelyek kis olvasásokat és írásokat végeznek véletlenszerű lemezhelyekről, a legrosszabb teljesítményt érik el ezen a szinten.

Az a követelmény, hogy minden lemez szinkronban ( zárolt lépésben ) forogjon, olyan tervezési megfontolásokat tett hozzá, amelyek nem jelentettek jelentős előnyt a többi RAID -szinthez képest. A RAID 3 -at és a RAID 4 -et is gyorsan felváltotta a RAID 5. A RAID 3 -at általában hardveresen valósították meg, és a teljesítményproblémákat nagy lemezgyorsítótár használatával oldották meg.

RAID 4

1. ábra: RAID 4 beállítás dedikált paritáslemezzel , minden szín a megfelelő paritásblokk blokkcsoportját jelzi (csík)

RAID 4 áll blokk szintű szétválasztás történik, dedikált paritás lemez. Elrendezésének köszönhetően a RAID 4 jó teljesítményt nyújt a véletlenszerű olvasások során, míg a véletlenszerű írások teljesítménye alacsony, mivel minden paritásadatot egyetlen lemezre kell írni, kivéve, ha a fájlrendszer RAID-4-érzékeny és kompenzálja a hogy.

A RAID 4 előnye, hogy gyorsan kiterjeszthető online, paritás újraszámítás nélkül, amíg az újonnan hozzáadott lemezek teljesen tele vannak 0 bájttal.

Az 1. ábrán az A1 blokk olvasási kérését a 0. lemez kiszolgálja. A B1 blokk egyidejű olvasási kérelmére várni kell, de a B2 -re vonatkozó olvasási kérelmet egyidejűleg az 1. lemez is kiszolgálhatja.

RAID 5

A RAID 5 elrendezésének diagramja, ahol minden szín az adatblokkok csoportját és a hozzájuk tartozó paritásblokkot (csíkot) ábrázolja . Ez az ábra a bal aszinkron elrendezést mutatja

A RAID 5 blokk szintű csíkozásból áll, elosztott paritással. A RAID 4 -től eltérően a paritásinformációk a meghajtók között oszlanak el. Ahhoz, hogy működjön, egyetlen meghajtónak jelen kell lennie. Egyetlen meghajtó meghibásodása esetén a későbbi leolvasások kiszámíthatók az elosztott paritásból, így nem vesznek el adatok. A RAID 5 legalább három lemezt igényel.

A RAID 5 lemezmeghajtó tömbben sok adat- és paritáselrendezés létezik, a lemezekre írási sorrendtől függően, azaz:

  1. a lemeztömbön balról jobbra vagy jobbról balra írott adatblokkok sorozata, 0 és N közötti lemezek, és
  2. a paritásblokk helye a csík elején vagy végén, és
  3. a csík első blokkjának helye az előző csík paritásához képest.

A jobb oldali ábra 1) balról jobbra írt adatblokkokat, 2) a csík végén lévő paritásblokkot és 3) a következő csík első blokkját nem ugyanazon a lemezen találja, mint az előző sáv paritásblokkja. Meg lehet kijelölni egy bal aszinkron RAID 5 elrendezés és ez az egyetlen elrendezés azt a legutolsó kiadásában The Raid könyv által közzétett megszűnt Raid tanácsadó testület. A szinkron elrendezés az adatok első blokkja a következő csík van írva a meghajtóra a paritásblokk az előző csík.

A RAID 4 -hez képest a RAID 5 elosztott paritása kiegyenlíti a dedikált paritáslemez feszültségét az összes RAID -tag között. Ezenkívül az írási teljesítmény növekszik, mivel minden RAID -tag részt vesz az írási kérések kiszolgálásában. Bár ez nem lesz olyan hatékony, mint a csíkozás (RAID 0) beállítása, mivel a paritást továbbra is meg kell írni, ez már nem szűk keresztmetszet.

Mivel a paritásszámítást a teljes csíkon hajtják végre, a tömbélmény apró változtatásai erősítést írnak : a legrosszabb esetben, amikor egyetlen, logikus szektort kell írni, az eredeti szektort és a megfelelő paritásszektort kell olvasni, az eredeti adatokat eltávolításra kerül a paritásból, az új adatok a paritásba kerülnek, és mind az új adatszektor, mind az új paritásszektor kiírásra kerül.

RAID 6

Diagram egy RAID 6 beállítás, amely azonos a RAID 5 más, mint a hozzáadása egy második paritás blokk

A RAID 6 kiterjeszti a RAID 5 -öt egy újabb paritásblokk hozzáadásával ; így blokkszintű csíkozást használ , két paritásblokkkal elosztva az összes taglemezen.

A RAID 5 -hez hasonlóan a RAID 6 lemez tömböknek is sok elrendezése van, attól függően, hogy milyen irányba írják az adatblokkokat, a paritásblokkok elhelyezkedését az adatblokkokhoz képest, és attól, hogy egy következő csík első adatblokkja van -e írva. ugyanahhoz a meghajtóhoz, mint az előző csík utolsó paritásblokkja. A jobb oldali ábra csak egy a sok ilyen elrendezés közül.

A Storage Networking Industry Association (SNIA) szerint a RAID 6 definíciója a következő: "A RAID bármilyen formája, amely képes folytatni az olvasási és írási kérések végrehajtását a RAID tömb összes virtuális lemezére két egyidejű lemezhiba esetén. A RAID 6. szint megvalósításához számos módszert alkalmaztak, beleértve a kettős ellenőrzési adatok számítását (paritás és Reed – Solomon ), az ortogonális kettős paritásellenőrzési adatokat és az átlós paritást. "

Teljesítmény

A RAID 6 nem rendelkezik teljesítménybüntetéssel az olvasási műveletekért, de teljesítménybüntetéssel rendelkezik az írási műveletekre a paritásszámításokhoz kapcsolódó általános költségek miatt. A teljesítmény nagymértékben változik attól függően, hogy a RAID 6 hogyan valósul meg a gyártó tárolási architektúrájában - szoftverben, firmware -ben, vagy firmware és speciális ASIC -ek használatával az intenzív paritásszámításhoz. A RAID 6 ugyanolyan sebességgel tud olvasni, mint a RAID 5 azonos számú fizikai meghajtóval.

Átlós vagy ortogonális kettős paritás használata esetén az írásműveletekhez második paritásszámítás szükséges. Ez megduplázza a CPU többletköltségét a RAID-6 írásoknál, szemben az egyparitásos RAID szintekkel. Reed Solomon kód használata esetén a második paritásszámítás felesleges. Reed Solomon előnye, hogy lehetővé teszi az összes redundancia információ tárolását egy adott csíkon belül.

Egyszerűsített paritás példa

Tegyük fel, hogy adatainkat darabokra szeretnénk terjeszteni . Célunk két paritásérték meghatározása, és szindrómák néven , amelyek olyan fizikai meghajtók rendszerét eredményezik , amely ellenáll bármelyik kettő elvesztésének. Annak érdekében, hogy egynél több független szindrómát generáljunk, el kell végeznünk a paritás számításainkat a méretes adatdarabokon. A gyakorlatban tipikus választás a darab méret , azaz az adatok bájtos csíkozása. Mi jelöli a bázis-2 ábrázolása egy adatok darab , mint , ahol minden jelentése 0 vagy 1.

Ha kis töredékeket használunk, akkor használhatunk egy egyszerű paritásszámítást, amely általában motiválja a Reed – Salamon rendszer használatát. Az első paritásértékünkhöz kiszámítjuk az adatok egyszerű XOR -ját a csíkokon keresztül, mint a RAID 5 esetében.

ahol a XOR operátort jelöli. A második paritásérték analóg, de minden egyes adatdarabnál más-más értéket toltak el. Írás , mi határozzuk meg
Egyetlen meghajtó meghibásodása esetén az adatok újraszámíthatók ugyanúgy, mint a RAID 5 esetében. Megmutatjuk, hogy 2 meghajtó egyidejű meghibásodása után is helyreállhatunk. Ha elveszítünk egy adatdarabot, és helyreállíthatjuk a maradék adatokat, és használhatjuk azt . Tegyük fel, hogy egy darabos rendszerben a darabot tartalmazó meghajtó meghibásodott. Tudunk számolni

és helyreállíthatja az elveszett adatokat a biteltolás visszavonásával. Két adatlemez meghibásodása után is helyreállhatunk a XOR kiszámításával és a fennmaradó adatokkal. Ha az előző példában a darab is elveszett volna, akkor kiszámítanánk

Bites szinten ez ismeretlenek egyenletrendszerét jelenti, amelyek egyedileg határozzák meg az elveszett adatokat.

Ez a rendszer többé nem működik több meghajtó esetén . Ennek az az oka, hogy ha többször alkalmazzuk a műszak -kezelői időket egy darab hosszúságra , akkor visszajutunk oda, ahol elkezdtük. Ha megpróbálnánk a fenti algoritmust alkalmazni az adatlemezeket tartalmazó rendszerre , akkor a második egyenlet jobb oldala lenne , amely megegyezik az első egyenlethalmazzal. Ez csak feleannyi egyenletet eredményezne, mint amennyi a hiányzó értékek megoldásához szükséges.

Általános paritásrendszer

Sokkal nagyobb számú meghajtó támogatása lehetséges a paritás funkció gondosabb megválasztásával. Az a probléma, amellyel szembe kell néznünk annak biztosításában, hogy a véges mező feletti egyenletrendszer egyedi megoldással rendelkezzen, ezért rátérünk a polinom egyenletek elméletére. Tekintsük a Galois mező az . Ez a mező izomorf egy polinommezőhöz egy megfelelő redukálhatatlan polinomhoz , amelynek foka meghaladja . Az adatelemeket polinomként ábrázoljuk a Galois mezőben. Lehetővé teszi, hogy megfeleljenek az ilyen módon mezőelemként kódolt merevlemezek adatcsíkjainak. A mezőben az összeadást, a szorzást pedig az összefűzést fogjuk használni . Az újrafelhasználás szándékos: ez azért van, mert a véges mezőbe való összeadás az XOR operátort jelenti, így két elem összegének kiszámítása egyenértékű az XOR számításával a polinomiális együtthatókon.

Egy mező generátora a mező olyan eleme, amely minden nem-negatív esetén eltérő . Ez azt jelenti, hogy a mező minden eleme, az érték kivételével , írható teljesítményként. Egy véges mező garantáltan rendelkezik legalább egy generátorral. Válassz egy ilyen generátor , és határozza meg , és a következők szerint:

Mint korábban, az első ellenőrző összeg csak az egyes csíkok XOR -ja, bár most polinomként értelmezzük. A hatása úgy tekinthető, mint egy gondosan megválasztott lineáris visszacsatolási eltolásregiszter hatása az adatrészre. Az egyszerűsített példában szereplő biteltolódástól eltérően, amelyet csak a kódolás megismétlődése előtti időkben lehetett alkalmazni, az operátor többszörös alkalmazása garantáltan egyedi invertálható funkciókat eredményez, amelyek lehetővé teszik egy darab hosszúságú adatadatok támogatását .

Ha egy adatrész elveszik, a helyzet hasonló az előzőhöz. Két elveszett adatdarab esetén algebrai módon kiszámíthatjuk a helyreállítási képleteket. Tegyük fel, hogy és ezek az elveszett értékek , majd a többi értékét használva konstansokat és :

Megoldhatjuk a második egyenletben, és csatlakoztathatjuk az elsőhöz , majd megtaláljuk .

A P -vel ellentétben a Q kiszámítása viszonylag CPU -igényes, mivel magában foglalja a polinomiális szorzást . Ezt hardveres megvalósítással vagy FPGA használatával lehet enyhíteni .

Összehasonlítás

Az alábbi táblázat áttekintést nyújt a standard RAID -szintek néhány szempontjáról. A tömbterület -hatékonyságot minden esetben kifejezésként adjuk meg a hajtások számában, n ; ez a kifejezés egy töredékértéket jelöl nulla és egy között, ami a hajtások kapacitásának összegének a töredékét jelenti. Például, ha a RAID 3 -ban három meghajtó van elrendezve, ez 1 - 1/ n = 1 - 1/3 = 2/3 - 67% tömbhatékonyságot eredményez ; így ha a példában szereplő meghajtók kapacitása 250 GB, akkor a tömb teljes kapacitása 750 GB, de az adattárolásra használható kapacitás csak 500 GB.

Szint Leírás A meghajtók minimális száma Térhatékonyság Hibatűrés Olvassa el a teljesítményt Írja a teljesítményt
mint egyetlen lemez tényezője
RAID 0 Blokk-szintű csíkozás nélkül paritás vagy tükrözés 2 1 Egyik sem n n
RAID 1 Tükrözés paritás vagy csíkozás nélkül 2 1/n n - 1 hajtáshiba n 1
RAID 2 Bit szintű csíkozás Hamming kóddal a hibajavításhoz 3 1 - 1/nnapló 2 ( n + 1) Egy meghajtó hiba Attól függ Attól függ
RAID 3 Bájtos szintű csíkozás dedikált paritással 3 1 - 1/n Egy meghajtó hiba n - 1 n - 1
RAID 4 Blokkszintű csíkozás dedikált paritással 3 1 - 1/n Egy meghajtó hiba n - 1 n - 1
RAID 5 Blokkszintű csíkozás elosztott paritással 3 1 - 1/n Egy meghajtó hiba n egyetlen szektor: 1/4
teljes csík: n - 1
RAID 6 Blokkszintű csíkozás kettős eloszlású paritással 4 1 - 2/n Két meghajtó hiba n egyetlen szektor: 1/6
teljes csík: n - 2

A rendszer következményei

Az öt tárolási konfigurációjú öt fájlrendszer - egyetlen SSD, RAID 0, RAID 1, RAID 10 és RAID 5 - I/O teljesítményének mérésekor kimutatták, hogy a RAID 0 és a RAID 5 F2FS nyolc SSD -vel ötször jobb, mint az EXT4 illetve 50 -szer. A mérések arra is utalnak, hogy a RAID -vezérlő jelentős szűk keresztmetszetet jelenthet a nagy sebességű SSD -ket tartalmazó RAID -rendszer építésében.

Beágyazott RAID

Két vagy több szabványos RAID szint kombinációja. RAID 0+1 vagy RAID 01, RAID 0+3 vagy RAID 03, RAID 1+0 vagy RAID 10, RAID 5+0 vagy RAID 50, RAID 6+0 vagy RAID 60 és RAID 10+0 néven is ismertek. vagy RAID 100.

Nem szabványos változatok

A szabványos és beágyazott RAID-szintek mellett alternatívák a nem szabványos RAID-szintek és a nem RAID-meghajtó-architektúrák . A nem RAID meghajtó architektúrákra hasonló kifejezések és mozaikszavak hivatkoznak, nevezetesen a JBOD ("csak egy csomó lemez"), a SPAN/BIG és a MAID ("üresjárati lemezek tömege").

Megjegyzések

Hivatkozások

További irodalom

Külső linkek