sisteme de operare avansate -...

37
Universitatea POLITEHNICA din Bucureşti Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei Sisteme de Operare Avansate Tehnologia RAID (Redundant Array of Inexpensive Disks) Profesor îndrumător: Conf. dr. ing. Stefan Stăncescu Masterand: ing. Luca Adrian-Alexandru

Upload: others

Post on 12-Sep-2019

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

Universitatea POLITEHNICA din Bucureşti Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei

Sisteme de Operare Avansate Tehnologia RAID (Redundant Array of

Inexpensive Disks)

Profesor îndrumător: Conf. dr. ing. Stefan Stăncescu Masterand: ing. Luca Adrian-Alexandru

Page 2: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

Cuprins

Capitolul 1 - Notiuni introductive.............................................................2

Capitolul 2 - Concepte de baza ale tehnologiei RAID..............................4

Capitolul 3 - Caracteristicile nivelelor RAID simple.............................10

Capitolul 4 - Caracteristicile nivelelor RAID multiple...........................21

Capitolul 5 - Performanţe RAID ............................................................31

Capitolul 6 - Concluzii............................................................................35

Bibliografie.............................................................................................36

Page 3: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

2

Capitolul 1 - Notiuni introductive Inca de la primele calculatoare suportul de memorare a informatiei a fost o preocupare permanenta. Calitatile si performantele acestuia au constituit adesea criteriu de judecata cu pondere importanta atat pentru lumea specialistilor, cat si pentru cumparatorii de tehnica de calcul. Progresul uluitor din lumea calculatoarelor este, de fapt, progresul tuturor elementelor de baza ale acestei lumi. Iar hard discurile constituie astazi un element de referinta al domeniului. Aceasta lucrare prezinta un aspect al progresului in acest domeniu, acela realizat prin ariile de discuri. Una dintre metodele prin care datele sistemelor de calcul pot fi accesate mai repede este aceea prin care se renunta la varianta "single disc" in favoarea "multi-spidle volume", adica a utilizarii mai multor discuri aflate pe aceeasi axa. Aceasta tehnica permite accesarea simultana a datelor cu ajutorul a doua (sau mai multor) brate de citire/ scriere, teoretic micsorand timpul de acces. Partitia sistem rezultata este folosita de aplicatie ca si cum ar fi o singura partitie logica. De fapt, in mod fizic, partitia sistem este impartita pe discurile fizice existente, dar acest lucru este transparent oricarei aplicatii. Aceasta tehnica a dus la cresterea performantelor intrarilor/iesirilor, dar are dezavantajul ca daca un disc, care este folosit pentru a crea un volum virtual, "cade" intreaga informatie de pe acest volum virtual se pierde. Pentru a depasi inconvenientele descrise mai sus a fost dezvoltat conceptul RAID. Termenul de RAID (Redundant Array of Inexpensive Disks-matrice redundanta de discuri ieftine) a fost folosit pentru prima data la inceputul anilor '80 de catre F.D.Lawlor, dar el a fost popularizat cu adevarat de catre un grup de oameni de stiinta , format din: David A. Patterson, Garth Gibson si Randy H. Kantz, toti de la Universitatea Berkeley din California, care au publicat un articol intitulat "A case for Redundant Arrays of Inexpensive Disks(RAID)" , in care defineau cinci modele de arii de discuri, cunoscute ca RAID Levels 1-5. Deci, in lucrarea lor, oamenii de stiinta sugerau folosirea , in plus, a unor discuri de verificare, care contineau informatia redundanta care era folosita pentru a recupera date in cazul defectarii unui hard disc. Dupa ce discul defect era inlocuit, fie de catre un operator uman fie de un comutator electronic, datele erau reconstruite automat. Cand au aparut pe piata primele produse bazate pe tehnologia RAID, costul controllerelor si al hard discurilor SCSI depaseau cu usurinta pretul de 35,000$. Vanzatorii erau jenati de cuvantul "Inexpensive"din acronimul RAID, si au decis ca "I"-ul sa vina de la "Independent"(cu toate ca nici aceasta asociere nu este tocmai potrivita). Din proiectare, tehnologia RAID ascunde caracteristicile discurilor individuale fata de orice sistem de operare, acesta percepand mai multe discuri ca fiind un singur disc mai mare. Tehnologia RAID asociaza adresele blocurilor logice de pe disc cu adresele fizice corespunzatoare folosind o varietate de algoritmi. Deci, tehnologia RAID consta in aranjarea mai multor hard discuri de capacitate mica si ieftine astfel incat sa egaleze si chiar sa depaseasca performantele si securitatea unui singur disc. Redundanta datelor (cu exceptia nivelului 0) este asigurata de toate nivelele RAID. Plasand datele pe mai multe discuri, operatiile de intrare/iesire se pot suprapune, imbunatatind performanta. Cu cat creste numarul de hard discuri cu atat MTBF(Mean Time Between Failures) scade, dar stocand datele in mod redundant, creste toleranta la defecte(fault tolerance). RAID apare unui sistem de operare ca un singur hard disc logic. RAID foloseste tehnica "striping"-distribuirea datelor pe o matrice de discuri neredundante, care presupune partitionarea fiecarui disc in unitati variind de la 512B pana la cativa MB. Micropartitiile tuturor discurilor sunt intercalate si adresate in ordinea corespunzatoare. Intr-un sistem "single-user", unde sunt stocate inregistrari voluminoase(imagini medicale sau stiintifice) micropartitiile sunt setate sa fie mici(de exemplu 512B) astfel incat un fisier se intinde pe toate discurile si poate fi accesata rapid citind toate discurile in acelasi timp. Intr-un sistem "multi-user" o performanta buna necesita stabilirea unei micropartitii destul de mare astfel incat sa contina un fisier de dimensiune maxima. Aceasta permite transferuri intrare/iesire simultane de pe discuri.

Page 4: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

3

Conceptul RAID implica trei principii ale stocarii si recuperarii datelor:

* Zonarea discului * Performanta ridicata * Redundanta datelor

Aceste trei componente sunt combinate în mai multe feluri pentru a forma diferitele nivele RAID. Nivelele RAID reprezinta toate arhitecturi de arii de discuri care memoreaza informatie redundanta despre datele utilizatorilor si pot regenera aceste date în eventualitatea defectarii unei singure unitati de disc. Totusi, este important de înteles ca redundanta asupra datelor furnizata prin aceste RAID-uri este numai o parte a solutiei totale de memorare toleranta la defectari pe discuri.

RAID-urile asigura utilizatorului posibilitatea de a opta pentru solutii care pot varia foarte mult în gama raporturilor pret/performanta si din punctul de vedere al disponibilitatii. Astfel, spre exemplu, RAID 1 (cunoscut si sub denumirea de "oglindire" ("mirroring")) furnizeaza cea mai ridicata performanta din punctul de vedere al redundantei datelor, dar cu costul cel mai ridicat, deoarece toate datele sunt duplicate, acest lucru necesitând de doua ori mai mult spatiu pe disc. Nivelele 1- 5 asigura disponibilitatea continua a datelor, chiar în eventualitatea defectarii unei singure unitati de disc, prin regenerarea datelor utile din datele redundante. Totusi, din cauza operatiilor de intrare/iesire suplimentare, cerute pentru a regenera datele memorate pe unitatea de disc defectata, performanta este mai scazuta pe timpul operatiilor de restabilire. Avantajele RAID

RAID ofera o serie de avantaje semnificative care-l face atractiv pentru orice tip de utilizator de PC. Trebuie inteles de la inceput ca diversele avantaje care vor fi discutate in continuare depind de exact tipul RAID-ului folosit, dar intotdeauna se va obtine o combinatie a urmatoarelor: *Securitate mare a datelor: Prin folosirea redundantei, majoritatea nivelelor RAID asigura protectia datelor stocate in aria RAID. Aceasta inseamna ca datele incluse in arie pot ramane intacte chiar si in urma defectari unui hard disc(sau a mai multor discuri), fara nici o pierdere de date si fara sa fie necesara reconstruirea datelor de pe back-up. Securitatea este un avantaj al RAID-ului si probabil este aspectul care a condus la dezvoltarea mai multor nivele RAID, cu exceptia nivelului RAID 0, toate asigurand redundanta datelor.

*Toleranta la defecte: Implementarile RAID care includ redundanta asigura o mai mare incredere in stocarea datelor pe un subsistem decat pe un singur hard disc. Aceasta inseamna ca exista o probabilitate mai mica ca datele stocate pe un subsistem sa se piarda din cauza defectarii unei componente hardware. *Disponibilitatea imbunatatita: Disponibilitatea se refera la accesul la date. Un sistem RAID bun imbunatateste disponibilitatea atat prin asigurararea tolerantei la defectari cat si prin asigurarea de alte atribute care permit recuperarea datelor in urma defectelor hardware fara a fi necesara o impartire a datelor. *Cresterea capacitatii integrate: Prin transformarea unui numar mare de discuri mici intr-o mare arie prin unirea tuturor capacitatilor. Aceasta faciliteaza aplicatiile care necesita un numar mare de spatiu pe disc si care face manevrabilitatea spatiului pe disc simpla. Sa presupunem ca avem nevoie de 300GB spatiu pentru o baza mare de date. Din pacate nici un fabricant nu poate realiza un disc de o asa mare capacitate. Putem pune intr-un sistem cinci discuri a cate 72GB fiecare, dar apoi trebuie gasita metoda de a imparti baza de date in cinci parti, lucru destul de complicat. In schimb, putem seta un RAID 0 care sa contina aceste cinci discuri de cate 72GB fiecare; acesta va aparea sistemului de operare ca un singur hard disc de 360 GB! Toate implementarile RAID asigura acest avantaj, cu toate ca cele care includ redundanta consuma o parte din spatiu pentru informatia redundanta.

Page 5: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

4

*Performanta imbunatatita: Sistemul RAID imbunatateste performanta permitand controlerului sa exploateze capabilitatile multiplelor hard discuri pentru a atinge performanta mecanica limita, problema care planeaza asupra fiecarui hard disc. Metoda traditionala de a imbunatati performanta RAID-ului este paralelismul. Abilitatea de a accesa mai multe discuri simultan permit datelor sa fie citite sau scrise din/in RAID mult mai repede decat ar fi fost posibil cu un singur hard disc. Utilizarea RAID

In acest subcapitol vrem sa ne raspundem la urmatoarea intrebare:"Ar trebui sa folosesc RAID?" Cat de usor este sa ne raspundem la aceasta intrebare daca stim de ce resurse beneficiem si ce incercam sa obtinem. Singura cale de a raspunde la aceasta intrebare este sa cunoastem in detaliu problema, sa cantarim costurile si beneficiile, sa comparam costurile cu bugetul pe care-l avem noi la dispozitie si sa ne decidem care ne sunt prioritatile. In continuare voi da cateva exemple de utilizari ale tehnologiei RAID: * Business Servers : chiar si cele mai mici medii de afaceri ar trebui sa-si ruleze datele foarte importante (critice) pe un anumit tip de sistem RAID. Datele sunt atat de importante incat intreruperile pot fi naucitoare pentru orice afacere , astfel incat costurile , de obicei, merita. Chiar si o configuratie RAID mica si nu prea scumpa este mai buna decat nimic, iar daca bugetul este foarte limitat, nu toate datele companiei trebuie incluse in arie ci doar cele mai importante(vitale pentru companie). *Workstations : Pentru acele persoane care depun un efort intensiv cum ar fi editare video, design grafic, CAD/CAM, au nevoie de o configuratie de arie de discuri cum ar fi RAID 0, care ofera o performanta imbunatatita necesara in multe din aceste aplicatii. O alta alternativa ar fi RAID 10 care este superior lui RAID 0 datorita redundantei pe care o ofera dar necesitatea folosirii a minimum patru hard discuri o face sa devina o alternativa scumpa si consumatoare de spatiu. *PC-uri obisnuite: Majoritatea utilizatorilor de PC-uri obisnuite nu au nevoie de RAID, iar costul suplimentar al unui sau al mai multor hard discuri aditionale este, de obicei, nejustificata. Majoritatea persoanelor care si-au setat RAID pe un PC obisnuit nu isi pot permite un controler hardware sau SCSI drive-uri, asa ca folosesc software RAID sau solutii ieftine cum sunt controlerele IDE/ATA RAID. De obicei, se seteaza RAID-ul pe motive de performanta, si de aceea multi utilizatori implementeaza solutia RAID 0. Din pacate, RAID 0 nu imbunatateste performanta in modul in care este folosit PC-ul.

Capitolul 2 - Concepte de baza ale tehnologiei RAID

Aria de discuri

Aria de discuri este o colectie de hard discuri grupate impreuna. Cand vorbim despre RAID trebuie sa facem distinctia intre ariile de discuri fizice si ariile de discuri logice. Ariile de discuri fizice pot fi divizate sau grupate impreuna pentru a forma una sau mai multe arii de discuri logice. Aceste arii logice pot fi impartite in discuri logice vizibile pentru sistemul de operare. Discurile logice sunt tratate ca si cum ar fi discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate si formatate corespunzator. Controlerul RAID

Controlerul RAID are rolul de a se ocupa cu modul de stocare al datelor si modul de acesare al acestora din ariile de discuri fizice si logice. Controlerul Raid se asigura ca sistemul de operare vede numai discurile logice si nu se preocupa de organizarea schemei controllerului. Functionarea unui controller RAID

Page 6: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

poate fi implementata hardware sau software. Implementarea hardware este mai buna pentru nivelele RAID care necesita cantitati mari de calcule. Cu procesoarele de ultisoftware RAID este mai fezabila, cu toate ca si aceste procesoare pot fi suprasolicitate la operatiile de scriere/ citire.. "Mirroring" (Oglindire)

Conceptul de mirroring (oglindire) semnifica detinerea a doua copii identice ale aceleiasi date pe hard discuri sau arii de discuri separate. Deci, practic, datele de pe un disc sunt copiate (imagine in oglinda) pe un alt disc. Sistemul practic scrie date simultan pe ambele hartehnici de redundanta a datelor folosite in tehnologia RAID pentru a proteja datele de pierderi. Avantajul acestei metode este ca sistemul isi continua functionarea chiar daca un hard disc sau o arie de discuri se defecteaza deoarece exista si o a doua copie ale acelorasi date pe un alt hard disc sau arie de discuri. Timpul de indisponibilitate al datelor este infim iar recuperarea datelor este relativ simpla. Tot ceea ce trebuie facut este sa se reconstruiasca datele preluandudiagrama simplificata ilusreaza cum, de fapt, conceptul de mirroring lucreaza . File 1, file 2, si file3 sunt fisiere separate care apartin fiecarui disc. Discurile Disk1, si discuri, ele putand fi si arii de discuri. Principalul lucru de tinut minte este controllerul RAID care scrie aceleasi date pe fiecare disc oglindit. Fiecare disc oglindit (sau arie de discuri) contine aceeasi infor

Dezavantajul acestei metode este acela ca ambele discuri sunt conectate in timpul procesului de scriere, fapt ce limiteaza paralelismul si, deci, implicit performanta. Pe de alta parte, aceasta metoda are niste avantaje foarte mari pe parcursul procesului de citire. Un bun controller RAID va citi datele numai de la un singur disc, intrucat informatia este aceeasi pe ambele discuri. In timp ce un hcelalalt, ramas liber, poate fi folosit pentru alte cereri. Acest lucru mareste paralelismul, concept care sta la baza cresterii performantei tehnologiei RAID. "Oglindirea" este o solutie buna pentru garantarea secuface aici este costul si risipa de spatiu care se face pentru utilizarea a doua hard discuri continand aceeasi informatie. Va fi nevoie de un spatiu de stocare de doua ori mai mare pentru a oglindi datele. Aceasmetoda poate fi eficienta pentru acele aplicatii ai caror timpi de indisponibilitate ar insemna prabusirea unei companii sau mai rau pierderea unei vieti omenesti. De cele mai multe ori, insa, sAlternativa metodei "mirroring" este paritatea "parity".

poate fi implementata hardware sau software. Implementarea hardware este mai buna pentru nivelele RAID care necesita cantitati mari de calcule. Cu procesoarele de ultima generatie din ziua de azi, implementarea software RAID este mai fezabila, cu toate ca si aceste procesoare pot fi suprasolicitate la operatiile de

(oglindire) semnifica detinerea a doua copii identice ale aceleiasi date pe hard discuri sau arii de discuri separate. Deci, practic, datele de pe un disc sunt copiate (imagine in oglinda) pe un alt disc. Sistemul practic scrie date simultan pe ambele hard discuri. Aceasta este una din cele doua tehnici de redundanta a datelor folosite in tehnologia RAID pentru a proteja datele de pierderi. Avantajul acestei metode este ca sistemul isi continua functionarea chiar daca un hard disc sau o arie de discuri se defecteaza deoarece exista si o a doua copie ale acelorasi date pe un alt hard disc sau arie de discuri. Timpul de indisponibilitate al datelor este infim iar recuperarea datelor este relativ simpla. Tot ceea ce trebuie facut

le preluandu-le de pe hard discul care contine copia buna de date. diagrama simplificata ilusreaza cum, de fapt, conceptul de mirroring lucreaza . File 1, file 2, si file3 sunt fisiere separate care apartin fiecarui disc. Discurile Disk1, si Disk2 din diagrama nu sunt neaparat hard discuri, ele putand fi si arii de discuri. Principalul lucru de tinut minte este controllerul RAID care scrie aceleasi date pe fiecare disc oglindit. Fiecare disc oglindit (sau arie de discuri) contine aceeasi infor

Dezavantajul acestei metode este acela ca ambele discuri sunt conectate in timpul procesului de scriere, fapt , implicit performanta. Pe de alta parte, aceasta metoda are niste avantaje

foarte mari pe parcursul procesului de citire. Un bun controller RAID va citi datele numai de la un singur disc, intrucat informatia este aceeasi pe ambele discuri. In timp ce un hard disc este folosit pentru citit, celalalt, ramas liber, poate fi folosit pentru alte cereri. Acest lucru mareste paralelismul, concept care sta la baza cresterii performantei tehnologiei RAID.

"Oglindirea" este o solutie buna pentru garantarea securitatii datelor. Oricum, compromisul care se face aici este costul si risipa de spatiu care se face pentru utilizarea a doua hard discuri continand aceeasi informatie. Va fi nevoie de un spatiu de stocare de doua ori mai mare pentru a oglindi datele. Aceasmetoda poate fi eficienta pentru acele aplicatii ai caror timpi de indisponibilitate ar insemna prabusirea unei companii sau mai rau pierderea unei vieti omenesti. De cele mai multe ori, insa, s

e paritatea "parity".

Figura 1. Sistem RAID [10]

5

poate fi implementata hardware sau software. Implementarea hardware este mai buna pentru nivelele RAID ma generatie din ziua de azi, implementarea

software RAID este mai fezabila, cu toate ca si aceste procesoare pot fi suprasolicitate la operatiile de

(oglindire) semnifica detinerea a doua copii identice ale aceleiasi date pe hard discuri sau arii de discuri separate. Deci, practic, datele de pe un disc sunt copiate (imagine in oglinda)

d discuri. Aceasta este una din cele doua tehnici de redundanta a datelor folosite in tehnologia RAID pentru a proteja datele de pierderi. Avantajul acestei metode este ca sistemul isi continua functionarea chiar daca un hard disc sau o arie de discuri se defecteaza deoarece exista si o a doua copie ale acelorasi date pe un alt hard disc sau arie de discuri. Timpul de indisponibilitate al datelor este infim iar recuperarea datelor este relativ simpla. Tot ceea ce trebuie facut

le de pe hard discul care contine copia buna de date. Urmatoarea diagrama simplificata ilusreaza cum, de fapt, conceptul de mirroring lucreaza . File 1, file 2, si file3 sunt

Disk2 din diagrama nu sunt neaparat hard discuri, ele putand fi si arii de discuri. Principalul lucru de tinut minte este controllerul RAID care scrie aceleasi date pe fiecare disc oglindit. Fiecare disc oglindit (sau arie de discuri) contine aceeasi informatie.

Dezavantajul acestei metode este acela ca ambele discuri sunt conectate in timpul procesului de scriere, fapt , implicit performanta. Pe de alta parte, aceasta metoda are niste avantaje

foarte mari pe parcursul procesului de citire. Un bun controller RAID va citi datele numai de la un singur ard disc este folosit pentru citit,

celalalt, ramas liber, poate fi folosit pentru alte cereri. Acest lucru mareste paralelismul, concept care sta la

ritatii datelor. Oricum, compromisul care se face aici este costul si risipa de spatiu care se face pentru utilizarea a doua hard discuri continand aceeasi informatie. Va fi nevoie de un spatiu de stocare de doua ori mai mare pentru a oglindi datele. Aceasta metoda poate fi eficienta pentru acele aplicatii ai caror timpi de indisponibilitate ar insemna prabusirea unei companii sau mai rau pierderea unei vieti omenesti. De cele mai multe ori, insa, s-ar putea sa nu merite.

Page 7: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

"Duplexing" (Dublare)

"Duplexing" este o extensie a conceptului de "mirroring" care se bazeaza pe acelasi principiu ca aceasta. La fel ca la mirroring, toate datele sunt duplicate in doua hard discuri fizice distincte. Duplexind trece de bariera mirroring prin aceea ca la ddiscuri(sau seturi de hard discuri). Deci daca folosim tehnica de oglindire pentru doua hard discuri, ele trebuie sa fie conectate la un singur controler RAID. Daca folosim tehnica "dublariiva fi conectat la un controler iar celalat hard disc la un controler secundar. "Dubalrea" este superioara oglindirii in termeni de disponibilitate deoarece ofera aceeasi protectie impotriva unei defectari a unui disc, ceea ce face si oglindirea, dar ofera deasemenea protectie impotriva defectarii vreunuia din controlere. Deasemenhardware. Dublarea este o solutie cand implementam RAID 1. Duplexing se implementeaza in solutiile RAID software manevrate de sistemul de operare, unde sistemul de operare lucreaza cu implementarea RAID la un nivel inalt si putand usor sa separe datele intre controlere. Exista si implementari RAID duplexing hardware dar , in general, acestea se aplica pe solutii externe RAID foarte scumpe. "Parity" (Paritate)

Paritatea este cea de-a doua teh"paritate" este folosit atunci cand tratam cu detectia erorilor in comunicatie, cum este cazul modemurilor. Termenul mai este folosit si la memorii. Paritatea la RAID foloseste un concept smemorie. De exemplu, daca avem "x" elemente de date, si se folosesc aceste "x" elemente de date pentru a crea un element paritate, se ajunge, in final, la "x+1" elemente totale de date. Daca oricare din cele "x+1" elemente s-ar pierde, ar putea fi recuperat atata timp cat raman "x" elemente. In general, termenul "parity bit" (bit de paritate) se refera la informatia existenta in plus. In cazul RAID, termenul "parity data" (data de paritate) semnifica mai mult decat un singur bit. "Data de paritate " se poate crea folosind doi algoritmi : - codul Hamming de corectie al erorilor : - operatia logica SAU Exclusiv : XOR

"Duplexing" este o extensie a conceptului de "mirroring" care se bazeaza pe acelasi principiu ca aceasta. La fel ca la mirroring, toate datele sunt duplicate in doua hard discuri fizice distincte. Duplexind trece de bariera mirroring prin aceea ca la duplexing se dubleaza si controlerele hardware ale celor doua hard discuri(sau seturi de hard discuri). Deci daca folosim tehnica de oglindire pentru doua hard discuri, ele trebuie sa fie conectate la un singur controler RAID. Daca folosim tehnica "dublariiva fi conectat la un controler iar celalat hard disc la un controler secundar.

"Dubalrea" este superioara oglindirii in termeni de disponibilitate deoarece ofera aceeasi protectie impotriva unei defectari a unui disc, ceea ce face si oglindirea, dar ofera deasemenea protectie impotriva defectarii vreunuia din controlere. Deasemenea, are un cost mai ridicat deoarece dubleaza mai mult hardware. Dublarea este o solutie cand implementam RAID 1.

Duplexing se implementeaza in solutiile RAID software manevrate de sistemul de operare, unde sistemul ea RAID la un nivel inalt si putand usor sa separe datele intre controlere.

Exista si implementari RAID duplexing hardware dar , in general, acestea se aplica pe solutii externe RAID

a doua tehnica de redundanta a datelor folosita in tehnologia RAID. Termenul "paritate" este folosit atunci cand tratam cu detectia erorilor in comunicatie, cum este cazul modemurilor. Termenul mai este folosit si la memorii. Paritatea la RAID foloseste un concept smemorie. De exemplu, daca avem "x" elemente de date, si se folosesc aceste "x" elemente de date pentru a crea un element paritate, se ajunge, in final, la "x+1" elemente totale de date. Daca oricare din cele "x+1"

e, ar putea fi recuperat atata timp cat raman "x" elemente. In general, termenul "parity bit" (bit de paritate) se refera la informatia existenta in plus. In cazul

RAID, termenul "parity data" (data de paritate) semnifica mai mult decat un singur bit."Data de paritate " se poate crea folosind doi algoritmi :

codul Hamming de corectie al erorilor : ECC; XOR;

Figura 2. Sistem RAID [10]

6

"Duplexing" este o extensie a conceptului de "mirroring" care se bazeaza pe acelasi principiu ca aceasta. La fel ca la mirroring, toate datele sunt duplicate in doua hard discuri fizice distincte. Duplexind trece de

uplexing se dubleaza si controlerele hardware ale celor doua hard discuri(sau seturi de hard discuri). Deci daca folosim tehnica de oglindire pentru doua hard discuri, ele trebuie sa fie conectate la un singur controler RAID. Daca folosim tehnica "dublarii" unul dintre hard discuri

"Dubalrea" este superioara oglindirii in termeni de disponibilitate deoarece ofera aceeasi protectie

impotriva unei defectari a unui disc, ceea ce face si oglindirea, dar ofera deasemenea protectie impotriva ea, are un cost mai ridicat deoarece dubleaza mai mult

Duplexing se implementeaza in solutiile RAID software manevrate de sistemul de operare, unde sistemul ea RAID la un nivel inalt si putand usor sa separe datele intre controlere.

Exista si implementari RAID duplexing hardware dar , in general, acestea se aplica pe solutii externe RAID

nica de redundanta a datelor folosita in tehnologia RAID. Termenul "paritate" este folosit atunci cand tratam cu detectia erorilor in comunicatie, cum este cazul modemurilor. Termenul mai este folosit si la memorii. Paritatea la RAID foloseste un concept similar cu paritatea la memorie. De exemplu, daca avem "x" elemente de date, si se folosesc aceste "x" elemente de date pentru a crea un element paritate, se ajunge, in final, la "x+1" elemente totale de date. Daca oricare din cele "x+1"

In general, termenul "parity bit" (bit de paritate) se refera la informatia existenta in plus. In cazul RAID, termenul "parity data" (data de paritate) semnifica mai mult decat un singur bit.

Page 8: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

Algoritmul ECC:

Ideea paritatii este aceea ca putin mai multa informatie atasata unui cuvant poate spune multe despre valoarea acelui cuvant. ECCformat din 7 biti: 1001001, el poate avea un al optulea bit de "paritate" atformeze un cuvant par. In exemplul nostru, 1+0+0+1+0+0+1=3 care nu este para, deci cel deva fi "1" . La un cuvant format din 7 biti se implementeaza codul Hamming, folosind 3 biti disponibili pentru corectia erorilor(ECC). Daca avem urmatorul cuvant: 1110110.

Bitii rosii sunt de controlul paritatii. Orice schimbare adusa celorlalti 4 biti ar fi detectabila si corectabila, deoarece bitii de paritate Algoritmul ECC se foloseste pentru implementarea schemei RAID 2 (de nivel 2), dar cand vorbim despre stocarea de date , nu mai suntem atat de preocupati de interschimbarea unor bitintroducerea unor erori) , cat suntem pentru aparitia unor hard discuri defecte. In practica, schema ECC functioneaza in colaborare cu un mecanism de distributie("striping")pentru a asigura toleranta la erori ale multi-64 biti necesita 64 discuri. Apoi urmeaza paritatea. Un cuvant de 64 biti are nevoie de 8 biti de paritate, rezultand in total 72 de discuri, ceea ce se constituie ca un dezavantaj al acestei metode. Concluzie: ECC: 8 biti de verificare si corectare a erorilor; fiecarei date ii corespunde un cod de control ECC ce este inregistrat pe un disc dedicat verificarii si corectiei erorii. Dezavantaj: Cu cat lungimea cuvantului creste, numarul metoda a devenit ineficienta in termeni de cost si suport.

Algoritmul XOR:

XOR (SAU EXCLUSIV) este un alt algoritm de a prelucra datele, dar este mult mai simplu decat implementarea cu codul Hamming doperatiei XOR trebuie sa fie adevarat="1" sau fals="0" (in cazul nostru verdictul va fi impar="1" sau par="0"). Operatia XOR este orientata pe paritatea impara spre deosebire de ECC.

aceea ca putin mai multa informatie atasata unui cuvant poate spune multe despre valoarea acelui cuvant. ECC-ul foloseste forma: " paritate para". De exemplu, daca avem un cuvant format din 7 biti: 1001001, el poate avea un al optulea bit de "paritate" atasat, astfel incat suma bitilor sa formeze un cuvant par. In exemplul nostru, 1+0+0+1+0+0+1=3 care nu este para, deci cel de

La un cuvant format din 7 biti se implementeaza codul Hamming, folosind 3 biti disponibili pentru corectia erorilor(ECC). Daca avem urmatorul cuvant: 1110110.

Bitii rosii sunt de controlul paritatii. Orice schimbare adusa celorlalti 4 biti ar fi detectabila si corectabila, deoarece bitii de paritate verifica si reverifica linia bitilor asa cum era inainte de schimbare.

Algoritmul ECC se foloseste pentru implementarea schemei RAID 2 (de nivel 2), dar cand vorbim despre stocarea de date , nu mai suntem atat de preocupati de interschimbarea unor bitintroducerea unor erori) , cat suntem pentru aparitia unor hard discuri defecte.

In practica, schema ECC functioneaza in colaborare cu un mecanism de distributie("striping")pentru -discurilor. Configuratia RAID 2 are, in general, 1 bit /disc. Un cuvant de

64 biti necesita 64 discuri. Apoi urmeaza paritatea. Un cuvant de 64 biti are nevoie de 8 biti de paritate, rezultand in total 72 de discuri, ceea ce se constituie ca un dezavantaj al acestei metode.

ECC: 8 biti de verificare si corectare a erorilor; fiecarei date ii corespunde un cod de control ECC ce este inregistrat pe un disc dedicat verificarii si corectiei erorii.

Dezavantaj: Cu cat lungimea cuvantului creste, numarul bitilor de paritate creste si el. Astfel, aceasta metoda a devenit ineficienta in termeni de cost si suport.

XOR (SAU EXCLUSIV) este un alt algoritm de a prelucra datele, dar este mult mai simplu decat implementarea cu codul Hamming de corectie al erorilor ECC. Ca un operator logic boolean, rezultatul operatiei XOR trebuie sa fie adevarat="1" sau fals="0" (in cazul nostru verdictul va fi impar="1" sau par="0"). Operatia XOR este orientata pe paritatea impara spre deosebire de ECC.

Figura 3. Corectia erorilor [10]

7

aceea ca putin mai multa informatie atasata unui cuvant poate spune multe ul foloseste forma: " paritate para". De exemplu, daca avem un cuvant

asat, astfel incat suma bitilor sa formeze un cuvant par. In exemplul nostru, 1+0+0+1+0+0+1=3 care nu este para, deci cel de-al optulea bit

La un cuvant format din 7 biti se implementeaza codul Hamming, folosind 3 biti disponibili pentru

Bitii rosii sunt de controlul paritatii. Orice schimbare adusa celorlalti 4 biti ar fi detectabila si verifica si reverifica linia bitilor asa cum era inainte de schimbare.

Algoritmul ECC se foloseste pentru implementarea schemei RAID 2 (de nivel 2), dar cand vorbim despre stocarea de date , nu mai suntem atat de preocupati de interschimbarea unor biti( si automat

In practica, schema ECC functioneaza in colaborare cu un mecanism de distributie("striping")pentru uratia RAID 2 are, in general, 1 bit /disc. Un cuvant de

64 biti necesita 64 discuri. Apoi urmeaza paritatea. Un cuvant de 64 biti are nevoie de 8 biti de paritate, rezultand in total 72 de discuri, ceea ce se constituie ca un dezavantaj al acestei metode.

ECC: 8 biti de verificare si corectare a erorilor; fiecarei date ii corespunde un cod de control ECC ce

bitilor de paritate creste si el. Astfel, aceasta

XOR (SAU EXCLUSIV) este un alt algoritm de a prelucra datele, dar este mult mai simplu decat e corectie al erorilor ECC. Ca un operator logic boolean, rezultatul

operatiei XOR trebuie sa fie adevarat="1" sau fals="0" (in cazul nostru verdictul va fi impar="1" sau

Page 9: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

8

Pentru a intelege care este algoritmul folosit vom alcatui tabelul de adevar al operatiei XOR:

Exemplu XOR

A XOR B Rezultat

0 0 0

1 0 1

0 1 1

1 1 0

In acest tabel A si B sunt 2 bytes a cate 8 biti fiecare. Daca s-ar pierde informatia continuta in byte-ul A sau in byte-ul B atata timp cat avem cel putin unul din cei doi bytes ramasi intacti plus byte-ul rezultat, putem reproduce byte-ul pierdut prin efectuarea operatiei logice XOR intre byte-ul rezultat si byte-ul ramas intact. Deci, A XOR "rezultat" = B; B XOR "rezultat" = A;

Pentru toleranta la defecte, acest algoritm semnifica faptul ca daca unul dintre hard discurile ce intra in alcatuirea RAID-ului se defecteaza, datele pot fi recuperate. Oricum, nivelul tolerantei la defectari nu este atat de ridicata cum este in cazul algoritmului "mirroring". Concluzie: Paritate cu XOR: datele de paritate permit controlarea integritatii datelor si sunt rezultatul unei operatii de tip boolean : SAU EXCLUSIV realizat intre datele de pe fiecare din discuri. Daca datele sunt modificate, SAU exclusiv este executat din nou in scopul crearii unei noi paritati. Avantaj fata de ECC: nu mai sunt necesare multe discuri de paritate.

DE RETINUT:

"Data de paritate" poate fi salvata si distribuita pe intreaga arie de discuri, nu neaparat pe un singur disc, putand spune ca avem de-a face cu o paritate distribuita. Si in acest caz, paritatea poate fi implementata alaturi de striping, limitarea in acest caz este multimea de resurse de care are nevoie algoritmul paritate. "Data de paritate" trebuie sa fie calculata de fiecare data are loc o citire sau scriere. Aceasta inseamna ca este nevoie de un controler hardware RAID. Controlerul software RAID nu ar fi practic in acest caz deoarece operatiile de intrare/ iesire ar sugruma procesorul. In plus, recuperarea datelor de pe un disc defect este mult mai complicata decat in cazul mirroring. Automat, refacerea datelor este rezervata controlerelor hardware, si chiar si asa dureaza mult mai mult decat in cazul mirroring.

Page 10: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

"Striping" (Distribuire)

Striping imbunatateste performantele ariei de discuri prin distributia datelor pe toate discurile. Conceptul de baza al stripingului este paralelismul. Sadoreste citirea intregului fisier, va trebui astepat ca hard discul sa citeasca fisierul de la inceput pana la sfarsit. Dar daca se imparte fisierul in parti multiple si il distribui pe mai multe vor citi cate o parte a fisierului in acelasi timp. Doar trebuie asteptat cat timp ia citirea unei singure bucati intrucat discurile lucreaza in paralel. Acelasi lucru este valabil si in cazul scrierii unui fisier mare pe discPerformantele de transfer sunt astfel mult crescute. Cu cat mai multe hard discuri sunt in arie, cu atat mai mare este cresterea de perfomanta.

Distribuirea se poate face la nivel de byte, sau in fisierul este impartit in "bucati de marimea byteapoi al doilea byte catre al doile disc, si tot asa. Cateodata distribuirea la nivesector de 512Bytes. Distribuirea la nivel de bloc inseamna fiecare fisier este despartit in blocuri de o anumita marime , dupa care sunt distribuite catre diferite discuri. Marimea blocurilor folosite se mai numeste stripe size), si poate fi selectata dintr-o varietate de optiuni dupa ce dimensiunile ariei de discuri a fost setata. Distribuirea este folosita in majoritatea implementarilor nivelelor simple RAID (dar si in multe din nivelele combinate). Oricum, implementarea exacta a acestui concept si modul de utilizare difera foarte mult de la nivel la nivel. RAID 0 foloseste distribuirea la nivel de bloc fara paritate, RAID 3 si RAID 7 folosesc distribuirea la nivel de byte fara paritate, si RAID 4, RAIDcu paritate. "Striping-ul" nu ofera redundanta , si de aceea, nu ofera protectie pentru date. Nota: Unele companii folosesc termenul de "spanning" cand ,de fapt, se refera la "striping"(distribuire). "Spanning" se refera in mod normalla JBOD.

Striping imbunatateste performantele ariei de discuri prin distributia datelor pe toate discurile. Conceptul de baza al stripingului este paralelismul. Sa ne imaginam un fisier mare pe un singur hard disc. Daca se doreste citirea intregului fisier, va trebui astepat ca hard discul sa citeasca fisierul de la inceput pana la sfarsit. Dar daca se imparte fisierul in parti multiple si il distribui pe mai multe hard discuri, toate discurile vor citi cate o parte a fisierului in acelasi timp. Doar trebuie asteptat cat timp ia citirea unei singure bucati intrucat discurile lucreaza in paralel. Acelasi lucru este valabil si in cazul scrierii unui fisier mare pe discPerformantele de transfer sunt astfel mult crescute. Cu cat mai multe hard discuri sunt in arie, cu atat mai

Distribuirea se poate face la nivel de byte, sau in blocuri(blocks). Distribuirea la nivel de byte inseamna ca fisierul este impartit in "bucati de marimea byte-ului". Primul byte al fisierului este trimis catre primul disc, apoi al doilea byte catre al doile disc, si tot asa. Cateodata distribuirea la nivel de byte este facuta ca un

Distribuirea la nivel de bloc inseamna fiecare fisier este despartit in blocuri de o anumita marime , dupa care sunt distribuite catre diferite discuri. Marimea blocurilor folosite se mai numeste stripe

o varietate de optiuni dupa ce dimensiunile ariei de discuri a fost setata. Distribuirea este folosita in majoritatea implementarilor nivelelor simple RAID (dar si in multe din

icum, implementarea exacta a acestui concept si modul de utilizare difera foarte mult de la nivel la nivel. RAID 0 foloseste distribuirea la nivel de bloc fara paritate, RAID 3 si RAID 7 folosesc distribuirea la nivel de byte fara paritate, si RAID 4, RAID 5, RAID 6 folosesc distribuirea la nivel de bloc

ul" nu ofera redundanta , si de aceea, nu ofera protectie pentru date. Nota: Unele companii folosesc termenul de "spanning" cand ,de fapt, se refera la "striping"(distribuire).

Spanning" se refera in mod normalla JBOD.

Figura 4. Sistem RAID [10]

9

Striping imbunatateste performantele ariei de discuri prin distributia datelor pe toate discurile. Conceptul ne imaginam un fisier mare pe un singur hard disc. Daca se

doreste citirea intregului fisier, va trebui astepat ca hard discul sa citeasca fisierul de la inceput pana la hard discuri, toate discurile

vor citi cate o parte a fisierului in acelasi timp. Doar trebuie asteptat cat timp ia citirea unei singure bucati intrucat discurile lucreaza in paralel. Acelasi lucru este valabil si in cazul scrierii unui fisier mare pe disc. Performantele de transfer sunt astfel mult crescute. Cu cat mai multe hard discuri sunt in arie, cu atat mai

blocuri(blocks). Distribuirea la nivel de byte inseamna ca ului". Primul byte al fisierului este trimis catre primul disc,

l de byte este facuta ca un

Distribuirea la nivel de bloc inseamna fiecare fisier este despartit in blocuri de o anumita marime , dupa care sunt distribuite catre diferite discuri. Marimea blocurilor folosite se mai numeste stripe zise (sau block

o varietate de optiuni dupa ce dimensiunile ariei de discuri a fost setata. Distribuirea este folosita in majoritatea implementarilor nivelelor simple RAID (dar si in multe din

icum, implementarea exacta a acestui concept si modul de utilizare difera foarte mult de la nivel la nivel. RAID 0 foloseste distribuirea la nivel de bloc fara paritate, RAID 3 si RAID 7 folosesc

5, RAID 6 folosesc distribuirea la nivel de bloc ul" nu ofera redundanta , si de aceea, nu ofera protectie pentru date.

Nota: Unele companii folosesc termenul de "spanning" cand ,de fapt, se refera la "striping"(distribuire).

Page 11: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

10

Capitolul 3 - Caracteristicile nivelelor RAID simple Nivelele RAID

Exista multe cai diferite de a implementa o arie RAID folosind una din combinatiile: mirroring, striping, duplexing si parity. Unele metode standardizate au fost definite in anul 1988 in publicatia savantilor de la universitatea Berkeley cand s-a nascut conceptul de RAID, savantii denumind aceste metode niveluri. Cuvantul nivel implica, pentru unii, ca "RAID nivel N+1" este mai bun decat "RAID nivel N". De fapt, acest lucru nu este adevarat, nivelele fiind diferite si independente si nu ar trebui sa se impuna o ierarhie pentru numerele specifice atasate nivelelor RAID. In timp ce un nivel RAID poate fi mai bun pentru o persoana el poate fi mai rau pentru alta.

In lucrarea originala din 1988 au fost definite nivelele de la 1 pana la 5. De atunci, au mai fost adaugate nivelele simple 0, 6 si 7. Pe langa aceste nivele simple au mai fost definite si nivelele multiple(compuse), care folosesc doua sau mai multe nivele simple combinate pentru a crea tipuri de arii cu noi capabilitati dar si limitari. Multe dintre aceste nivele RAID sunt folosite astazi in sisteme diferite, adaptandu-se nevoilor celor care folosesc tehnologiia RAID. Multe dintre aceste metode RAID au disparut de pe piata, ele dovedindu-se in timp inferioare altor nivele neavand avantaje care sa le compenseze.

Nivelul RAID 0

Nivelul RAID 0 este cel mai simplu nivel. RAID 0 ofera numai capacitate crescuta prin concatenarea mai multor device-uri. Rar se gasesc controlere hardware RAID 0, majoritatea implementarilor fiind bazate pe software.

RAID 0 nu este o arhitectura RAID propriu-zisa, deoarece ea nu asigura nici o redundanta a datelor. Ea este utilizata doar pentru a maximiza performanta la lucrul cu discurile hard. În aceasta organizare de arii de discuri neredundante, datele sunt întretesute (stripping) în mod secvential pe mai multe discuri, care sunt tratate ca un singur disc virtual sau volum (de obicei 4 discuri = volum).

Figura 5. Configuratie RAID 0 simpla [10]

Page 12: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

11

In aceasta configuratie, un singur controler controleaza doua discuri, iar sistemul de operare sesizeaza un singur disc logic. Datele sunt scrise intr-un mod secvential, astfel incat daca un disc se umple, datele sa fie transferate in urmatorul disc. In ciuda spatiului crescut, viteza RAID-ului este aceeasi cu a oricarui disc din configuratia RAID, datorita faptului ca operatiile de intrare/ iesire au loc, pe rand, pe cate un singur disc. Daca un singur disc din configuratia RAID se defecteaza, intreg volumul de date este pierdut, deci fiabilitatea configuratiei RAID este injumatatita fata de oricare hard disc din componenta RAID.

Nu se poate face nimic pentru a mari fiabilitatea, dar se poate imbunatati performanta. In loc de a scrie datele secvential in RAID, putem sa distribuim datele in toate discurile.

(Striping)

In aceasta configuratie, o singura operatie de intrare/iesire aplicata volumului logic este impartita in patru suboperatii, una pentru fiecare disc din RAID. Toate cele patru discuri opereaza in paralel, redand de patru ori datele catre sistem in acelasi timp.

Reglajul marimii "feliei" este foarte importanta. Daca marimea "feliei" este prea mare, multe din operatiile de intrare/iesire vor incape intr-o singura fasie si ar fi restrictionata la un singur disc. Daca fasia este prea mica, se vor putea initia mai multe operatii fizice pentru fiecare operatie logica, saturand bus-ul controlerului.

Intreteserea distribuie I/O chiar si in discuri, dar un singur controler poate fi o gatuire (bottleneck). Pentru a evita saturarea bus-ului cu prea multe operatii fizice de I/O, pentru fiecare operatie logica se pot distribui mai multe controlere.

Figura 6. RAID 0 cu distributie pe toate discurile [10]

Figura 7. Mai multe controlere [10]

Page 13: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

12

Discuri pe controlere multiple

Adaugarea mai multor controlere imbunatateste performanta si fiabilitatea.

DE RETINUT:

Tehnica folosita Striping (fara paritate) Necesitati ale controlerului:Nivelul 0 este suportat de toate controlerele hardware, atat SCSI cat si IDE/SATA, si, de asemenea, are multe solutii RAID software. Necesitati ale discului:Numarul minim de hard discuri necesar este de doua, iar cel maxim este stabilit de controler. Poate fi folosit orice tip de hard disc, dar ele trebuie sa fie identice si sa aiba aceeasi marime pentru o buna performanta. Capacitatea ariei de discuri: A=dimensiunile celui mai mic disc * numarul de discuri Eficienta de stocare: 100%, daca sunt folosite discuri identice. Toleranta la erori: Nici una. Defectarea oricarui disc duce la pierderea tuturor datelor. Disponibilitatea: Cea mai scazuta dintre toate nivelele. Degradare si reconstruire: Nu se pot aplica. Performanta de citire aleatoare: Foarte buna; mai buna daca se folosesc fasii mari si controlerul sa suporte citiri independente ale diferitelor discuri din arie. Performanta de scriere aleatoare: Foarte buna; mai buna daca se folosesc fasii mari si controlere care suporta scrieri independente. Performanta la citire secventiala: De la foarte buna la excelenta. Performanta la scriere secventiala: Foarte buna. Cost: Cel mai mic dintre toate nivelele RAID. Consideratii speciale: Folosirea ariei de nivel RAID 0 fara a face backup oricarei modificari facute cel putin zilnic, semnifica faptul ca data nu este importanta. Recomandari: Datele care sunt modificate foarte rar si carora li se face backup cu regularitate, au nevoie de viteza mare, viteza mare la scriere, si au un cost de implementare scazut. Se poate folosi in urmatoarele cazuri: editare si stocare video si audio; servere web; grafic design; jocuri de ultima generatie; discuri temporare pe o masina mare.

Nivelul RAID 1

Implementarea RAID 1 foloseste "oglindirea" (mirroring) datelor pentru a asigura redundanta. Tehnica creaza si mentine pe discuri separate, doua sau mai multe copii ale acelorasi date, fiecare dintre copii constituindu-se ca o imagine "în oglinda" a celeilalte. Aceasta este cea mai costisitoare optiune RAID .

RAID 1 mirroring

Daca se defecteaza unele dintre discuri, sistemul le ignora pur si simplu (asta in cazul in care nu se defecteaza o pereche de discuri), citind si scriind datele pe discul partener corespunzator ramas din configuratia oglinda. Aceasta este cunoscuta sub numele de "mod degradat"("degraded mode"). Datele sunt inca valabile dar performanta la citire ar putea fi redusa deoarece exista o singura copie a datelor.

Cand discul defect este inlocuit, datele de pe discul ramas in configuratia oglinda trebuie copiate pe discul nou. Aceasta operatie poate dura mai mult timp, mai ales daca discurile afectate sunt de capacitati mari.

Prin natura sa, RAID 1 poate dubla cantitatea operatiilor de intrare/iesire intr-un mediu de scriere intensiva, prin necesitatea folosirii unor controlere aditionale.

Page 14: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

13

Adaugarea unui al doilea controler imbunatateste performanta si fiabilitatea

DE RETINUT: Tehnica folosita Mirroring(oglindire) sau duplexing(dublare) Necesitati ale controlerului:Nivelul 1 este suportat de toate controlerele hardware, atat SCSI cat si IDE/SATA, si, de asemenea, are multe solutii RAID software. Necesitati ale discului:Numarul necesar de hard discuri este doua. Poate fi folosit orice tip de hard disc, dar ele trebuie sa fie identice si sa aiba aceeasi marime pentru o buna performanta. Capacitatea ariei de discuri: A=dimensiunile celui mai mic disc Eficienta de stocare: 50%, daca sunt folosite discuri identice. Toleranta la erori: Foarte buna. Iar daca se foloseste duplexing este si mai buna. Disponibilitatea: Foarte buna. Majoritatea controlerelor RAID suporta refacerea automata a ariei RAID 1. Degradare si reconstruire: Slaba degradare a performantei de citire iar performanta la scriere se imbunatateste. Reconstruirea se face relativ rapid. Performanta de citire aleatoare: Buna. Mai buna decat un singur disc dar mai proasta decat la multe alte nivele RAID. Performanta de scriere aleatoare: Buna. Mai proasta decat un singur disc dar mai buna decat la multe alte nivele RAID. Performanta la citire secventiala: Aproape la fel ca la un singur hard disc. Performanta la scriere secventiala: Buna; mai buna decat la alte nivele . Cost: Relativ mare datorita discurilor redundante. Folosind duplexing se ajunge la cea mai scumpa configuratie RAID, datorita controlerului redundant. Pe de alta parte, nu necesita controlere scumpe, precum sunt si discurile de larg consum, ceea ce face ca RAID1 sa fie o varianta viabila pentru un sistem individual. Consideratii speciale: Aria RAID 1 este limitata de marimea discurilor folosite in configuratie. Daca este nevoie de stocare aditionala, atunci se poate folosi mai multe nivele RAID1, dar in acest sens configuratia RAID 1+0 pare mult mai buna. Performanta poate fi redusa daca se foloseste implementarea cu controler software in loc de hardware. Recomandari: Se fooseste pentru cereri de toleranta la erori ridicata si cost scazut, fara pretentii de performanta. Se foloseste mai ales in situatiile in care perceptia de securitate este mai mare avand un set duplicat de date . Este folosit pentru sisteme de baze de date(mici), si pentru utilizatotii individuali care cer toleranta la erori mare si cost mic.

Figura 8. RAID 1 duplexing/ mirroring [10]

Page 15: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

14

Nivelul RAID 2

RAID 2 distribuie datele pe mai multe discuri cu întretesere la nivel de bit, iar în cadrul ariei de discuri sunt utilizate si discuri de "verificare". Pentru a asigura detectia si corectia erorilor, scrierea si citirea datelor se face utilizând tehnici de codificare bazate pe coduri corectoare de erori de tip Hamming. Aceste tehnici fac însa necesara utilizarea unor grupuri mari de discuri pentru a asigura consistenta (4 discuri de "verificare" pentru 10 discuri de date, sau 5 discuri de "verificare" pentru 25 de discuri de date). Un alt dezavantaj al lui RAID 2 este acela ca pentru fiecare operatie de intrare/iesire trebuie sa fie accesate toate discurile deoarece datele sunt scrise sau citite la o singura miscare paralela a tuturor capetelor de acces la discuri. Deoarece aceasta tehnica de codificare este foarte complexa si mai scumpa, RAID 2 este mai putin interesant pentru mediul comercial, în comparatie cu RAID 3.

Datorita costului sau si al complexitatii, nivelul 2 nu a aparut pe piata. Astfel majoritatea informatiilor de mai jos se bazeaza pe analize teoretice si nu pe dovezi empirice.

DE RETINUT: Tehnica folosita CLUSTER DE DISCURI IN PARALEL CU CORECTIA ERORILOR (ECC) Necesitati ale controlerului:Nivelul 2 este suportat de toate controlerele hardware. Necesitati ale discului:Depinde de implementare, dar o configuratie standard necesita 10 discuri si 4 discuri cu ECC. Capacitatea ariei de discuri: Depinde de implementare, dar in mod normal ar fi destul de mare mai ales folosind discuri moderne. Eficienta de stocare: Depinde de configuratie: pentru o configuratie 10+4, eficienta este de 71%;

Figura 9 RAID2 [13]

Page 16: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

15

pentru o configuratie 32+7, eficienta este de 82%. Toleranta la erori: Nu prea exista toleranta pentru discurile redundante: doar un singur disc se poate defecta si poate fi recuperat "on the fly". Disponibilitatea: Foarte buna, datorita corectiei de erori "on the fly". Degradare si reconstruire: In teorie , nu prea exista degradare datorita defectarii unui singur disc. Performanta de citire aleatoare: Nivelul de biti distribuiti face accesarea multipla dificila. Performanta de scriere aleatoare: Scazuta datorita nivelului bit distribuit si al calculului ECC. Performanta la citire secventiala: Farte buna datorita paralelismului. Performanta la scriere secventiala: Aproximativ buna. Cost: Foarte scump. Consideratii speciale: Nu este folosita in sistemele moderne. Recomandari: Nu este folosita in sistemele moderne.

Nivelul RAID 3

Spre deosebire de RAID 2, RAID 3 utilizeaza un singur disc dedicat pentru a memora informatia de paritate (nu ECC, ci SAU EXCLUSIV asupra datelor), celelalte discuri din cadrul ariei de discuri fiind utilizate pentru a memora informatia utila, care, ca si la RAID 2, este "împrastiata" pe toate discurile ariei. Daca unul dintre discurile cu date se defecteaza, se poate utiliza discul de paritate pentru a reconstitui datele. Dat fiind faptul ca transferul datelor de pe/pe un disc individual se face la dimensiunile unor sectoare unitare, cantitatea minima de date care este citita/scrisa într-o operatie de intrare/iesire este egala cu numarul de discuri din arie înmultit cu numarul de octeti ai sectorului discului. Aceasta este cunoscuta ca unitate de transfer. Deoarece capetele de acces se misca în paralel în aria de discuri la un moment de timp dat, poate fi activa numai o singura cerere de intrare/iesire. Acest lucru contribuie la o foarte buna rata de transfer a datelor atunci când datele accesate sunt dispuse secvential pe disc, dar face ca RAID 3 sa fie destul de nepractic pentru aplicatii cu date dispuse aleator în aria de discuri. În acelasi timp, rata de transfer a datelor este foarte buna atunci când dimensiunile blocurilor de date care se scriu sau citesc sunt apropiate de marimea unitatii de transfer, dar ea scade cu atât mai mult cu cât blocurile transferate sunt de dimensiuni mai mici. Spre deosebire de RAID 1 care datorita redundantei de 100% ocupa o suprafata mare de discul hard, cu o redundanta de numai 20% RAID 3 asigura o relativ buna disponibilitate a datelor si este mult mai economic. Deoarece datele pot fi reconstituite, în cazul defectarii unui singur disc, prin utilizarea discului de paritate, RAID 3 ofera si facilitatea înlocuirii "la cald" a unui disc si restabilirea datelor dupa defectare. Repartitia blocurilor de date este prezentat modul în care sunt repartizate blocurile de date si de paritate într-o configuratie RAID 3.

Figura 10. RAID3 [13]

Page 17: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

16

DE RETINUT: Tehnica folosita CLUSTER DE DISCURI IN PARALEL CU PARITATE Necesitati ale controlerului: Necesita, in general, Necesitati ale discului: Minim trei hard discuri; maxim setat de controler. Trebuie sa fie de aceeasi marime si acelasi tip. Capacitatea ariei de discuri: A=(dimensiunile celui mai mic disc) * (numarul de discuri -1) Eficienta de stocare: Daca toate discurile au aceeasi marime,( numarul de discuri -1)/(numarul de discuri) Toleranta la erori: Buna. Poate tolera pierderea unui disc. Disponibilitatea: Foarte buna. Reconstruirea automata si economica este suportata de controlerele care implementeaza RAID 3. Degradare si reconstruire: Degradare relativ mica a performantei daca un disc se defecteaza. Reconstruirea poate sa dureze multe ore. Performanta de citire aleatoare: Buna, dar nu extraordinara, datorita distributiei bitilor pe nivel. Performanta de scriere aleatoare: Slaba, datorita distributiei bitilor pe nivel, calcul complex de paritate, gatuirea discului de paritate. Performanta la citire secventiala: Farte buna . Performanta la scriere secventiala: Aproximativ buna. Cost: Moderat. Este nevoie de un controler hardware, precum si de cel putin 3 discuri. Consideratii speciale: Nu este atat de popular precum sunt celelalte nivele. Pentru astfel de medii, RAID5 este,de obicei, o alternativa mai buna. Recomandari: Aplicatii care lucreaza cu fisiere mari si necesita transfer performant cu redundanta, cum este editarea de fisiere mari: multimedia, publicatii etc. Nivelul RAID 4

La RAID 4 datele se distribuie, ca la RAID 3, pe mai multe discuri de date si pe un disc de paritate. Doar ca în acest caz datele sunt scrise fiecare bloc pe un singur disc, astfel încât la operatia de citire este implicat doar un singur disc. Deoarece discurile nu se mai utilizeaza în paralel, aria de discuri poate prelucra mai multe cereri deodata. Cerintele mai mici pot fi executate astfel mai repede. Deoarece discul de paritate este implicat însa în toate operatiile de scriere, el devine un element de scadere a performantei, deoarece paritatea, pentru fiecare operatie de scriere, se calculeaza având în vedere si informatia existenta pe celelalte discuri, în sectoarele de date asociate. Din acest motiv RAID 4 este considerat ca nepractic. Modul în care sunt repartizate blocurile de date si de paritate într-o configuratie RAID 4.

Figure 11. Modul în care sunt repartizate blocurile de date si de paritate într-o configuratie RAID 4 [10]

Page 18: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

17

DE RETINUT: Tehnica folosita STRIPING CU PARITATE Necesitati ale controlerului: Necesita, in general, un controler de buna performanta Necesitati ale discului: Minim trei hard discuri; maxim setat de controler. Trebuie sa fie de aceeasi marime si acelasi tip. Capacitatea ariei de discuri: A=(dimensiunile celui mai mic disc) * (numarul de discuri -1) Eficienta de stocare: Daca toate discurile au aceeasi marime,( numarul de discuri -1)/(numarul de discuri) Toleranta la erori: Buna. Poate tolera pierderea unui disc. Disponibilitatea: Foarte buna. Reconstruirea automata si economica este suportata de controlerele care implementeaza RAID 3. Degradare si reconstruire: Degradare relativ mica a performantei daca un disc se defecteaza. Reconstruirea poate sa dureze multe ore. Performanta de citire aleatoare: Buna, dar nu extraordinara, datorita distributiei bitilor pe nivel. Performanta de scriere aleatoare: Slaba, datorita distributiei bitilor pe nivel, calcul complex de paritate, gatuirea discului de paritate. Performanta la citire secventiala: Farte buna . Performanta la scriere secventiala: Aproximativ buna. Cost: Moderat. Este nevoie de un controler hardware, precum si de cel putin 3 discuri. Consideratii speciale: Nu este atat de popular precum sunt celelalte nivele. Pentru astfel de medii, RAID5 este,de obicei, o alternativa mai buna. Recomandari: Aplicatii care lucreaza cu fisiere mari si necesita transfer performant cu redundanta, cum este editarea de fisiere mari: multimedia, publicatii etc Nivelul RAID 5

La RAID 5 datele se distribuie, ca la RAID 4, pe mai multe discuri de date si pe un disc de paritate, iar datele sunt scrise fiecare bloc pe un singur disc, astfel încât la operatia de citire este implicat doar un singur disc. Însa RAID 5 nu are dedicat un disc special numai pentru informatia de paritate ci distribuie pe toate discurile ariei informatia de tip date si informatia de paritate. Si în cazul lui RAID 5 sunt permise accese concurente multiple la dispozitivele din cadrul ariei de discuri, fiind satisfacute astfel cereri concurente multiple de intrare/iesire. Acest lucru creste mult performanta transferurilor pentru aceste arii de discuri si le face cele mai potrivite si utile în cazul lucrului cu blocuri de marime mica, sau cu datele dispuse în mod aleator pe discuri. În cazul lui RAID 5 ciclul de scriere se realizeaza în 3 pasi: Pasul 1: Se citeste paritatea existenta si data ce urmeaza a fi schimbata; Pasul 2: Se scade vechea data din valoarea paritatii existente si se memoreaza aceasta paritate corectata într-un buffer; Pasul 3: Se calculeaza noua paritate pe baza valorii din buffer si a valorii noii date de memorat si

Figura 12. RAID5 [13]

Page 19: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

18

se scriu pe discurile corespunzatoare noua data si paritatea actualizata. Modul în care sunt repartizate blocurile de date si de paritate într-o configuratie RAID 5.

DE RETINUT: Tehnica folosita STRIPING CU PARITATE ALTERNATIVA Necesitati ale controlerului: Necesita, in general, un controler de buna performanta Necesitati ale discului: Minim trei hard discuri; maxim setat de controler. Trebuie sa fie de aceeasi marime si acelasi tip. Capacitatea ariei de discuri: A=(dimensiunile celui mai mic disc) * (numarul de discuri -1) Eficienta de stocare: Daca toate discurile au aceeasi marime,( numarul de discuri -1)/(numarul de discuri) Toleranta la erori: Buna. Poate tolera pierderea unui disc. Disponibilitatea: Foarte buna. Reconstruirea automata si economica este suportata de controlerele care implementeaza RAID 3. Degradare si reconstruire: Dtorita distributiei de paritate, degradarea poate fi substantiala dupa o defectare si in timpul reconstruirii. Performanta de citire aleatoare:Foarte buna ctre excelenta; in general, mai buna pentru fasii de marime mare. Performanta de scriere aleatoare: Doar satisfacatoare, datorita supraincarcarii de paritate ; aceasta este imbunatatirea fata de RAID 3 si RAID 4, deoarece elimina discul dedicat de paritate, dar supraincarcarea este inca substantiala. Performanta la citire secventiala: Buna catre foarte buna; in general mai buna pentru fasii de marime mai mica. Performanta la scriere secventiala: Aproximativ buna. Cost: Moderat, dar de obicei, este mai ieftin decat RAID3, RAID4 datorita,in primul rand popularitatii mari de care se bucura, si mai ales daca este folosit RAID software. Consideratii speciale:Datorita numarului mare de calcule de paritate necesare, RAID5 software poate , in mod serios, sa incetineze sistemul. Performanta va depinde de extinderile care se vor face asupra marimii fasiei alese. Recomandari: RAID5 este vazut de multi ca fiind combinatia ideala intre o buna performanta, o buna toleranta la defecte plus capacitati si eficienta de stocare mari. Cel mai folosit este in tranzactiile de procesoare si este folosit des pentru "scopuri generale", precum si in aplicatiile de baze de date relationale, si alte sisteme dedicate afacerilor. Pentru aplicatii de scris intensiv, cea mai buna alegere este RAID1 sau RAID 1+0 , in timp ce performanta la acest capitol al lui RAID5 lasa mult de dorit.

Nivelul RAID 6

Raid6 poate fi imaginat ca fiind "RAID5, dar mai mult". Se bazeaza pe aceeasi arhitectura ca si RAID5, dar cu un grup de benzi de paritate suplimentare(dubla). Scopul acestei duplicarii este de de a imbunatati toleranta la defecte. RAID6 se poate ocupa de defectarea a doua discuri din arie , in timp ce alte configuratii RAID nu pot sa se ocupe decat de un singur disc.

Din punct de vedere al performantei, RAID6 este,in general, mai prost decat RAID5 in termeni de scriere datorita adaugarii unui numar si mai mare de calcule de paritatem , dar poate fi mai rapid in termeni de citire datorita imprastierii datelor peste inca un hard disc. La fel ca si la RAID4, RAID5, performanta poate fi ajustata experimentand diferite marimi ale fasiilor.

Page 20: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

19

DE RETINUT: Tehnica folosita CLUSTER DE DISCURI INDEPENDENTE CU DOUA PLANE DE PARITATE Necesitati ale controlerului: Necesita un controler hardware specializat Necesitati ale discului: Minim trei patru discuri; maxim setat de controler. Trebuie sa fie de aceeasi marime si acelasi tip. Capacitatea ariei de discuri: A=(dimensiunile celui mai mic disc) * (numarul de discuri -2) Eficienta de stocare: Daca toate discurile au aceeasi marime,(( numarul de discuri -2)/numarul de discuri) Toleranta la erori: Forte buna catre excelenta; poate suporta pierderea simultana a doua discuri di arie Disponibilitatea: Excelenta Degradare si reconstruire: Degradare relativ mica a performantei daca un disc se defecteaza. Reconstruirea poate sa dureze multe ore. Performanta de citire aleatoare: Foarte buna catre excelenta; in general, mai buna pentru fasii de marime mare. Performanta de scriere aleatoare: Slaba, din cauza supraincarcarii paritatii duble si din cauza complexitatii. Performanta la citire secventiala: Farte buna .Mai buna, in general pentru fasii mai mici. Performanta la scriere secventiala: Aproximativ buna. Cost: Foarte scump. Consideratii speciale: Necesita implementare speciala; nu este disponibil pe pita Recomandari: In teorie, RAID6 este situat mai sus decat RAID5, mai ales in situatiile in care se cere toleranta la defectari foarte buna. In practica, RAID6 nu s-a impus cu adevarat niciodata deoarece putine companii sunt dispuse sa plateasca un extra cost pentru a se asigura impotriva unui eveniment foarte rar, fiind neobisnuit ca doua discuri sa pice simultan. Imbunatatirea lui RAID5 prin adugarea atributelor de "hot swapping" si de reconstruire automata, au facut ca RAID6 sa fie si mai putin apreciat. RAID6 se pare ca a pierdut si batalia cu solutiile multiple RAID, cum ar fi RAID10 care asiguara toleranta buna la defactari a mai multor hard discuri oferind si o performanta imbunatatita.

Figura 13. Repartizare blocuri de date [10]

Page 21: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

20

Nivelul RAID 7

Spre deosebire de celelalte nivele RAID, RAID7 nu este un standard ; este o marca inregistrata a firmei Storaqe Computer Corporation , folosit pentru a descrie designul lor propriu de RAID. RAID7 se bazeaza pe conceptele folosite la nivelele RAID3 si RAID4, dar mult imbunatatite in mediul limitarilor acelor nivele. O particularitate al acestui nivel este includerea unui cache aranjat in nivele multiple, si un procesor real-time specializat care se ocupa cu sincronizarea ariei. Suportul hardware, in special cache-ul, permite ariei sa se ocupe cu mai multe operatii simultan ,aceasta imbunatatind performanta si toleranta la defectari. In particular, RAID7 ofera o performanta imbunatatita de citire si de scriere fata de RAID3 si RAID4 deoarece dependenta de discul de paritate dedicat este mult redusa prin adaugarea hardware-ului. Bineinteles ca performanta crescuta a lui RAID 7 se face simtita in costul crescut al acestuia. RAID7 este o solutie scumpa, fabricata si promovata de o singura companie.

DE RETINUT: Tehnica folosita Asincrona, CACHED STRIPING CU PARITATE DEDICATA Necesitati ale controlerului: Necesita un controler specializat, scump, si cu tehnologie proprietara a firmei care-l produce. Necesitati ale discului: Depind de implementare. Capacitatea ariei de discuri: Depind de implementare. Eficienta de stocare: Depind de implementare. Toleranta la erori: Foarte buna. Disponibilitatea: Excelenta, datorita utilizarii mai multor dispozitive de stocare. Degradare si reconstruire: Mai buna decat a altor nivele RAID, datorita suportului hardware pentru operatiile de calcul al paritatii si datorita multiplelor niveluri cache. Performanta de citire aleatoare: Foarte buna catre excelent. Cache-ul poate deseori furniza rezultatul citirii fara a accesa fizic discul. Performanta de scriere aleatoare: Foarte buna. Teoretic mai buna decat celelalte nivele care lucreaza pe conceptul striping cu paritate. Performanta la citire secventiala: Foarte buna catre excelenta. Performanta la scriere secventiala: Foarte buna. Cost:Foarte scump. Consideratii speciale: RAID7 este produs de o singura companie. Folosirea cache-ului mareste probabilitatea pierderilor de date in cazul unei caderi a alimentarii, si de aceea se impune folosirea unor UPS-uri (Uniteruptible Power Suply). Recomandari: Aplicatii specializate complexe care cer performanta absoluta dar care accepta limitarea la o singura companie producatoare, ceea ce face ca solutia sa fie foarte scumpa. JBOD ("Just a Bunch Of Disks")

Daca am avea niste discuri intr-un sistem pe care nu vrem sa le configuram intr-o arie RAID, ce am putea face cu ele? In mod traditional, ele sunt lasate sa lucreze ca discuri independente in cadrul sistemului , acesta fiind modul in care multe persoane folosesc doua, trei, sau mai multe discuri intr-un PC. In unele aplicatii, insa, este de dorit sa se poata folosi toate aceste discuri ca si cum ar fi fi un singur volum de date. Temenul potrivit pentru aceasta este "spanning"(imprastiere) , alintat ca "Just A Bunch Of Disks"("o adunatura de discuri")-JBOD, termen ales cu grija astfel incat sa contrasteze cu "Redundant Array Of Inexpensive Disks". JBOD nu este o configuratie RAID, fiind mai de graba un fel de "var de-al treilea " al RAID-ului. JBOD poate fi considerat ca fiind opusul partitionarii: in timp ce partitionarea imparte discurile simple in

Page 22: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

21

discuri mici logice , JBOD-ul combina discurile intr-un mare volum logic de date . Nu ofera toleranta la defecte si nici nu ofera o imbunatatire a performantei fata de discurile constituente independente.

JBOD-ul nu prea are multe de recomandat. Tot are nevoie de controler sau un drive software, ceea ce inseamna ca orice sistem care poate fi configurat JBOD poate fi, de asemenea, RAID 0, iar RAID 0 are performanta net superioara JBOD-ului. Sunt doar doua avantaje ale lui JBOD fata de RAID 0:

* Evita risipa de spatiu de stocare: Daca am avea discuri de dimensiuni diferite, JBOD-ul ne permite sa le combinam intr-o singura unitate fara pierdea nici unei capacitati. De exemplu, un disc de 10GB si unul de 30GB se vor combina si vor forma un volum de stocare de 40GB JBOD, si numai 20GB intr-o arie RAID 0. Acesta este un avantaj mic dat fiind preturile atat de mici la hard discuri in ziua de azi.

* Recuperarea datelor mai usoara in caz de defecte: Daca un disc din configuratia RAID 0 se defecteaza, datele de pe fiecare disc din arie sunt realmente distruse deoarece toate fisierele sunt impartite(striped) pe discuri. Daca un disc dintr-o configuratie JBOD se defecteaza, sunt mai usor de recuperat fisierele de pe celelalte discuri. Totusi, nici acest avantaj nu este semnificativ.

Capitolul 4 - Caracteristicile nivelelor RAID multiple

Nivelele RAID multiple ("Nested" RAID)

Nivelele RAID simple au avantaje si dezavantaje distincte, de aceea sunt folosite in diverse parti ale pietei pentru a adresa diverse tipuri de aplicatii. Nu a durat mult de la primele implementari ale nivelelor RAID pana cand inginerii au inceput sa se intrebe daca nu este posibila combinarea avantajelor diverselor nivele RAID prin conceperea unor arii care sa foloseasca combinatii ale diverselor tehnici. Aceste nivele compuse sunt numite in mod variat ca "Multiple", "Nested" sau "Multi-RAID". Deasemeni mai sunt numite "two-dimensional", ca referire la schema folosita care implementeaza doua nivele RAID pentru acelasi set de discuri. Nivelele RAID multiple sunt folosite cel mai adesea pentru a imbunatati performanta. Acestea de obicei au performante mai bune decat oricare din nivelele care le compun luate individual. Cel mai adesea este folosit in combinatii nivelul RAID 0, impreuna cu nivele cum ar fi 1, 3 sau 5 pentru a adauga toleranta la erori in acelasi timp cu performanta oferita de RAID 0. Pretul platit pentru performanta este cresterea complexitatii: sunt necesare mai multe discuri, este nevoie de mai multa organizare si intretinere, si pentru unele implementari este necesar un controler foarte performant. Nu se fac combinatii din toate nivelele RAID existente. In mod normal nivelurile RAID multiple utilizate sunt acelea care combina niveluri RAID simple care se completeaza intre ele cu diferite puncte tari si slabiciuni. De exemplu nu este o idee buna construirea unui RAID multiplu ditr-un RAID 4 si un RAID 5, intrucat acestea au caracteristici similare. In aceasta sectiune vom arunca o privire asupra celor mai comune nivele RAID multiple. Cateva din nivelele RAID prezentate aici sunt foarte fracvent utilizate, dar altele sunt rar implementate. In particular, pentru o prezentare cat mai completa, vom analiza atat versinile X+Y cat si Y+X ale fiecarui nivel multiplu, pe cand in unele cazuri in practica doar unul este folosit frecvent si implementat in produse existente pe piata. De exemplu RAID 50 (5+0) este o optiune in controlerele RAID comerciale, dar RAID 05 nu. Deasemeni ar putea exista si alte combinatii de nivele RAID decat cele prezentate.

Page 23: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

22

Comparatie RAID X+Y si Y+X

Inainte de a ne uita la fiecare solutie RAID multipla, ar trebui explicate cateva lucruri despre cum sunt construite acestea. Un nivel RAID multiplu este in general creat prin impartirea unui numar de discuri in seturi. Pentru fiecare set este implementat un nivel RAID pentru a forma un grup de mai multe arii. Apoi al doilea nivel raid este aplicat ariilor formate pentru a creea o arie de nivel mai mare. De aceea aceste arii sunt uneori numite "nested" (in cuib). Intrucat sunt doua niveluri, exista doua moduri de a le combina. Alegerea care nivel sa fie primul si care al doilea are impact asupra unor importante caracteristici ale ariei. Sa consideram pentru exemplificare un RAID multiplu implementat cu RAID 0 si RAID 1 pentru a creea o arie de 10 discuri. Cum 10 poate fi definit ca 2×5 sau 5×2, aria multipla se poate creea in doua feluri: - RAID 0, apoi RAID 1: Divizeaza cele 10 discuri in doua seturi de cate cinci. Transforma fiecare set intr-o arie RAID 0 de 5 discuri, apoi face "mirroring" intre cele doua arii. - RAID 1, apoi RAID 0: Divizeaza cele 10 discuri in cinci seturi de cate doua. Transforma fiecare set intr-o arie RAID 1 si apoi distribuie ("striping") datele pe cele 5 discuri oglindite. (formeaza o distributie de oglinzi) Sub multe aspecte nu exista o diferenta majora intre cele doua tipuri de configuratii multiple (X+Y sau Y+X): nu exista nici o diferenta intre necesitatile discului, capacitate, stocare, eficienta si ce este mai important, performanta este aproape aceeasi. Marea diferenta apare cand este vorba de toleranta la defecte. Majoritatea controlerelor care implementeaza niveluri multiple RAID prin formarea unei "super arii" comprima "subariile" de dedesubtul ei. Sa luam urmatorul exemplu: avem 10 discuri si doua posibilitati de a le combina, RAID 1+0 sau RAID 0+1: * RAID 0+1 : vom grupa impreuna discurile 1,2,3,4 si 5 intr-o configuratie RAID 0 care vor forma grupa "A" , si discurile 6,7,8,9, si 10 vor forma grupa "B". Apoi vom oglindi A si B folosind RAID 1. Daca unul din discuri se defecteaza, sa spunem discul #2, datele din grupa de discuri A sunt pierdute, deoarece RAID 0 nu are redundanta. Aria RAID 0+1 continua sa functioneze deoarece grupa de discuri B este intacta. Oricum, in acest punct, practic avem de-a face numai cu o arie RAID 0 pana cand se repara discul #2(prin inlocuirea lui). In acest timp, daca se mai defecteaza si un disc din grupa B, cum ar fi discul #8, se vor pierde datele din intreaga arie. * RAID 1+0: Vom oglindi discul 1 si 2 pentru a forma RAID 1 in grupa "A"; 3 si 4 formeaza "B"; 5 si 6 formeaza "C"; 7 si 8 formeaza "D"; 9 si 10 formeaza "E". Apoi facem imprastiere a datelor intre grupele de la "A" la "E". Daca se defecteaza discul #2 acum, numai grupa "oglindita" "A" este afectata. Toate datele de pe discul #2 se gasesc si pe #1, deci nu este nici o probema, aria RAID 1+0 continuand sa functioneze. Daca in timp ce discul #2 este inlocuit , se defecteaza un alt disc,de exemplu discul #8,functionarea ariei nu are nici o problema , deoarece discul #8 este in oglinda cu un alt disc decat discul#2. Numai defectarea simultana a doua discuri care formau perechea oglinda ar duce la defectarea intregii arii. Deci, in teorie, 5 discuri se pot defecta, atata timp cat fac parte din grupe diferite, si aria ar continua sa functioneze fara nici o problema. Se vede clar ca RAID 1+0 este mai robust decat RAID 0+1. Daca s-ar folosi unele controlere destul de destepte care sa inlature dezavantajul configuratiei RAID 0+1, atunci si aceasta configuratie ar fi la fel de buna ca RAID 1+0. Insa, in majoritatea cazurilor, nu prea se intalnesc astfel de controlere "destepte". Unele controlere ofera posibilitatea de a alege in ce ordine doresti sa instalezi o arie de discuri multipla. Te pot lasa sa alegi intre configuratia RAID X+Y sau RAID Y+X, dupa cum se doreste. Alte controlere te forteaza sa folosesti o singura configuratie.

Page 24: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

23

RAID 0+1 (01) si 1+0 (10)

Cel mai popular dintre nivelele multiple RAID, RAID 01 si 10 combina cele mai bune calitati ale conceptelor "striping" si "mirroring" pentru a conduce la o performanta foarte ridicata in majoritatea aplicatiilor si la o toleranta la defecte superioara. RAID 01 este o configuratie de oglindire intre doua seturi de date, care la randul lor, au datele imprastiate pe hardiscurile care compun cele doua seturi. RAID 10 are datele imprastiate pe seturi de hard discuri care sunt, la randul lor, intr-o configuratie oglinda. RAID 10 si 01 au crescut foarte mult in popularitate, mai ales de cand hard discurile au devenit destul de ieftine, astfel incat minimul de patru hard discuri cerut de aceasta configuratie nu mai este un obstacol. RAID 10 ofera o mai buna toleranta la defecte si o mai buna performanta la refacerea informatiei decat RAID 01. Ambele tipuri de arii de discuri ofera, per total, o buna performanta prin combinarea vitezei lui RAID 0 cu redundanta pe care o ofera RAID 1 fara a fi nevoie de calcule de paritate. DE RETINUT: Tehnica folosita Mirroring si striping fara paritate Necesitati ale controlerului: Aproape toate controlerele hard suporta unul sau altul din cele doua configuratii RAID 10 sau 01. Controlerele de calitate joasa suporta nivelul multiplu RAID 01, iar cele de calitate ridicata pot suporta ambele configuratii, si RAID 10 dar si 01.

Figura 14. RAID 0+1 (sus) si RAID 1+0 jos) [10]

Page 25: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

24

Necesitati ale discului: Un numar par de hard discuri ,iar numarul minim necesar este de patru, iar cel maxim este stabilit de controler. Poate fi folosit orice tip de hard disc, dar ele trebuie sa fie identice si sa aiba aceeasi marime pentru o buna performanta. Capacitatea ariei de discuri: A=(dimensiunile celui mai mic disc) *( numarul de discuri)/2. Eficienta de stocare: 50%, daca sunt folosite discuri identice. Toleranta la erori: Foarte buna pentru RAID 01; excelenta pentru RAID 10. Disponibilitatea: Cea mai scazuta dintre toate nivelele. Degradare si reconstruire: Relativ scazuta pentru RAID 10; poate fi mai buna pentru RAID 01. Performanta de citire aleatoare: Foarte buna catre excelenta. Performanta de scriere aleatoare: Buna catre foarte buna. Performanta la citire secventiala: De la foarte buna la excelenta. Performanta la scriere secventiala: Buna catre foarte buna. Cost: Relativ mare datorita numarului mare de discuri necesar si eficientei scazute in utilizarea spatiului de stocare (50%). Consideratii speciale: Eficienta scazuta in utilizarea spatiului de stocare limiteaza potentialul de stocare al datelor. Recomandari: Aplicatii care necesita atat inalta performanta cat si fiabilitate si sunt gata sa sacrifice capacitatea de stocare pentru a le capata. Aceasta include serverele marilor firme, sisteme baze de date moderate dar si sisteme de ultima generatie precum si cele de larga utilizare(IDE/ATA). RAID 0+3 (03 sau 53) si 3+0 (30)

Raid 0+3 si 3+0 (deseori supranumit si 53) combina bitul, paritatea, si blocul imprastiat(sriping) pentru a crea o mare arie de discuri . RAID 03 este format prin punerea intr-un RAID 3 a unui numar de arii de discuri imprastiate de RAID 0. RAID 30 este mai comun si este format prin imprastierea a unui numar de sub arii RAID 3. Combinatia de paritate, mici blocuri imprastiate, si mari blocuri imprastiate face analiza teoretica a acestor configuratii dificila. In general, ofera performanta mai buna fata de RAID 3 datorita adaugarii lui RAID 0 care are proprietatea de striping, dar mai apropiata de RAID 3 fata de RAID 0 cand vine vorba de viteza, mai ales cea la sciere. RAID 30 ofera o mai buna toleranta la defecte si o performanta la reconstructia datelor mai buna decat RAID 03, dar ambele depind de "latimea" dimensiunii lui RAID 3 relativ la dimensiunea lui RAID 0: cu cat sunt mai multe discuri de paritate, cu atat capacitatea si eficienta la stocare este mai scazuta, dar toleranta la defecte este foarte buna. Majoritatea caracteristicilor lui RAID 3+0 si 0+3 sunt similare celor de la RAID 0+5 si 5+0. Raid 30 si 03 tind sa fie mai bune pentru lucrul cu fisiere mari fata de RAID 50 si 05. DE RETINUT: Tehnica folosita Byte striping cu paritate dedicata combinata cu block striping. Necesitati ale controlerului: In general necesita controlere performante. Necesitati ale discului: Numarul de discuri minim trebuie sa fie 6, iar maxim este setat de controler. Capacitatea ariei de discuri: Pentru RAID 03: A=(dimensiunile celui mai mic disc) *( numarul de discuri din fiecare set RAID 0 )*( numarul de discuri din setul RAID 0 -1) Pentru RAID 30: A=(dimensiunile celui mai mic disc) *( numarul de discuri din fiecare set RAID 3 )*( numarul de discuri din setul RAID 3 -1) Eficienta de stocare: Pentru RAID 03: ((numarul de seturi RAID 0 -1)/ numarul de seturi RAID 0 ) Pentru RAID 30: ((numarul de seturi RAID 0 -1)/ numarul de seturi RAID 0 ) Toleranta la erori: RAID 30 ofera o toleranta la defecte mai buna decat RAID 03. Disponibilitatea: Foarte buna catre excelenta. Degradare si reconstruire: Relativ scazuta pentru RAID 30; poate fi mai buna pentru RAID 03.

Page 26: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

25

Performanta de citire aleatoare: Foarte buna . Performanta de scriere aleatoare: Satisfacatoare. Performanta la citire secventiala: De la foarte buna la excelenta. Performanta la scriere secventiala: Buna . Cost: Relativ mare datorita numarului mare de discuri necesar si datorita cererilor controlerului hardware. Eficienta de stocare e mai buna decat la RAID 10. Consideratii speciale: Este o implementare foarte scunpa si complexa. Recomandari: Aplicatii care necesita viteza lui RAID 0 combinata cu toleranta la defecte si capacitate de stocare mare, asa cum sunt aplicatiile multimedia, mari baze de date sau lucrul cu fisiere de server. De multe ori folosit in locul lui RAID 3 pentru a creste capacitatea si a imbunatati performanta. RAID 0+5 (05) si 5+0 (50)

RAID 05 si 50 formeaza arii mari de discuri prin combinarea block striping-ului si paritatii a lui RAID 5 cu block striping-ul simplu al lui RAID 0. RAID 05 este o arie RAID 5 care contine un numar de arii RAID 0 cu proprietatea de striping. Este mai putin folosit fata de RAID 50, care reprezinta o arie RAID 0 imprastiata peste elementele RAID 5. RAID 50 si 05 imbunatatesc performanta lui RAID 5 prin alaturarea lui RAID 0, performanta care este vizibila in special la scris. Ofera, de asemenea, o mai buna toleranta la defecte fata de oricare alt nivel RAID simplu , in special, daca se foloseste combinatia 50. DE RETINUT: Tehnica folosita Block striping cu paritate distribuita combinata cu block striping Necesitati ale controlerului:In general necesita controlere performante. Necesitati ale discului: Numarul de discuri minim trebuie sa fie 6, iar maxim este setat de controler.

Figura 15. RAID 0+5 (sus) si RAID 5+0 jos) [10]

Page 27: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

26

Capacitatea ariei de discuri:Pentru RAID 05: A=(dimensiunile celui mai mic disc) *( numarul de discuri din fiecare set RAID 0-1 )*( numarul de seturi RAID 0 ) Pentru RAID 50: A=(dimensiunile celui mai mic disc) *( numarul de discuri din fiecare set RAID 5 -1 )*( numarul de seturi RAID 5 ) Eficienta de stocare:Pentru RAID 05: ((numarul de seturi RAID 0 -1)/ numarul de seturi RAID 0 ) Pentru RAID 30: ((numarul de seturi RAID 5 -1)/ numarul de seturi RAID 5 ) . Toleranta la erori: RAID 50 ofera o toleranta la defecte mai buna decat RAID 05 Disponibilitatea: Foarte buna catre excelenta. Degradare si reconstruire: Moderata pentru RAID 50; poate fi mai slaba pentru RAID 05. Performanta de citire aleatoare: Foarte buna catre excelenta. Performanta de scriere aleatoare: Buna catre foarte buna. Performanta la citire secventiala:Foarte buna. Performanta la scriere secventiala: Buna. Cost: Relativ mare datorita numarului mare de discuri necesar si cererilor controlerului hardware. Consideratii speciale: Este o implementare foarte scunpa si complexa. Recomandari: Aplicatii care necesita atat inalta performanta cat si fiabilitate si . Uneori este folosit in locul lui RAID 5 pentru a imbunatati performanta. Uneori folosi sisteme mari de baze de date.

RAID 1+5 (15) si 5+1 (51)

RAID 1+5 si 5+1 este singura configuratie care foloseste ambele metode de redundanta, oglindirea si paritatea, creata pentru a asigura o disponibilitate si toleranta la defecte maxima. O arie RAID 15 este formata prin crearea unui set imprastiat cu paritate si care foloseste multe perechi oglibdite ca componente. Este similar cu conceptul de RAID 10, cu exceptia faptului ca "striping-ul" este inlocuit cu paritatea. Similar, RAID 51 este creat prin oglindirea intregii arii RAID 5 si este similar cu RAID 01, cu exceptia faptului ca seturile sunt RAID 5 in loc de RAID 0 si care include protectie de paritate. Performanta acestor arii este buna dar nu atat de buna incat sa justifice pretul foarte ridicat . Toleranta la defecte a acestor arii este uimitoare. O arie RAID 15 formata din 8 discuri poate suporta defectarea simultana a oricaror 3 discuri. O arie 51 formata tot din 8 discuri, poate suporta de la trei pana la cinci defectari simultan, atata timp cat cel putin unul din seturile oglindite de RAID 5 nu are mai mult de un singur defect. Pretul platit pentru aceasta este complexitatea si costul implementarii, si eficienta de stocare foarte mica. Componenta RAID 1 din acest nivel compus poate folosi si tehnica "duplexing" in locul tehnicii "mirroring" ceea ce ar duce la o si mai mare toleranta la defecte. DE RETINUT: Tehnica folosita Mirroring (duplexing)combinata cu block striping cu paritate distribuita Necesitati ale controlerului:Necesita cel putin controlere performante, putand , de fapt, necesita mai multe sisteme si/sau hardware sau software specializat. Necesitati ale discului: Numarul de discuritrebuie sa fie par( minim trebuie sa fie 6), iar maxim este setat de controler. Capacitatea ariei de discuri:(marimea celui mai mic disc)*((numarul de discuri/2)-1). Deci o arie cu zece discuri de cate 18GB fiecare va avea o capacitate de 18GB*((10/2-1)=72GB. Eficienta de stocare: Asigurandu-ne ca toate discurile au aceeasi marime, ((numarul de discuri/2)-1)/(numarul de discuri). In exemplul de mai sus, eficienta este de 40%. Aceasta configuratie are cea mai scazuta eficienta de stocare dintre toate nivelele RAID cunoscute. Toleranta la erori: Excelenta, cea mai buna dintre toate celelalte nivele.

Page 28: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

27

Disponibilitatea: Excelenta. Degradare si reconstruire: Poate fi substantiala. Performanta de citire aleatoare: Foarte buna . Performanta de scriere aleatoare: Buna . Performanta la citire secventiala:Foarte buna. Performanta la scriere secventiala: Buna. Cost: Foarte scump. Consideratii speciale: Este o implementare foarte scunpa si complexa. Recomandari: Aplicatii critice ce necesita o foarte mare toleranta la defecte. Hardware RAID

Majoritatea implementarilor "serioase " RAID folosesc ceea ce se cheama hardware RAID. Aceasta inseamna folosirea unui hardware dedicat de control al ariei . Controlerele hardware bune sunt, in multe privinte, ca niste computere in miniatura, avand incorporate procesoare dedicate care depasesc puterea procesoarelor folosite nu demult in functionarea PC-urilor. Exista doua tipuri principale de controlere hardware, care difera intre ele prin interfata ariei cu sistemul: *Bus-Based sau Controler Card Hardware RAID: Acesta este mai mult tipul conventional de controler hardware, si cel mai folosit , mai ales pentru sistemele cu complexitate scazuta ("lower-end systems"). Un controler specializat RAID este instalat in PC sau in server, iar aria se conecteaza la el prin intermediul drivere-lor. In esenta, acest controler ia locul controlerelor SCSI sau IDE/ATA care sunt in mod normal folosite pentru a asigura interfata dintre sistemul de operare si hard disc. Asigura interfata driverelor folosind SCSI sau IDE/ATA, si trimite datele catre PC prin bus-ul sistemului. Unele placi de baza, in special cele pentru sistemele server, vin cu un fel de varianta de RAID integrat. Acestea sunt construite pe placa de baza, dar functioneaza in aceeasi maniera cu controlerele bus-based card. Singura diferenta este ca controlerul integrat poate reduce costul per total, cu pretul flexibilitatii. *Controlerul RAID Extern, Inteligent: Intr-un design complex, controlerul RAID este indepartat complet de sistem intr-o cutie separata. Cu toate ca controlerul RAID manevreaza driverele in arie, folosind SCSI, apoi prezinta discurile logice ale ariei peste o inerfata standard , serverului folosind aria. Serverul vede aria sau ariile ca fiind una sau mai multe hard discuri foarte rapide. Controlerul este complet ascuns de sistem. In esenta, una din aceste unitati chiar este intregul computer, cu un procesor dedicat care manevreaza aria RAID si se comporta ca o teava de legatura intre server si arie. Figura 16. Controler RAID extern [12]

Page 29: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

28

Bus-based RAID este mai ieftin si mult mai simplu de implementat decat controlerele RAID externe, cu toate ca asigura, de multe ori, capabilitati impresionante. Pretul unui controler intern pentru IDE/ATA variaza intre 100$ si urcand pana la cateva mii de dolari. Controlerele RAID dedicate externe sunt mult mai scumpe dar ofera multe caracteristici avansate In cele mai multe cazuri, decizia de a folosi hardware RAID se ia in mare masura pe criterii financiare: hardware RAID este superior fata de software RAID, aproape in toate privintele, avand doar costul ridicat. Daca se doreste implementarea nivelelor RAID 3 si RAID 1+0 , este nevoie de controler hardware , inexistand supotr software pentru aceste nivele. Daca se doreste implementarea unui nivel foarte performant, cum este RAID 5, se apeleaza tot la o solutie hardware. Software RAID In loc sa se foloseasca un controler hardware dedicat pentru a realiza functiile variate necesare pentru a implementa o arie RAID, aceste functii sunt realizate de procesorul sistemului folosind rutine speciale software. Solutiile software RAID sunt implementate in sisteme de nivel Windows NT si Windows 2000, precum si in multe variante de UNIX. Iata cateva avantaje ale controlerului software RAID in comparatie cu controlerul software RAID: *Cost * Simplitate nu trebuie instalat sau configurat. * Duplexing (dublarea) RAID 1 duplexing poate fi implementat numai cu controler software RAID Dezavantaje

*Performanta: Este unul din cele mai importante dezavantaje. Motivul este simplu: ciclii sunt "furati" de la procesor pentru a se ocupa de aria RAID. In realitate, aceasta incetinire nu este prea exccesiva pentru nivelele RAID simple, dar poate fi substantiala pentru nivelele care folosesc distributia sau paritatea. *Suportul de nivel Software RAID este, in general, limitat la nivelele RAID0, 1 si 5. * Suport pentru caracteristicile avansate Software RAID nu include suport pentru caracteristicile avansate ca Hot Spares si Drive Swapping. * Probleme de compatibilitate cu sistemul de operare Daca se foloseste setarea RAID pe un sistem de operare particular, numai acel sistem deoperare poate accesa aria. Daca se foloseste un alt sistem de operare, acesta nu va fi capabil sa foloseasca aria. * Probleme de compatibilitate software Unele utilitati software pot intra in conflict cu aria software RAID, de exemplu unele utilitati de formatare si partitionare a discului. * Fiabilitate scazuta Unele controlere software RAID pot avea "bugs" care pot compromite integritatea si fibilitatea ariei. Interfete

SCSI

Controlerul SCSI nu este chiar o interfata pentru hard-discuri. In loc, este o metoda de a conecta pana la 8 dispozitive diferite la un PC (sau 16 - depinde de tipul interfetei). Pe langa hard-discuri, se mai pot conecta dispozitive back-up, unitati CD-ROM sau scanere. Acest controler nu este gasit numai pe PC-uri, ci si pe sistemele 68000 (Mac). Un motiv pentru aceasta raspandire pe mai multe tipuri de sisteme este faptul ca dispozitivele se pot cupla si decupla foarte usor de la interfata SCSI, pentru ca dispozitivele comunica cu

Page 30: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

29

controlerul printr-un bus care este separat de cel al PC-ului. Bus-ul SCSI este un cablu cu o mufa de 80 pini. Acest bus permite un tranfer paralel pe 8 biti iar interfata SCSI2 permite transferul paralel pe 16 bit, etc. IDE

Hard discurile IDE moderne au evoluat din discurile care dotau primele IBM PC XT. Interfata IDE (Integrated Drive Electronics) a inceput sa fie folosita pe scara larga in sistemele personale de la inceputul anilor '90. Aceasta oferea o interfata intre disc, BIOS si sistemul de operare prin intermediul a trei parametri: CHS-Heads(capete), Sectors (sectoare) si Cylinders(cilindri). Pe atunci, o capacitate de 528 MB parea de neatins, capaciate care era de fapt produsul valorilor maxime pe care cei trei parametri puteau sa le aiba(16 Heads, 63 Sectors, 1024 Cylinders, la o capacitate standard de 512 octeti pe sector). Odata cu aparitia capacitatilor peste 528 MB problemele, cum era de asteptat au aparut si ele. Primele drive-uri de peste 528 MB nu puteau fi folosite la intreaga capacitate, pentru ca, pur si simplu, nu exista o metoda de a accesa datele care depaseau aceasta limita. Ca un rezultat la aceasta situatie, controllerele de disc au inceput sa ofere BIOS-ului informatii fizic incorecte , dar acceptate de acesta, despre geometria discului, iar mai apoi BIOS-ulconverteste aceste date in informatiile reale pentru a accesa intreaga capacitate. Solutia gasita a fost dezvoltarea standardului, care a evoluat in EIDE(Extended IDE), care avea o noua metoda de a accesa discul, numita LBA(Logical Block Addressing), adica fiecaui sector distribuindu-se cate un numar intre 0 si 224, lasand controllerul sa converteasca aceasta adresa in formatul Heads, Sectors si Cylinders. Pe langa alte imbunatatiri, aceasta interfata suporta si alte unitati (CD-ROM, DVD etc.) si interfata a fost redenumita ATAPI. Ajungandu-se la momentul in care aceasta interfata a devenit prea inceata pentru ratele de transfer de care era nevoie, i s-au adusnoi modificari. Astfel au aparut UDMA 33, UDMA 66, si UDMA 100 cu ratele de transfer de maxim 33, 66, 100 MB/s. Standardul RAID a aparut ca si consecinta a nevoii de rate de transfer mai mari si a nevoii de siguranta. Dezvoltarea acestuia a fost strans legata de Interfata SCSI, datorita modului sau paralel de functionare si numarului mare de device-uri care se pot atasa in acelasi timp. Standardul prezinta cinci nivele RAID, in care doua sau mai multe hard discuri sunt "unite" logic de controler pentru a crea un singur disc, cu performante si securitate crescute. Standardul RAID nu se poate aplica pe un sistem IDE in forma in care el a fost conceputpentru SCSI, din cauza diferentelor de interfata. Pana cand standardul UDMA 66 nu a fost dezvoltat, IDE RAID practic nu exista. Oferind patru canale independente de date, implementarea RAID este posibila si sub UDMA 66, dar cu toate acestea, numai primele doua nivele RAID au fost implementate. Pentru a beneficia de IDE RAID, este nevoie de doua sau patru hard discuri identice si bineinteles de un controller care suporta IDE RAID-Promise si High-Point sunt doua dintre firmele care ofera solutii IDE RAID adoptate de producatorii de placi de baza, ca si controlere de hard disc integrate. In urma unor teste facute pe o placa EPOX BX 7+, la care s-au conectat doua hard discuri Quantum Fireball Plus LM, s-au constatat urmatoarele: rata de transfer aproape s-a dublat, situandu-se in jurul valorii de 46MB/s-in configuratie single disc, un Fireball Plus LM a avut rata de transfer de 28MB/s. SATA În anul 1980, când a fost construit primul PC, interfata folositã pentru transferul datelor pe si de pe harddisk a fost cea paralelã. Aceasta aducea mari avantaje fatã de solutiile folosite pânã atunci (dintre care multe nu aveau nici cea mai micã legãturã cu harddisk-ul) si se prezenta ca o solutie a viitorului. Iar viitorul sãu s-a dovedit lung si strãlucit. De peste 20 de ani, interfata „parallel ATA” s-a dezvoltat trecând prin diferite faze de evolutie, pânã când a ajuns la ceea ce stim cu totii cã este astãzi, si tot de atunci îsi gãseste locul în aproape fiecare PC obisnuit. Ultra ATA 133, ultima treaptã de evolutie posibilã a IDE-ului este deja pe piatã, desi doar cei de la Maxtor s-au „grãbit” sã punã în vânzare discuri care sã suporte si modul maxim de transfer ATA. Motivul pentru care ceilalti mari producãtori de medii de stocare nu s-au lãsat momiti de 133-ul de la sfârsitul numelui a fost lipsa evidentã a unei cresteri de… orice fel. Practic se poate spune cã un

Page 31: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

30

harddisk Ultra ATA 133 functioneazã exact la fel cu unul Ultra ATA 100, dar cu diferenta cã burst rate-ul maximum posibil de atins este de 133 MB/s. Oricât de frumos ar suna sau ar arãta pe hârtie, transmisia de date în rafalã se foloseste atât de rar, încât nu credem cã ar putea exista vreun utilizator capabil sã simtã diferenta între cele douã moduri de functionare. Este deci normal cã (în afarã de Maxtor) toti producãtorii au hotãrât sã ignore noile controlere Ultra ATA 133 cu care se împãuneazã ultimele strigãte ale momentului în domeniul plãcilor de bazã. Dacã tot nu se simte diferent. În plus, de câtiva ani încoace un grup de producãtori capabili de a prevedea apropiatul sfârsit a ceea ce cunoastem drept paralel ATA (si de asemenea capabili sã sustinã financiar o asemenea initiativã), grup care a devenit în timp din ce în ce mai mare, s-au reunit cu ideea clarã de a inventa un alt mod de transfer al datelor între hardisk si placa de bazã. Acestia sunt cunoscuti sub numele de „Serial ATA Working Group”, iar munca lor începe sã-si arate roadele. În principiu, ideea de bazã rãmâne aceeasi: discul va fi conectat la mainboard ( deocamdatã la un controler PCI) prin intermediul unui cablu si va avea nevoie de un alt cablu de alimentare. Dar asemãnãrile se opresc aici. Diferentele majore apar încã de la cabul de transimisie de date: acesta are doar 5 fire, nu 80 cum au cele vechi (sau 40 cum aveau acelea si mai vechi). Dintre acestea, douã sunt folosite pentru transferul dinspre harddisk spre placa de bazã, douã pentru transferul dinspre placa de bazã spre harddisk, iar cel de-al cincelea este legãtura la masã. Desigur, acest gen de conexiune permite viteze mai mari decât cea paralelã, pentru cã interferentele posibile sunt mai mici, ceea ce aduce dupã sine si posibilitatea de a lungi cablurile pânã la 1 m. De asemenea, Serial ATA este perfect compatibil cu Parallel ATA, existând deja chiar si convertoare care permit conectarea harddisk-urilor actuale la controlere SATA. În plus, toate unitãtile care folosesc actuala interfatã IDE au asiguratã compatibilitatea cu standardul serial, iar acest lucru este valabil si pentru sistemele de operare. Lista avantajelor continuã (aproape nemaiterminându-se) cu posibilitatea de a demonta un disc în timpul functionãrii calculatorului, ceea ce transformã în sfârsit si harddisk-ul într-un periferic Plug’n’Play , posibilitatea mult simplificatã de a crea matrici RAID, conectori mult mai mici si mai usor de manevrat, cabluri subtiri care nu mai împiedicã fluxul de aer necesar rãcirii interiorului carcasei, voltajele necesare functionãrii mult reduse, viteza de transfer de date constantã; asta ca sã nu mai vorbim de cel mai important dintre ele si anume faptul cã aceastã înnoire a interfetei IDE poate evolua, ceea ce nu se poate spune despre standardul Paralel ATA, care este stors de ultima fãrâmã de performantã, chiar în momentul de fatã. La capitolul avantaje, mai pot fi adãugate si posibilitatea de a construi mainboard-uri cu ergonomia mai bunã, harddisk-uri pentru notebook-uri mai rapide (datoritã consumului redus de energie, SATA este foarte potrivit pentru astfel de harddisk-uri), latenta interfetei mult redusã, lãtimea de bandã este ocupatã mult mai eficient datoritã faptului cã pe un cablu va putea fi montat un singur disc nu douã, iar asta eliminã si necesitatea configurãrii drive-urilor cu jumperi.

Figura 17. Conectori SATA [12]

Page 32: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

31

Canale multiple

Pe bus-ul SCSI, mai multe discuri pot sa transfere date simultan. Acest lucru inseamna ca daca

punem mai multe discuri pe un singur canal SCSI, si vrem sa le folosim pe toate la potentialul lor maxim , trebuie sa luam in considerare latimea maxima de banda a bus-ului. Pentru a evita aceasta problema controlerele performante folosesc mai multe canale(multiple channels). In esenta, aceasta inseamna ca un controler RAID nu are numai un canal de comunicatie cu discurile din arie , ci are doua sau mai multe. Folosirea canalelor multiple imbunatateste performanta bus-ului SCSI prin micsorarea strangularii bus-ului SCSI. Aceste caduri SCSI cu mai multe canale sunt si foarte scumpe.

Capitolul 5 - Performanţe RAID

Testele sunt preluate de pe site-ul http://www.tomshardware.com/reviews şi au fost făcute utilizând 8 hard-discuri Samsung SpinPoint T166 de 320GB, avand 7200 RPM, 8 MB cache şi fiind conectate la o placa de baza prin conexiune SATA2. Controllerul RAID este Areca ARC-1220, conectabil pe portul X4 PCI Express al plăcii de bază. Are 256 MB memorie DDR SDRAM integrată are 8 porturi SATA2.

Se analizează Performanţele în ceea ce priveşte rata de transfer la scriere şi la citire în mai multe configuraţii simple RAID. Se poate astfel vedea diferenţa între folosirea unui simplu hard disk în configuraţie clasică şi varianţa în care mai multe discuri sunt cuplate prin configuraţie RAID. Trebuie ţinut cont ca avantajele toleranţei la erori nu reies din grafice, de le trebuie ţinut cont în mod teoretic la alegerea soluţiei ideale. La fel şi preţul este un factor important ce duce la alegerea configuraţiei potrivite

5.1 Analiza RAID 6 , RAID 5 :

Page 33: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

32

5.2 Analiza RAID 0 , RAID 1, RAID 0+1:

Page 34: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

33

5.3 Analiza RAID 5, RAID 6 , dupa “strip size”

Page 35: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

34

5.4 Analiza RAID0 (“low cost”) vs. Raptor

Următorul şi ultimul exemplu este unul puţin atipic dar adesea controversat. Se face comparaţia între rata de transfer a unui sistem clasic de costuri reduse RAID0 şi un sistem bazat pe cunoscutele hard-discuri RAPTOR de la Western Digital de 10000 RPM. Dezavantajul major al discurilor Raptor este preţul, temperatura şi zgomotul. Ţinând cont că RAID0 este accesibil aproape pe toate plăcile de bază cu un cost decent, comparaţia următoare aduce multe lămuriri şi clarificări în ceea ce priveşte performanţele ratei de transfer.[14][15][17]

Page 36: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

35

Capitolul 6 - Concluzii

Sistemul „Redundant Array of Inexpensive Disks” permite utilizatorilor mici, companiilor medii, mari sau foarte mari să implementeze soluţii eficiente după fiecare caz. Odată înţeles, RAID oferă o altă viziune asupra variantelor avute la dispoziţie în prezent în ceea ce priveşte toată gama de aplicaţii posibile. În ultimii ani soluţiile RAID au devenit accesibile şi utilizatorilor simpli şi probabil că în perioada următoare costurile echipamentelor vor scădea, soluţiile software se vor optimiza şi sistemul RAID va deveni din ce în ce mai popular.

Page 37: Sisteme de Operare Avansate - stst.elia.pub.rostst.elia.pub.ro/news/SOA/Teme_SOA_13_14/A_A_Luca_raid.pdf · discuri fizice (hard discuri) de sine statatoare, ele putand fi partitionate

36

Bibliografie :

[1] ÉireSpace Communications Ltd. - "RAID Arrays" [2] Matt "Panders" Anderson & Ken "Caesar" Fisher: Ars Technica - "The skinny on RAID" [3] Radu Toacse: CHIP 2000/12 - "RAID IDE, dar pentru server" [4] Decebal Schiller:CHIP 2002/09 - "Paralelul moare! Traiasca Serialul!" [5] Charles M. Kozierok: PCGuide - "Redundant Arrays of Inexpensive Disks (RAID)" [6] Aurel Serb: BYTE - "Ariile de discuri" [7] Ciprian Neamtu: bluedog IT Channel - "R.A.I.D. in actualitate" [8] Jonathan Angel: NetworkMagazine – "RAID" [9] Radu Toacse:CHIP 2000/10 - "Memorie de elefant" [10] Radu Rădescu - "Tehnologia Raid" [11 ] http://www.pcguide.com/ref/hdd/perf/raid accesat pe data de 25 noiembrie 2013 [12] http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks accesat pe data de 23 noiembrie 2013 [13] http://en.wikipedia.org/wiki/Nested_RAID_levels accesat pe data de 23 noiembrie 2013 [14] http://www.techarp.com/showarticle.aspx?artno=569&pgno=6 accesat pe data de 25 noiembrie 2013 [15] http://www.tomshardware.com/reviews accesat pe data de 1 decembrie 2013 [16] http://www.revistait.ro/tehnologie/totul-despre-raid/ accesat pe data de 29 noiembrie 2013 [17 ]http://www.acnc.com/04_01_0_1.html accesat pe data de 2 noiembrie 2013