RAID - nem varázslat, avagy beszéljünk érthetően

Tegnap egy kedves ügyfél (és még véletlenül a barátom is) árat kért tőlem szerverre és opcionális részegységekre.

Az egyik feltett kérdés: "Mennyibe kerül hozzá 2 db 300GB diszk raid módban használva?"

Többször tapasztaltam már, hogy sokan a RAID szót valamilyen varázslattal azonosítják, még az informatikán belül is találkoztam több  "szakemberrel", akik hallottak már róla, de nem tudják mi az. Pedig nem varázslat :) Bár, a barátom inspirálta ennek a rövid blogbejegyzésnek a megírását, nekik is szól... :) Pár szóban megpróbálom összefoglalni a lehető legérthetőbben, minimális szakszó használat mellett. Lássuk... de előtte egy kis bevezető:

Az IBM mérnökei (már megint ők ;) ) az 1970-es évek végén kezdtek bele olyan rendszer kidolgozásába, amely segítségével a tároló egységben megsérült adat visszaállítható. Ez egyszerűbbnek hangzott, mint ahogy sikerült megvalósítani. Közel 10 év telt el, és végre megjelent a RAID technológia 1988-ban.   

RAID = Redundant Array of Independent Disks, azaz független lemezek redundáns tömbje.

Független lemezek, mert egy RAID kötet létrehozásához legalább kettő (vagy több) merevlemez kell. Jójó, de mi az a redundáns tömb?  Ez nem más, mint  olyan több merevlemezből álló tárolóegység, amelyet a rendszerünk és mi magunk, mint felhasználó egyetlen tárhelynek látunk.  Tehát a RAID segítségével létrehozhatunk gyors vagy hibatűrő kötetet, de egyes RAID tömbök mindkét tulajdonságot képesek ötvözni.

Kezdetben csak szerverekben és nagy (és drága) munkaállomásokban alkalmazták ezt a technológiát, melyek SCSI csatolófelületű merevlemezeket használtak. Otthoni felhasználók nem használták, mert ezek a merevlemezek és a csatolókártyák nagyon drágák voltak. A SATA csatolófelület viszont lehetővé tette, hogy egyre több, olcsó merevlemezt használjunk otthon is így a RAID technológia ma már kezd elterjedni az otthoni felhasználók között is.

A RAID szintek:

Több RAID szint is létezik (RAID szint, vagy RAID level), és bár sorszámozva vannak, ne dőljünk be a számoknak, nem tükrözik a technológia fejlettségét, vagy elterjedését. Vannak olyan szintek is, melyeket két másik szint alkot.

RAID 0 - stripping = sávozás vagy csíkozás (én jobb szeretem az összefűzés szót): az első valódi raid szint.

Egy dolgot tud, de azt nagyon, feljavítja, megnöveli a teljesítményt.

A lényege nagyon egyszerű, az adatokat párhuzamosan több merevlemezre (HDD) írja. Ha csak két merevlemezt használunk,  akkor az adatokat blokkokra bontja (A1, A2,...) és az első blokkot felírja az első HDD-re, a másodikat a másodikra, a harmadikat megint az elsőre és így tovább, amíg a teljes adat felírásra nem került. Beolvasásnál ugyanez történik fordítva. Ezáltal az írási és olvasási sebesség megnő, ezt könnyű belátni. Ha két 1 TB-os merevlemezt RAID 0-ba kötünk, akkor azokat egyetlen 2 TB-osnak fogjuk látni. Egy probléma van vele: nem biztonságos. Gyorsnak gyors, az igaz, de mi van, ha megsérül az egyik merevlemez? Mivel az adatok felosztva több HDD-n vannak tárolva, ha az egyik HDD megsérül, akkor teljes adatvesztésünk lesz és nincs mód azok visszaállítására.

 

RAID 1 - mirroring = tükrözés: 

Lényege, hogy az adatot minden merevlemezre felírja, tulajdonképpen mintha "klónoznánk" az adatokat. Ha két merevlemezt használunk, úgy képzeljük el azokat, mint egymás tükörképeit, a két merevlemezen tárolt adatok teljesen megyegyeznek. Ha két 1TB-os HDD-t használunk így, azokat csak 1TB-nak látjuk. Fajlagosan drága ennek a RAID szintnek a létrehozása, mert kétszer anyyi HDD-t kell vásárolnunk, mint amennyi tárhelyet használni tudunk. Viszont rendkívül biztonságos. Ha egy adat megsérül, a "klónja" rendelkezésre áll, ha egy merevlemez sérül meg, a másik merevlemezen megvan minden adatunk. Az esetleges adatvesztést teljesen kiküszöbölhetjük. 

 

RAID 10 (1+0) - mirroring + stripping = tükrözés és csíkozás: az első hibrid :)

Ötvözi a RAID 0 gyorsaságát a RAID 1 hibatűrésével. Azt gondolhatnánk, hogy tökéletesen optimális megoldás, de egy apró dolgon még megütközhetünk. Nem fogja kímélni a pénztárcánkat, viszonylagosan drága, hisz sok HDD-nél csak egy dolog drágább, kétszerannyi HDD. Ráadásul a helykihasználás sem ideális. Gondoljunk bele, hogy alapesetben is legalább négy HDD-re van szükségünk, de ebből csak kettőnek használhatjuk a tárterületét. Viszont egyszerű és gyors, valamint sok eszköz már alpból kínálja ezt a lehetőséget és nem kell pluszba "drága" RAID vezérlőt vásárolnunk.

 

 

 RAID 01 (0+1) - stripping + mirroring = csíkozás és tükrözés:

Tulajdonképp a RAID 10 fordítottja, csak itt a sorrend megfordul. Ez se kíméli a pénztárcánkat, hisz legalább 4 HDD-re van szükségünk, ezekből kettőt összefűzve, majd páronként tükrözve építhetjük fel a tömbünket, ezáltal csak a kapacitás fel használható ezzel a módszerrel is. Mivel a tükrözés (RAID 1) a két összefűzött (RAID 0) tömbre épül, ezért egy lemez meghibásodása esetén az egyik összefűzött tömb mindenképp kiesik, így a tükrözés is megszűnik.

 

 

A RAID 2 , RAID 3 és RAID 4 szinteket csak megemlítés szintjén írnám le, ugyanis nem sikerült elterjedniük...

RAID 2 - csíkozás + hibajavító kód használata:

Tulajdon képpen csíkoz, mint a RAID 1, de az adatokhoz hibajavító kódokat  (ECC: Error Correcting Code) képez és azokat egy külön lemezen tárolja.  Ezek a kódok adott esetben az adathibákat észlelik és javítják. HDD hibatűrése is van, mert egyes adatbitekből redundáns biteket is képez, így tulajdon képpen a hibás bit bármikor pótolható. Ezek által gyorsabb mint a RAID 1, viszont hátránya, hogy sokkal nagyobb adattömeget képez, vagyis sokkal több tárkapacitásra van szükségünk.

RAID 3 - csíkozás + paritásinformációk használata:

Majdnem ugyanolyan, mint a RAID 2, csak nem teljes hibajavító kódokat tárol, hanem egy lemeznyi paritásinformációt. Miután ezt mindig ugyanazon lemezen tárolja, így még nagyobb sebesség elérésére képes.

RAID 4 - Ugyanazt a metódust használja, mint a RAID 3, csak ez nagyobb csíkozást, nagyobb adatblokkot használ.

 

RAID 5 - A legelterjedtebb RAID megoldási mód. Tulajdonképp a RAID 3 és RAID 4 továbbfejlesztett változata.

Olyan mintha  a RAID 0-hoz adalékolnánk egy hibajavító információt. A megvalósításhoz legalább három darab HDD-re van szükségünk. Most nézzünk pédát 4 db HDD-re, mint az ábrán. A RAID tömb felépítésének, azaz az adatok felírásának az a lényege, hogy  az első adatblokk kerül az első lemezre, a második a másodikra,  a harmadik a harmadikra és a háromból képzett hibajavító kód (ECC - Error Correction Code) a negyedikre. A következő körben az első adatblokk az első lemezre, a második a másodikra, a hibajavító kód a harmadikra és a harmadik adatblokk a negyedikre és így tovább. A hibajavító kód vándorol körbe lemezről lemezre. Ha az egyik HDD meghibásodik, a többin levő hibajavító kódokból kiszámítható, hogy milyen adat volt rajta, így nemcsak gyors, de hibatűrő megoldás is egyben. Négy darab 1TB-os merevlemez egyetlen 3TB-osnak fog látszani (a maradék 1TB-ot a paritás foglalja el).   

RAID 6 - Olyan mint egy kibővített RAID 5.

 A RAID 6 tömb képzése, vagyis az adatblokkok merevlemezekre való felírása, abszolút analóg a RAID 5 tömb képzéséval. A különbség annyi, hogy itt a hibajavító kódok nem csak soronként, de oszloponként is képződnek és ezen hibakódok is vándorolnak lemezről lemezre. Ezáltal két HDD meghibásodás is kiküszöbölhető, viszont könnyű belátni, hogy a paritások kétszer annyi helyet foglalnak.

 

 

 

A RAID 50 és RAID 60 hibrid tömbök felépítését nem fejteném ki, nem terjedtek el és a korábbi logikai felépítésből könnyen kitalálhatóak.

 

Remélem sikerült erről a varázszóról fellebbentenem a fátylat és érthetővé tenni a RAID tömbök logikai felépítését.

Aki ettől részletesebb technikai felvilágosításra tart igényt, a szervizeseink készséggel állnak rendelkezésére :):):)

 

 

Syndicate content

©2009 ANT Ltd. | all rights reserved | Last modification: 27-11-2013