Raid kettasüsteemid: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Aaia (talk | contribs)
No edit summary
Nkiigema (talk | contribs)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Autor ==
== Autor ==
Antti Aia
Antti Aia
AK21
 
AK21 - 2014


== ''Sissejuhatus ==
== ''Sissejuhatus ==


Selle referaadi eesmärgiks on tutvustada lugejale sõltumatute ketaste liiasmassiivi ehk RAID (Redundant Array of Independent Disks) kettasüsteeme ning anda põgus ülevaade RAID kettasüsteemide ajaloost, olemusest ja töötamise põhimõtetest. RAID kettasüsteemid on mitmest kõvakettast või kõvaketta lahterdustest koosnev plokkseade andmete salvestamiseks, s.t andmed salvestatakse mitmele erinevale kõvakettale. RAID üldterminina hõlmab andmete talletamise võimalusi arvutis, mis kordab ja jagab andmeid mitme kettaseadme vahel. Andmed jagatakse ketaste vahel RAID tasemete kaupa olenevalt sellest, mis tasemel andmete koondust ja jõudlust vajatakse.  
Selle referaadi eesmärgiks on tutvustada lugejale sõltumatute ketaste liiasmassiivi ehk RAID (Redundant Array of Independent Disks) kettasüsteeme ning anda põgus ülevaade RAID kettasüsteemide ajaloost, olemusest ja töötamise põhimõtetest. RAID kettasüsteemid on mitmest kõvakettast või kõvaketta lahterdustest koosnev plokkseade andmete salvestamiseks, s.t andmed salvestatakse mitmele erinevale kõvakettale. RAID üldterminina hõlmab andmete talletamise võimalusi arvutis, mis kordab ja jagab andmeid mitme kettaseadme vahel. Andmed jagatakse ketaste vahel RAID tasemete kaupa olenevalt sellest, mis tasemel andmete koondust ja jõudlust vajatakse.  
RAID süsteem kujutab endast ka andmeturbesüsteemi, sest kaitseb andmete kadumist riistvaralisel ja mehaanilisel tasandil. Ainuüksi andmete krüpteerimisest jääb andmekaitseks tänapäeval väheks, sest suurimad andmekao ohud seisnevad mehaanilisel tasandil.
RAID süsteem kujutab endast ka andmeturbesüsteemi, sest kaitseb andmete kadumist riistvaralisel ja mehaanilisel tasandil. Ainuüksi andmete krüpteerimisest jääb andmekaitseks tänapäeval väheks, sest suurimad andmekao ohud seisnevad mehaanilisel tasandil.


Line 12: Line 14:




== RAID kettasüsteemide ajalugu ==
== ''RAID kettasüsteemide ajalugu ==


RAID tehnoloogia nimetus oli esmalt kasutusele võetud arvutiteadlaste grupi poolt Kalifornia Ülikoolis Berkeleys aasal 1987. Teadlased uurisid võimalikke võimalusi, kuidas ühendada mitu ketast, mis tunduksid „host“ masinale kui ühena. (RAID Technology)
RAID tehnoloogia nimetus oli esmalt kasutusele võetud arvutiteadlaste grupi poolt Kalifornia Ülikoolis Berkeleys aasal 1987. Teadlased uurisid võimalikke võimalusi, kuidas ühendada mitu ketast, mis tunduksid „host“ masinale kui ühena. (RAID Technology)
Gruppi kuulusid David A. Patterson, Garth A. Gibson ja Randy Katz, kes üritasid luua iga RAID taseme jaoks prototüübi. Selle uurimistöö tulemuseks on põhitõed tänapäevase kompleks RAID tasemete kohta. (RAID History Information)
Gruppi kuulusid David A. Patterson, Garth A. Gibson ja Randy Katz, kes üritasid luua iga RAID taseme jaoks prototüübi. Selle uurimistöö tulemuseks on põhitõed tänapäevase kompleks RAID tasemete kohta. (RAID History Information)
Kuigi massiivi jõudlus oli parem kui tavalistel suurtel individuaalketastel, oli nende töökindlus väga madal. Parema tulemuse saavutamiseks hakkasid teadlased välja töötama erinevaid RAID tasemeid, mis parandaksid massiivi veakindlust. Peale selle, et nad defineerisid RAID levelid ühest viieni (nüüdseks on neid 0 - 6), uurisid nad ka andmejaotust, mis jagab andmed võrdselt mitme erineva füüsilise ketta vahel. Tegemist oli teada tuntud RAID 0-ga, mis küll ei taganud andmete turvalisust, kuid pakkus maksimaalset andmeedastuskiirust (kasulik videotöötluses). (RAID Technology)
Kuigi massiivi jõudlus oli parem kui tavalistel suurtel individuaalketastel, oli nende töökindlus väga madal. Parema tulemuse saavutamiseks hakkasid teadlased välja töötama erinevaid RAID tasemeid, mis parandaksid massiivi veakindlust. Peale selle, et nad defineerisid RAID levelid ühest viieni (nüüdseks on neid 0 - 6), uurisid nad ka andmejaotust, mis jagab andmed võrdselt mitme erineva füüsilise ketta vahel. Tegemist oli teada tuntud RAID 0-ga, mis küll ei taganud andmete turvalisust, kuid pakkus maksimaalset andmeedastuskiirust (kasulik videotöötluses). (RAID Technology)
Kõikidel loodud RAID tasemetel või ketaste kombinatsioonidel olid omad head ja vead. Üle aastate on välja töödeldud erinevaid kontseptsioone uutest RAID'idest. Enamik neist ei erine originaalidest küll märgatavalt, kuid siiski on lisatud rida modifikatsioone, et täiustada olemasolevat. Sellega aga pole kaasnenud muutust algupärase RAID kontseptsiooni muutust tasemete hulgas, ka kõik uued jaotatakse tasemetesse nagu nende esivanemadki. See võib aga kaasa tuua segadusi. Näiteks üks RAID 5-e täiustus võib erineda teisest. RAID 3 ja RAID 4 kutsuvad esile segadusi veel tänase päevani, sest nad on väga sarnased. Sageli aetakse neid isegi segamini.
Kõikidel loodud RAID tasemetel või ketaste kombinatsioonidel olid omad head ja vead. Üle aastate on välja töödeldud erinevaid kontseptsioone uutest RAID'idest. Enamik neist ei erine originaalidest küll märgatavalt, kuid siiski on lisatud rida modifikatsioone, et täiustada olemasolevat. Sellega aga pole kaasnenud muutust algupärase RAID kontseptsiooni muutust tasemete hulgas, ka kõik uued jaotatakse tasemetesse nagu nende esivanemadki. See võib aga kaasa tuua segadusi. Näiteks üks RAID 5-e täiustus võib erineda teisest. RAID 3 ja RAID 4 kutsuvad esile segadusi veel tänase päevani, sest nad on väga sarnased. Sageli aetakse neid isegi segamini.
Üks varasemaid RAID'i kasutajaid oli Crosfield Electronics Studio oma Python'il baseeruva tööjaamaga kus kasutati RAID 0 ja RAID 1-te mis parandasid oluliselt pilditöötluste kiirust, eeskätt säilitades andmete turvalisuse.
Üks varasemaid RAID'i kasutajaid oli Crosfield Electronics Studio oma Python'il baseeruva tööjaamaga kus kasutati RAID 0 ja RAID 1-te mis parandasid oluliselt pilditöötluste kiirust, eeskätt säilitades andmete turvalisuse.






== RAID-ide ülevaade ==
== ''RAID-ide ülevaade ==


RAID on üks moodus loogiliselt ühendada mitu ketast kokku üheks massiiviks (array). Ideeliselt omavad need koos töötavad kettad kvaliteetsema ketta kiirust ja/või usaldusväärsust.  
RAID on üks moodus loogiliselt ühendada mitu ketast kokku üheks massiiviks (array). Ideeliselt omavad need koos töötavad kettad kvaliteetsema ketta kiirust ja/või usaldusväärsust.  
Kõvakettad omavad kindlat kiirust, mis oleneb füüsilistest limiitidest ja mis tänu mehaanilisele loomusele omavad suhteliselt kõrget ebaõnnestumise määra. RAID on mõeldud aitama leevendada neid mõlemaid probleeme olenevalt RAIDi tüübist. Tüüpiliselt on kõvakettal 5% võimalus ebaõnnestuda esimesel kasutamisaastal. Seda tõestavad paljud erinevad raportid ning see ei olene tootjast (kuigi uued SSD'd on palju töökindlamad). ((Almost) Everything You Need to Know About RAID)
Kõvakettad omavad kindlat kiirust, mis oleneb füüsilistest limiitidest ja mis tänu mehaanilisele loomusele omavad suhteliselt kõrget ebaõnnestumise määra. RAID on mõeldud aitama leevendada neid mõlemaid probleeme olenevalt RAIDi tüübist. Tüüpiliselt on kõvakettal 5% võimalus ebaõnnestuda esimesel kasutamisaastal. Seda tõestavad paljud erinevad raportid ning see ei olene tootjast (kuigi uued SSD'd on palju töökindlamad). ((Almost) Everything You Need to Know About RAID)
RAID koonduse südameks on loogika kontroller. See on tavaliselt SCSI kontroller (kuid tänapäeval koguvad populaarsust ka IDE RAID kontrollerid). Kontrolleri tööd võib jagada kolme gruppi. Esiteks, juhib ta individuaalseid kettaid. Teiseks pakub ta loogika massiivi konfiguratsiooni, ning kolmandaks tegeleb ta veakindluse operatsioonidega. (RAID History Information)
RAID koonduse südameks on loogika kontroller. See on tavaliselt SCSI kontroller (kuid tänapäeval koguvad populaarsust ka IDE RAID kontrollerid). Kontrolleri tööd võib jagada kolme gruppi. Esiteks, juhib ta individuaalseid kettaid. Teiseks pakub ta loogika massiivi konfiguratsiooni, ning kolmandaks tegeleb ta veakindluse operatsioonidega. (RAID History Information)
RAID on väga tõhus andmeturbe vahend andmete hoiustamiseks kuna ta saab luua koopiaid mitme erineva füüsilise ketta vahel. Ühtlasi on tegemist virtuaalse andmehoiustusega, mille massiivi saab operatsioonisüsteem käsitleda kui ühtset füüsilist ketast. Erinevad skeemid või arhitektuurid on nime saanud sõnast RAID, millele järgneb number (NT: RAID 0, RAID 1). Iga skeem tagab tasakaalu põhieesmärkide vahel: usaldatavuse ja kättesaadavuse, jõudluse ja võimelisuse vahel. Kõrgema taseme kui 0 tasemega RAID süsteemid tagavad kaitse mittetaastavate lugemisvigade vastu nagu ka kogu ketta häire (ebaõnnestumise) vastu. (Wikipedia - RAID)
RAID on väga tõhus andmeturbe vahend andmete hoiustamiseks kuna ta saab luua koopiaid mitme erineva füüsilise ketta vahel. Ühtlasi on tegemist virtuaalse andmehoiustusega, mille massiivi saab operatsioonisüsteem käsitleda kui ühtset füüsilist ketast. Erinevad skeemid või arhitektuurid on nime saanud sõnast RAID, millele järgneb number (NT: RAID 0, RAID 1). Iga skeem tagab tasakaalu põhieesmärkide vahel: usaldatavuse ja kättesaadavuse, jõudluse ja võimelisuse vahel. Kõrgema taseme kui 0 tasemega RAID süsteemid tagavad kaitse mittetaastavate lugemisvigade vastu nagu ka kogu ketta häire (ebaõnnestumise) vastu. (Wikipedia - RAID)




== Andmete varundamine ==
== ''Andmete varundamine ==


Sekundaarse hoiustamise eesmärgil kasutatud RAID süsteem ei ole alternatiiv andmete varundamiseks. Kui RAID-i tase on suurem kui 0, siis kaitseb RAID katastroofilise andmete kaotuse eest, mida on põhjustanud füüsiline kahju või vead üksikutel ketastel massiivide ulatuses (või kahel kettal RAID 6 taseme puhul). Ometi omab tõeline „backup“ süsteem teisigi tähtsaid jooni nagu võimet taastada andmete varasemat versiooni, mis on vajalik nii tarkvara vigade eest kaitsmiseks, mida põhjustab mittesoovitud andmete kirjutamine kettale, kui ka andmete taastamiseks kasutaja vigade ja pahatahtliku andmete kustutamise puhul.  
Sekundaarse hoiustamise eesmärgil kasutatud RAID süsteem ei ole alternatiiv andmete varundamiseks. Kui RAID-i tase on suurem kui 0, siis kaitseb RAID katastroofilise andmete kaotuse eest, mida on põhjustanud füüsiline kahju või vead üksikutel ketastel massiivide ulatuses (või kahel kettal RAID 6 taseme puhul). Ometi omab tõeline „backup“ süsteem teisigi tähtsaid jooni nagu võimet taastada andmete varasemat versiooni, mis on vajalik nii tarkvara vigade eest kaitsmiseks, mida põhjustab mittesoovitud andmete kirjutamine kettale, kui ka andmete taastamiseks kasutaja vigade ja pahatahtliku andmete kustutamise puhul.  
RAID-i ohustavad siiski katastroofilised ohud, mis ületavad süsteemi taastusvõimet, seega terve andmemassiiv on ohus tulekahju, looduslike jõudude ning ka inimese tekitatud kahju korral. Selle vastu aitavad lokaalselt eemal olevad tagavara serverid/failid. RAID on kaitsetu ka kontrolleri vea eest, sest mitte alati ei ole võimalik ümber tõsta RAID-i uuele kontrollerile ilma andmete kaotamiseta. (Wikipedia - RAID)
RAID-i ohustavad siiski katastroofilised ohud, mis ületavad süsteemi taastusvõimet, seega terve andmemassiiv on ohus tulekahju, looduslike jõudude ning ka inimese tekitatud kahju korral. Selle vastu aitavad lokaalselt eemal olevad tagavara serverid/failid. RAID on kaitsetu ka kontrolleri vea eest, sest mitte alati ei ole võimalik ümber tõsta RAID-i uuele kontrollerile ilma andmete kaotamiseta. (Wikipedia - RAID)
Standardsed RAID tasemed
Standardsed RAID tasemed


Standardsed RAID tasemed on põhiline hulk RAID-i konfiguratsioone ja nad rakendavad triibutamise, peegeldamise või paarsuse printsiibil. Standardseid RAID tasemeid on võimalik muuta vastavalt soovile, mis tagaks kõik võimalikud juhud seoses andmete ohuga.
Standardsed RAID tasemed on põhiline hulk RAID-i konfiguratsioone ja nad rakendavad triibutamise, peegeldamise või paarsuse printsiibil. Standardseid RAID tasemeid on võimalik muuta vastavalt soovile, mis tagaks kõik võimalikud juhud seoses andmete ohuga.
Teised, mittestandardsed RAID tasemed ja arhitektuurid tagavad alternatiive tuntud RAID-i ülesehitustele. (Wikipedia - RAID)
Teised, mittestandardsed RAID tasemed ja arhitektuurid tagavad alternatiive tuntud RAID-i ülesehitustele. (Wikipedia - RAID)




== RAID 0 ==
=== ''RAID 0 ===
Joonis 1. RAID 0 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/9/9b/RAID_0.svg/150px-RAID_0.svg.png
Joonis 1. RAID 0 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/9/9b/RAID_0.svg/150px-RAID_0.svg.png


RAID 0 poolitab andmed võrdselt kahe või enama ketta vahel. RAID 0 ei ole algupärane RAID tase, sest RAID 0 massiivis ei ole veakindlust. Sellegipoolest loetakse see RAID-i tasemeks kuna RAID 0 massiivis peab kontroller andmeid jaotama mitme ketta vahel. RAID 0 kasutatakse tavaliselt tõstmaks andmeedastuse jõudlust, kuigi seda kasutatakse ka ühe võimalusena luua suur virtuaalne ketas, mis koosneb kahest või enamast füüsilisest kettast.  
RAID 0 poolitab andmed võrdselt kahe või enama ketta vahel. RAID 0 ei ole algupärane RAID tase, sest RAID 0 massiivis ei ole veakindlust. Sellegipoolest loetakse see RAID-i tasemeks kuna RAID 0 massiivis peab kontroller andmeid jaotama mitme ketta vahel. RAID 0 kasutatakse tavaliselt tõstmaks andmeedastuse jõudlust, kuigi seda kasutatakse ka ühe võimalusena luua suur virtuaalne ketas, mis koosneb kahest või enamast füüsilisest kettast.  
Sellise arhitektuuri kasutamisega kaasneb väga suur risk, kui ketaste veavõimaluste protsent on suur (on probleemiks rohkem vanade HDD-dega, kuid uute SSD-dega on see risk madal). Juhul kui üks ketas massiivis puruneb, kaovad kõik andmed ning neid ei ole võimalik taastada. Iga massiivi pandud kettaga suureneb selle tõrkevõimalus, mis on omakorda kõigi kõvaketaste hävinemisvõimaluste summa.
Sellise arhitektuuri kasutamisega kaasneb väga suur risk, kui ketaste veavõimaluste protsent on suur (on probleemiks rohkem vanade HDD-dega, kuid uute SSD-dega on see risk madal). Juhul kui üks ketas massiivis puruneb, kaovad kõik andmed ning neid ei ole võimalik taastada. Iga massiivi pandud kettaga suureneb selle tõrkevõimalus, mis on omakorda kõigi kõvaketaste hävinemisvõimaluste summa.
RAID 0 massiivis kirjutatakse andmeid plokkidena, mis on kindla suurusega. Massiivi peamine parameeter on tavaliselt 16 KB, 32 KB ja 64 KB. Samaaegselt kõigilt ketastelt andmeid lugedes ja kirjutades suureneb massiivi andmeedastuskiirus iga lisatud kettaga. RAID 0 ei toeta veatuvastust. Hargsalvestusega massiivilt faili lugedes, loeb kontroller üheaegselt faili jagu erinevatelt ketastelt, millel fail asub. Seepeale seab kontroller faili osad enne RAM mällu kirjutamist õigesse järjekorda. Kui hargsalvestusega massiivis on enam kui kaks ketast, on võimalik seda seadistada hargsalvestusega massiiviks koos paarsusega (RAID 4). Andmed jaotatakse kõikidele ketastele selles massiivis, välja arvatud ühele, mida tarvitatakse veaparanduskoodi kirjutamiseks. (Wikipedia - Standard RAID levels)
RAID 0 massiivis kirjutatakse andmeid plokkidena, mis on kindla suurusega. Massiivi peamine parameeter on tavaliselt 16 KB, 32 KB ja 64 KB. Samaaegselt kõigilt ketastelt andmeid lugedes ja kirjutades suureneb massiivi andmeedastuskiirus iga lisatud kettaga. RAID 0 ei toeta veatuvastust. Hargsalvestusega massiivilt faili lugedes, loeb kontroller üheaegselt faili jagu erinevatelt ketastelt, millel fail asub. Seepeale seab kontroller faili osad enne RAM mällu kirjutamist õigesse järjekorda. Kui hargsalvestusega massiivis on enam kui kaks ketast, on võimalik seda seadistada hargsalvestusega massiiviks koos paarsusega (RAID 4). Andmed jaotatakse kõikidele ketastele selles massiivis, välja arvatud ühele, mida tarvitatakse veaparanduskoodi kirjutamiseks. (Wikipedia - Standard RAID levels)
Teda kasutatakse peamiselt suurtes andmelao serverites (read-only Network File Systems) kus paljude ketaste järjepidev lugemine on ajakulukas või võimatu ning andmekoondus on ebavajalik. Peale selle on RAID 0 tuntud ka meediatööstuses. Peamiselt video- ja 3D töötlejate poolt kasutust leidev, kuna ta pakub suurt lugemis ning kirjutamis kiirust. Tänu viimasele on RAID 0 tuntust kogumas ka mängurite seas, sest osad töölaua rakendused (mängud) saavad eelise kiiremast lugemis/kirjutamis kiirusest.
Teda kasutatakse peamiselt suurtes andmelao serverites (read-only Network File Systems) kus paljude ketaste järjepidev lugemine on ajakulukas või võimatu ning andmekoondus on ebavajalik. Peale selle on RAID 0 tuntud ka meediatööstuses. Peamiselt video- ja 3D töötlejate poolt kasutust leidev, kuna ta pakub suurt lugemis ning kirjutamis kiirust. Tänu viimasele on RAID 0 tuntust kogumas ka mängurite seas, sest osad töölaua rakendused (mängud) saavad eelise kiiremast lugemis/kirjutamis kiirusest.


== RAID 1 ==
=== ''RAID 1 ===
Joonis 2. RAID 1 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/RAID_1.svg/150px-RAID_1.svg.png
Joonis 2. RAID 1 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/RAID_1.svg/150px-RAID_1.svg.png


RAID 1 süsteem kujutab endast peegeldamist teisele kettale, nn „peegelsalvestust“. Andmed on kirjutatud samaväärselt mitmele kettale. See on kasulik kui lugemise jõudlus või toetus on tähtsam kui andmehoiuruum. Selline massiiv saab olla nii suur kui suur on väikseima liikme ketas. Suurem osa RAID 1 massiive luuakse kahest kettast. Sellest hoolimata on võimalik lisada ka rohkem kettaid. RAID 1 massiiv võimaldab ka pärast ketta tõrkeid tööd jätkata, seni kuni on olemas vähemalt üks töökorras ketas. Kõlblike operatsioonisüsteemide olemasolul võib massiivi lugemiskiirus osutuda suuremaks kui ühe ketta lugemiskiirus, sest mitmelt kettalt toimub lugemine samaaegselt. Kirjutamiskiirus RAID 1 massiivis oleneb sealse kõige aeglasema kõvaketta kirjutamiskiirusest.
RAID 1 süsteem kujutab endast peegeldamist teisele kettale, nn „peegelsalvestust“. Andmed on kirjutatud samaväärselt mitmele kettale. See on kasulik kui lugemise jõudlus või toetus on tähtsam kui andmehoiuruum. Selline massiiv saab olla nii suur kui suur on väikseima liikme ketas. Suurem osa RAID 1 massiive luuakse kahest kettast. Sellest hoolimata on võimalik lisada ka rohkem kettaid. RAID 1 massiiv võimaldab ka pärast ketta tõrkeid tööd jätkata, seni kuni on olemas vähemalt üks töökorras ketas. Kõlblike operatsioonisüsteemide olemasolul võib massiivi lugemiskiirus osutuda suuremaks kui ühe ketta lugemiskiirus, sest mitmelt kettalt toimub lugemine samaaegselt. Kirjutamiskiirus RAID 1 massiivis oleneb sealse kõige aeglasema kõvaketta kirjutamiskiirusest.
Kuigi RAID 1 võib massiivi tõhusalt kaitsta füüsilise ketta tõrgete eest, ei taga see kaitset andmete hävimise eest viiruste, juhuslike faili muudatuste või kustutamiste kaudu. Plaani kohaselt peegelduvad kõik taolised muudatused koheselt ka igale kettale massiivis. (Wikipedia - Standard RAID levels)
Kuigi RAID 1 võib massiivi tõhusalt kaitsta füüsilise ketta tõrgete eest, ei taga see kaitset andmete hävimise eest viiruste, juhuslike faili muudatuste või kustutamiste kaudu. Plaani kohaselt peegelduvad kõik taolised muudatused koheselt ka igale kettale massiivis. (Wikipedia - Standard RAID levels)


== RAID 2 ==
=== ''RAID 2 ===
Joonis 3. RAID 2 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/RAID2_arch.svg/350px-RAID2_arch.svg.png
Joonis 3. RAID 2 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/RAID2_arch.svg/350px-RAID2_arch.svg.png


RAID 2 taseme puhul jaotatakse andmed bittidena, kasutades veaparanduskoodi. Kõik kettad on paralleelsed ja andmed nende vahel jaotatakse bittidena. Veaparanduskood (Hamming'i kood ECC) arvutatakse igale bitireale ketastes ning see salvestatakse ühele või enamale kettale massiivis. ECC koodi alusel on võimalik parandada üksiku ketta vigu.
RAID 2 taseme puhul jaotatakse andmed bittidena, kasutades veaparanduskoodi. Kõik kettad on paralleelsed ja andmed nende vahel jaotatakse bittidena. Veaparanduskood (Hamming'i kood ECC) arvutatakse igale bitireale ketastes ning see salvestatakse ühele või enamale kettale massiivis. ECC koodi alusel on võimalik parandada üksiku ketta vigu.
RAID 2 on ainus standartne RAID level, peale mõne lisandi RAID 6-st, mis suudab automaatselt taastada täpseid andmeosi, millel võib esineda ainult 1-bitine viga. Ka mõned teised RAID tasemed suudavad sama, kuid ainult inimese sekkumisel.
RAID 2 on ainus standartne RAID level, peale mõne lisandi RAID 6-st, mis suudab automaatselt taastada täpseid andmeosi, millel võib esineda ainult 1-bitine viga. Ka mõned teised RAID tasemed suudavad sama, kuid ainult inimese sekkumisel.
Kõik kõvakettad on tänapäeval juba varustatud Hammingu koodi korrastajaga, mis suudab tuvastada kuni kahe ning paradada ühe bitiseid hälbeid. See implementatsioon aga tegi RAID 2-e veatuvastaja ja korrastaja üleliigselt keeruliseks ja ebavajalikuks. Nagu ka RAID 3, see tase muutus kiirelt kasutuks ja on nüüd vananenud. (Wikipedia -  Standard RAID levels)
Kõik kõvakettad on tänapäeval juba varustatud Hammingu koodi korrastajaga, mis suudab tuvastada kuni kahe ning paradada ühe bitiseid hälbeid. See implementatsioon aga tegi RAID 2-e veatuvastaja ja korrastaja üleliigselt keeruliseks ja ebavajalikuks. Nagu ka RAID 3, see tase muutus kiirelt kasutuks ja on nüüd vananenud. (Wikipedia -  Standard RAID levels)


== RAID 3 ==
=== ''RAID 3 ===
Joonis 4. RAID 3 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/RAID_3.svg/300px-RAID_3.svg.png
Joonis 4. RAID 3 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/RAID_3.svg/300px-RAID_3.svg.png


RAID 3 süsteemi andmed jaotatakse baitidena plokkide kaupa. Selle taseme puhul kasutatakse paarsusinfo salvestamiseks kindlat ketast. RAID 3 süsteem on väga haruldane praktikas. Kõik kettad on paralleelsed ja teave jaotatakse baidi kaupa ketaste vahel. Paarsusteave arvutatakse teatud baitidele eraldi (XOR tehtega) ja salvestatakse selleks ette nähtud kõvakettale.
RAID 3 süsteemi andmed jaotatakse baitidena plokkide kaupa. Selle taseme puhul kasutatakse paarsusinfo salvestamiseks kindlat ketast. RAID 3 süsteem on väga haruldane praktikas. Kõik kettad on paralleelsed ja teave jaotatakse baidi kaupa ketaste vahel. Paarsusteave arvutatakse teatud baitidele eraldi (XOR tehtega) ja salvestatakse selleks ette nähtud kõvakettale.
Üks RAID 3 omadusi on see, et ta üldiselt ei saa teenindada mitmekordseid taotlusi samaaegselt. See juhtub seepärast, et iga üksik andmeplokk levitatakse kõikidele liikmetele rühmas ja jääb hiljem elutsema samasse asukohta. See juhtub, kuna üksik andmeplokk on alati jagatud kõigi ketaste vahel ning asub alati sama koha peal. Seega iga sisend/väljund operatsioon (I/O operation) vajab kõigi ketaste aktiivsust.
Üks RAID 3 omadusi on see, et ta üldiselt ei saa teenindada mitmekordseid taotlusi samaaegselt. See juhtub seepärast, et iga üksik andmeplokk levitatakse kõikidele liikmetele rühmas ja jääb hiljem elutsema samasse asukohta. See juhtub, kuna üksik andmeplokk on alati jagatud kõigi ketaste vahel ning asub alati sama koha peal. Seega iga sisend/väljund operatsioon (I/O operation) vajab kõigi ketaste aktiivsust.
Nõue, et kõik kettad keerlevad sünkroonselt (lockstep), lisas kujunduse kaalutlust tasemele, mis ei andnud olulisi eeliseid teiste RAID tasemete ees, mistõttu muutus RAID 3 kiirelt kasutuks ja on nüüd vananenud. Nii RAID 3 kui ka RAID 4 asendati kiirelt RAID 5-ga. RAID 3 oli tavaliselt rakendatud juba riistvarasse ning jõudluseprobleemid lahendati kasutades suurendatud varumälusid (caches) ketastes. (Wikipedia -  Standard RAID levels)


== RAID 4 ==
Nõue, et kõik kettad keerlevad sünkroonselt (lockstep), lisas kujunduse kaalutlust tasemele, mis ei andnud olulisi eeliseid teiste RAID tasemete ees, mistõttu muutus RAID 3 kiirelt kasutuks ja on nüüd vananenud. Nii
 
RAID 3 kui ka RAID 4 asendati kiirelt RAID 5-ga. RAID 3 oli tavaliselt rakendatud juba riistvarasse ning jõudluseprobleemid lahendati kasutades suurendatud varumälusid (caches) ketastes. (Wikipedia -  Standard RAID levels)
 
=== ''RAID 4 ===
Joonis 5. RAID 4 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/RAID_4.svg/300px-RAID_4.svg.png
Joonis 5. RAID 4 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/RAID_4.svg/300px-RAID_4.svg.png


RAID 4 süsteem kasutab kindlat ketast, kuhu salvestatakse paarsusinformatsioon. RAID 4 andmed jaotatakse plokkidena. Selle süsteemi puhul kirjutatakse paarsusinfo vaid ühele teatud kettale. Kõik kettad talitavad üksteisest eraldatuna, mistõttu võib lugeda/kirjutada kõikidelt ketastelt samaaegselt. Kuna paarsuskontroll salvestatakse ühele kettale, ei pruugi info jõuda antud kettale enam piisava kiirusega kirjutamiseks.
RAID 4 süsteem kasutab kindlat ketast, kuhu salvestatakse paarsusinformatsioon. RAID 4 andmed jaotatakse plokkidena. Selle süsteemi puhul kirjutatakse paarsusinfo vaid ühele teatud kettale. Kõik kettad talitavad üksteisest eraldatuna, mistõttu võib lugeda/kirjutada kõikidelt ketastelt samaaegselt. Kuna paarsuskontroll salvestatakse ühele kettale, ei pruugi info jõuda antud kettale enam piisava kiirusega kirjutamiseks.
Üldiselt, RAID 4 on rakendatud koos riistvara toetusega paarsuse arvutuste jaoks. Täielike RAID 4 konfiguratsioonide toimimise jaoks on vajalik minimaalselt kolme ketast.  
Üldiselt, RAID 4 on rakendatud koos riistvara toetusega paarsuse arvutuste jaoks. Täielike RAID 4 konfiguratsioonide toimimise jaoks on vajalik minimaalselt kolme ketast.  
RAID 4 on väga ebaharilik, ometi üks ettevõte siiski kasutab seda taset – NetApp. Tänapäeval on nii RAID 3 kui RAID 4 asendatud RAID 5 ja RAID 6-ga. (Wikipedia – Standard RAID levels)
RAID 4 on väga ebaharilik, ometi üks ettevõte siiski kasutab seda taset – NetApp. Tänapäeval on nii RAID 3 kui RAID 4 asendatud RAID 5 ja RAID 6-ga. (Wikipedia – Standard RAID levels)


== RAID 5 ==
=== ''RAID 5 ===
Joonis 6. RAID 5 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/RAID_5.svg/300px-RAID_5.svg.png
Joonis 6. RAID 5 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/RAID_5.svg/300px-RAID_5.svg.png


RAID 5 puhul jaotatakse andmed plokkidena ning kontrollkood kirjutatakse kõikidele ketastele. Paarsuskontroll jagatakse kõikide ketaste vahel võrdselt, kus iga paarsusinformatsioon kirjutatakse erinevale kettale. Seega ühe ketta hävimisel massiiv ei purune ega mõjuta edasise töö tegemist (töö on aeglasem, sest andmed purunenud kettal arvutatakse ümber). Sellest hoolimata on rikki läinud ketas vaja välja vahetada ja taastada. Teise ketta purunemisel hävivad kõik massiivis olevad andmed. (Wikipedia – Standard RAID levels)
RAID 5 puhul jaotatakse andmed plokkidena ning kontrollkood kirjutatakse kõikidele ketastele. Paarsuskontroll jagatakse kõikide ketaste vahel võrdselt, kus iga paarsusinformatsioon kirjutatakse erinevale kettale. Seega ühe ketta hävimisel massiiv ei purune ega mõjuta edasise töö tegemist (töö on aeglasem, sest andmed purunenud kettal arvutatakse ümber). Sellest hoolimata on rikki läinud ketas vaja välja vahetada ja taastada. Teise ketta purunemisel hävivad kõik massiivis olevad andmed. (Wikipedia – Standard RAID levels)
RAID 5 pakub 100 protsendilist (%) andmekaitset. Peale selle pakub eelmainitud tase rohkem füüsilise ketta andmehoiuruumi kui RAID 1 või RAID 1E tase. Paraku on RAID 5 tasemel madalam jõudlus kui RAID 1 ja 1E-l. (Understanding RAID level-5)
RAID 5 pakub 100 protsendilist (%) andmekaitset. Peale selle pakub eelmainitud tase rohkem füüsilise ketta andmehoiuruumi kui RAID 1 või RAID 1E tase. Paraku on RAID 5 tasemel madalam jõudlus kui RAID 1 ja 1E-l. (Understanding RAID level-5)
Juhul, kui ketta töö massiivis peaks nurjuma, siis kasutatakse töös olevatelt ketastelt paarsuse plokke, mis ühendatakse, et rekonstrueerida nurjunud ketta andmed. Seda kutsutakse tihti Andmete vahetaastusrežiimiks (Interim Data Recovery Mode). Arvuti saab aru, kui kettaseade on nurjunud, mispuhul operatsioonisüsteem teatab administraatorile, et ketas vajab asendust. Jooksvad rakendused ei ole teadlikud nurjumisest. Lugemine ja kirjutamine kettamassiivile jätkub sujuvalt, kuid jõudlus langev silmnähtavalt.   
Juhul, kui ketta töö massiivis peaks nurjuma, siis kasutatakse töös olevatelt ketastelt paarsuse plokke, mis ühendatakse, et rekonstrueerida nurjunud ketta andmed. Seda kutsutakse tihti Andmete vahetaastusrežiimiks (Interim Data Recovery Mode). Arvuti saab aru, kui kettaseade on nurjunud, mispuhul operatsioonisüsteem teatab administraatorile, et ketas vajab asendust. Jooksvad rakendused ei ole teadlikud nurjumisest. Lugemine ja kirjutamine kettamassiivile jätkub sujuvalt, kuid jõudlus langev silmnähtavalt.   
Süsteemi nurjumise korral, kui on käimas aktiivne kirjutamine ketastele, võib esineda ebajärjekindlust andmetes. Kui seda ei tuvastata ega parandata enne, kui ketas või massiiv nurjub, siis järgneb sellele andmekaotus, kuna võetakse kasutusele vale paarsus eesmärgiga taastada rikutud andmed. Seda potentsiaalset haavatavust kirjeldatakse sageli kui „kirjutusauku“ (write hole). Selle ära hoidmiseks kasutatakse üldjuhul patarei toitega varumälu (cache). Sama probleem esineb ka RAID 6-l. (Wikipedia – Standard RAID levels)
Süsteemi nurjumise korral, kui on käimas aktiivne kirjutamine ketastele, võib esineda ebajärjekindlust andmetes. Kui seda ei tuvastata ega parandata enne, kui ketas või massiiv nurjub, siis järgneb sellele andmekaotus, kuna võetakse kasutusele vale paarsus eesmärgiga taastada rikutud andmed. Seda potentsiaalset haavatavust kirjeldatakse sageli kui „kirjutusauku“ (write hole). Selle ära hoidmiseks kasutatakse üldjuhul patarei toitega varumälu (cache). Sama probleem esineb ka RAID 6-l. (Wikipedia – Standard RAID levels)




== RAID 6 ==
=== ''RAID 6 ===
Joonis 7. RAID 6 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/RAID_6.svg/300px-RAID_6.svg.png
Joonis 7. RAID 6 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/RAID_6.svg/300px-RAID_6.svg.png


RAID 6 taseme puhul jagatakse andmed plokkidena. Sellel tasemel kirjutatakse XOR tehet ja Reed-Solomoni koodi kasutades kontrollkood topelt. RAID 6 suudab tööd jätkada ka pärast mõlema ketta purunemist. See tase muudab suured massiivid sisuküllasemaks, sest pakub suuremat tõrkekindlust. See tähendab, et purunenud ketta vahetamiseks on rohkem aega, sest töö jätkub ka siis, kui peaks hävima teine ketas.
RAID 6 taseme puhul jagatakse andmed plokkidena. Sellel tasemel kirjutatakse XOR tehet ja Reed-Solomoni koodi kasutades kontrollkood topelt. RAID 6 suudab tööd jätkada ka pärast mõlema ketta purunemist. See tase muudab suured massiivid sisuküllasemaks, sest pakub suuremat tõrkekindlust. See tähendab, et purunenud ketta vahetamiseks on rohkem aega, sest töö jätkub ka siis, kui peaks hävima teine ketas.
RAID 6 tase tagab 100 protsendilise (%) andmekaitse ning tal on ülikõrge andme tõrketaluvus. Sellel tasemel on võime edasi töötada kahe ketta samaaegsel nurjumisel. Kahjuks on RAID 6-l kahe võrdse ketta tõttu madalam jõudlus, kui RAID 5-l. Peale selle ei ole RAID 6 tase saadaval kõikidele kontrolleritele. (Understanding RAID level-6)
RAID 6 tase tagab 100 protsendilise (%) andmekaitse ning tal on ülikõrge andme tõrketaluvus. Sellel tasemel on võime edasi töötada kahe ketta samaaegsel nurjumisel. Kahjuks on RAID 6-l kahe võrdse ketta tõttu madalam jõudlus, kui RAID 5-l. Peale selle ei ole RAID 6 tase saadaval kõikidele kontrolleritele. (Understanding RAID level-6)
RAID 6 tagab kaitse andmekaotuse vastu massiivi taastamise ajal. Näiteks kui veel teinegi ketas puruneb, siis toimub valede andmete lugemine, või kui inimene eemaldab ja asendab kogemata vale (terve) kettaseade, üritades asendada nurjunud ketast.
RAID 6 tagab kaitse andmekaotuse vastu massiivi taastamise ajal. Näiteks kui veel teinegi ketas puruneb, siis toimub valede andmete lugemine, või kui inimene eemaldab ja asendab kogemata vale (terve) kettaseade, üritades asendada nurjunud ketast.
Selle taseme kasutatav võimsus on , kus N on ketaste üldarv massiivis ja Smin on väikseima ketta võimsus. (Wikipedia – RAID)
Selle taseme kasutatav võimsus on , kus N on ketaste üldarv massiivis ja Smin on väikseima ketta võimsus. (Wikipedia – RAID)






== Hübriid-RAID ==
=== ''Hübriid-RAID ===


Mitmed andmeedastuskontrollerid võimaldavad kasutada hübriidseid RAID tasemeid ehk kahte või enamat RAID taset samaaegselt. Massiivi elemendid võivad olla nii RAID tasemed kui kettad. Enamat kui kahte RAID taset kasutatakse vaid spetsiaalsetel juhtudel.  
Mitmed andmeedastuskontrollerid võimaldavad kasutada hübriidseid RAID tasemeid ehk kahte või enamat RAID taset samaaegselt. Massiivi elemendid võivad olla nii RAID tasemed kui kettad. Enamat kui kahte RAID taset kasutatakse vaid spetsiaalsetel juhtudel.  
Hübriid-RAID-i tasemed saadakse liites kaks kasutatavat taset kokku, pannes nimes tasemete vahele „+“ märgi. Praktiliseimad hübriid-RAID-id on:
Hübriid-RAID-i tasemed saadakse liites kaks kasutatavat taset kokku, pannes nimes tasemete vahele „+“ märgi. Praktiliseimad hübriid-RAID-id on:
RAID 0+1: RAID 0 plokid peegeldatakse teisele kettale, mis garanteerivad veakindluse ja parema andmeedastuskiiruse. Suurim erinevus RAID 1+0 ja RAID 0+1 vahel on see, et RAID 0+1 korral võib üks pool RAID 1 massiivist hävineda ilma, et see tööd häiriks.
RAID 0+1: RAID 0 plokid peegeldatakse teisele kettale, mis garanteerivad veakindluse ja parema andmeedastuskiiruse. Suurim erinevus RAID 1+0 ja RAID 0+1 vahel on see, et RAID 0+1 korral võib üks pool RAID 1 massiivist hävineda ilma, et see tööd häiriks.
RAID 1+0: RAID 0 massiivis on peegeldatud kettad (sageli kasutatakse nelja ketasrt, et kasutada ära suuremat andmevahetuskiirust), mis tagavad veakindluse ja parema andmeedastuskiiruse. Põhiline erinevus RAID 0+1 ja RAID 1+0 vahel on see, et viimase puhul on andmeedastuskiirus suurem. Juhul, kui RAID 1 kaotab ühe osa ketastest, on kogu massiiv purunenud.
RAID 1+0: RAID 0 massiivis on peegeldatud kettad (sageli kasutatakse nelja ketasrt, et kasutada ära suuremat andmevahetuskiirust), mis tagavad veakindluse ja parema andmeedastuskiiruse. Põhiline erinevus RAID 0+1 ja RAID 1+0 vahel on see, et viimase puhul on andmeedastuskiirus suurem. Juhul, kui RAID 1 kaotab ühe osa ketastest, on kogu massiiv purunenud.
RAID 5+1: peegeldatakse RAID 5 taset (tuntud ka RAID 53 nime all). (Vikipeedia – Sõltumatute ketaste liiasmassiiv ehk RAID)
RAID 5+1: peegeldatakse RAID 5 taset (tuntud ka RAID 53 nime all). (Vikipeedia – Sõltumatute ketaste liiasmassiiv ehk RAID)






== Mittestandardsed RAID tasemed ==
== ''Mittestandardsed RAID tasemed ==


Peale põhiliste RAID tasemete on olemas palju teisigi RAID tasemete konfiguratsioone ning paljud ettevõtted, organisatsioonid ja grupid on loonud oma mittestandardsed seaded. Seda tehakse peamiselt soovist kujundada RAID-i omadusi vastavalt grupi vajadustele. Enamus neist mittestandardsetest RAID tasemetest on patenditud. Seega võib mittestandardseid tasemeid olla väga suures koguses.
Peale põhiliste RAID tasemete on olemas palju teisigi RAID tasemete konfiguratsioone ning paljud ettevõtted, organisatsioonid ja grupid on loonud oma mittestandardsed seaded. Seda tehakse peamiselt soovist kujundada RAID-i omadusi vastavalt grupi vajadustele. Enamus neist mittestandardsetest RAID tasemetest on patenditud. Seega võib mittestandardseid tasemeid olla väga suures koguses.
Tuntuimad neist on:
Tuntuimad neist on:
RAID 50EE (kasutab Himperia)
RAID 50EE (kasutab Himperia)
RAID S (pakkus EMC Corporation)
RAID S (pakkus EMC Corporation)
RAID Z (pakub ZFS filesystem)
RAID Z (pakub ZFS filesystem)
RAID 6 Advanced Data Guarding (pakub Hewlett-Packard)
RAID 6 Advanced Data Guarding (pakub Hewlett-Packard)
RAID-DP (kasutab NetApp)
RAID-DP (kasutab NetApp)
RAID TP (Triple Parity)
RAID TP (Triple Parity)
RAID 10 (Linux)
RAID 10 (Linux)
RAID 1E (IBM)
RAID 1E (IBM)
(Wikipedia - RAID)
(Wikipedia - RAID)




Line 123: Line 153:




== RAID-i paarsus ==
== ''RAID-i paarsus ==


Paljud RAID-i tasemed rakendavad veatuvastusalgoritme ehk paarsuskontrolli. Paarsuskontroll on laialt levinud meetod, mis vähendab vigade protsenti. Veatuvastusalgoritm seisneb põhimõttel „kas üks või teine, mitte mõlemad või kumbki“. Otsene näide sellest põhimõttest:
Paljud RAID-i tasemed rakendavad veatuvastusalgoritme ehk paarsuskontrolli. Paarsuskontroll on laialt levinud meetod, mis vähendab vigade protsenti. Veatuvastusalgoritm seisneb põhimõttel „kas üks või teine, mitte mõlemad või kumbki“. Otsene näide sellest põhimõttest:
Line 176: Line 206:




== Probleemid RAID kettasüsteemidega ==
== ''Probleemid RAID kettasüsteemidega ==


RAID-i veaparandus eeldab, et ketaste ebaõnnestumised on sõltumatud. Arvestades neid oletusi, on võimalik välja arvutada kui tihti nad ebaõnnestuvad ja korraldada massiiv nii, et muuta andmekadu ebatõenäolisemaks. On veel ka oletus, et emaplaadi tõrked ei kahjusta kõvaketast ja et kõvaketta rikked ilmnevad sagedamini kui emaplaadi tõrked.
RAID-i veaparandus eeldab, et ketaste ebaõnnestumised on sõltumatud. Arvestades neid oletusi, on võimalik välja arvutada kui tihti nad ebaõnnestuvad ja korraldada massiiv nii, et muuta andmekadu ebatõenäolisemaks. On veel ka oletus, et emaplaadi tõrked ei kahjusta kõvaketast ja et kõvaketta rikked ilmnevad sagedamini kui emaplaadi tõrked.
Praktikas on kettad tihti sama vanad ja kuuluvad samasse keskkonda. Kuna paljud kettad riknevad tänu mehaanilistele probleemidele, siis see rikub neid oletusi: tõrked on statistiliselt korreleerunud (correlated). Praktika näitab, et võimalus teise ketta riknemiseks enne esimese parandamist (mis põhjustaks andmekaotuse) on ebatõenäoline.
Praktikas on kettad tihti sama vanad ja kuuluvad samasse keskkonda. Kuna paljud kettad riknevad tänu mehaanilistele probleemidele, siis see rikub neid oletusi: tõrked on statistiliselt korreleerunud (correlated). Praktika näitab, et võimalus teise ketta riknemiseks enne esimese parandamist (mis põhjustaks andmekaotuse) on ebatõenäoline.
Levinud oletus on see, et server-spetsiifilised (server-grade) kettad ebaõnnestuvad vähem kui tavakasutaja (consumer-grade) kettad. Kaks iseseisvat uuringut on näidanud, et ketta iseloom (grade) ei ole seotud ketta purunemise määraga. Lisaks puuduvad kaitseskeemid emaplaadi ja kõvaketta elektroonika vahel, seega emaplaadi katastroofiline riknemine võib põhjustada kõvaketta elektroonika nurjumise. Kui massiivis on nurjunud ketas, siis sageli peab selle asendama samaväärsega (tootja ja/või seeria), sest kettale kirjutatud failid (enamjaolt operatsioonisüsteemi tõttu) ei ühineks teise tootja kettaga ( uuemas Windows'i serveri operatsioonsüsteemis on see viga juba parandatud). Sellisele probleemile saab aga lahenduse tarkvara põhise RAID süsteemiga (mis on näiteks Linuxi kernelisse sisse kirjutatud).
Levinud oletus on see, et server-spetsiifilised (server-grade) kettad ebaõnnestuvad vähem kui tavakasutaja (consumer-grade) kettad. Kaks iseseisvat uuringut on näidanud, et ketta iseloom (grade) ei ole seotud ketta purunemise määraga. Lisaks puuduvad kaitseskeemid emaplaadi ja kõvaketta elektroonika vahel, seega emaplaadi katastroofiline riknemine võib põhjustada kõvaketta elektroonika nurjumise. Kui massiivis on nurjunud ketas, siis sageli peab selle asendama samaväärsega (tootja ja/või seeria), sest kettale kirjutatud failid (enamjaolt operatsioonisüsteemi tõttu) ei ühineks teise tootja kettaga ( uuemas Windows'i serveri operatsioonsüsteemis on see viga juba parandatud). Sellisele probleemile saab aga lahenduse tarkvara põhise RAID süsteemiga (mis on näiteks Linuxi kernelisse sisse kirjutatud).
Suureks probleemiks võivad osutuda ka operatsioonisüsteemide tõrked, näiteks Windowsi puhul sinine surma ekraan (BSOD – blue screen of death).
Suureks probleemiks võivad osutuda ka operatsioonisüsteemide tõrked, näiteks Windowsi puhul sinine surma ekraan (BSOD – blue screen of death).


Line 188: Line 221:




== Kokkuvõte ==
== ''Kokkuvõte ==


Referaadist selgub, et RAID kettaseadmed on väga kasulikud tänapäevases infomaailmas, kuna nad pakuvad võimalusi kiiremaks andmevahetuseks nii ketaste ja kui ka serverite vahel. Samas nad tagavad ka väga suurel määral andmete turvalisuse. Sageli inimesed arvavad, et andmeturve on seotud ainult krüptograafiaga, kuid tegelikult ei piisa vaid andmete krüpteerimisest, et kaitsta andmeid ründamise/kadumise eest. Olukorras, kus arvuti kõvaketas puruneb, ei ole enam kellegil kettal olevatele andmetele ligipääsu – ei varastel ega kasutajal endal. RAID tasemed annavad suure eelise turvata andmeid riistvara tasandil, sest peamised andmekaoga seotud ohud on riistvaralised ja mehaanilised.  
Referaadist selgub, et RAID kettaseadmed on väga kasulikud tänapäevases infomaailmas, kuna nad pakuvad võimalusi kiiremaks andmevahetuseks nii ketaste ja kui ka serverite vahel. Samas nad tagavad ka väga suurel määral andmete turvalisuse. Sageli inimesed arvavad, et andmeturve on seotud ainult krüptograafiaga, kuid tegelikult ei piisa vaid andmete krüpteerimisest, et kaitsta andmeid ründamise/kadumise eest. Olukorras, kus arvuti kõvaketas puruneb, ei ole enam kellegil kettal olevatele andmetele ligipääsu – ei varastel ega kasutajal endal. RAID tasemed annavad suure eelise turvata andmeid riistvara tasandil, sest peamised andmekaoga seotud ohud on riistvaralised ja mehaanilised.  
Kõik RAID tasemed omavad nii eeliseid kui puuduseid teineteise ees ning mitmed ei ole enam niivõrd populaarsed tänu uutele ja täiustatud RAID tasemetele (RAID 3 ja 4 on asendunud RAID 5 ja 6-ga). Erinevatel RAID tasemetel on kaks põhilist eesmärki – suurendada andmeturvet ning lugemis- ja kirjutamiskiirust. Peale põhiliste tasemete on olemas ka hübriid-RAID-i tasemed, mis koosnevad kahest või enamast tasemest korraga, ning mittestandardsed RAID tasemed, mis on loodud vastavalt firma, organisatsiooni või mõne grupi vajadustele. Valikuid on mitmeid.
Kõik RAID tasemed omavad nii eeliseid kui puuduseid teineteise ees ning mitmed ei ole enam niivõrd populaarsed tänu uutele ja täiustatud RAID tasemetele (RAID 3 ja 4 on asendunud RAID 5 ja 6-ga). Erinevatel RAID tasemetel on kaks põhilist eesmärki – suurendada andmeturvet ning lugemis- ja kirjutamiskiirust. Peale põhiliste tasemete on olemas ka hübriid-RAID-i tasemed, mis koosnevad kahest või enamast tasemest korraga, ning mittestandardsed RAID tasemed, mis on loodud vastavalt firma, organisatsiooni või mõne grupi vajadustele. Valikuid on mitmeid.



Latest revision as of 14:34, 9 January 2015

Autor

Antti Aia

AK21 - 2014

Sissejuhatus

Selle referaadi eesmärgiks on tutvustada lugejale sõltumatute ketaste liiasmassiivi ehk RAID (Redundant Array of Independent Disks) kettasüsteeme ning anda põgus ülevaade RAID kettasüsteemide ajaloost, olemusest ja töötamise põhimõtetest. RAID kettasüsteemid on mitmest kõvakettast või kõvaketta lahterdustest koosnev plokkseade andmete salvestamiseks, s.t andmed salvestatakse mitmele erinevale kõvakettale. RAID üldterminina hõlmab andmete talletamise võimalusi arvutis, mis kordab ja jagab andmeid mitme kettaseadme vahel. Andmed jagatakse ketaste vahel RAID tasemete kaupa olenevalt sellest, mis tasemel andmete koondust ja jõudlust vajatakse.

RAID süsteem kujutab endast ka andmeturbesüsteemi, sest kaitseb andmete kadumist riistvaralisel ja mehaanilisel tasandil. Ainuüksi andmete krüpteerimisest jääb andmekaitseks tänapäeval väheks, sest suurimad andmekao ohud seisnevad mehaanilisel tasandil.



RAID kettasüsteemide ajalugu

RAID tehnoloogia nimetus oli esmalt kasutusele võetud arvutiteadlaste grupi poolt Kalifornia Ülikoolis Berkeleys aasal 1987. Teadlased uurisid võimalikke võimalusi, kuidas ühendada mitu ketast, mis tunduksid „host“ masinale kui ühena. (RAID Technology) Gruppi kuulusid David A. Patterson, Garth A. Gibson ja Randy Katz, kes üritasid luua iga RAID taseme jaoks prototüübi. Selle uurimistöö tulemuseks on põhitõed tänapäevase kompleks RAID tasemete kohta. (RAID History Information)

Kuigi massiivi jõudlus oli parem kui tavalistel suurtel individuaalketastel, oli nende töökindlus väga madal. Parema tulemuse saavutamiseks hakkasid teadlased välja töötama erinevaid RAID tasemeid, mis parandaksid massiivi veakindlust. Peale selle, et nad defineerisid RAID levelid ühest viieni (nüüdseks on neid 0 - 6), uurisid nad ka andmejaotust, mis jagab andmed võrdselt mitme erineva füüsilise ketta vahel. Tegemist oli teada tuntud RAID 0-ga, mis küll ei taganud andmete turvalisust, kuid pakkus maksimaalset andmeedastuskiirust (kasulik videotöötluses). (RAID Technology)

Kõikidel loodud RAID tasemetel või ketaste kombinatsioonidel olid omad head ja vead. Üle aastate on välja töödeldud erinevaid kontseptsioone uutest RAID'idest. Enamik neist ei erine originaalidest küll märgatavalt, kuid siiski on lisatud rida modifikatsioone, et täiustada olemasolevat. Sellega aga pole kaasnenud muutust algupärase RAID kontseptsiooni muutust tasemete hulgas, ka kõik uued jaotatakse tasemetesse nagu nende esivanemadki. See võib aga kaasa tuua segadusi. Näiteks üks RAID 5-e täiustus võib erineda teisest. RAID 3 ja RAID 4 kutsuvad esile segadusi veel tänase päevani, sest nad on väga sarnased. Sageli aetakse neid isegi segamini.

Üks varasemaid RAID'i kasutajaid oli Crosfield Electronics Studio oma Python'il baseeruva tööjaamaga kus kasutati RAID 0 ja RAID 1-te mis parandasid oluliselt pilditöötluste kiirust, eeskätt säilitades andmete turvalisuse.


RAID-ide ülevaade

RAID on üks moodus loogiliselt ühendada mitu ketast kokku üheks massiiviks (array). Ideeliselt omavad need koos töötavad kettad kvaliteetsema ketta kiirust ja/või usaldusväärsust. Kõvakettad omavad kindlat kiirust, mis oleneb füüsilistest limiitidest ja mis tänu mehaanilisele loomusele omavad suhteliselt kõrget ebaõnnestumise määra. RAID on mõeldud aitama leevendada neid mõlemaid probleeme olenevalt RAIDi tüübist. Tüüpiliselt on kõvakettal 5% võimalus ebaõnnestuda esimesel kasutamisaastal. Seda tõestavad paljud erinevad raportid ning see ei olene tootjast (kuigi uued SSD'd on palju töökindlamad). ((Almost) Everything You Need to Know About RAID)

RAID koonduse südameks on loogika kontroller. See on tavaliselt SCSI kontroller (kuid tänapäeval koguvad populaarsust ka IDE RAID kontrollerid). Kontrolleri tööd võib jagada kolme gruppi. Esiteks, juhib ta individuaalseid kettaid. Teiseks pakub ta loogika massiivi konfiguratsiooni, ning kolmandaks tegeleb ta veakindluse operatsioonidega. (RAID History Information)

RAID on väga tõhus andmeturbe vahend andmete hoiustamiseks kuna ta saab luua koopiaid mitme erineva füüsilise ketta vahel. Ühtlasi on tegemist virtuaalse andmehoiustusega, mille massiivi saab operatsioonisüsteem käsitleda kui ühtset füüsilist ketast. Erinevad skeemid või arhitektuurid on nime saanud sõnast RAID, millele järgneb number (NT: RAID 0, RAID 1). Iga skeem tagab tasakaalu põhieesmärkide vahel: usaldatavuse ja kättesaadavuse, jõudluse ja võimelisuse vahel. Kõrgema taseme kui 0 tasemega RAID süsteemid tagavad kaitse mittetaastavate lugemisvigade vastu nagu ka kogu ketta häire (ebaõnnestumise) vastu. (Wikipedia - RAID)


Andmete varundamine

Sekundaarse hoiustamise eesmärgil kasutatud RAID süsteem ei ole alternatiiv andmete varundamiseks. Kui RAID-i tase on suurem kui 0, siis kaitseb RAID katastroofilise andmete kaotuse eest, mida on põhjustanud füüsiline kahju või vead üksikutel ketastel massiivide ulatuses (või kahel kettal RAID 6 taseme puhul). Ometi omab tõeline „backup“ süsteem teisigi tähtsaid jooni nagu võimet taastada andmete varasemat versiooni, mis on vajalik nii tarkvara vigade eest kaitsmiseks, mida põhjustab mittesoovitud andmete kirjutamine kettale, kui ka andmete taastamiseks kasutaja vigade ja pahatahtliku andmete kustutamise puhul.

RAID-i ohustavad siiski katastroofilised ohud, mis ületavad süsteemi taastusvõimet, seega terve andmemassiiv on ohus tulekahju, looduslike jõudude ning ka inimese tekitatud kahju korral. Selle vastu aitavad lokaalselt eemal olevad tagavara serverid/failid. RAID on kaitsetu ka kontrolleri vea eest, sest mitte alati ei ole võimalik ümber tõsta RAID-i uuele kontrollerile ilma andmete kaotamiseta. (Wikipedia - RAID) Standardsed RAID tasemed

Standardsed RAID tasemed on põhiline hulk RAID-i konfiguratsioone ja nad rakendavad triibutamise, peegeldamise või paarsuse printsiibil. Standardseid RAID tasemeid on võimalik muuta vastavalt soovile, mis tagaks kõik võimalikud juhud seoses andmete ohuga.

Teised, mittestandardsed RAID tasemed ja arhitektuurid tagavad alternatiive tuntud RAID-i ülesehitustele. (Wikipedia - RAID)


RAID 0

Joonis 1. RAID 0 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/9/9b/RAID_0.svg/150px-RAID_0.svg.png

RAID 0 poolitab andmed võrdselt kahe või enama ketta vahel. RAID 0 ei ole algupärane RAID tase, sest RAID 0 massiivis ei ole veakindlust. Sellegipoolest loetakse see RAID-i tasemeks kuna RAID 0 massiivis peab kontroller andmeid jaotama mitme ketta vahel. RAID 0 kasutatakse tavaliselt tõstmaks andmeedastuse jõudlust, kuigi seda kasutatakse ka ühe võimalusena luua suur virtuaalne ketas, mis koosneb kahest või enamast füüsilisest kettast.

Sellise arhitektuuri kasutamisega kaasneb väga suur risk, kui ketaste veavõimaluste protsent on suur (on probleemiks rohkem vanade HDD-dega, kuid uute SSD-dega on see risk madal). Juhul kui üks ketas massiivis puruneb, kaovad kõik andmed ning neid ei ole võimalik taastada. Iga massiivi pandud kettaga suureneb selle tõrkevõimalus, mis on omakorda kõigi kõvaketaste hävinemisvõimaluste summa.

RAID 0 massiivis kirjutatakse andmeid plokkidena, mis on kindla suurusega. Massiivi peamine parameeter on tavaliselt 16 KB, 32 KB ja 64 KB. Samaaegselt kõigilt ketastelt andmeid lugedes ja kirjutades suureneb massiivi andmeedastuskiirus iga lisatud kettaga. RAID 0 ei toeta veatuvastust. Hargsalvestusega massiivilt faili lugedes, loeb kontroller üheaegselt faili jagu erinevatelt ketastelt, millel fail asub. Seepeale seab kontroller faili osad enne RAM mällu kirjutamist õigesse järjekorda. Kui hargsalvestusega massiivis on enam kui kaks ketast, on võimalik seda seadistada hargsalvestusega massiiviks koos paarsusega (RAID 4). Andmed jaotatakse kõikidele ketastele selles massiivis, välja arvatud ühele, mida tarvitatakse veaparanduskoodi kirjutamiseks. (Wikipedia - Standard RAID levels)

Teda kasutatakse peamiselt suurtes andmelao serverites (read-only Network File Systems) kus paljude ketaste järjepidev lugemine on ajakulukas või võimatu ning andmekoondus on ebavajalik. Peale selle on RAID 0 tuntud ka meediatööstuses. Peamiselt video- ja 3D töötlejate poolt kasutust leidev, kuna ta pakub suurt lugemis ning kirjutamis kiirust. Tänu viimasele on RAID 0 tuntust kogumas ka mängurite seas, sest osad töölaua rakendused (mängud) saavad eelise kiiremast lugemis/kirjutamis kiirusest.

RAID 1

Joonis 2. RAID 1 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/RAID_1.svg/150px-RAID_1.svg.png

RAID 1 süsteem kujutab endast peegeldamist teisele kettale, nn „peegelsalvestust“. Andmed on kirjutatud samaväärselt mitmele kettale. See on kasulik kui lugemise jõudlus või toetus on tähtsam kui andmehoiuruum. Selline massiiv saab olla nii suur kui suur on väikseima liikme ketas. Suurem osa RAID 1 massiive luuakse kahest kettast. Sellest hoolimata on võimalik lisada ka rohkem kettaid. RAID 1 massiiv võimaldab ka pärast ketta tõrkeid tööd jätkata, seni kuni on olemas vähemalt üks töökorras ketas. Kõlblike operatsioonisüsteemide olemasolul võib massiivi lugemiskiirus osutuda suuremaks kui ühe ketta lugemiskiirus, sest mitmelt kettalt toimub lugemine samaaegselt. Kirjutamiskiirus RAID 1 massiivis oleneb sealse kõige aeglasema kõvaketta kirjutamiskiirusest.

Kuigi RAID 1 võib massiivi tõhusalt kaitsta füüsilise ketta tõrgete eest, ei taga see kaitset andmete hävimise eest viiruste, juhuslike faili muudatuste või kustutamiste kaudu. Plaani kohaselt peegelduvad kõik taolised muudatused koheselt ka igale kettale massiivis. (Wikipedia - Standard RAID levels)

RAID 2

Joonis 3. RAID 2 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/RAID2_arch.svg/350px-RAID2_arch.svg.png

RAID 2 taseme puhul jaotatakse andmed bittidena, kasutades veaparanduskoodi. Kõik kettad on paralleelsed ja andmed nende vahel jaotatakse bittidena. Veaparanduskood (Hamming'i kood ECC) arvutatakse igale bitireale ketastes ning see salvestatakse ühele või enamale kettale massiivis. ECC koodi alusel on võimalik parandada üksiku ketta vigu.

RAID 2 on ainus standartne RAID level, peale mõne lisandi RAID 6-st, mis suudab automaatselt taastada täpseid andmeosi, millel võib esineda ainult 1-bitine viga. Ka mõned teised RAID tasemed suudavad sama, kuid ainult inimese sekkumisel.

Kõik kõvakettad on tänapäeval juba varustatud Hammingu koodi korrastajaga, mis suudab tuvastada kuni kahe ning paradada ühe bitiseid hälbeid. See implementatsioon aga tegi RAID 2-e veatuvastaja ja korrastaja üleliigselt keeruliseks ja ebavajalikuks. Nagu ka RAID 3, see tase muutus kiirelt kasutuks ja on nüüd vananenud. (Wikipedia - Standard RAID levels)

RAID 3

Joonis 4. RAID 3 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/RAID_3.svg/300px-RAID_3.svg.png

RAID 3 süsteemi andmed jaotatakse baitidena plokkide kaupa. Selle taseme puhul kasutatakse paarsusinfo salvestamiseks kindlat ketast. RAID 3 süsteem on väga haruldane praktikas. Kõik kettad on paralleelsed ja teave jaotatakse baidi kaupa ketaste vahel. Paarsusteave arvutatakse teatud baitidele eraldi (XOR tehtega) ja salvestatakse selleks ette nähtud kõvakettale.

Üks RAID 3 omadusi on see, et ta üldiselt ei saa teenindada mitmekordseid taotlusi samaaegselt. See juhtub seepärast, et iga üksik andmeplokk levitatakse kõikidele liikmetele rühmas ja jääb hiljem elutsema samasse asukohta. See juhtub, kuna üksik andmeplokk on alati jagatud kõigi ketaste vahel ning asub alati sama koha peal. Seega iga sisend/väljund operatsioon (I/O operation) vajab kõigi ketaste aktiivsust.

Nõue, et kõik kettad keerlevad sünkroonselt (lockstep), lisas kujunduse kaalutlust tasemele, mis ei andnud olulisi eeliseid teiste RAID tasemete ees, mistõttu muutus RAID 3 kiirelt kasutuks ja on nüüd vananenud. Nii

RAID 3 kui ka RAID 4 asendati kiirelt RAID 5-ga. RAID 3 oli tavaliselt rakendatud juba riistvarasse ning jõudluseprobleemid lahendati kasutades suurendatud varumälusid (caches) ketastes. (Wikipedia - Standard RAID levels)

RAID 4

Joonis 5. RAID 4 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/RAID_4.svg/300px-RAID_4.svg.png

RAID 4 süsteem kasutab kindlat ketast, kuhu salvestatakse paarsusinformatsioon. RAID 4 andmed jaotatakse plokkidena. Selle süsteemi puhul kirjutatakse paarsusinfo vaid ühele teatud kettale. Kõik kettad talitavad üksteisest eraldatuna, mistõttu võib lugeda/kirjutada kõikidelt ketastelt samaaegselt. Kuna paarsuskontroll salvestatakse ühele kettale, ei pruugi info jõuda antud kettale enam piisava kiirusega kirjutamiseks.

Üldiselt, RAID 4 on rakendatud koos riistvara toetusega paarsuse arvutuste jaoks. Täielike RAID 4 konfiguratsioonide toimimise jaoks on vajalik minimaalselt kolme ketast.

RAID 4 on väga ebaharilik, ometi üks ettevõte siiski kasutab seda taset – NetApp. Tänapäeval on nii RAID 3 kui RAID 4 asendatud RAID 5 ja RAID 6-ga. (Wikipedia – Standard RAID levels)

RAID 5

Joonis 6. RAID 5 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/RAID_5.svg/300px-RAID_5.svg.png

RAID 5 puhul jaotatakse andmed plokkidena ning kontrollkood kirjutatakse kõikidele ketastele. Paarsuskontroll jagatakse kõikide ketaste vahel võrdselt, kus iga paarsusinformatsioon kirjutatakse erinevale kettale. Seega ühe ketta hävimisel massiiv ei purune ega mõjuta edasise töö tegemist (töö on aeglasem, sest andmed purunenud kettal arvutatakse ümber). Sellest hoolimata on rikki läinud ketas vaja välja vahetada ja taastada. Teise ketta purunemisel hävivad kõik massiivis olevad andmed. (Wikipedia – Standard RAID levels)

RAID 5 pakub 100 protsendilist (%) andmekaitset. Peale selle pakub eelmainitud tase rohkem füüsilise ketta andmehoiuruumi kui RAID 1 või RAID 1E tase. Paraku on RAID 5 tasemel madalam jõudlus kui RAID 1 ja 1E-l. (Understanding RAID level-5)

Juhul, kui ketta töö massiivis peaks nurjuma, siis kasutatakse töös olevatelt ketastelt paarsuse plokke, mis ühendatakse, et rekonstrueerida nurjunud ketta andmed. Seda kutsutakse tihti Andmete vahetaastusrežiimiks (Interim Data Recovery Mode). Arvuti saab aru, kui kettaseade on nurjunud, mispuhul operatsioonisüsteem teatab administraatorile, et ketas vajab asendust. Jooksvad rakendused ei ole teadlikud nurjumisest. Lugemine ja kirjutamine kettamassiivile jätkub sujuvalt, kuid jõudlus langev silmnähtavalt.

Süsteemi nurjumise korral, kui on käimas aktiivne kirjutamine ketastele, võib esineda ebajärjekindlust andmetes. Kui seda ei tuvastata ega parandata enne, kui ketas või massiiv nurjub, siis järgneb sellele andmekaotus, kuna võetakse kasutusele vale paarsus eesmärgiga taastada rikutud andmed. Seda potentsiaalset haavatavust kirjeldatakse sageli kui „kirjutusauku“ (write hole). Selle ära hoidmiseks kasutatakse üldjuhul patarei toitega varumälu (cache). Sama probleem esineb ka RAID 6-l. (Wikipedia – Standard RAID levels)


RAID 6

Joonis 7. RAID 6 ülesehitus. http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/RAID_6.svg/300px-RAID_6.svg.png

RAID 6 taseme puhul jagatakse andmed plokkidena. Sellel tasemel kirjutatakse XOR tehet ja Reed-Solomoni koodi kasutades kontrollkood topelt. RAID 6 suudab tööd jätkada ka pärast mõlema ketta purunemist. See tase muudab suured massiivid sisuküllasemaks, sest pakub suuremat tõrkekindlust. See tähendab, et purunenud ketta vahetamiseks on rohkem aega, sest töö jätkub ka siis, kui peaks hävima teine ketas.

RAID 6 tase tagab 100 protsendilise (%) andmekaitse ning tal on ülikõrge andme tõrketaluvus. Sellel tasemel on võime edasi töötada kahe ketta samaaegsel nurjumisel. Kahjuks on RAID 6-l kahe võrdse ketta tõttu madalam jõudlus, kui RAID 5-l. Peale selle ei ole RAID 6 tase saadaval kõikidele kontrolleritele. (Understanding RAID level-6)

RAID 6 tagab kaitse andmekaotuse vastu massiivi taastamise ajal. Näiteks kui veel teinegi ketas puruneb, siis toimub valede andmete lugemine, või kui inimene eemaldab ja asendab kogemata vale (terve) kettaseade, üritades asendada nurjunud ketast.

Selle taseme kasutatav võimsus on , kus N on ketaste üldarv massiivis ja Smin on väikseima ketta võimsus. (Wikipedia – RAID)


Hübriid-RAID

Mitmed andmeedastuskontrollerid võimaldavad kasutada hübriidseid RAID tasemeid ehk kahte või enamat RAID taset samaaegselt. Massiivi elemendid võivad olla nii RAID tasemed kui kettad. Enamat kui kahte RAID taset kasutatakse vaid spetsiaalsetel juhtudel.

Hübriid-RAID-i tasemed saadakse liites kaks kasutatavat taset kokku, pannes nimes tasemete vahele „+“ märgi. Praktiliseimad hübriid-RAID-id on: RAID 0+1: RAID 0 plokid peegeldatakse teisele kettale, mis garanteerivad veakindluse ja parema andmeedastuskiiruse. Suurim erinevus RAID 1+0 ja RAID 0+1 vahel on see, et RAID 0+1 korral võib üks pool RAID 1 massiivist hävineda ilma, et see tööd häiriks.

RAID 1+0: RAID 0 massiivis on peegeldatud kettad (sageli kasutatakse nelja ketasrt, et kasutada ära suuremat andmevahetuskiirust), mis tagavad veakindluse ja parema andmeedastuskiiruse. Põhiline erinevus RAID 0+1 ja RAID 1+0 vahel on see, et viimase puhul on andmeedastuskiirus suurem. Juhul, kui RAID 1 kaotab ühe osa ketastest, on kogu massiiv purunenud.

RAID 5+1: peegeldatakse RAID 5 taset (tuntud ka RAID 53 nime all). (Vikipeedia – Sõltumatute ketaste liiasmassiiv ehk RAID)


Mittestandardsed RAID tasemed

Peale põhiliste RAID tasemete on olemas palju teisigi RAID tasemete konfiguratsioone ning paljud ettevõtted, organisatsioonid ja grupid on loonud oma mittestandardsed seaded. Seda tehakse peamiselt soovist kujundada RAID-i omadusi vastavalt grupi vajadustele. Enamus neist mittestandardsetest RAID tasemetest on patenditud. Seega võib mittestandardseid tasemeid olla väga suures koguses.

Tuntuimad neist on:

RAID 50EE (kasutab Himperia)
RAID S (pakkus EMC Corporation)
RAID Z (pakub ZFS filesystem)
RAID 6 Advanced Data Guarding (pakub Hewlett-Packard)
RAID-DP (kasutab NetApp)
RAID TP (Triple Parity)
RAID 10 (Linux)
RAID 1E (IBM)
(Wikipedia - RAID)



RAID-i paarsus

Paljud RAID-i tasemed rakendavad veatuvastusalgoritme ehk paarsuskontrolli. Paarsuskontroll on laialt levinud meetod, mis vähendab vigade protsenti. Veatuvastusalgoritm seisneb põhimõttel „kas üks või teine, mitte mõlemad või kumbki“. Otsene näide sellest põhimõttest:

0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

XOR kood on põhiline tehe, mida tehakse paarsuse arvutamisel. Seda kasutatakse nii adnmete taastamiseks, kui kaitseks.

Näide RAID-i paarsuse kohta: Olgu RAID massiivis 6 kõvaketast (4 andmete jaoks, üks paarsuse jaoks ja üks käigult vahetatav) ning iga ketas saab hoida vaid ühte baiti:

Drive #1: -------- (Andmed)
Drive #2: -------- (Andmed)
Drive #3: -------- (Andmed)
Drive #4: -------- (Andmed)
Drive #5 -------- (Käigult vahetatav)
Drive #6 -------- (Paarsus)

Andmetega kõvaketasdele kirjutatakse mõned bitid:

Drive #1: 00101010 (Andmed)
Drive #2: 10001110 (Andmed)
Drive #3: 11110111 (Andmed)
Drive #4: 10110101 (Andmed)
Drive #5 -------- (Käigult vahetatav)
Drive #6 -------- (Paarsus)

Paarsus arvutatakse alati, kui ketastele kirjutatakse andmeid. Selleks kasutatakse järgmist tehet: 00101010 XOR 10001110 XOR 11110111 XOR 10110101 = 11100110

"11100110" on paarsus. Järgnevalt kirjutatakse paarsus selleks ette nähtud kettale:
Drive #1: 00101010 (Andmed)
Drive #2: 10001110 (Andmed)
Drive #3: 11110111 (Andmed)
Drive #4: 10110101 (Andmed)
Drive #5: -------- (Käigult vahetatav)
Drive #6: 11100110 (Paarsus)

Kui üks ketas juhuslikult ära kaob, siis on vajalik andmed uuesti arvutada, kasutades paarsust ja XOR tehet (kadunud ketta andmed asendatakse paarsusega). Kui kolmas ketas on purunenud, siis on arvutustehe järgmine: 00101010 XOR 10001110 XOR 11100110 XOR 10110101 = 11110111 Kui kolmas ketas saab taastatud, on massiivil võimalik edasi töötada:

Drive #1: 00101010 (Andmed)
Drive #2: 10001110 (Andmed)
Drive #3: -Katki- (Andmed)
Drive #4: 10110101 (Andmed)
Drive #5: 11110111 (Käigult vahetatav)
Drive #6: 11100110 (Paarsus)

Tüüpiliselt asendatakse purunenud ketas uuega ning vahepeal käigult vahetatavas kettas olevad andmed kopeeritakse tagasi uuele kettale. Pärast seda rekonstrueerib käigult vahetatav ketas oma esmase oleku ning massiiv näeb välja selline, nagu ta oli enne ketta purunemist:

Drive #1: 00101010 (Andmed)
Drive #2: 10001110 (Andmed)
Drive #3: 11110111 (Andmed)
Drive #4: 10110101 (Andmed)
Drive #5 -------- (Käigult vahetatav)
Drive #6 11100110 (Paarsus)

Sarnaselt on võimalik andmeid taastada kõikides RAID massiivides, mis kasutavad XOR paarsuskontrolli, olenemata ketaste arvust ja suurusest. (Vikipeedia – Sõltumatute ketaste liiasmassiiv ehk RAID)


Probleemid RAID kettasüsteemidega

RAID-i veaparandus eeldab, et ketaste ebaõnnestumised on sõltumatud. Arvestades neid oletusi, on võimalik välja arvutada kui tihti nad ebaõnnestuvad ja korraldada massiiv nii, et muuta andmekadu ebatõenäolisemaks. On veel ka oletus, et emaplaadi tõrked ei kahjusta kõvaketast ja et kõvaketta rikked ilmnevad sagedamini kui emaplaadi tõrked.

Praktikas on kettad tihti sama vanad ja kuuluvad samasse keskkonda. Kuna paljud kettad riknevad tänu mehaanilistele probleemidele, siis see rikub neid oletusi: tõrked on statistiliselt korreleerunud (correlated). Praktika näitab, et võimalus teise ketta riknemiseks enne esimese parandamist (mis põhjustaks andmekaotuse) on ebatõenäoline.

Levinud oletus on see, et server-spetsiifilised (server-grade) kettad ebaõnnestuvad vähem kui tavakasutaja (consumer-grade) kettad. Kaks iseseisvat uuringut on näidanud, et ketta iseloom (grade) ei ole seotud ketta purunemise määraga. Lisaks puuduvad kaitseskeemid emaplaadi ja kõvaketta elektroonika vahel, seega emaplaadi katastroofiline riknemine võib põhjustada kõvaketta elektroonika nurjumise. Kui massiivis on nurjunud ketas, siis sageli peab selle asendama samaväärsega (tootja ja/või seeria), sest kettale kirjutatud failid (enamjaolt operatsioonisüsteemi tõttu) ei ühineks teise tootja kettaga ( uuemas Windows'i serveri operatsioonsüsteemis on see viga juba parandatud). Sellisele probleemile saab aga lahenduse tarkvara põhise RAID süsteemiga (mis on näiteks Linuxi kernelisse sisse kirjutatud).

Suureks probleemiks võivad osutuda ka operatsioonisüsteemide tõrked, näiteks Windowsi puhul sinine surma ekraan (BSOD – blue screen of death).




Kokkuvõte

Referaadist selgub, et RAID kettaseadmed on väga kasulikud tänapäevases infomaailmas, kuna nad pakuvad võimalusi kiiremaks andmevahetuseks nii ketaste ja kui ka serverite vahel. Samas nad tagavad ka väga suurel määral andmete turvalisuse. Sageli inimesed arvavad, et andmeturve on seotud ainult krüptograafiaga, kuid tegelikult ei piisa vaid andmete krüpteerimisest, et kaitsta andmeid ründamise/kadumise eest. Olukorras, kus arvuti kõvaketas puruneb, ei ole enam kellegil kettal olevatele andmetele ligipääsu – ei varastel ega kasutajal endal. RAID tasemed annavad suure eelise turvata andmeid riistvara tasandil, sest peamised andmekaoga seotud ohud on riistvaralised ja mehaanilised.

Kõik RAID tasemed omavad nii eeliseid kui puuduseid teineteise ees ning mitmed ei ole enam niivõrd populaarsed tänu uutele ja täiustatud RAID tasemetele (RAID 3 ja 4 on asendunud RAID 5 ja 6-ga). Erinevatel RAID tasemetel on kaks põhilist eesmärki – suurendada andmeturvet ning lugemis- ja kirjutamiskiirust. Peale põhiliste tasemete on olemas ka hübriid-RAID-i tasemed, mis koosnevad kahest või enamast tasemest korraga, ning mittestandardsed RAID tasemed, mis on loodud vastavalt firma, organisatsiooni või mõne grupi vajadustele. Valikuid on mitmeid.


Kasutatud allikad

(Almost) Everything You Need to Know About RAID.

http://www.steadfast.net/blog/index.php/servers/almost-everything-you-need-to-know-about-raid 

RAID History Information.

http://www.krollontrack.com/data-recovery/raid-history-information/

RAID Technology.

http://www.technick.net/public/code/cp_dpage.php?aiocp_dp=guide_raid

Standard RAID levels

http://en.wikipedia.org/wiki/Standard_RAID_levels

Vikipeedia – Sõltumatute ketaste liiasmassiiv ehk RAID

http://et.wikipedia.org/wiki/S%C3%B5ltumatute_ketaste_liiasmassiiv

Wikipedia – RAID

http://en.wikipedia.org/wiki/RAID