A RAID-ről kezdőknek - 3.

Szerző: Cerebellum | Dátum: 2006-12-19 23:10 | Rovat: Számtech

Befejező részéhez ér a cikksorozat, lássuk, mi van a RAID1-en túl! Egy alapvető félreértést...

[ Új cikk ]

Befejező részéhez ér a cikksorozat, lássuk, mi van a RAID1-en túl!

Egy alapvető félreértést fontos tisztázni: a cikk kezdőknek szól, de alapvetően tudásanyagban kezdőknek, és nem anyagiakban kezdőknek. Ha így lenne, akkor a harmadik részre nem is lenne szükség. Az ugyanis, amiről most szó lesz, az a RAID5, a RAID6 és a többszintes RAID, amelyek közül egyik sem filléres dolog.

RAID5? Hiszen nem volt 2,3 és 4 sem. No akkor az elejéről. A RAID1 a tükrözés volt, ahol minden adat megvolt minden lemezen. Igen ám, de így pótlólagos lemez hozzáadásával csak a biztonságot lehetett növelni, a területet és a sebességet nem. Itt aztán kigondolták azt, hogy mi van akkor, ha nem magukkal az adatokkal ''játszanak'', hanem hibajavító kódokat csinálnak, amelyekből aztán visszaszámolják az eredeti adatokat? Megszületik a RAID2.

A RAID 2 használja a sávokra bontás módszerét, emellett egyes meghajtókat hibajavító kód tárolására használják. Ezen meghajtók egy-egy sávjában a különböző lemezeken azonos pozícióban elhelyezkedő sávokból képzett hibajavító kódot tárolnak. A módszer lemezhiba esetén képes annak detektálására, illetve kijavítására. Ma már két okból nem használják. Egyrészt a SCSI lemezeken használt ECC technológia miatt, másrészt pedig a csak azonos pozícióban tárolt hibajavítás, illetve a teljes hibajavítás tárolása miatt lassú.

A RAID 3 felépítése hasonlít a RAID 2-re, viszont nem teljes hibajavító kód, hanem csak egy diszknyi paritásinformáció kerül eltárolásra. Egy adott paritássáv a különböző diszkeken azonos pozícióban elhelyezkedő sávokból XOR művelet segítségével kapható meg. A rendszerben egy meghajtó kiesése nem okoz problémát, mivel a rajta lévő információ a többi meghajtó (a paritást tároló meghajtót is beleértve) XOR-aként megkapható. Az alapvető különbség a RAID 2-ben alkalmazott hibajavító kóddal szemben, hogy itt feltesszük, hogy a meghajtó meghibásodását valamilyen módón észleljük, majd a meghibásodott diszken lévő információt a többi diszken lévő adatok segítségével állítjuk elő. A RAID 3-nál kisméretű sávokat definiálnak, így az egyes fájlok olvasása és írása párhuzamosan történhet az egyes meghajtókon, viszont a módszer nem támogatja egyszerre több kérés párhuzamos kiszolgálását.

Nagyonszuper. Na most jön a lényeg. A RAID4.


[kép]


A RAID 4 felépítése a RAID 3-mal megegyező. Az egyetlen különbség, hogy itt nagyméretű sávokat definiálnak, így egy rekord egy meghajtón helyezkedik el, lehetővé téve egyszerre több (különböző meghajtókon elhelyezkedő) rekord párhuzamos írását, illetve olvasását. Problémát okoz viszont, hogy a paritás meghajtó adott sávját minden egyes íráskor frissíteni kell (plusz egy olvasás és írás), aminek következtében párhuzamos íráskor a paritás meghajtó a rendszer szűk keresztmetszetévé válik. Ezenkívül valamely meghajtó kiesése esetén a rendszer olvasási teljesítménye is lecsökken, a paritás meghajtó jelentette szűk keresztmetszet miatt.

Hopp, ez már itt nagyon ügyes, párhuzamos rekordírás, de komoly hibája, hogy a paritásbiteket egy lemezen tárolja. Ezeknek az írása lelassítja az egész rendszert. Mi tehát a teendő? Szét kell szórni a paritásbiteket a meghajtókon. Ha ezt egy RAID4-gyel megtesszük, megkapjuk a ma legelterjedtebb, és legkifinomultabb, és leggyakrabban használt változatát a RAID-nek, az ötödik szintet.

A RAID5 tehát körbeforgós paritásrendszert használ.


[kép]


Ez száműzi a paritáslemez miatti lassúságot, és a blokkmérete változtatható. A kis blokkméret RAID3-hoz hasonló, a nagy blokkméret RAID4-hez hasonló elérést eredményez. Hasonlít a RAID0 esetében beállítandó blokkmérethez.

Akkor nézzük a fícsöröket. A RAID5 minimálisan 3 lemezt igényel. Használata számításigényes. Jól kalibrálható és optimalizálható a blokkméret helyes megválasztásával. Pótlólagos lemezek hozzáadásával bővíthető. Ha továbbra is csak adatsoronként számoltatunk paritást, akkor a terület növekszik. Ha nem, akkor elértük a RAID6 szintet. Ez a RAID5 bővítése olyan módon, hogy itt nemcsak soronként, hanem oszloponként is kiszámítják a paritást. A módszer segítségével kétszeres meghajtó meghibásodás is kiküszöbölhetővé válik. A paritássávokat itt is az egyes meghajtók között, egyenletesen elosztva tárolják, de ezek természetesen kétszer annyi helyet foglalnak el, mint a RAID 5 esetében.

Megfelelő vezérlő segítségével - ahol is végképp tessék elfelejteni a 100 ezer forint alatti kategóriát - korlátlanul állítgathatjuk a tömb paramétereit. A tömb létrehozásához tehát legalább 3 egyforma, lehetőleg azonos típusú lemez kell. A tárterület minden esetben a [''lemezek száma'' - ''paritásbitek számítások száma (RAID5-nél 1, RAID6-nál 2)'' ] × ''egy lemez területe'' képlettel lehet számolni. A paritásbitek száma értelemszerűen 1 a RAID5 és 2 a RAID6 estében. A továbbiakban a RAID5-ről lesz szó, RAID6 esetén logikailag kell kiegészíteni az adatokat a plusz egy paritáslemezzel.

A tömb dimenzióit illetően: 4-5 lemezből érdemes RAID5-öt csinálni, többől nem. Egyrészt a hibatűrés csökken. Nem mindegy ugyanis, hogy egy RAID rendszerben 4 lemezenként 1, vagy 6 lemezenként 1 mehet tönkre. Másrészt pedig túlzottan számításigényes lesz a tömb kezelése, ami inkább az emeletes RAID felé tereli a rendszergazdákat. A nagy tárolók többnyire vagy 5-6 lemezes RAID5-6 tömbből építkeznek, vagy 16 lemezes, de RAID7-8 tömböket használnak. Ezen a rendszerek igen bonyolultak, szintén paritásbitekkel dolgoznak, de azokat keresztben is számolják. Részletes ismertetését nem tartom szükségesnek.

A RAID5-ről úgy érzem, mindent leírtam, amit tudni érdemes. Talán még annyit, hogy RAID5-öt akkor használunk, ha jó RAID kártyánk van, ami a paritásbiteket maga számolja, és egyenletesen gyors teljesítményt szeretnénk. Fontosnak tartom hangsúlyozni, hogy a szoftveres RAID5 (ide tartozik az összes alaplapi és kb 60 ezer alatt lévő RAID kártya, és az operációs rendszerek megoldásai) még távolról sem ad hasonló teljesítményt, mint a hardveres megoldás. A processzort fogja, és lassú. Továbbá megbízhatósága az OS megbízhatóságának szintjén áll. Tehát próbából igen, de komoly munkára otthon senki ne álljon neki RAID5-öt építeni, mert csalódni fog. Megbízhatóbb és gyorsabb ilyenkor egy emeletes RAID.

De mi is ez? Először nézzünk egy egyszerű példát, a RAID0+1-et, vagy más írásmóddal a RAID01-et. Van négy lemezünk. Létrehozunk két-két lemezből egy-egy RAID0 tömböt, tehát ABCD lemeznél AB és CD alkot egy-egy RAID0 tömböt. Aztán ezeket, mint két virtuális lemezt, összekötjük egy tükrözéssel. Így ha adatot írunk a tömbre, akkor a RAID1 alrendszer kiírja azt mindkét RAID0 tömbre, AB-re és CD-re is. Ott pedig a RAID0 alrendszer kiírja ezeket a fizikai lemezekre, csíkozva.


[kép]


Lássuk fordítva: RAID10 (nem tíz, hanem egynull). Ilyenkor AB és CD lemezek RAID1 tömböt alkotnak, és felette van a RAID0. A logika ugyanaz.


[kép]


A redundanciát tekintve csak egy lemez hibásodhat meg mindkét megoldás során. RAID01 esetében ABCD lemezek közül ha ''A'' lemez meghibásodik, akkor a felsőbb szinten lévő RAID1 vezérlő azt érzékeli, hogy egyész AB tömrész kiesett, tehát ha B lemez is kiesne, nem történne semmi. Viszont ha a CD tömbrészből kiesik bármelyik lemez, akkor a bulinak vége van. A különbség most jön, avagy miben más a raid 1+0 megoldást. ABCD lemezből ha ''A'' lemez kiesik, akkor még AB tömb ép marad, a RAID1 miatt. Itt pont fordított eset áll elő a RAID01-hez képest, C vagy(!) D lemezek kieshetnek, de ha B kiesik, akkor vége az egész tömbnek.

RAID10-t akkor célszerű használni, ha nincs saját processzoros RAID-kártyánk, de szeretnénk adatbiztonságot és sebességet is. Ezek egyben előnyei is, nem bonyolult, nem számításigényes, ugyanakkor sok lemez kell hozzá, és relative kis területet ad, mert a lemezek fele mindig tükör, ehhez képest ugyanúgy csak egy lemez halhat meg, mint a RAID5-ben! Itt már körvonalazódik, hogy mért ajánlom mindig a RAID5-öt annak, aki megteheti, persze csak és kizárólag hardveresen. Lemez szinten költséghatékonyabb, tehát ugyanannyi pénzért több területet kapunk azonos sebességgel, és ugyanakkora redundanciával. Viszont ez alapvetően technikailag állja meg a helyét. Ha az árakat abszolút nézzük, akkor ha már rendelkezünk erős RAID kártyával, olcsóbb a RAID5. Ha viszont otthoni rendszert építünk nulláról, úgy sokkal kifizetődőbb RAID01-et használni, még akkor is ha több lemez kell hozzá, hiszen egy komoly RAID5/6 vezérlő 100 ezer forint körül van, határ meg a csillagos ég.

Vannak további többszintes RAID-ek, ilyen például az, amikor a RAID5-öt kombináljuk valamely más RAID szinttel, a 0-val vagy az 1-gyel. A RAID50 ugyanakkor nem szerencsés dolog, ugyanis minimum 6 lemezt igényel, a terület csak 4 lemeznyi lesz, de a redundancia nem nő, mert ugyanúgy 1 lemez mehet tönkre. A RAID51 viszont egész gyakori, így növelve a RAID5 tömb olvasási sebességét, és redundanciáját. Ezek viszont nagyonkomoly kártyát igényelnek.

Speciális esetben beszélhetünk 3 szintes RAID-ről, ezt csak technikai kuriózumként említem meg. Képzeljünk egy 16 lemezes szörnyeteget, ahol hardveresen kialakítunk két RAID50 tömböt, egyenként 8 lemezzel. Ez már önmagában egy kétszintes szörnyeteg, de ezt megfejeljük azzal, hogy operációs rendszerünkkel a két tömböt tükrözzük! Így tulajdonképpen egy RAID501-et kapunk, 16 lemezből 6 lemeznyi területtel, a redundanciát illetően pedig bármely 3 lemez kieshet. Magyarul marha gazdaságtalan, de brutális.

Pár szó az ECC-ről. Az ECC annyit tesz: Error Correcting Code, magyarul Hibajavító Kód. Működési elve igen sokszínű, de a lényeg mindig az, hogy a fő adat mellett abból származtatott pótadatok kerülnek rögzítésre, legyenek ezek függvények, vagy konkrét adatok. Vagy pusztán ezekből, vagy ezek segítségével más adatok kombinációiból elő lehet állítani az eredeti adatot, bizonyos kereteken belül. Hogy a XOR (kizáró vagy) számítások hogy néznek ki ECC esetén, arról hadd idézem joghurt kollégát: A XOR azért jó, mert ha C = A XOR B, akkor A = C XOR B és B = C XOR A, azaz emiatt állítható vissza bármelyik vinyó a másik kettőből. És ez igaz akárhány tagra, azaz D = A XOR B XOR C esetén A = D XOR A XOR B stb.

Sokan kérdezték, mi a különbség az ATA és a SCSI lemezek között, mért akkora fenenagy dolog a SCSI. Nos egy merevlemez kapcsán két dologról van szó, az elektronikai oldalról és a mechanikai oldalról. A SCSI-nak mindkettőben előnye volt, van, és lesz. Mechanikailag stabilabb, robosztusabb eszközök ezek, ahol első a funkcionalitás, és minden más másodlagos. Hangos? Kit érdekel, ha késleltetése FELE egy átlag SATA lemeznek... Tehát mechanikai előnyük van. Emellett az elektronika még egy nagyon lendít az egészen. A SCSI teljesen más kommunikációs rendszerben működik, mint az ATA. Parancsok mennek ide-oda, ez eddig jó is, de például az írási visszaigazolások sokkal jobban alkalmasak ''nagyüzemi'' feladatokra, mint az ATA lemezek. A terminálás is kezdettől fogva profin megoldott, minden eszköznek sorszáma van, ez az ATA esetében sokszor volt probléma. Egy SCSI kábel akár 8 méter hosszú is lehet, és akár 32 csatlakozót is tartalmazhatott. Teljesen máshogy kerülnek kihasználásra a lemezcache-ek. Eredmény? Jobban melegedő és hangosabb lemezek, botrányosan alacsony késleltetéssel és igen gyors eléréssel. A lineáris olvasásuk annyira nem gyors, tehát nem itt az erejük. Viszont egyenletesen adják le teljesítményüket, és arra vannak méretezve, hogy 5 évet menjenek 24/7 módban.

Végezetül pedig összefoglalnám a RAID-ről kapcsolatos alapvető tudnivalókat. Elsőként mindennek az alapja: A RAID-et nem ATA-hoz találták ki. Ezt mindenki tartsa szem előtt. Vannak profi SATA megoldások, de a RAID alapvetően a SCSI kommunikációra épít. Fontos továbbá, hogy megfelelő RAID-vezérlőt válasszunk. Egy egyszerűbb, teljesítményigényes rendszernél elég az alaplapi megoldás, viszont a stabilitása nem lesz kiemelkedő és az egyenletes teljesítmény sem az erőssége. Ha kritikus szemmel tekintünk ezekre a kérdésekre, akkor igen mélyen zsebbe kell nyúlni, de azért már nem marketing az alaplapi SATA RAID.

Aztán vannak itt ergonómiai kérdések is. Például remek, hogy van 8 merevlemezünk, de a hangjától a falat fogjuk kaparni, ugyanis önmagában is hangosak, de még hűteni is kell őket. Sok lemezhez továbbá nagy ház is kell, ami megint plusz pénz. Ne legyünk lusták a technológiák használatát illetően, nem azért vannak, hogy hagyjuk őket a francba. Érdemes kipróbálni a linux alatti szoftraidet, mert jobb, mint a windowsos, hatékonyabb és gyorsabb.

Ezzel pedig vége a RAID cikksorozatnak. Akinek kérdése van, felteheti a topicban, melyet - ígéretemmel ellentétben - megnyitok. Az előzőt LGLuke kicsit szétkapta, amit én nehezményeztem. Bocsánatkérő levelére annyit, hogy tudunk kooperálni, más topicokban meg is tettük. A dolog el van felejtve, de a következő hasonlónál megfojtom. :-) Aki nem ért egyet valamivel, az érveljen korrektül, és következetesen. Továbbra is kérem a tisztelt fórumtagokat, hogy a cikket helyesírás, és nyelvhelyesség tekintetében ellenőrízzék.

Nem maradok azonban tétlen: készül a következő cikksorozat. Amolyan hiánypótló how-to lesz a windows-zal kapcsolatban. A többi legyen meglepi.

Üdv

Cerebellum

az első 6 hozzászólás a cikkhez

(#1) Peet

Új Válasz Privát 2006-12-19 21:00:45

Peet
(senior tag)

Remek volt ez a cikksorozat, élmény volt olvasni, rengeteget tanultam belőle köszönöm! :R

Ha már így szó esett a RAID rendszerekről Én személy szerint még kíváncsi lennék erre az ECC technológiára és a SCSI igazi előnyére az IDE-s lemezekkel szemben.

Amit nem értettem a cikkben az, hogy RAID 01 vagy RAID 10 miért nem jó pl: otthonra, amikor elvileg ugyanugy 1 lemez hibásodhat meg mint RAID 5 esetében (4 lemeznél) és ráadásul még talán nem is igényel olyan komoly vezérlőkártyát.
Persze lehet Én értettem félre valamit...


A helyesírási hibákról rögtön az elején: ''mit van a RAID1-en túl'' van egy plusz t. ;)

''gyertyafényes kernelfordítás'' by SZTAKI

(#2) sekli

Új Válasz Privát 2006-12-19 21:40:26

sekli
(PH! addikt)

Tényleg nagyon jó cikk...:R

kulcsszavak....:)

[ Szerkesztve ]

(#3) Cerebellum

Új Válasz Privát 2006-12-19 23:32:02

Cerebellum
(őstag)
(LOGOUT blog)

Korrigáltam a kérdéses területeket, és írtam még a kért témáról.

Kulcsszavak? :D Gondolkoztam, hogy beleírom: aki eddig elolvasta, kap egy sört :D

Garanciális ügyekkel kapcsolatban keressétek zsolesz010 fórumtársat!

(#4) Studi22

Új Válasz Privát 2006-12-20 08:35:10

Studi22
(fanatikus tag)

Kiválló cikk.
Én inkább vizuális tipus vagyok szeretem a képekkel illusztrált cikkeket,de ez képek nélkül is nagyon jó volt.
Minden tiszteletem a cikk írónak! :R

A világon a legveszélyesebb dolog,mikor a hülyeség szorgalommal párosul.

(#5) Cerebellum válasza Studi22 (#4) üzenetére

Új Válasz Privát 2006-12-20 09:27:42

Cerebellum
(őstag)
(LOGOUT blog)

Upgrade-eltem egy-két képpel.

Garanciális ügyekkel kapcsolatban keressétek zsolesz010 fórumtársat!

(#6) dbius

Új Válasz Privát 2006-12-20 09:43:14

dbius
(PH! addikt)
(LOGOUT blog)

Elismerésem :R :C

Mindhárom cikk érthető, és elég részletes ahhoz hogy valami képet kapjunk a RAID tömbök használatáról!

dbius

A női NEMnél csupán egyetlen dolog szebb és jobb... A női IGEN...