Search

RAID arhitektuur ja kettasüsteemid

RAID arhitektuur ja kettasüsteemid.

Sissejuhatus

1987. aastal avaldasid Patterson, Gibson ja Katz Berkeley ülikoolist töö, mis kirjeldab erinevaid kõvakettamassiivi tüüpe, mida nimetatakse RAID’ks (Redundant Arrays of Inexpensive Disks). RAID süsteemis ühendatakse kaks või enam kõvaketast kettamassiiviks, mis ületab oma töövõimelt ühe suure kalli ketta (Single Large Expensive Drive ehk SLED). Arvuti näeb RAID kettamassiivi ühe loogilise salvestusüksusena või kettana. Terve massiivi Mean Time Between Failure (MTBF) ehk keskmine tõrkevaba töövältus võrdub üksiku ketta MTBF jagatud ketaste koguarvuga massiivis. Ehk mida suurem hulk kõvakettaid on ühes massiivis, seda suurem oht on jääda andmetest kõvaketta rikke puhul ilma. Seega poleks kettamassiivi MTBF paljude rakenduste jaoks piisav. Kuid RAID süsteemi poolt pakutava liiasinformatsiooni (parity) salvestamise teel saab kettamassiivi töökindlamaks muuta. Erinevad kettaarhitektuuri tüübid kasutavad selleks erinevaid salvestusmeetodeid. Berkeley töös defineeriti viis kettamassiivi tüüpi, RAID-1 kuni RAID-5-ni. Kõik RAIDi tüübid (peale RAID-0) pakuvad veataluvust ning kõigil on oma nüansid.

Data Striping ehk hargsalvestus

RAIDi aluseks on striping ehk “hargsalvestus” ehk mitme ketta liitmine üheks loogiliseks salvestusüksuseks. Hargsalvestus seisneb iga ketta salvestusruumi jagamises stripe`idesse ehk lõikudesse, mis võivad olla nii väiksed kui üks sektor (512 baiti) või mitme megabaidi suurused. Need stripe`d reastatakse nii, et kõigi ketaste ühisel virtuaalsel salvestuspinnal on vaheldumisi stripe`d erinevatelt ketastelt. Stripe`de suuruse määrab see, kas keskkond on I/O (sisend-väljund operatsioonide) või andme-intensiivne.

I/O intensiivsed rakendused

Enamik tänapäeva mitme kasutaja operatsioonisüsteeme, näiteks Win NT, Linux ja Unix (BSD) võimaldavad mitmel kettal I/O operatsioone samaaegselt teostada. Kuid kettasüsteemi jaoks maksimaalse läbilaskevõime saavutamiseks tuleb kõigi ketaste I/O koormus tasakaalustada, nii et kõiki kettaid optimaalselt kasutataks. Mitmest kettast koosnevas süsteemis pole ketta I/O koormus kunagi täielikult tasakaalus, kui hargsalvestust ei kasutata: mõned kettad sisaldavad sageli kasutatavaid andmefaile, teisi kettaid kasutatakse väga harva. I/O intensiivsetes keskkondades saab parima tulemuse, kui kettad on jaotatud piisavalt suurteks stripe`deks, nii et iga kirje (record) mahub tervenisti ühe stripe peale. See tagab I/O ja andmete võrdse jaotumuse üle kogu massiivi, võimaldades igal kettal teostada erinevat I/O operatsiooni. Seda meetodit kasutades saab teostada maksimaalselt palju samaaegseid operatsioone, enamlevinud klient-server andmemassiivide osas.

Andme-intensiivsed rakendused

Andme-intensiivsetes keskkondades ja ühe kasutaja süsteemides, mis loevad/kirjutavad suuri kirjeid, sobivad väikesed stripe`d (tavaliselt sektorid pikkusega 512 baiti), nii et iga kirje ulatub üle kõigi massiivi ketaste ning iga ketas salvestab osa andmeid kirjest. Selle tulemusena muutuvad palju aega nõudvad kirje pöördused (record accesses) kiiremateks, sest andmeedastus toimub paralleelselt mitmel kettal. Kui ketaste salvestusruum on jagatud väikesteks stripe`deks, pole kahjuks võimalik mitut I/O operatsiooni samaaegselt teostada, sest iga I/O toiming kaasab tavaliselt kõiki kettaid. Pikki kirjepöördusi kasutavad rakendused (näiteks videotöötlus) töötavad optimaalselt väikestest stripe`dest koosnevate massiividega.

Väikeste stripe`de kasutamisel on võimalikuks puuduseks see, et kui kirjed on lühikesed, on töökindluse tagamisel hädavajalik, et kettad pöörleksid sünkroonselt. Kui ketaste pöörlemist ei sünkroniseeritaks, oleks iga massiivi ketas erinevas juhuslikus pöördeasendis. Kuna I/O-d ei saa lõpetada enne, kui iga ketas on lugenud / kirjutanud oma osa kirjest, sõltub I/O-le kuluv aeg kõige aeglasemast kettast. Mida rohkem kettaid massiivis on, seda vähem erineb massiivi keskmine pöördusaeg ühe ainsa ketta pöördusajast. Ketaste pöörlemise sünkroniseerimisega tagatakse, et kõik kettad saavad oma andmed kätte ühel ja samal ajal. Seega on massiivi pöördusaeg võrdne üksiku ketta keskmise pöördusajaga, mitte pikima võimaliku pöördusajaga.

RAID tasemed

Enamlevinud ja kasutatavad RAID tasemed

RAID-0

RAID-0 defineeritakse tavaliselt kui hargsalvestusega ketaste gruppi, mis ei sisalda liiasusi ega paarsust.

RAID-0 massiivide konfigureerimisel jagatakse kõvakettad tavaliselt suurtesse stripe`desse, s.t. sobivad I/O intensiivsete rakenduste jaoks. Kuid neid kettamassiive võib konfigureerida ka nii, et stripe`d oleks vaid sektorite suurused ning ketaste pöörlemine sünkroniseeritud. Kuna RAID-0 ei sisalda liiasusi, siis hävivad andmed kogu massiivis, kui ühe kettaga midagi juhtub. Samas on RAID-0 kõigist ketaste arhitektuuritüüpidest kõige kiirem ning salvestab kõige efektiivsemalt.

RAID-1

RAID-1, rohkem tuntud kui “peegelsalvestus”, on lihtsalt paar kettaid, mis teineteist dubleerivad, kuid paistavad arvutile ühe kettana.

Hargsalvestust ei kasutata, kuigi mitu RAID-1 massiivi võib selle salvestusmeetodi abil liita, nii et nad paistaksid ühe suure massiivina, mis koosneb peegeldatud ketaste paaridest. Tavaliselt nimetatakse seda “Dual-level array” (“kahe taseme massiiviks”). Kirjutatud andmed peavad minema mõlemale kettale peegeldatud paarina, nii et mõlemal kettal oleks sama informatsioon. Kõik kettad saavad siiski samaaegselt lugemisoperatsioone teostada. Niisiis kahekordistab peegeldamine lugemiskiirust ning jätab kirjutamiskiiruse samaks. RAID-1 tööjõudlus on kõigist paarsust toetavatest RAID arhitektuuridest kõige parem, eriti mitme kasutaja keskkonnas.

RAID-5

RAID-5, mida mõnikord nimetatakse Rotating Parity Array (“ringleva paarsusega” massiiv).

RAID-5-s jagatakse kõvaketaste salvestusruum suurteks stripe`deks, nii et mitut I/O operatsiooni saab teostada samaaegselt. RAID-5s salvestavad kõik kettad kordamööda paarsusinformatsiooni erineva stripe`de seeria jaoks. Kõik kõvakettad sisaldavad paarsus andmeid ja kõigi ketaste lugemisoperatsioonid võivad toimuda samaaegselt. Kirjutamise käigus salvestatakse andmed ühele kettale ja paarsusinformatsioon teisele kettale. Kuna RAID-5-s salvestavad erinevad kirjed oma paarsuse erinevatele ketastele, võivad kirjutamisoperatsioonid kattuda. RAID-5 salvestab märgatavalt efektiivsemalt kui RAID-1, kuna selle asemel, et teha kõigist andmetest lisa koopia, salvestatakse ainult paarsusinformatsioon. Tänu sellele saab ükskõik millise arvu kettaid ühendada RAID-5 massiivi, ohverdades ainult ühe ketta salvestusvõimsuse paarsusinformatsiooni salvestamiseks. Seega kasutab RAID-5 massiivi salvestusruumi efektiivsemalt kui RAID-1 massiiv. Kuid see saavutatakse tööjõudluse vähenemise hinnaga.

Veidi lähemalt RAID-5 süsteemist:

Kui andmed kirjutatakse RAID-5 massiivile, siis tuleb paarsusinformatsiooni uuendada. Esiteks tehakse kindlaks, milliseid andmebitte kirjutamisoperatsiooni käigus muudeti ning muudetakse vastavaid paarsusbitte. Selleks loetakse kõigepealt vanu andmeid, mis tuleb üle kirjutada. Seejärel võrreldakse neid andmeid uute andmetega, mis tuleb kirjutada, ning arvutatakse välistav VÕI (XOR). Tulemuseks on bit mask, milles on iga muutunud biti koha peal 1. Siis võrreldakse bit maski vana paarsusinformatsiooniga, mis loetakse paarsuskettalt, ning arvutatakse välistav VÕI. Selle tulemusena muudetakse vastavad bitid paarsusinformatsioonis. Uuendatud paarsus kirjutatakse tagasi paarsuskettale. Sellepärast peab RAID-5 massiiviga iga kirjutamiskäsu puhul teostama kaks lugemisoperatsiooni, kaks kirjutamisoperatsiooni ja kaks välistava VÕI operatsiooni. Paarsuse salvestamine liigsete andmete asemel tähendab seda, et kirjutamisoperatsioon võtab rohkem aega, sest paarsusinformatsioon tuleb uuesti luua. Selle lisanduva ajakulu tõttu kirjutab RAID-5 massiiv aeglasemalt kui RAID-1 (RAID-5 massiivi kirjutamiskiirus on 3/5 kuni 1/3 RAID-1 kirjutamiskiirusest). Sellepärast ei ole soovitatav RAID-5 massiivi tarkvaraliselt rakendada ning seda ei soovitata ka juhul, kui kirjutamiskiirus on kõige tähtsamaks kriteeriumiks, selleks alternatiiviks sobib kõige paremini RAID 10 või RAID 0+1 tase (millest tuleb juttu edaspidi).

RAID-6

Sisuliselt sama funktsionaalsus mis RAID-5 osas, kuid omab RAID massiivis kahte hajutatud kettapinda paarsusinformatsiooni talletamiseks, ehk kui kaks ketast RAID-6 tasemes korraga riknevad, siis andmed säilivad. Sellega seoses on RAID-6 kõige turvalisem RAID tase. RAID-6 taset on võimalik ehitada alates 4 kõvakettaga, millest saadakse 2 ketta reaalne kettamaht kätte, tänu topelt paarsus operatsioonidele. RAID-6 taset kasutatakse suuremamahulistes andmemassiivides andmeturvalisuse ja käideldavuse tagamiseks. Andmete lugemise kiirus on RAID-6 tasemel ligikaudu sama mis RAID-5 tasemel, kuid andmete kirjutamise kiirus on aeglasem, seda tänu RAID-6 topelt paarsus arvutustele.

RAID-6 on turvalisem, võrreldes RAID-5 tasemega, seda näiteks siis kui liidetakse RAIDi tasemele juurde kõvakettaid, sellel ajal RAID-5 tase ei teosta paarsuskontrolli operatsioone,kuid RAID-6 seda teeb.

Vähem levinud ja enam mitte kasutusel olevad RAIDi tasemed:

RAID-2

RAID-2 massiivis reserveeritakse osa kettaid ECC informatsiooni jaoks, sektoritesse jagatud andmed jaotatakse ülejäänud ketaste vahel. Kuna enamikul ketastest on ECC informatsioon igas sektoris, ei paku RAID-2 mingeid eeliseid RAID-3 ees.

RAID-3

Samuti nagu RAID-2, jaotab ka RAID-3 sektoritesse jagatud andmed erinevate ketaste vahel, kuid üks grupp on reserveeritud paarsusinformatsiooni jaoks. RAID-3 tugineb vigade otsingul sellele, et igas stripe`s on ECC. Kui kõvakettaga midagi juhtub, taastatakse andmed, arvutades välistavat VÕI (XOR) informatsioonist, mis on salvestatud ülejäänud ketastele. Kirjed jaotuvad tavaliselt kõigi ketaste vahel, optimeerides andme-intensiivseid keskkondi. Kuna iga I/O kaasab kõiki kettaid, siis ei saa I/O operatsioonid samaaegselt toimuda. Seega töötavad RAID-3 massiivid kõige tulemusrikkamalt ühe kasutaja keskkonnas järjestikuste ülesannete korral. Ainult ketaste sünkroniseerimine tagab RAID-3 optimaalse töö lühikeste kirjetega.

RAID-4

RAID-4 erineb RAID-3-st ainult selle poolest, et kõvaketaste salvestusruum jagatakse suurteks stripe`deks, nii et kirjeid saab lugeda massiivi igalt kettalt (v.a. paarsusketas), võimaldades mitut samaaegset lugemisoperatsiooni. Kuid kuna kõik kirjutamisoperatsioonid peavad uuendama paarsusketast, ei saa neid samaaegselt teostada. See arhitektuur ei paku RAID-5-ga võrreldes mingeid märkimisväärseid eeliseid.

Kokkuvõte üldlevinud RAID tasemetest:

RAID-0 on kõige kiirem ja efektiivsem, kuid pole veakindel. Kasutatakse peamiselt video ja audio montaaži juures, eriti kiire swap (saaleala) andmete puhverdamiseks, turvalisus puudub.

RAID-1 on parim valik keskkondades, mille puhul on oluliseks kiirus ja veataluvus.

RAID-1 tagab ainukesena veataluvuse, kuid kettaid on ainult kaks. Ühe ketta riknemisel andmed säilivad

RAID-2 taset tänapäeval ei kasutata, kuna kõik kaasaegsed kõvakettad omavad ECC funktsionaalsust.

RAID-3 võib kasutada andme-intensiivsetes või ühe kasutaja keskkondades, mis loevad/kirjutavad pikki järjestikuseid kirjeid, suurendamaks andmeedastuskiirust. Samas ei võimalda RAID-3 mitut I/O operatsiooni samaaegselt teostada ning eeldab ketaste pöörlemise sünkroniseerimist, et vältida töö halvenemist lühikeste kirjete puhul. Tänapäeval ennast ei õigusta ja sisuliselt kasutuses ei ole ning suurem osa RAID kontrollerid antud taset ei toeta.

RAID-4 ei paku RAID-5-ga võrreldes mingeid eeliseid ning ei toeta mitut samaaegset kirjutamisoperatsiooni. Tänapäeval sisuliselt kasutuses ei ole ja RAID kontrollerid antud taset ei toeta.

RAID-5 on parim valik mitme kasutaja keskkondades, mis ei eelda väga kiiret kirjutamist. RAID-5 puhul on vajalik vähemalt kolme ketta olemasolu. Massiivi suurus ei ole piiratud võib ehitada suuri massiive. Ühe ketta riknemisel andmed säilivad.

Tänapäeval enamlevinud RAID tase oma andmeturvalisuse, kiiruslikuse ja mahukuse poolest. RAID-6 on turvalisem, kui RAID-5 tase, kuid ka aeglasem, ning tänu topelt paarsus kontrolli operatsioonide osas, siis sellega läheb ka kaotsi ühe kõvaketta ruum massiivist rohkem, võrreldes RAID-5ga. Kasutatakse suurte andmemasiivide juures, seda ennekõike arhiveerimisena või arhviveerimis puhvrina nt server mis teeb puhvri enne lindi(robotile)seadmele arhiveerimist (Virtual Tape Library – VTL).

Hübriid RAID tasemed

RAID 10 (või 1+0)

Kaks RAID-1 tasemes kettamassiivi on RAID-0 tasemega ühendatud (stripetud) kokku.

Üks kiiremiad RAID kettasüsteemide tasemeid. Vajalik vähemalt 4 kõvaketta olemasolu, RAID 10 tasemes läheb kõvaketta andmemahus palju kaduma (4’st kettat 2) võrreldes nt RAID-5’ga . Kiiruselt ligilähedane RAID-0 tasemega. Üks levinumaid ja kasutuses olevaid RAID kettasüsteemide tasemeid, pärast RAID-1 ja RAID5 taset

RAID 0+1

Sama mis RAID 10, kuid ülesehitus on vastupidine – kaks RAID-0 taset on peeglisse pandud RAID-1 tasemes.

RAID 0+1 taset ei ole mõtet tarkvaraliselt realiseerida, kuna arvutuslikult koormab väga suurelt arvuti protsessori tööd arvutades loetavat ja kirjutatavat infot. Riistvaralise RAID kontrolleri puhul teeb arvutusliku poole kontroller ja arvutit ei koormata.

RAID 1E (Level 1 Enhanced RAID)

See RAIDi tase on enamjaolt IBMi poolt turustavates serverite kontrollerites toetatud. Sisuliselt on tegu RAID 10 tasemega, erandiga võrreldes RAID 10-ga, et massiivis võib vajadusel olla paaritu arv kettaid. Kuid igal juhul on kasulik kettapind kaks korda väiksem reaalsest kettapinnast (sama nagu RAID 10 puhul). RAID 1E tasemeks on vaja kasutada minimaalselt 3 kõvaketast.

RAID 50

Kaks või enam RAID-5 taset liidetud RAID-0 taset kasutades.

Plussid – kiirem kui RAID-5 tase.

Miinused – väga kallis teostada, kahe kõvaketta samaaegse rikke korral kõik andmed hävinevad.

RAID 51

Kaks RAID-5 taset või massiivi on RAID-1 tasemes ehk peegelis.

Väga turvaline, kuid väga kallis lahendus, ühe RAID-5 massiivi jagu kettamahtu läheb kaotsi.

RAID 60

Kaks või enam RAID-6 taset liidetud RAID-0 taset kasutades.

Sisuliselt sama mis RAID 50, selle vahega, et samaaegselt võib rikneda kuni 2 kõvaketast, ilma et andmed läheksid kaduma.

RAID 100

Kaks RAID-10 taset on liidetud RAID-0 taset kasutades.

Veakindlus on sama mis RAID-10 puhul, ehk 1 suvaline kõvaketas võib rikneda massiivist, enama korral on kõik andmed kadunud. Kasulik on RAID-100 tase, kui liidetakse mitu RAID kontrollerit kokku omavahel, tänu milel väheneb ka riistvaralise tõrke võimalus. Sellist RAID taset kasutatakse väga suurte andmemassiivide juures ja väga harva.

JBOD

JBOD – “Just a Bunch Of Disks” ehk “hunnik kettaid”, ei ole otseselt RAIDi tase, kuid on üks RAID kontrollerite funktsionaalsuse osa. RAIDi kontrollerile võib lisada lihtsalt eraldiseisvaid kettaid ja tekitada nendega ühe virtuaalse suure massiivi, mis kahjuks küll ei ole turvaline ketta riknemise korral. Samuti ei ole võimalik JBOD kettamassiivi hiljem konventeerida mõnda RAIDi tasemeks, kasutades selleks RLM funktsionaalsust. JBOD kasutatakse, siis kui nt soovitakse kasutada mitu erineva suurusega ja väiksemahulist ketast ära ühe suure massiivina. Kui sellist ketaste liitmist teha RAIDi tasemes, siis võtab RAIDi kontroller kõige väiksema kettamahu alus suuruseks ja ehitab selle mahul ülesse kogu RAID massiivi, ehk suurema mahulised kettad formateeritakse ja lisatakse RAID massiivi kõige väiksema massiivis oleva ketta suurusega. Siis JBOD korral saab kasutada kogu kettamahtu täies ulatuses. Näide: võttes kõvakettad 30GB, 64GB ja 320GB, saab nendega JBOD tasemesse liites kätte 414GB kasulikku (virtuaalset) kettapinda, mis on paljudel juhtudel kasulikum, kui proovida mitmele väiksele kettale midagi ära mahutada. Andmete salvestamine käib nii, et kui üks kõvaketas saab täis siis võetakse järgmine ketas ette ja salvestatakse selle jne.

RAID platvormid

Tarkvaraline ehk softi RAID

Samapalju kui on erinevaid maitseid ja veendumusi on ka erinevad arvamused RAID süsteemide osas, kas kasutada tarkvaralist või riistvaralist ehk RAID kontrollerit? Järgnevaga on toodud ära mõned faktid, mis oleks softi-RAIDi eeliseks, riistvaralise RAIDi ees.

+ Esimene eelis on muidugi maksumus, ehk RAID tehakse ära tasuta, ei pea kallist kontrollerit ostma.

+ Teine eelis on see, et väidetavalt on softi-RAID kiirem, kui riistvaraline RAID kontroller, seda ennekõike seepärast, et tänapäeva serverite protsessorid on läinud nii kiireks, et RAID tasemete paarsuse arvutamine ei võta erilist protsessori võimsust ja investeerida RAID kontrollerisse ei ole alati mõttekas.

- Miinuseks on see, et kui mõni kõvaketas rikneb, siis tuleb server välja lülitada ja töö katkestada (kõigil softi-RAIDidel ei ole hot-swap tuge), et katkine ketas välja vahetada.

- Uue kõvaketta välja vahetades on vaja teada ka kuidas see RAID süsteemi uuesti RAIDi tasemele külge liita nii, et paarsuskontroll ka edaspidi töötaks. Ehk selles osas on vaja suuremat pädevust.

Järgnevaga on toodud ära mõningate OS’d RAID funktsionaalsuste tugi nende iseloomustused

ZFS RAID-Z (Sun Solaris OS)

Sun Inc. on arendanud oma RAID-5 tarkvaralist süsteemi ZFS, mis on kogunud populaarsust just oma innovaatilisuse poolest. Algselt esitleti ZFS süsteemi juba 2004 aastal, kuid ametlikult tuli välja Sun Solarisele 2005 aastal ning alates Open Solaris 2008.05 versioonist on ZFS vaikimisi failisüsteemiks..Sun on suutnud ZFS RAID süsteemiga saavutada RAID-5 tarkvaralise süsteemi stripede korruptsiooni vältimise, mis tähendab et tarkvaralisi paarsus operatsioone tehakse erineva

suuruste stripedega, mis tagavad andmete ja paarsuse identsuse. Osadel softi-RAIDi teostustel on juhtunud, et tekivad antud operatsioonidega tarkvaralised kalkulatsiooni vead, mis põhjustavad andmete hävinemise, selles osas on ZFS töökindlam. Lisaks on hot-spare tugi, samuti on RAIDi lugemis ja kirjutamise tugi (caching) .Toetatakse RAID-0, RAID-1, RAID-5 ja RAID-6 taset, nende tasemete paarsused arvutatakse ja kontrollitakse Suni enda algoritmi alusel ja RAIDi tasemed on nimetatud Suni oma nimedega nt. RAIDZ jne. ZFS faili süsteem on 128 bitine (sisuliselt võiks öelda, et tegu on lõputu limitatsiooniga failisüsteemi suurusega, tänapäeva mõistes). Lisaks muu funktsionaalsus Kokkuvõtlikult on tegu ühe innovaatilisema failisüsteemiga, mis võimaldab ligikaudu samasugust funktsionaalsust nagu riistvaralised RAIDi kontrollerid.

Vinum RAID (BSD pere – FreeBSD, NetBSD, OpenBSD jne)

Toetab tarkvaraliselt RAID-0, RAID-1, RAID-5 ja JBOD taset, samuti nende hübriid tasemeid.

Windows Server

Toetab tarkvaraliselt RAID-0, RAID-1 ja RAID-5 tasemeid

Linux (erinevad distributsioonid, nii kommerts kui vabavara)

Toetab tarkvaraliselt RAID-0, RAID-1 ja RAID-5 ning mõningal juhul ka RAID-6 taset.

Riistvaraline RAID, ehk RAID kontrollerid

Riistvaralise RAIDi eelised võrreldes tarkvaralisega

Nagu ennem oli toodud mõned faktid, miks eelistada softi-RAIDi riistvaralisele RAID kontrollerile, siis järgnevaga on toodud ära mõned faktid, mis on riistvaralise kontrolleri eeliseks ja miks seda võiks ja peaks kasutama kriitilistes serverites.

+ Üheks peamiseks eeliseks on RAID kontrolleri ees softi-RAIDiga võrreldes, et enamus toiminguid – RAIDi taseme laiendamine, kõvaketaste juurde liitmine, katkise kõvaketta väljavahetamine saab teha ära, ilma et peaks serverit seiskama ja et serveri protsessid seiskuksid, ehk on tegu serveri administraatori poolt vaadatuna väga mugava töövahendiga. Lisaks on paljudel RAID kontrolleritel väga laia võimalusega haldus tarkvara moodulid, millega saab ka kaughallates ehitada, juurde lisada jne teha massiivis uuendusi või seda korrigeerida nn riistvara tasemel.

- Kõik RAID kontrollerid ei toeta kõiki OS’e, eriti veidi eksootilisemaid Linuxi distributsioone, või BSD’sid.

- Mõningal juhul võib olla softi-RAID kiirem, kui RAID kontroller kiiruslikest omadustest.

RAID Level Migration (RLM)

RAID Level Migration ehk RLM kujutab endast ühe RAID taseme konverteerimist teiseks RAID tasemeks.

Üks üldlevinud näide on, et algul ostetakse server kahe kõvakettaga RAID-1 tasemes (peeglis) ja hiljem soovitakse seda massiivi laiendada – kuidas seda realiseerida? RLM võimaldab nt. RAID-1 taseme konvertida RAID-5 tasemeks, kui lisada RAID-1 tasemele kolmas kõvaketas juurde ja RAIDi kontrolleri halduses (BIOSes) määrata vastav konventeerimise käsk. Sõltuvalt RAIDi kontrollerist on RLM konventeerimist ühest RAID tasemest teise võimalik teostada reaalajas ilma, et andmed läheksid kaduma ja serveri RAIDi taseme töö peatuks. Muidugi tuleb ennem kontrollida üle, et lisatav kõvaketas oleks 100% töökorras ja ei sisaldaks bad-sectoreid, muidu võib RAID kontroller anda veateate ja kõik andmed võivad minna kaduma, kuna samaaegselt paarsus kontrolli ei toimu, kui teostatakse RLM operatsiooni. Tarkvaralise RAIDi realisatsiooni juures RLM võimalus puudub.

Online Capacity Expansion (OCE)

Kujutab endast riistvaralise kontrolleri võimalust laiendada RAIDi massiivi kettapinda lisades nn kuumalt töötavale arvutile RAID tasemesse juurde ühe või enama kõvakettaid ning liites need reaalajas RAID tasemesse juurde. Samal ajal RAID massiivi töö ei katke ja arvutit taaskäivitama ei pea. Tarkvaralise RAIDi realisatsiooni juures OCE võimalus puudub.

Cache mälu, ehk puhvermälu

On RAID kontrollerile integreeritud vahemälu, mis annab väikeste failide kopeerimise korral väga suure kiirusliku eelise võrreldes tarkvaralise RAID realisatsiooniga. Soovitatav oleks RAID kontrollerile lisada puhvermälu patareikaitse (BBU), kuna elektritoite kadumisel võivad RAIDi kontrolleri puhvermälus kopeerimise hetkel olevad failid kaotsi minna.

Battery Backup Unit (BBU) ehk puhvermälu patareikaitse

Nagu eelmises punktis juba oli kirjeldatud on vaja BBU, et kaitsta RAIDi kontrolleri puhvermälu elektrikatkestuste eest. BBU kujutab endast väikest akut, mis hoiab cache mälul pinget, et sinna salvestatud failid säiliksid. Tavaliselt on BBU toite hoideaeg kuskil 24 tundi. Selline võimalus tarkvaralise RAIDi realisatsiooni poolt pole võimalik.

Hot-spare HDD ehk varu kõvaketas

Enamjaolt kõik tänapäevased RAID kontrollerid võimaldavad kasutada hot-spare ehk varu ketta võimalust. Mis sellega saab? Sellega saab lisa turvalisuse RAID tasemetele, nimelt kui üks kõvaketas RAID tasemes läheb rikki, siis RAIDi kontroller automaatselt võtab hot-spare ehk varu ketta kasutusele ning lisab selle RAIDi tasemesse juurde katkise kõvaketta asemele, kogu toiming käib automaatselt ilma serveri administraatori sekkumata. Ennem tuleb RAIDi kontrolleri haldusliideses muidugi selline funktsionaalsus seadistada ja veenduda et hot-spare kõvaketas on ka töökorras. Tarkvaralise RAIDi realisatsiooni juures hot-spare võimalus puudub (välja arvatud mõninagal juhul Sun ZFS).

RAID kontrolleri protsessori jõudlus

Siiski põhieeliseks riistvaralise RAIDi kontrolleri juures, võrreldes tarkvaralisega on RAIDi kontrolleri protsessori jõudlus ja optimeeritus tööks RAID tasemete ja massiivide ning paarsuse kontrolli arvutuslike (digitaalloogiliste)skeemidega. Sellega seoses ei koormata serveri oma CPU protsessorit(protsessoreid) ja hoitakse kokku serveri ressursse, seda eriti RAID-5, RAID-10 ja RAID-6 tasemete paarsuse arvutuste korral.

Riistvaraliste RAID kontrollerite tootjad, põhitegijad.

Paljud serverite tootjad reklaamivad omi RAIDi kontrollereid välja oma brandi nime all, päriselt arvutitootjad ei tooda neid kontrollreid vaid need toodetakse paari tuntud kontrolleritootja poolt maailmas ja turustatakse nn OEMina ehk ilma nimeta, millele serveritootja annab oma nime nt. IBM ServerRAID 8K on hoopis Adapteci toodetud RAID kontroller. Samuti ei tooda Intel RAIDi kontrollereid, enamus on LSI poolt toodetud.

LSI

USA firma asutatud 1981, üks juhtivaid RAID kontrollerite tootjaid maailmas. Toodab seinast-seina, alates lihtsatest HBA (host-bus adapter) RAID kontrolleritest või õigemini chipidest, mis emaplaaditootjad integreerivad emaplaadile ja mis võimaldab lihtsat RAID funktsionaalsust, lõpetades suurfirmadele mõeldud enterprise tasemel SAN süsteemidel mõeldud RAID kontrolleritega. On IBMiga tehnoloogia partner, ehk toodab IBMile OEMi, st IBM DS seeria SAN ja NAS storage põhineb enamjaolt LSI poolt väljatöötatud toodetel ja on maailmas juhtivate SAN kettasüsteemide tootjate EMC, HP ja Hitachi tugevaks konkurendiks. Kui vaadata LSI SMB (Small Medium Business) ehk väikeettevõtte toote portfelli RAID kettasüsteemide osas, siis LSI pakub väga laia SATA ja SAS RAID kontrollerite tootevalikut, millele lisandus hiljuti ka 3Ware tooteportfell, kuna LSI omandas 3Ware firma enamosaluse.

Adaptec

USA firma asutatud 1981, oli vanasti üks juhtivaid SCSI RAID kontrollerite tootjaid maailmas, praegusel ajal on oma turupositsiooni kaotanud, kuna toodete kvaliteet läks 2000 alguses küllaltki nigelaks ja uued tulijad (3Ware, Areca jt.) võtsid Adapteci turuosa üle. Tootevalik on lai alustades lihtsamatest SATA ja SAS RAID kontrolleritest kuni professionaalsete lahendusteni välja, kuid kokkuvõtlikult jääb omas tootevalikus siiski põhiliselt SMB ehk väikeettevõtete sektorisse.

Adapteci tooted pole eriti arvutientusiastide poolt tunnustatud, kuna RAID kontrollerite draiverid on tehtud enamasti kommerts OS’le nagu MS Win Server, SLSE, RHLE ja SUN Solaris. Enamasti puuduvad vaba distributsiooniga Linux Os’de ametlik tugi. Omab head haldustarkvara RAID kettasüsteemide jälgimiseks ja haldamiseks.

3Ware

USA firma, asutatud 1997, võetud üle AMCC pool aastal 2006 ja LSI poolt 2009 aastal Toodab kvaliteetseid SATA ja SAS kontrollereid. On tuntud selle poolset, et omab väga suurt draiverite OS’de tuge alustades erinevatest Linuxi distributsioonidest kuni Solariseni ning lõpetades Vmware virtualiseerimis platvormi toega. On üks arvutientusiastide lemmikuid ja kontrollerite töökindluses tunnustatud tootja.

Toodab SATA kontrollerid vahemikus 2 kuni 24 port ja SAS kontrollerid vahemikus 4 kuni 8 port. Andnud SATA ja SAS kontroller süsteemide arendusse omapoolse panuse ning toonud mitu omapoolset RAIDi funktsionaalsuse edasiarendust nagu 3Ware StorSwitch, StorSave ja StreamFusion. Samuti on kontrollerid lihtsalt hallatavad 3Ware tarkvaralise kettasüsteemi haldustarkvaraga 3DM2.

Areca

Taivani firma, asutatud 1999, üks entusiastlikem ja kasvavam RAID kontrolleri tootja.

Areca tootevalikus on SAS ja SATA RAID kontrollerid, kettatoega 2’st kettast kuni 24 SATA kettani ning SAS osas samuti 2 kuni 24 SAS kettani. Lisaks on eraldi adapterid IDE to SATA, SCSI to SATA ja FC to SATA RAID kettamassiivide tooted, mis võimaldavad kallitele (FC ehk fiiber-optika) või vanadele IDE ja SCSI kontrolleritele külge pookida SATA RAID kettamassiive, sellega võimaldades laiendada vana või kallist serverimassiivi odava SATA massiiviga. On väga populaarne arvutientusiastide osas, kuna Areca kontrollerid on ühed kiiremad maailmas ja ka töökindluselt väga tunnustatud. Kahjuks ei oma Areca kontrollerid LSI , 3Warega jt tootjatega samal taseme haldustarkvara funktsionaalsust. Areca oli üks esimesi kontrolleri tootjaid maailmas, kes võttis kasutusele RAID-6 taseme oma kontrollerite juures. Kontrollerid omavad väga laia OS’de tuge, seal hulgas ka mitte kommertslike Linuxi distributsioone (Debian, Mandrake, TurboLinux, CentOS jne.) tuge.

Promise

Taivani firma, asutatud 1988, SMB ja jaekliendi turule suunatud RAID kontrolleri tootja.

90’ndatel oli mõningate odavate aga samas võimsate ja funktsionaalsete kõvaketta (RAID) kontrollerite väljaarendaja, tõi turule esimese kontrolleri millel oli puhvermälu jne. Oma kvaliteedilt jääb eelpooltoodud tootjatele alla, viimasel ajal on püüdnud kvaliteeti parandada ja tulnud välja suurklientidele mõeldud SAN enterprise kettalahendustega ning RAIDi kontrolleritega. Kuid enamjaolt on Promise tooted suunatud siiski kodukasutajale ja väikeettevõttele, seda lihtsate NAS toodete ja RAID SATA / SAS kontrollerite näol.

Kokkuvõte

Pole olemas kõvaketast, mis iialgi ei läheks rikki, st. pole ka mõtet turvalisuse ja terviklikkuse huvides jääda RAID kettasüsteemidele lootma, vaid tuleb teha regulaarselt andmetest varukoopiaid ja need arhiveerida. Tänapäeval on üha enam ettevõtte varast nn. immateriaalne, ehk kujutab endast sisuliselt kogu firma vara infotehnoloogiliste andmete näol ning mille käitlemise ja ka turvalisuse tagamise üheks meetodiks on RAID kettasüsteemi kasutamine. Valides õige lahenduse eelpool kirjeldatud RAIDi süsteemidest ja tasemetest väldite oma andmete hävinemist ning otseselt maandades riske.

Lisainfot RAID kettasüsteemide ja serverite kohta saab Taavo Siimerilt: taavo@tigma.ee