A RAID rendszerekrõl - kicsit alaposabban

Bevezetõ

Hardveres megoldásA számítástechnika rohamos fejlõdésével egyre újabb és újabb technológiák jelentek meg. A legforradalmibb áttörések egyike a számítógépek hálózatba kötése volt. A folyamatosan bõvülõ hálózatok viszont újabb problémát vetettek fel: szükségessé vált, hogy egyre nagyobb kapacitású merevlemezeket alkalmazzanak a különbözõ szerverekben. Igen ám, de a 80-as évek elején a komoly kapacitású merevlemezek rendkívül drágák voltak, azonkívül ha meghibásodtak a rajtuk levõ adatokat semmi nem védte. Ezen okok miatt a kaliforniai Berkeley egyetem kutatói egy olyan eljárás kifejlesztésébe kezdtek, amely kiválthatná a drága nagykapacitású merevlemezeket olcsó kisebb kapacitású merevlemezek kombinációjára. A kutatások furcsa eredményt hoztak: a költségek csökkenése mellett a teljesítmény jelentõs mértékben megnõtt, és mindezek mellett a merevlemezek elérési ideje lerövidült! De a dolognak volt egy negatívuma is, mégpedig a több lemez kombinációjában a meghibásodások száma is megnõtt, így az adatvesztés esélye még erõteljesebben jelentkezett. Ezért az egyetem kutatói több módszert fejlesztettek ki az adatvesztés megelõzésére, ezek közül a legjelentõsebb a RAID rendszer. Sajnos napjainkban a RAID tömbök nem csökkentik a költségeket, sõt jócskán meghaladják a standard tárolók költségeit, de teljesítményük, adatbiztonságuk jelentõs mértékben meghaladják a sima háttértárolókét.

Technológia

A RAID (Redundant Array of Inexpensive/Independent Disks - Olcsó/Független Merevlemezek Redundáns Tömbje) technológia célja, hogy több merevlemez-partíciót egy nagy, virtuális merevlemezzé fogjon össze a teljesítmény optimalizálása, az adatok biztonsága vagy mindkettõ érdekében. A módszer használata esetén azonban az egyik elõnyt fel kell áldozni a másik oltárán. A legtöbb RAID-vezérlõ az SCSI protokollt használja, mert több merevlemezt és hatékonyabb módon tud kezelni, mint az IDE protokoll, valamint alkalmasabb a parancsok párhuzamos végrehajtására. Léteznek IDE- és SATA-merevlemezeket használó RAID-vezérlõk is. Általában a "raidelés" hardveres úton történik, de ezek igen költséges megoldások, ezért kifejlesztették a lényegesen költséghatékonyabb hibrid, illetve szoftveres RAID-et is.

A szokásos RAID-szintek

RAID 0 (csíkozás)

Ez a szint az adathozzáférés sebességét javítja azáltal, hogy a fájlok blokkjait egynél több lemezre osztja szét. Szigorú értelemben ez nem igazi RAID, hiszen nem redundáns, nem biztosít adatvédelmet, de a RAID 0 név rajtaragadt az ilyen rendszereken. RAID 0 használatakor két vagy több merevlemez van összekapcsolva. A teljesítmény igen látványos, de akármelyik merevlemez meghibásodik, a teljes RAID-rendszer tönkremegy és elvesznek az adatok, mivel egy fájlt több merevlemezen, szétszórva tárol. Egyszerûségébõl fakadóan az átlagos felhasználók körében mégis ez a legelterjedtebb adatszervezési eljárás.

RAID 1 (tükrözés)

Ez a tömb megfelelõ biztonságot kínál, ugyanis az adatok egy az egyben még egy merevlemezre átmásolódnak. A megoldás másik neve a merevlemez tükrözése. Ha a lemez megsérül, a másik meghajtón még mindig rendelkezésre állnak az adatok. Addig, amíg a legutolsó lemez is el nem romlik, az adatok biztonságban vannak. Az írási teljesítmény egy kicsit leromlik a másolás során az egyetlen lemezes eléréshez képest (10-20 százalékkal lassúbb), de az olvasási teljesítmény lényegesen jobb bármelyik fizikai merevlemezhez képest, hiszen a megkettõzött adatok párhuzamosan kiolvashatók. Durva közelítésként úgy lehet tekinteni, hogy a RAID 1 közel kétszeres olvasási sebességet biztosít a külön merevlemezekhez képest, és majdnem ugyanazt az írási teljesítményt. A RAID 1 nem használ csíkozást, de gyakori a RAID 0 és az 1 összekapcsolása RAID 10 rendszerré.

RAID 2 és RAID 3

Ezek ritkán használt RAID-megvalósítások. A RAID 2 az adatokat nem blokk-, hanem bitszinten választja szét. A RAID 2 már használ csíkozást, emellett külön meghajtókat használnak a paritás információk tárolására Hamming-kód segítségével. A kód képes hibadetektálásra és javításra is. A RAID 3 esetén bájtonkénti szétválasztás történik, dedikált paritáslemezzel. Ez a szint nem képes egyidejûleg több kérés kiszolgálására. Mindkét szintet nagyon kevés helyen alkalmazzák.

RAID 4

RAID 4 esetében szintén blokkszintû szétválasztás történik (ugyanúgy, mint a 0. szint esetében), de van egy külön paritáslemez. Ha valamelyik lemez meghibásodik, a paritásadatok alapján pótolható. A paritáslemez azonban íráskor rontja a teljesítményt. Ezzel együtt, van ahol RAID 4 rendszereket használnak.

RAID 5

A RAID 5 egy bölcs kompromisszum a 0. és 1. szint között a teljesítmény és a redundancia szempontjából. A használható merevlemez-terület az összes lemezek száma, mínusz egy. Az adatok a RAID 0-hoz hasonlóan el vannak osztva a merevlemezek között. Az egyik partíción paritásblokkok készülnek az adatok védelme érdekében. Egymással XOR-kapcsolatban vannak, vagyis a rendszer meghibásodása esetén a megfelelõ paritásblokk alapján helyreállíthatók a kiesett adatok. RAID 5 használata esetén viszont éppen ezért egyszerre egynél több merevlemeznek nem szabad meghibásodnia. Ha az egyik lemez elromlik, a lehetõ leggyorsabban ki kell cserélni az adatvesztés elkerülése érdekében. Hardveres RAID

RAID 6

Csupán az 5-ös szint kiegészítése, nem csak soronként, hanem oszloponként is kiszámítja a paritást, így a kétszeres meghajtó meghibásodás sem jelent gondot a rendszer egészére nézve.

További RAID-szintek

Számos további RAID-szintet is kidolgoztak, (RAIDn, RAID 10, RAID 0+1, RAID 30, RAID 50 stb.), amelyek egy része hardvergyártók egyedi megoldása. Ezek a szintek nem túl gyakoriak, ezért itt nem ismertetjük õket.

Megoldások

Ahhoz, hogy a fent leírtak közül bármelyik is megvalósulhasson, természetesen kell valami, ami az egész dolgot kezeli, irányítja. Ez az irányítás többféle formában materializálódhat. Lehet egy teljesen hardveres megoldás, ami általában egy külsõ kártyát jelent. Bár ez a leggyorsabb, legmegbízhatóbb megoldás, az ára szinte megfizethetetlen egy átlagos user számára. A következõ lehetõség egy átmeneti, hibrid megoldás. Ezt úgy valósítják meg, hogy vagy néhány ezer forintért beszerezhetõ külsõ kártyát,  vagy a lapkakészletbe illetve az alaplapra integrált megoldást használják. Nyugodtan mondhatjuk, hogy jelenleg ez a legelterjedtebb megoldás otthoni RAID rendszerekhez. A legnagyobb különbség az igazi hardveres megoldásokkal szemben az, hogy a szükséges számítások itt nem egy külön hardveregységben, hanem a számítógépünk processzorában zajlanak, amik természetesen a CPU-t terhelik. A RAID-tömbök kialakítását a vezérlõ saját BIOS-ában végezhetjük el, csakúgy mint az esetleges hiba után szükséges helyreállítást. Az utolsó lehetõség a teljesen szoftveres kivitel: ekkor mindent az operációs rendszerre bízunk, a kötet létrehozásától kezdve a folyamatos üzemeltetésig mindent. A teljesen szoftveres RAID-megoldásokat eddig leginkább azért hanyagolták, mert még az alaplapiaknál is lassabbak, és jobban terhelik a gép egészét. Ennek a módszernek egyetlen haszna van, jelesül hogy ez a legolcsóbb.
A manapság kapható alaplapok szinte mindegyikét felvértezték valamilyen RAID-vezérlõvel. Ezek általában nem világverõ szerkezetek, de a RAID-0, RAID-1 és RAID-0+1 biztosítására mindegyik képes, ami egy átlagos otthoni felhasználásnál több, mint elegendõ. Mindenkinek nyugodt szívvel javaslom: vágjon bele bátran a RAID-elésbe, egyetlen aprósággal kiegészítve: ha lehet, a szoftveres megoldásokat kerüljük el!

polip