Modelarea sistemelor RAID: Avantaje și dezavantaje
RAID 0
RAID 0 nu este o arhitectură RAID în adevăratul sens al cuvântului deoarece nu asigură nicio redundanţă a datelor. RAID 0 este folosit strict pentru maximizarea performanţelor în lucrul cu harddisk-urile. După cum spune şi denumirea, datele sunt întreţesute (stripping) în mod secvenţial pe mai multe discuri, ce sunt tratate ca un singur disc (sau volum) virtual. De obicei 4 discuri formează un volum. Implementările RAID 0 divizează volumele în felii şi scriu datele în felii consecutive, localizate fizic pe fiecare disc din cadrul ariei de discuri.
Operaţiile de scriere şi citire au loc în paralel fiind executate pe toate discurile aflate în volum. Mărimea feliilor este definită de către utilizator şi poate fi de 512 sectoare ,spre exemplu, dimensiunea uzuală a sectoarelor putând fi de 512 octeţi. Utilizând această tehnică de întrețesere se obține o rată de transfer a datelor foarte ridicată, îmbunătățindu-se în felul acesta și performanța efectivă a sistemului. În eventualitatea defectării chiar şi a unui singur disc al ariei, RAID 0 nu oferă redundanţă datelor. În lipsa posibilităţii de regenerare a discului, datele ce se găsesc pe acesta se vor pierde. Din acest motiv, RAID 0 nu este folosit în aplicaţiile de înaltă disponibilitate
Avantaje:
- Ușor de proiectat și implementat
- Nu folosește calculi de paritate
Dezavantaje:
- Nu tolerează greșeli.
- Defectarea unui singur disc duce la pierderea tuturor datelor dintr-un șir.
RAID 1
RAID 1 asigură redundanţa datelor prin oglindirea acestora (mirroring). Metoda aceasta creează două sau mai multe copii ale aceluiaşi volum de date şi le plasează pe discuri separate. Fiecare copie este o imagine oglindită a celeilalte. RAID 1 poate scădea performanţa generală a sistemului deoarce trebuie să efectueze tot atâtea scrieri câte copii. Performanţa citirilor este însă mult îmbunătăţită deoarece cererile sunt trimise simultan controlerelor de discuri ale tuturor copiilor. Discul care răspunde primul cererii de citire va returna datele sistemului.
Această metodă este mai puţin sigură comparativ cu scrierea secvenţială, dar realizează o creştere semnificativă a performanţelor la scriere. RAID 1 este cea mai scumpă implementare deoarece asigură redundanţa datelor în proporţie de 100% şi totodată asigură cea mai mare disponibilitate a datelor prin utilizarea celui mai mic număr de discuri din configuraţie. Anumite sisteme de operare de tip UNIX ale unor sisteme de calcul tolerante la defectări oferă prin intermediul unei componente software numită “Logical Volume Manager” un alt tip de RAID 1.
Această componentă creşte performanţa sistemului oferind posibilitatea scrierii în paralel pe toate copiile, fără a se mai aştepta ca scrierea pe o copie să se efectuze cu success şi apoi să se altereze conţinutul altei copii. Comparativ cu scrierea secvenţială, această metodă este mai puţin sigură, dar oferă o creştere semnificativă a vitezei de scriere.
Întrucât RAID 1 asigură redundanţa datelor în proporţie de 100%, ea este cea mai scumpă implementare dintre toate tipurile de arii de discuri, dar asigură şi cea mai mare disponibilitate a datelor prin utilizarea celui mai mic număr posibil de discuri în configuraţie
Avantaje:
- Viteza de citire este de 2 ori mai mare
- Redundanță 100%
- Poate susține simultan mai multe defecțiuni
- În caz de defectare datele nu trebuie reconstruite ci pur și simplu copiate
Dezavantaje:
- Capacitatea efectivă de memorie este de fapt jumătate din capacitatea maximă totală
- Posibil să nu suporte schimbarea discului în timpul funcționării
RAID 2
Acest model presupune că discurile în paralel distribuie datele pe mai multe discuri efectuând o întreţesere la nivel de bit, iar în cadrul ariei de discuri sunt utilizate şi discuri de verificare. Citirea şi scrierea datelor se face utilizând tehnici de codificare bazate pe coduri corectoare de erori de tip Hamming pentru a asigura detecţia şi corecţia erorilor.
Din păcate RAID 2 vine cu mai multe dezavantaje decât avantaje. Printre acestea trebuie amintit faptul că utilizarea tehnicilor de codare bazate pe coduri corectoare de erori de tip Hamming necesită utilizarea unor grupuri mari de discuri pentru a asigura consistenţa (ex: 4 discuri de verificare pentru 10 discuri de date, 5 discuri de verificare pentru 25 de discuri de date). Din cauză că această tehnică de codificare este foarte complexă şi scump de realizat, RAID 2 nu prezintă un real interes pentru mediul comercial.
Avantaje:
- Rate de transfer foarte ridicate
Dezavantaje:
- Rata de transfer este cel mult egală cu cea a unui singur disc
RAID 3
RAID 3 foloseşte doar un singur disk dedicat pentru memorarea informaţiilor de paritate, celelalte discuri din cadrul ariei de discuri fiind folosite pentru memorarea informaţiei utile ce este împrăştiată pe toate discurile ariei. (exact ca şi în cazul RAID 2). Acesta efectuează un SAU EXCLUSIV asupra datelor şi nu un cod corector de erori. Cantitatea minimă de date care este scrisă sau citită într-o operaţie de intrare sau de ieşire este egală cu numărul de discuri din arie înmulţit cu numărul de octeţi ai sectorului discului. Aceasta este cunoscută ca unitate de transfer. La un moment de timp dat nu poate fi activă decât o singură cerere de intrare sau de ieşire deoarece capetele de acces se mişcă în paralel în aria de discuri.
Acest lucru ne asigură o rată bună de transfer a datelor atunci când datele accesate sunt dispuse secvenţial pe disc, dar face ca RAID 3 să nu fie suficient de practic pentru aplicaţii cu date dispuse aleator în aria de discuri. O rată de transfer foarte bună se obţine atunci când unitatea de transfer are aceaşi mărime cu dimensiunea blocurilor de date care se scriu sau se citesc. Cu cât blocurile transferate sunt de dimensiuni mai mici, cu atât rata de transfer scade. RAID 3 oferă si posibilitatea înlocuirii la cald a unui disc și recuperarea datelor.
Avantaje:
- Viteză mare de citire și scriere pentru pachetele mari de date
- Disk-failure nu încetinește ratele de transfer
Dezavantaje:
- Tehnologia este complexă și mare consumatoare de resurse, deci realizarea software a acesteia nu se rentează
RAID 4
În cazul RAID 4 datele sunt distribuite la fel ca şi în cazul RAID 3 pe mai multe discuri de date şi pe un disc de paritate. Diferenţa constă în faptul că un bloc de date se află pe un singur disc, astfel încât citirea se face accesând un singur disc şi nu pe ambele. Astfel aria de discuri poate prelucra mai multe cereri deodata întrucât discurile nu se mai utilizează în paralel. Discul de paritate devine un element de scădere a performanţei deoarece este implicat în toate operaţiile de scriere. Acest lucru se întâmplă deoarece paritatea, pentru fiecare operaţie de scriere, se calculează având în vedere şi informaţia de pe celelalte discuri, în sectoarele de date asociate. Această procedură face ca RAID 4 să fie considerat nepractic.
Avantaje:
- Transfer de date foarte mare la citire
- Eficiență ridicată datorită discurilor de paritate aflate în proporție mai mică decât a celor de date
Dezavantaje:
- Cea mai slabă rată de transfer la scriere
- În cazul defectării unui disc, recuperarea datelor este extreme de dificilă
RAID 5
În cazul RAID 5 datele sunt distribuite pe mai multe discuri de date şi pe un disc de paritate. RAID 5 nu are însă un disc dedicat special numai pentru informaţia de paritate, ci distribuie informaţiile de tip date şi informaţiile de tip paritate pe toate discurile ariei. RAID 5 permite mai multe accese concurente la dispozitivele din cadrul ariei de discuri, fiind satisfăcute astfel multiple cereri concurente de intrare sau ieşire.
Astfel, performanţa transferurilor pentru aceste arii de discuri creşte semnificativ, acestea devenind cele mai potrivite şi utile în cazul operării cu blocuri de dimensiune mică, sau cu datele dispuse în mod aleator pe discuri. Ciclul de scriere se realizează în 3 paşi:
Este citită paritatea existentă şi data ce urmează a fi schimbată. Vechea dată din valoarea parităţii existente este scazută şi apoi se memorează paritatea corectă într-un buffer.
Este calculată noua paritate pe baza valorii din buffer şi a valorii noii date de memorat şi se scriu pe discurile corespunzatoare noua dată şi paritatea actualizată. 27 Implementările software ale RAID 5 sunt suportate de către multe sisteme moderne de operare (Linux, Windows Server etc.).
Procesorul efectuează toate calculele pentru paritate, iar în cazul unei defecţiuni, operaţiunile de intrare sau de ieşire sunt de până la de 3 ori mai consumatoare de resurse. Având un cost relativ scăzut per GB utili şi o performanţă medie foarte bună, RAID 5 este utilizat cu succes pentru toate tipurile de transfer (servere pentru baze de date raţionale, servere de fişiere)
Avantaje:
- Cea mai ridicată rată de transfer la citire
- Rată de transfer bună la scriere
Dezavantaje:
- Datele sunt dificil de recuperat în comparație cu nivelul RAID 1
RAID 6
Ceea ce diferenţiază nivelul RAID 6 de nivelul RAID 5 este faptul că se calculează şi se stochează paritate dublă pentru date. În consecinţă sunt necesare minim 4 discuri, performanţa scăzând datorită calculului dublu de paritate. Redundanţa creşte însă, aria suportând două discuri defecte. Reconstrucţia datelor poate fi un mare consumator de resurse, performanţa fiind puternic afectată, dar redundanţa dublă compensează prin posibilitatea de amânare a procesului de rebuilding pentru un plus de viteză. Pentru a crea nivele etajate de RAID, oricare nivel poate fi combinat cu alt nivel, dar cel mai des sunt folosite nivelele 0 şi 1.
Avantaje:
- Toleranță foarte mare la erori
- Poate susține mai multe defectări simultane
Dezavantaje:
- Schema de paritate este bidimensională deci trebuiesc implementate N+2 discuri
RAID 01
Acest nivel dispune minim 4 discuri grupate în fâșii (oglindite), înlătură neajunsurile și îmbunătățește performanțele, însă crește complexitatea. RAID 0+1 creează un al doilea set de fâşii oglindite cu un set primar de fâşii de discuri. Matricea continuă să funcţioneze cu unul sau mai multe unităţi de stocare afectate în aceeaşi oglindă stabilită, dar dacă driverul cedează de pe ambele părţi ale oglinzii, datele de pe sistemul RAID sunt pierdute
Avantaje:
- Înlătură neajunsurile și îmbunătățește performanțele
Dezavantaje:
- Crește complexitatea
- Dacă driverul cedează pe ambele părți ale oglinzii, datele sunt pierdute
RAID 10
Acest nivel dispune minim 4 discuri grupate în fâșii (oglindite), înlătură neajunsurile și îmbunătățește performanțele, însă crește complexitatea. Diferenţa faţă de RAID 0+1 este că RAID 1+0 creează discuri cu date întreţesute de la o serie de unităţi de stocare în oglindă. Într-o situaţie de eşuare, RAID 1+0 funcţionează mai bine, deoarece toate celelalte discuri continuă să fie utilizate. Matricea poate susţine mai multe discuri pierdute, atât timp cât oglinda nu pierde toate unităţile sale
Avantaje:
- Toleranță la erori.
- Poate susține mai multe defectări simultane, în anumite cazuri
Dezavantaje:
- Tehnologie foarte scumpă
- Performanța scade întrucât discurile se mișcă în paralel la adresa cerută
RAID 50
RAID50 combină feliile de blocuri de la nivelul RAID0 cu paritatea distribuită de RAID5 Aceasta este de fapt o matrice RAID 0 întrețesută de-a lungul elementelor RAID 5. Pentru a realiza un nivel hibrid RAID 50 avem nevoie de cel putin 6 discuri. Avantajul acestei configurații este că ca pot eșua câte un drive din fiecare set, fără să se piardă date. Cu toate acestea, unitățile rămase în acel set devin un punct slab pentru întreaga matrice până când discul defect este înlocuit. Este suficient să se mai defecteze un singur disc (pe lângă cel inițial) și întreg sistemul cedează, datele stocate în întreaga matrice fiind pierdute. Timpul petrecut în procesul de rebuilding reprezintă o perioadă de vulnerabilitate a setului RAID.
Avantaje:
- Un drive de la fiecare din seturille RAID5 poate eșua fără pierderi de date
Dezavantaje:
- Sistemul rămâne vulnerabil până la schimbarea discului căzut
RAID 51
Acest nivel hibrid este o matrice formată din două matrice RAID 5, care sunt oglindite una față de cealaltă. În general această configurație este folosită astfel încât fiecare set de RAID 5 se află pe un controller separat. Astfel, scrierile și citirile sunt echilibrate în ambele matrice RAID 5.
Unele controllere suportă RAID 51 pe mai multe canale pentru a ține sincronizate părțile diferite. În această configurație, cele două seturi de RAID 5 nu șiu că reprezintă oglindirea celuilalt, iar RAID 1 nu știe că discurile sale de bază sunt RAID 5. Această configurație poate susține eșecul oricărui disc din orice matrice, plus încă un disc suplimentar din cealaltă matrice înainte să existe pierderi de date. Spațiul maxim ce se poate găsi pe un RAID 51 este egal cu dimensiunea unui set individual RAID 5
Avantaje:
- Poate susține eșecul fiecărui disc din matrice plus încă un disc suplimentar
- Performanță bună dar costisitoare în același timp
Dezavantaje:
- Costul foarte mare al implementării din cauza discurilor identice ce trebuiesc folosite și a controllerelor de ultimă generație
RAID 100
Un raid 100, numit uneori și RAID 10+0, este o felie de tipuri RAID 10. Din punct de vedere logic el este de fapt o matrice RAID 10 implementată cu ajutorul software-ului RAID 0 peste hardware-ul de RAID 10.
Principalul avantaj al RAID 100 față de un singur nivel RAID este răspândirea încărcării pe mai multe controllere, obținându-se astfel performanță mai bună la citiri aleatoare și atenuarea riscurilor pe matrice. Tocmai din acest motiv, RAID 100 reprezintă cea mai bună alegere când vine vorba de baze de date foarte mari, unde controllerele hardware de RAID limitează numărul de discuri fizice permise în fiecare matrice standard
Avantaje:
- Răspândirea încărcării de-a lungul mai multor controller
- Performanță mai bună la citiri aleatoare
Dezavantaje:
- Complexitate foarte ridicată
- Prețul foarte ridicat al implementări