Az adatelérés megbízhatóságát szolgáló raid-technológia két évtizedes múltra tekint vissza. Az akkori műszaki lehetőségek megváltozásával ebben a technológiában is megjelentek a továbblépési lehetőségek.
Kevés technológia ivódott úgy be a nagyvállalati tárolórendszerekbe, mint a több mint két évtizedes múltra visszatekintő raid (redundant array of inexpensive disks, olcsó merevlemezek redundáns tömbje). Az 1990-es évek elején a raid kiváló válasz volt a kor műszaki kihívásaira, amikor a processzorok és a memóriák teljesítményével nem tudtak lépést tartani a nagyméretű, megfelelő hibatűrést produkáló merevlemezek.
Olcsón és egyszerűen
A raid olcsó, pc-s merevlemezeket használt fel: többet összekapcsolt egyetlen működő egységbe, ezzel biztosítva a nagyobb kapacitást és a hibatűrést. A különféle megoldásokból a raid 1 és a raid 5 tett szert nagyobb népszerűségre: előbbi egyszerűsége (az adatokat egyszerűen párhuzamosan két lemezre írják fel, vagyis tükrözik), utóbbi pedig költséghatékonysága miatt (az adatokat és az ellenőrző információkat is elszórják három-öt lemezen.
Bár az eredeti öt raid-megoldás sok mindenben különbözik, vannak közös jellemzőik. Egy-egy raid-lemeztömb meghatározott számú merevlemezből áll, azokat teljes egészében lefoglalja, a lemezek száma nem változtatható rugalmasan. Az adatbiztonság elérését szolgáló matematikai alapok egyszerűek, meglehetősen csekély számítási teljesítményt követelnek. Mindez az 1990-es évek elejének informatikai fejlettségét tekintve érthető kompromisszum volt.
Azóta azonban óriásit lendült előre a számítástechnika: a processzorteljesítmény, a merevlemezek kapacitása és átviteli teljesítménye is rendkívül sokat fejlődött az azóta eltelt két évtized alatt.
Változó technológiák
Napjainkban már nem egyetlen mainframe használ száz kiskapacitású lemezt és egyszerű kontrollereket, hanem óriási számítási teljesítménnyel rendelkező tárolórendszerek szolgálnak ki több száz kliensgépet a tárolóhálózaton. A modern adatközpontban a fix méretű lemeztömbök már kevesebb hasznot hajtanak.
A nagy gyártók több új módszerrel is igyekeztek a megváltozott körülményekhez igazítani a régi technológiát. Már viszonylag korán szakítottak azzal a koncepcióval, hogy csak teljes lemezeket lehet felhasználni: ehelyett több részletre osztották a merevlemezek kapacitását, és ezekből a szeletekből alakították ki a raid 1 és raid 5 tömböket.
A 2000-es években ezt fejlesztették tovább a wide striping (széles csíkozás) módszerével: minden merevlemezre csak kis mennyiségű adatot helyeznek. Így jóval több merevlemezre lesz szükség, de éppen emiatt nő az átlagos teljesítmény, és jócskán csökken a raid-tömb újraalkotásához szükséges idő is, ha egy lemez meghibásodik.
| Hogyan működik? |
|---|
|
A törléskódolás matematikája bonyolultnak tűnik, de viszonylag egyszerű megérteni. Tegyük fel, hogy az 123-4567 mobilszámot kell megjegyezni: ez, a szabályosan emelkedő számsorrend miatt igen egyszerű. Tárcsázáskor nem kell másra emlékezni, mint arra, hogy az egyessel kell kezdeni, és egyesével menni tovább, amíg el nem érünk a hetesig. Így könnyű észrevenni, ha egy számot kihagytunk vagy melléütöttünk. A törléskódolás olyan matematikai formulát hoz létre, amely leírja a számok egy csoportját, így azok pontosságát később lehet ellenőrizni, és visszaállíthatók, ha valamelyik elveszne. A mögöttes matematika természetesen bonyolultabb, mint a telefonszám esetében, de az alapelv ugyanaz. Hasonló módszereket használnak a dsl és a wimax adattovábbítás megbízhatóságának fokozására. |
Megjelent a raid 10 és raid 50 is, amikor is a raid 1-es, illetve 5-ös változatát kombinálták a raid 0-val (utóbbi nem hoz létre paritásinformációt, csak egyszerűen több lemezre dobja szét az adatokat). Ennek eredményeképpen tudták ötvözni a raid 0 teljesítményét a másik két módszer adatvédelmi funkcióival.
Bitek hibáit is
Mindezeken túl a szervereknél kezdődött virtualizáció átterjed a tárolórendszerekre is, eltüntetve a közvetlen megfeleltetést a fizikai eszközök és azok logikai leképezése között. A virtualizált lemeztömbök a meghajtókat és az állományrendszereket már nem kötik adott merevlemezekhez, így az adatok sokkal könnyebben mozgathatók a különféle tárolórendszerek között.
A klasszikus raid-megoldások sem képesek azonban mindenre. Az általános vélekedéssel ellentétben például nem észlelik a kisebb olvasási hibákat a merevlemezeken. Egyébként meg az olvasási hibák ellenőrzését végzik a beépített kódok. Ezek az egy-egy bitet érintő olvasási hibákat is észreveszik és igyekeznek javítani. A gyártók szerint nagyjából 12 terabájt kapacitásra jut egy ki nem olvasható bit. Ez egészen addig megnyugtató volt, amíg a merevlemezek kapacitását mega- és gigabájtokban mérték – a terabájtos meghajtók korában azonban a nem javítható olvasási hiba kockázata jelentősen megnő.
Itt lép képbe az úgynevezett erasure coding (törléskódolás), és a (többnyire) erre alapuló raid 6. Már régóta ismertek azok az algoritmusok, amelyek nemcsak észlelni képesek a hibákat az adatfolyamokban, hanem helyre is tudják állítani. A korai raid-vezérlők számára a törléskódolás még túl bonyolult volt; a mai processzortechnológiáknak azonban nem jelent nehézséget.
Néhány extra bit kiszámolásával és tárolásával a tárolórendszer megbízhatóbbá, az adatvesztés pedig kevésbé valószínűvé válik. Az iparban raid 6-ként emlegetett megoldás rendszerint a raid 5-öt veszi alapul, és azt egészíti ki a törléskódolással.
Némi teljesítménycsökkenésért cserébe jóval nagyobb adatbiztonságot kap a felhasználó: egy raid 6 lemeztömbben akkor is helyre lehet állítani az adatokat, ha egyszerre két merevlemez megy tönkre. Ami még talán ennél is fontosabb, a nagy kapacitású merevlemezek esetén sem kell félni a nem javítható olvasási hibáktól.
Összeállította: Schopp Attila








