RAID

S Vikipedije, slobodne enciklopedije

RAID ( izlišni niz nezavisnih diskova) je tehnologija skladištenja koja kombinuje više komponenti diskova u logičku jedinicu radi redudantnosti podataka i poboljšanja performansi. Podaci se distribuiraju preko diskova na jedan od nekoliko načina, koji se odnose na RAID nivoe, u zavisnosti od specifičnog nivoa redudantnosti i željenih performansi.

Termin "RAID" je prvi put korišćen 1987. godine od strane David Patterson, Garth A. Gibson i Randy Katz sa Univerziteta Kalifornije (Berkli), koji je značio redudantni niz jeftinih diskova.[1] Industrija RAID proizvođača kasnije je imala tendenciju da interpretira to kao akronim koji stoji za redudantni niz nezavisnih diskova.[2][3][4][5]

RAID se danas koristi kao opšti izraz za šeme računara koji skladište podatake koji mogu biti podeljeni i ponovljeni između više fizičkih diskova. RAID je primer virtualizacije skladišta i nizu se može pristupiti pomoću operativnog sistema kao da je jedan disk. Različite šeme ili arhitekture se nazivaju pomoću reči RAID za kojom slede brojevi (npr. RAID 0, RAID 1). Svaka šema obezbeđuje različiti balans između ključnih delova: pouzdanost i raspoloživost, performanse i kapacitet. RAID nivoi iznad RAID 0 obezbeđuju zaštitu od nepopravljive (sektor) greške u čitanju, kao i od kvara celog diska.

Istorija[uredi | uredi izvor]

Norman Ken Ouchi iz IBM-a je nagrađen 1978. godine U.S. patent 4,092,732[6] sa nazivom "System for recovering data stored in failed memory unit." Zaključak ovog patenta opisuje šta će se kasnije nazvati RAID 5 sa punom trakom upisa. Ovaj patent iz 1978. godine takođe pominje preslikavanje ili dupliranje diskova (kasnije će biti nazvan RAID 1) i zaštitu sa posebnom parnošću (kasnije će biti nazvan RAID 4) bio je pre umetnički u to vreme.

Termin RAID su prvi put definisali David A. Patterson, Garth A. Gibson i Randy Katz sa University of California, Berkeley, 1987. godine. Oni su proučavali mogućnost korišćenja dva ili više diska koji izgledaju kao jedan uređaj za host sistem i objavili su rad "A Case for Redundant Arrays of Inexpensive Disks (RAID)", juna 1988 godina na SIGMOD konferenciji.[7]

Standardni nivoi[uredi | uredi izvor]

Broj standardnih šema je evoluirao. One se zovu nivoi. Prvobitno, postojalo je pet RAID novoa, ali mnoge varijacije se evoluirale – naročito nekoliko ugnježdenih nivoa i mnogi nestandardni nivoi (uglavnom vlasnički). RAID nivoi i asocirani formati podataka su standardizovani od Storage Networking Industry Association (SNIA) u Common RAID Disk Drive Format (DDF) standard:[8][9]

RAID 0[uredi | uredi izvor]

RAID 0 obuhvata striping (ali ne paritet ili preslikavanje). On poboljšava performanse ali ne doprinosi redudantnosti i ne poboljšava toleranciju na greške. Svaki kvar diska uništava niz, i verovatnoća raste sa povećanjem broja diskova u nizu.[3]

RAID 1[uredi | uredi izvor]

RAID 1 obuhvata preslikavanje (bez parnosti i stripinga). Podaci su identično napisani u dva (ili više) diskova, produkujući na taj način „preslikani skup“. Zahtev čitanja se servisira pomoću jedan od dva diska koji sadrže tražene podatke. Ovo može da poboljša performanse ako se podaci čitaju sa diska sa najmanje tražene latencije i rotacione latencije. Nasuprot tome, performanse pisanja mogu biti degradirane, jer oba diska mora da se ažuriraju; tako performanse pisanja je određena sporijim od dva diska. Niz nastavlja da radi sve, dok bar jedan disk funkcioniše.[3]

RAID 2[uredi | uredi izvor]

RAID 2 obuhvata striping na bitovskom nivou sa posvećenim Hamingovim-kodom parnosti. Sve rotacije osovina diska su sinhronizovane i podaci su trakasti tako da je svaki sekvencijalni bit na drugom disku. Hamingov-kod parnosti se izračunava preko odgovarajućih bitova i skladišti se na bar jednom paritetnom disku.[10]

RAID 3[uredi | uredi izvor]

RAID 3 obuhvata striping na bajtovskom nivou sa posvećenom parnošću. Sve rotacije osovina diskova su sinhronizovane i podaci su prugasti tako da je svaki sekvencijalni bajt na drugom disku. Parnost se računa preko odgovarajućih bajtova i skladišti se na posvećenom disku parnosti.[3] Iako implementacija postoji,[11] RAID 3 se retko koristi u praksi.

RAID 4[uredi | uredi izvor]

RAID 4 obuhvata striping na nivou bloka sa posvećenom parnošću. Parnost podataka se skladišti na jednom posvećenom disku. RAID 4 je bio prevashodno korišćen od NetApp, ali je sada uglavnom zamenjen implementacijom RAID 6 (RAID-DP).[12]

RAID 5[uredi | uredi izvor]

RAID 5 obuhvata striping na nivou bloka sa distribuiranom parnošću. Suprotno od RAID 4, parnost informacija je distribuirana između diskova. On zahteva da svi diskovi sem jednog budu operativni. Na kvar jednog diska, sledeće se čitanje može izračunati iz distribuirane parnosti tako da nijedan podatak ne bude izgubljen. RAID 5 zahteva najmanje tri diska.[3]

RAID 6[uredi | uredi izvor]

RAID 6 obuhvata striping na nivou bloka sa duplo distribuiranom parnošću. Dupla parnost obezbeđuje toleranciju na kvar od najviše dva diska. Ovo omogućava da veće RAID grupe budu praktičnije, posebno za visoko-dostupne sisteme, kako diskovi visokog-kapaciteta traže više vremena da se obnove. Kao i kod RAID 5, kvar jednog diska rezultuje smanjenjem performansi celog niza sve dok se disk ne zameni.[3]

Ugneždeni RAID nivoi (RAID 10, 0+1, 100, 30, 50, i 60)[uredi | uredi izvor]

RAID nivoi mogu biti ugneždeni. Vidi Ugneždeni RAID nivoi.

Poređenje[uredi | uredi izvor]

Sledeća tabela omogućava pogled na neka razmatranja standardnih RAID nivoa. U svakom slučaju:

  • Niz efikasnosti prostora je dat kao izraz u smislu broja diskova, ; ovaj izraz označava frakcionu vrednost između nule i jednice, što predstavlja deo zbira kapaciteta diskova koji je nama dostupan. Na primer, ako su tri diska povezana u RAID 3, ovo daje niz efikasnosti prostora od tako, ako svaki disk ima kapacitet od 250 GB, onda niz ima ukupni kapacitet od 750 GB, ali kapacitet koji je tako dostupan za skladištenje podataka je samo 500 GB.
  • Vrednost greške niza je data kao izraz po broju diskova, ; a vrednost kvara diska, (za koji se pretpostavlja da je isti i nezavistan za svaki disk) i može se videti kao Bernoulli trial. Na primer, ako svaki od tri diska ima vrednost kvara od 5% tokom sledeće tri godine, a tri diska su povezana u RAID 3, onda ovo daje vrednost kvara niza tokom sledeće 3 godine od:
Nivo Opis Mini-malni # diskova Efikasnost prostora Tolerancija na greške Vrednostkvara niza Performanse čitanja Perfor-manse pisanja Slika
RAID 0 Striping na nivou
bloka bez parnosti i preslikavanja
2 1 0 (nijedna) nX nX RAID Level 0
RAID 1 Preslikavanja bez parnosti i stripinga 2 1/n n−1 diska nX[limit 1] 1X RAID Level 1
RAID 2 Striping na nivou
bita sa posvećenim Hamingovim kodom parnosti
3 1 − 1/n ⋅ log2(n-1) RAID 2 može da se oporavi od kvara jednog diska ili korum-pirani podaci ili parnost kada je dobar korumpirani bit koji odgovara podacima i parnosti (Promenljivo) (Promenljivo) (Promenljivo) RAID Level 2
RAID 3 Striping na nivou
bajta sa posvećenom parnošću
3 1 − 1/n 1 disk
(n−1)X (n−1)X RAID Level 3
RAID 4 Striping na nivou
bloka sa posvećenom parnošću
3 1 − 1/n 1 disk
(n−1)X (n−1)X RAID Level 4
RAID 5 Strping na nivou
bloka sa distribuiranom
parnošću
3 1 − 1/n 1 disk
(n−1)X (n−1)X RAID Level 5
RAID 6 Striping na nivou
bloka sa duplo distribuiranom
parnošću
4 1 − 2/n 2 diska

(n−2)X (n−2)X RAID Level 6
RAID 10 Preslikavanje bez parnosti i striping blok-nivoa 4 2/n 1 disk/spen nX (n/2)X RAID Level 10
Nivo Opis Mini-malni # diskova Efikasnost prostora Tolerancija na greške Vrednost kvara niza Performanse čitanja Performanse pisanja Slika

Ugnežden (hibridni) RAID[uredi | uredi izvor]

U početku je prvobitno nazvan hibridni RAID,[13] pa su mnogi kontroleri za skladištenje dozvoljavali ugneždene RAID nivoe. Elementi RAID-a mogu biti ili individualni diskovi ili sam RAID. Međutim, ako je RAID element nekog drugog RAID-a, to je neobično da njegovi elementi sami sebi budu RAID.

Krajnji RAID je poznat kao najviši niz. Kada je najviši niz RAID 0 (kao kod RAID 1+0 i RAID 5+0) većina prodavaca izostavlja "+" (čime se dobija RAID 10 i RAID 50, respektivno).

  • RAID 0+1: trakasti skup u preslikanom skupu (minimalno 4 diska; paran broj diskova) obezbeđuje teleranciju kvara i poboljšava performanse ali povećava kompleksnost.
Glavni razlika od RAID 1+0 je ta da RAID 0+1 formira sekundarni trakasti skup da bi preslikao primarni trakasti skup. Niz nastavlja da radi, ako jednan ili više diskova otkažu, u istom preslikanom skupu, ali ako diskovi otkažu u oba skupa podaci na RAID su izgubljeni.
  • RAID 1+0: (a.k.a RAID 10) preslikani skup u trakastom skupu (minimalno 4 diska; paran broj diskova) obezbeđuje teleranciju na kvar i poboljšava performanse ali povećava kompleksnost.
Glavana razlika od RAID 0+1 je ta da RAID 1+0 pravi trakasti skup iz serija preslikanih diskova. Niz može da izdrži višestruki otkaz diskova sve dok ne postoji preslikabanje koje će da igubi sve diskove.[14]

RAID parnost[uredi | uredi izvor]

Mnogi RAID nivoi uključuju zaštitu šeme od graške koja se zove „parnost“, široko korišćen metod u informacionim tehnologijama da pruži zaštitu od otkaza u datom skupu podataka. Većina koristi jednostavnu NILI parnost opisanu u ovom odeljku, ali RAID 6 koristi dve odvojene parnosti bazirane respektivno na sabiranju i množenju u posebnom Galois Field ili Reed–Solomon error correction.[15]

Ne-standardni nivoi[uredi | uredi izvor]

Mnoge konfiguracije su drugačije od standardnih brojeva RAID nivoa, i mnoge kompanije, organizacije i grupe su napravile su svoju ne-standardnu konfiguraciju, u mnogim slučajevima dizajniranu za specijalne potzrebe male niša grupe. Većina ne-standardinh RAID nivoa je u vlasništvu:

  • Linux MD RAID10 (RAID 10) implementira opšti RAID upravljač koji podrazumeva standardni RAID 1 sa dva diska, i standardni RAID 1+0 sa četiri diska, ali može imati bilo koji broj diskova, uključujući i neparni broj. MD RAID 10 može da radi kao trakasto i preslikano, čak i sa samo dva diska sa f2 rasporedom (preslikan sa trakastim čitanjem, dajući performans čitanja kao RAID 0; standardno Linux softver RAID 1 ne čita trakasto, ali može da čita paralelno)[14][16][17]
  • Hadoop ima RAID sistem koji generiše parnost fajlova pomoću NILIovanjem traka bloka u jednom HDFS fajlu.[18]
  • RAID-F, kao implementacija u FlexRAID, obezbeđuje RAID preko File System.[19] RAID mašine u tom sistemu su ne-standardni i imaju svoju nomenklaturu u obliku Tx, gde je T stoji za Toleranciju i h reprezentuje nivo tolerancije. Najpoznatija od svih je Tx mašina koja obezbeđuje RAID∞ (beskonačno) zaštitu podataka i oporavaka.

Rezervna kopija podataka[uredi | uredi izvor]

RAID sistem koji se koristi kao sekundarno skladište nije alternativa za pravljenje rezervnih kopija podataka. U RAID nivoima većim od 0, RAID štiti od katastrofalnog gubitka podataka uzrokovanim fizičkim oštećenjem ili greškom na jednom disku u okviru niza (ili dva diska u, kod RAID 6). Međutim, pravi sistem za rezervne kopije ima druge važne karakteristike kao što su mogoćnost obnove starije verzije podataka, koja je potrebna za zaštitu protiv softverskih grešaka koje pišu neželjene podatake na sekundarno skladište, i takođe da se obnove od korisničkih grešaka i malicioznih brisanja podataka. RAID može biti poražen od katastrofalnog otkaza koji prevazilazi njegovu sposobnost oporavka, i naravno, ceo niz je u riziku od fizičkog oštećenja vatrom, prirodnih katastrofa i ljudske sile, dok se rezervne kopije mogu čuvati van lokacije. RAID je takođe ranjiv na otkaz kontrolera zato što nije uvek moguće da RAID migrira na novi, drugi kontoler bez gubitka podataka.[20]

Implementacija[uredi | uredi izvor]

Distribucija podatak na više diskova može biti realizovana ili pomoću namenjenog kompjuterskog hardvera ili pomoću softvera. Softversko rešenje može biti deo operativnog sistema, ili može biti deo firmware (firmware je kombinacija postojane memorije i programskog koda i podataka koji su sačuvani u njemu) i upravljača dobijenog sa hardverskim RAID kontrolerom.

RAID baziran na softveru[uredi | uredi izvor]

Implementacije softverskog RAID-a sada omogućavaju mnogi operativni sistemi. Softverski RAID može biti implemetiran kao:

  • Sloj koji apstrahuje više uređaja, čime obezbeđuje jedan vituelni uređaj (npr. Linux-ov md)
  • Više generički logičan volumen upravljanja (obezbeđen sa najvećim server- klasifikatorskim operativnim sistemima, npr. Veritas or LVM)
  • Komponeneta sistema datoteka (npr. ZFS or Btrfs)

Volumen upravljanja podrške[uredi | uredi izvor]

Server klasifikator operativnog sistema obično obezbeđuje logično upravljanje volumenom, koji omogućava sistemu da koristi logične volumene koji mogu promeniti veličinu ili mogu da budu pomereni. Često, funkcije kao što su RAID ili snapshots su takođe podržane.

  • Vinum je logični volumen upravljanja koji podržava RAID 0, RAID 1 i RAID 5. Vinum je deo osnovne distribucije FreeBSD operativnog sistema, i verzije postoje za NetBSD, OpenBSD, i DragonFly BSD.
  • Solaris SVM podržava RAID 1 za boot filesystem, i dodaje RAID 0 i RAID 5 podršku (i razne kombinacije ugnežđenih) za diskove podataka.
  • Linux LVM podržava RAID 0 i RAID 1.
  • HP's OpenVMS obezbeđuje formu RAID 0 zvanu "Volume shadowing", daje mogućnost za preslikavanje podataka na udaljenim klaster sistemima.

Podrška sistemu datoteka[uredi | uredi izvor]

Neki napredni sistemi za datoteke su dizajnirani da organizuju podatke direktno među više uređaja za sladištenje (bez potrebe pomoći od trećeg-parti logičnog volumenskog upravljanja):

  • ZFS podržava ekvivalente od RAID 0, RAID 1, RAID 5 (RAID Z), RAID 6 (RAID Z2) i verziju trostuke-parnosti RAID Z3. Kako je uvek trakast preko najvišeg nivoa vdevs, on podržava ekvivalente 1+0, 5+0, and 6+0 ugnežđenih RAID nivoa (kao i trakasti skup trostruke-parnosti) ali ne i druge ugneždene kombinacije. ZFS je originalni sistem datoteka na Solaris-u i takođe je dostupan na FreeBSD and Linux.[21]
  • Btrfs podržava RAID 0, RAID 1 i RAID 10 (RAID 5 i 6 su u razvoju).[22][23]

Podrška operativnog sistema[uredi | uredi izvor]

Mnogi operativni sistemi obezbeđuju osnovnu RAID funkcionalnost nezavisno od volumena upravljanja:

  • Apple-ov OS X i OS X Server podržavaju RAID 0, RAID 1, i RAID 1+0.[24][25]
  • FreeBSD podržava RAID 0, RAID 1, RAID 3, i RAID 5 i sva ugneždenja preko GEOM modula i ccd.[26][27][28]
  • Linux's md podržava RAID 0, RAID 1, RAID 4, RAID 5, RAID 6, i sva ugneždenja.[29][30] Određeno preoblikovanje/promena veličine/operacije proširenja su takođe podržani.[31]
  • Microsoft-ov serverski operativni sistem podržava RAID 0, RAID 1 i RAID 5. Neki od Microsoft-ovih kućnih operativnih sistema podržavaju RAID. Na primer, Windows XP Professional podržava RAID nivoa 0, pored spenovanja više diskova, ali samo ako se koriste dinamički diskovi i volumeni. Windows XP može biti modifikovan da podržava RAID 0, 1 i 5.[32] Windows 8 i Windows Server 2012 predstavljaju RAID-kao osobinu koja je poznata kao Storage Spaces, koja takođe omogućava korisnicima da podese preslikavanje, parnost ili nema redudantnosti na folder-by-folder osnovi.[33]
  • NetBSD podržava RAID 0, 1, 4, i 5 preko njegovih softverskih implementacija, imenovanih kao RAIDframe.[34]

Vremenom, povećanje brzine artikla CPU je bilo značajno veće nego povećanje protoka diska;[35] procenat vremena domaćeg CPU koje je potrebno da se zasiti dati broj diskova je smanjen. Na primer, pod 100% iskorišćenjem jednog jezgra na 2.1 GHz Intel "Core2" CPU, Linux-ov softver RAID podsistem (md) verzije 2.6.26 je u stanju da izračuna parnost informacija na 6 GB/s; međutim, tri-diska RAID 5 niz koji koristi diskove sposobne da podrže operaciju pisanja na 100 MB/s samo zahteva parnost da bude izračunat na brzini od 200 MB/s, što zahteva resurse od preko 3% jednog CPU jezgra.

Firmware/upravljački-osnovan RAID[uredi | uredi izvor]

RAID implementacija na nivou operativnog sistema nije uvek kompatibilna sa sistemskim boot procesima, i generalno je nepraktična za kućnu verziju Windows-a (kao što je opisano gore). Međutim, hardver RAID kontroleri su skupi i svojstveni. Da bi popunili ovu rupu, jeftini "RAID kontroleri“ su uvedeni da ne sadrže namenski RAID kontroler čip, već jednostavno standardni kontroler diska sa posebnim firmware i upravljačem; tokom rane faze starta RAID se realizuje pomoću firmware, i kada je operativni sistem potpuno učitan, tada upravljači kompletno preuzimaju kontrolu. Shodno tome, takvi kontroleri ne mogu raditi kada podrška upravljača nije dostupna za glavni operativni sistem.[36]

Podaci prečišćavanja/patrola čitanja[uredi | uredi izvor]

Podaci ribanja podrazumevaju periodično očitavanje i proveravanje pomoću RAID kontrolera, uključujući i one koji nisu inače pristupni. Ovo detektuje loše blokove pre upotrebe.[37]

U nekim okruženjima, dokumentacija se odnosi na podatke ribanja kao patrolno čitanje. Patrolno čitanje proverava za loše blokove na svakom skladišnom uređaju u nizu, ali koristi i redudantnost niza da oporavi loše blokove na jednom disku i da ponovo dodeli oporavljene podatke u rezervnim kopijama na drugom mestu diska.[38]

RAID sa poluprovodničkim diskovima[uredi | uredi izvor]

RAID može da oebzbedi sigurnost podataka sa poluprovodničkim diskovima (SSDs) bez treškova za ceo SSD sistem. Na primer, brzi SSD može da bude preslikan sa mehaničkim diskom. Za ovu konfiguraciju koja pruža značajnu prednost u brzini, potreban je odgovarajući kontroler koji koristi brzi SSD za opracije čitanja. Adaptec je ovo nazvao „hibridni RAID",[39] isti termin se nekada koristi za ugneždeni RAID.

Slabosti[uredi | uredi izvor]

Korelacija neuspeha[uredi | uredi izvor]

U praksi, dikovi su često istih godina (sa sličnim habanjem) i podležu istom okruženju. Pošto su mnogi otkazi diska zbog mehaničkih problema (koji su verovatniji na starijim diskovima), to krši te pretpostavke; neuspesi su u stvari statistički povezani.[3] U praksi, šanse da drugi otkaže pre nego što se prvi oporavi (uzrokuje gubitak podataka) nisu verovatne koliko i četiri nasumična kvara. U studijama od oko 100.000 diskova, verovatnoća da dva diska u istom klasteru otkažu u vremenu od jednog sata bila je četiri puta veća nego predviđena eksponencijalna statistička raspodela – koja karakteriše procese u kojima se događaji dešavaju kontinuirano i nezavisno pri konstantnoj prosečnoj brzini. Verovatnoća dva neuspeha u rasponu od 10 sati bila je dva puta veća od predvićene eksponencijalne distibucije.[40]

Zajedničko očekivanje je da će dizajn diska za serversku upetrebu ređe otkazati nego potrošački-ocenjeni diskovi koji se obično koriste u kućnim računarima. Studije Carnegie Mellon University[41] i nezavisno od Google[42], su utvrdile da „ocena“ nekog diska nije povezana sa brzinom neuspeha tog dika.

Nepopravljive greške čitanja (URE) tokom obnove[uredi | uredi izvor]

Nepopravljive greške čitanja prezentuju se kao neuspeh na sektoru za čitanje. Brzina nepopravljivih bitnih grešaka (UBE) je uglavnom specificirana 1 bit u 1015 za nivo diskova u preduzećima (SCSI, FC, SAS), i 1 bit u 1014 za klasu kućnih diskova (IDE/ATA/PATA, SATA). Povećanje kapaciteta diska i veća redudantnost RAID 5 grupa je dovala do povećanja nesposobnosti da se uspešno obnovi RAID grupa posle otkaza diska zato što se nepopravljivi sektor nalazi na ostalim diskovima.[3][43] Šeme parnosti takve kao RAID 5, kada su popravke naročito sklone UREs efektima, kako one utiču ne samo na sektor gde se javljaju već takođe rekonstruisani blokovi koriste taj sektor za izračunavanje parnosti; tipični URE tokom RAID 5 obnove dovodi do potpunog kvara oporavka.[44]

Šeme sa duplom zaštitom takve kao RAID 6 pokušavaju da reše ovaj problem, ali pate od veoma visoke kazne upisa. Šeme koje dupliraju (preslikavaju) podatke kao što je RAID 1 i 10 imaju manji rizik od URE nego oni koji koriste računanje parnosti.[45] Pozadinsko prečišćavanje meže se koristiti da se detektuje i oporavi od UREs (koji su latentni i nevidljivo kompenzovani za dinamički od strane RAID kontrolera) kao pozadinski proces, pomođu rekonstrukcije redudantnih RAID podataka i onda ponovo napiše i ponovo mapira na novi sektor; i tako smanji rizik od dvostrukog otkaza RAID sistema.[46][47]

Vreme oporavaka se povećava[uredi | uredi izvor]

Kapacitet diska se brže povećavao nego brzina prenosa, i brzine grešaka su samo malo pale. Zbog toga, diskovima velikih kapaciteta trebaju veše sati, ako ne i dana, da se obnove. Vreme obnove je takođe limitirano ako je ceo niz još uvek u upotrebi sa samnjenim kapacitetom.[48] Za dati RAID sa samo jednim diskom redundanse (RAID 3, 4 i 5), drugi otkaz diska uzrokovao bi potpuni otkaz niza. Iako se srednje vreme između otkaza (MTBF) idividualnih diskova povećalo tokom vremena, ovo povećanje nije zadržalo korak sa povećanjem kapaciteta diskova. Vreme da se obnovi niz posle jednog otkaza diska, kao i šansa za drugi otkaz prilikom obnove, se povećala tokom vremena.[49] Šeme preslikavanja kao kod RAID 10 imaju vezano vreme za oporavak pošto zahtevaju kopiju jednog diska koji je otkazao, u poređenju sa šemom parnosti kao kod RAID 6, koji zahteva kopiju svih blokova diska u skupu niza. Trostruka šema parnosti, ili trostruko preslikavanje, je predloženo kao jedan pristup za povećanje otpornosti na dodatni otkaz diska prilikom dugog vremena oporavka.[50]

Atomistički: uključivanje nedostatak parnosti zbog pada sistema[uredi | uredi izvor]

Pad sistema ili drugi prekid operacije pisanja može dovesti do stanja gde je parnosti nekonzistentna sa podacima zbog ne-atomističkog procesa upisivanja, tako da se parnost ne može koristiti za oporavak u slučaju kvara diska (takozvana rupa RAID 5 upisivanja – vidi dole).[3]

Ovo je malo razumljivo i retko se pominje neuspešni mod za suvišne skladišne sisteme koji ne koriste transakcione osobine. Istraživač baze podataka Džim Grej je napisao „Ažuriranje u Mestu je Otrovna jabuka“ u ranim danima komercijalizacije baze podataka.[51]

RAID upisina rupa[uredi | uredi izvor]

RAID upisina rupa je poznat problem korupcije podataka u starijim i jeftinijim RAID-ima, izazvan prekidima destaging pisanja na disku.[52]

Pouzdanost pisanja keša[uredi | uredi izvor]

Što se tiče postojanja pouzdanosti pisanja keša, specifično je gledanje uređaja koji su opremljeni sa kešom za odloženo ažuriranje – sistem keširanja koji prijavljuje podatke kao upisane čim se upišu u keš, za razliku od ne-isparljivog medijuma.[53]

Algoritam za oporavak grešaka diska[uredi | uredi izvor]

Često, RAID kontroler je podešen da odustane od komponente diska (to jest, da pretpostavi da je došlo do otkaza komponente diska) ako je disk neodgovarajući za 8 sekundi ili tako; ovo može da uzrokuje da kontroler niza odustane od dobrog diska zato što disk nije dobio dovoljno vremena da završi svju unutrašnju proceduru za oporavljanje od grešaka. Zbog toga, desktop diskovi mogu biti rizični u RAID-u, a takozvana klasa diskova za preduzeće limitira ovo vreme za oporavak od greške da bi samnjila tizik.

Western Digital-ov desktop diskovi koriste pecifične ispravke. Korisnost koja se zove WDTLER.exe ograničavala je vreme oporavka grešaka na disku. Kprisnost je omogućio TLER (vremenski ograničen oporavak greške), koji ograničava vreme za oporavak greška do 7 sekundi. Septembra 2009. godine, Western Digital je onemogućio ovu funkciju u svojim desktop diskovima (npr. Caviar Black linija), što takve diskove čini nepodobnim za upotrebu u RAID.[54]

Međutim, Western Digital diskovi klase preduzeća se isporučuju iz fabrike sa TLER omogućenjem. Slične tehnologije koriste Seagate, Samsung i Hitachi. Naravno, za korišćenje ne-RAID-a, diskovi klase preduzeća sa kratkim prekidom oporavka greške oni ne mogu da se promene pa je stoga manje pogodan nego desktop disk.[54]

Krajem 2010. godine, Smartmontools program je počeo da podržava konfiguraciju ATA Error Recovery Control, koji omogućava alatki da konfiguriše mnoge desktop klase tvrdi diskova za upotrebu u RAID.[54]

Scenariji osim kvara diska[uredi | uredi izvor]

Dok nas RAID može zaštititi od fizičkog kvara diska, podaci su još uvek izloženi operatoru, softveru, hardveru i uništenjima virusa. Mnoge studije navode grešku operatera kao najčešći izvor kvara,[55] kao što je da operator servera zamenjuje pogrešan disk u neispravni RAID, i onemogućava sistem (čak privremeno) u precesu.[56]

RAID 5 enterprise okruženje[uredi | uredi izvor]

Obnova RAID 5 niza nakon kvara opterećuje sve diskove koji rade, zato što svaka oblast na svakom disku, koja je obeležena kao „u uputrebi“, mora biti pročitana da bi se obnovila izgubljena redundantnost. Ako su diskovi blizu kvara, opterećenje obnove niza može biti dovoljno da uzrokuje kvar drugog diska pre nego što se preces obnove završio, šta više ako server i dalje pristupa diskovima da bi obezbedio podatke za korisnike, klijente, itd. Čak i bez potpunog gubitka diska tokom obnove, nepopravljive greške čitanja (URE) su češće za veće nizove, i obično dovode od neuspele obnove.[43] Tako, tokom obnove „izgubljenog“ diska ceo RAID niz je u opasnosti od katastrofalnog otkaza. Obnova niza na zauzetim i velikim sistemima može trajati satima, nekada i danima.[43] Stoga, nije iznenađenje da, kada sistem mora biti veoma dostupan i visoko pouzdan ili tolerantan na otkaze, drugi nivoi, uključujući RAID 6 ili RAID 10, se biraju.[43]

Sa RAID 6 nizom, korišćenje diskova iz više izvora i proizvođača, je moguće da se ubalaži većina problema povezana sa RAID 5. Što je veći kapacitet diska i što je veći niz, postaje važnije izabrati RAID 6 umesto RAID 5.[43] RAID 10 takoće umanjuje ovaj problem.[45]

Avgusta 2012. godine, Dell je objavio savet protiv upotrebe RAID 5 ili RAID 50 sa diskovima velikog kapaciteta i na velikim nizovima.[57]

Softverski RAID problemi[uredi | uredi izvor]

Ako se boot disk pokvari, sistem mora biti dovoljno sofisticiran da se butuje pomoću preostalog diska ili diskova. Na primer, razmotrimo računar koji se podiže sa RAID 1 (preslikani disk); ako se prvi disk u RAID 1 pokvari, onda prva faza boot učitavača može da ne bude dovoljno sofisticirana u pokušaju da se optereti druga-faza boot učitavača sa drugog diska kao rezerve. Druga-faza boot utovarivača za FreeBSD je sposobna da optereti kernel sa RAID 1.[58]

Vidi još[uredi | uredi izvor]

Nestandardni RAID nivoi

Napomene[uredi | uredi izvor]

  1. ^ Theoretical maximum, as low as 1X in practice

Reference[uredi | uredi izvor]

  1. ^ David A. Patterson, Garth Gibson, and Randy H. Katz: A Case for Redundant Arrays of Inexpensive Disks (RAID). University of California Berkeley. 1988.
  2. ^ "Originally referred to as Redundant Array of Inexpensive Disks, the concept of RAID was first developed in the late 1980s by Patterson, Gibson, and Katz of the University of California at Berkeley. (The RAID Advisory Board has since substituted the term Inexpensive with Independent.)" Storagecc Area Network Fundamentals; Meeta Gupta; Cisco Press. Gupta, Meeta (2002). Storage Area Network Fundamentals. Cisco Press. ISBN 978-1-58705-065-7. .; Appendix A.
  3. ^ a b v g d đ e ž z Chen, Peter; Lee, Edward; Gibson, Garth; Katz, Randy; Patterson, David (1994). „RAID: High-Performance, Reliable Secondary Storage”. ACM Computing Surveys. 26 (2): 145—185. CiteSeerX 10.1.1.41.3889Slobodan pristup. S2CID 207178693. doi:10.1145/176979.176981. 
  4. ^ Donald, L. (2003). „MCSA/MCSE 2006 JumpStart Computer and Network Basics” (2nd izd.). Glasgow: SYBEX.  Nepoznati parametar |name-list-style= ignorisan (pomoć)
  5. ^ Howe, Denis (ur.). Redundant Arrays of Independent Disks from FOLDOC. Free On-line Dictionary of Computing. Imperial College Department of Computing. Pristupljeno 10. 11. 2011. 
  6. ^ US patent 4092732, Norman Ken Ouchi, "System for recovering data stored in failed memory unit", issued 1978-05-30 
  7. ^ Patterson, David; Gibson, Garth A.; et al. (1988). „A Case for Redundant Arrays of Inexpensive Disks (RAID)” (PDF). SIGMOD Conferences. str. 109—116. Pristupljeno 31. 12. 2006. 
  8. ^ „Common RAID Disk Drive Format (DDF) standard”. SNIA.org. SNIA. Pristupljeno 26. 8. 2012. 
  9. ^ „SNIA Dictionary”. SNIA.org. SNIA. Pristupljeno 24. 8. 2010. 
  10. ^ Hennessy, John; Patterson, David (2006). Computer Architecture: A Quantitative Approach, 4th ed. str. 362. ISBN 978-0123704900. 
  11. ^ „FreeBSD Handbook, Chapter 20.5 GEOM: Modular Disk Transformation Framework”. Pristupljeno 20. 12. 2012. 
  12. ^ White, Jay; Lueth, Chris (maj 2010). „RAID-DP:NetApp Implementation of Double Parity RAID for Data Protection. NetApp Technical Report TR-3298”. Arhivirano iz originala 18. 10. 2012. g. Pristupljeno 2. 3. 2013. 
  13. ^ Vijayan, S.; Selvamani, S.; Vijayan, S (1995). „Dual-Crosshatch Disk Array: A Highly Reliable Hybrid-RAID Architecture”. Proceedings of the 1995 International Conference on Parallel Processing: Volume 1. CRC Press. str. I—146ff. ISBN 978-0-8493-2615-8. 
  14. ^ a b Jeffrey B. Layton: "Intro to Nested-RAID: RAID-01 and RAID-10", Linux Magazine, January 6, 2011
  15. ^ Dawkins, Bill and Jones, Arnold. "Common RAID Disk Data Format Specification" Arhivirano na sajtu Wayback Machine (24. avgust 2009) [Storage Networking Industry Association] Colorado Springs, 28 July 2006. Pristupljeno 22 February 2011.
  16. ^ [1], question 4
  17. ^ „Main Page - Linux-raid”. Linux-raid.osdl.org. 20. 8. 2010. Arhivirano iz originala 5. 7. 2008. g. Pristupljeno 24. 8. 2010. 
  18. ^ „Hdfs Raid”. Hadoopblog.blogspot.com. 28. 8. 2009. Pristupljeno 24. 8. 2010. 
  19. ^ admin (1. 10. 2013). „What is RAID over File System?”. FlexRAID.com. FlexRAID. Arhivirano iz originala 09. 11. 2013. g. Pristupljeno 8. 11. 2013. 
  20. ^ „The RAID Migration Adventure”. 10. 7. 2007. Pristupljeno 10. 3. 2010. 
  21. ^ „ZFS on Linux”. Pristupljeno 15. 7. 2013. 
  22. ^ „Btrfs Wiki: Feature List”. 7. 11. 2012. Pristupljeno 16. 11. 2012. 
  23. ^ „Btrfs Wiki: Changelog”. 1. 10. 2012. Pristupljeno 14. 11. 2012. 
  24. ^ „Mac OS X: How to combine RAID sets in Disk Utility”. Pristupljeno 4. 1. 2010. 
  25. ^ „Apple Mac OS X Server File Systems”. Pristupljeno 23. 4. 2008. 
  26. ^ „FreeBSD System Manager's Manual page for GEOM(8)”. Pristupljeno 19. 3. 2009. 
  27. ^ „freebsd-geom mailing list - new class / geom_raid5”. 6. 7. 2006. Pristupljeno 19. 3. 2009. 
  28. ^ „FreeBSD Kernel Interfaces Manual for CCD(4)”. Pristupljeno 19. 3. 2009. 
  29. ^ „The Software-RAID HOWTO”. Pristupljeno 10. 11. 2008. 
  30. ^ „RAID setup”. Arhivirano iz originala 13. 10. 2008. g. Pristupljeno 10. 11. 2008. 
  31. ^ „RAID setup”. Pristupljeno 30. 9. 2010. 
  32. ^ „Using Windows XP to Make RAID 5 Happen”. Tomshardware.com. 19. 11. 2004. Pristupljeno 24. 8. 2010. 
  33. ^ Sinofsky, Steven. „Virtualizing storage for scale, resiliency, and efficiency”. Microsoft. 
  34. ^ Metzger, Perry (12. 5. 1999). „NetBSD 1.4 Release Announcement”. NetBSD.org. The NetBSD Foundation. Pristupljeno 30. 1. 2013. 
  35. ^ „Rules of Thumb in Data Engineering” (PDF). Pristupljeno 14. 1. 2010. 
  36. ^ „SATA RAID FAQ”. Ata.wiki.kernel.org. 8. 4. 2011. Pristupljeno 26. 8. 2012. 
  37. ^ Ulf Troppens, Wolfgang Mueller-Friedt, Rainer Erkens, Rainer Wolafka, Nils Haustein. Storage Networks Explained: Basics and Application of Fibre Channel SAN, NAS, ISCSI, InfiniBand and FCoE. John Wiley and Sons. 2009. str. 39.
  38. ^ Dell Computers, Background Patrol Read for Dell PowerEdge RAID Controllers, By Drew Habas and John Sieber, Reprinted from Dell Power Solutions, February 2006 http://www.dell.com/downloads/global/power/ps1q06-20050212-Habas.pdf
  39. ^ „Adaptec Hybrid RAID Solutions” (PDF). Adaptec.com. Adaptec. 2012. Pristupljeno 7. 9. 2013. 
  40. ^ Disk Failures in the Real World: What Does an MTTF of 1,000,000 Hours Mean to You? Bianca Schroeder and Garth A. Gibson
  41. ^ „Everything You Know About Disks Is Wrong”. Storagemojo.com. 22. 2. 2007. Arhivirano iz originala 13. 7. 2010. g. Pristupljeno 24. 8. 2010. 
  42. ^ Eduardo Pinheiro, Wolf-Dietrich Weber and Luiz André Barroso (februar 2007). „Failure Trends in a Large Disk Drive Population” (PDF). Google Inc. Pristupljeno 26. 12. 2011. 
  43. ^ a b v g d „Why RAID 6 stops working in 2019”. ZDNet. 22. 2. 2010. 
  44. ^ J.L. Hafner, V. Deenadhaylan, K. Rao, and J.A. Tomlin. "Matrix methods for lost data reconstruction in erasure codes. USENIX Conference on File and Storage Technologies. str. 15-30, Dec. 13-16, 2005.
  45. ^ a b Lowe, Scott (16. 11. 2009). „How to protect yourself from RAID-related Unrecoverable Read Errors (UREs). Techrepublic.”. Pristupljeno 1. 12. 2012. 
  46. ^ M.Baker, M.Shah, D.S.H. Rosenthal, M.Roussopoulos, P.Maniatis, T.Giuli, and P.Bungale. 'A fresh look at the reliability of long-term digital storage." EuroSys2006, Apr. 2006.
  47. ^ „L.N. Bairavasundaram, GR Goodson, S. Pasupathy, J.Schindler. "An analysis of latent sector errors in disk drives". Proceedings of SIGMETRICS'07, June 12-16,2007.” (PDF). 
  48. ^ Patterson, D., Hennessy, J. (2009). Computer Organization and Design. New York: Morgan Kaufmann Publishers. pp. 604-605.
  49. ^ Newman, Henry (17. 9. 2009). „RAID's Days May Be Numbered”. EnterpriseStorageForum. Arhivirano iz originala 6. 12. 2010. g. Pristupljeno 7. 9. 2010. 
  50. ^ Leventhal, Adam (1. 12. 2009). „Triple-Parity RAID and Beyond. ACM Queue, Association of Computing Machinery”. Pristupljeno 30. 11. 2012. 
  51. ^ Jim Gray: The Transaction Concept: Virtues and Limitations Arhivirano na sajtu Wayback Machine (11. jun 2008) (Invited Paper) VLDB 1981 Arhivirano na sajtu Wayback Machine (26. jul 2008): 144-154
  52. ^ „"Write hole" in RAID5, RAID6, RAID1, and other arrays”. ZAR team. Pristupljeno 15. 2. 2012. 
  53. ^ „Definition of write-back cache at SNIA dictionary”. 
  54. ^ a b v „Error Recovery Control with Smartmontools”. Arhivirano iz originala 28. 9. 2011. g. Pristupljeno 9. 12. 2013. 
  55. ^ These studies are: Gray, J (1990), Murphy and Gent (1995), Kuhn (1997), and Enriquez P. (2003).
  56. ^ Patterson, D., Hennessy, J. (2009), 574.
  57. ^ Peltoniemi, Mikko (7. 8. 2012). „New RAID level recommendations from Dell”. Pristupljeno 1. 12. 2012. 
  58. ^ „FreeBSD Handbook”. Chapter 19 GEOM: Modular Disk Transformation Framework. Pristupljeno 19. 3. 2009. 

Literatura[uredi | uredi izvor]

Spoljašnje veze[uredi | uredi izvor]