RAID

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - Dacă sunteți în căutarea altor semnificații, consultați Raid (dezambiguizare) .

În informatică RAID , acronimul pentru „ Redundant Array of Independent Disks ” sau set redundant de discuri independente, (inițial „ Redundant Array of Inexpensive Disks ”, set redundant de discuri ieftine ), este o tehnică de instalare grupată a mai multor discuri de pe un computer (sau conectate la acesta) ceea ce le face să apară și să poată fi utilizate în sistem ca și cum ar fi un singur volum de stocare.

Scopurile RAID sunt: ​​pentru a crește performanța, pentru a face sistemul rezistent la pierderea unuia sau mai multor discuri și pentru a le putea înlocui fără a întrerupe serviciul. RAID exploatează, în diferite moduri, în funcție de tipul de implementare, principiile redundanței datelor și paralelismului în accesul lor pentru a asigura, comparativ cu un singur disc, performanța crește, crește capacitatea de stocare disponibilă, îmbunătățește toleranța la eșecuri și, prin urmare, o fiabilitate mai bună . [1] Cele mai populare moduri sunt RAID 0, 1, 5 și 10. 3 și 4 au fost practic înlocuite de 5. Unele sisteme folosesc moduri imbricate, cum ar fi 10 sau alte moduri proprietare.

RAID poate fi implementat și pe PC-uri normale: de fapt, cardurile RAID cu preț redus sunt disponibile atunci când acest lucru nu este deja prezent pe cele mai sofisticate plăci de bază: Cu toate acestea, este o tehnică utilizată istoric în servere sau stații de lucru unde sunt necesare volume mari sau mari servicii de stocare a datelor: de exemplu pentru a găzdui o bază de date sau o stație de editare pentru audio sau video digital. RAID se găsește de obicei în NAS și, întotdeauna, în sistemele de stocare pentru arhitecturi blade .

Istorie

Termenul RAID a fost introdus în 1988 de David A. Patterson , Garth A. Gibson și Randy H. Katz în articolul A Case for Redundant Arrays of Inexpensive Disks (RAID) publicat în lucrările Conferinței SIGMOD (pp. 109-116) ). Autorii prezintă în mod sistematic unele dintre tehnologiile introduse în deceniul anterior, agregându-le sub acronimul Redundant Array of Inexpensive Disks, în italiană împreună cu discurile economice redundante , și identificându-le cu numerele de la 1 la 5 care astăzi sunt cunoscute sub numele de „ niveluri „RAID. Primul brevet a fost depus în 1977 de Norman Ken Ouchi de la IBM, prezentând ceea ce este acum cunoscut sub numele de nivelul 4. [2] Înțelesul literei „I” din titlu se datorează faptului că în anii 1980, spre deosebire de astăzi, cheia acestei tehnologii a fost capacitatea de a combina mai multe unități low-cost și învechite pentru a face sistemul general mai bun decât o unitate de ultimă generație în ceea ce privește capacitatea, fiabilitatea și viteza.

Implementări RAID

Secționarea datelor

Datele sunt împărțite în secțiuni ( dungi , în engleză) de lungime egală, numite unitate de secțiune, și scrise pe diferite discuri, de obicei în conformitate cu un algoritm de distribuție de tip round robin .

Când este necesară o citire mai mare decât unitatea de tăiere, diferite implementări ale diferitelor sisteme RAID distribuie operațiunea pe mai multe discuri în paralel, sporind performanța. De exemplu, dacă avem secțiuni pe 1 biți și o serie de discuri D, secvențele de date care au cel puțin D biți profită de toate discurile.

Economice sau independente

Deși „eu” al RAID astăzi înseamnă în general independent în loc de ieftin , unul dintre avantajele originale ale RAID a fost utilizarea echipamentelor ieftine și rămâne adevărat în multe situații, în special în cazul în care sunt utilizate unitățile IDE / ATA . Sau SATA .

Mai frecvent, se utilizează discuri SCSI independente (și mai scumpe), deși costul acestor discuri este mult mai mic decât sistemul pe care RAID îl înlocuiește de obicei.

Hardware sau software

RAID poate fi implementat atât cu hardware dedicat, cât și cu software specific pe hardware-ul utilizat în mod obișnuit.

Cu o implementare software, sistemul de operare gestionează setul de discuri printr-un controler normal ( ATA , SCSI , Fiber Channel sau altele). Această opțiune poate fi mai lentă decât un RAID hardware, dar nu necesită achiziționarea de componente suplimentare (și acestea sunt, însă, supuse defectelor).

O implementare RAID hardware necesită (cel puțin) un controler RAID ad hoc. În computerele desktop , acesta poate fi o placă de expansiune PCI sau poate fi utilizat controlerul de pe placa de bază . În RAID-uri mai mari, controlerul și discurile sunt adăpostite într-o carcasă externă. Aceste discuri pot fi ATA, SATA , SCSI sau Fibre Channel în timp ce controlerul conectează computerul gazdă cu una sau mai multe conexiuni SCSI, Fibre Channel sau iSCSI de mare viteză, fie direct, fie ca NAS . Acest controler gestionează discurile și efectuează verificări de paritate (de care au nevoie multe niveluri RAID).

Această opțiune tinde să ofere cele mai bune performanțe și să faciliteze mult gestionarea sistemului de operare. Implementările hardware acceptă de obicei schimbul de căldură (hot swapping), făcând posibilă înlocuirea unui disc în timp ce sistemul rămâne în funcțiune.

Atât sistemele hardware, cât și cele software acceptă utilizarea discurilor de rezervă , preinstalate, care sunt utilizate imediat (și aproape automat) atunci când un alt disc eșuează.

Nivele RAID standard

Tabel rezumativ al celor mai frecvente niveluri RAID [3]

Nivel Număr minim
de discuri
Capacitate Numărul maxim permis
a discurilor defecte
Sistem Beneficii Dezavantaje
RAID 0 2 C × N
0 RAID Nivelul 0 Cost redus de implementare;

performanță ridicată în scriere și citire datorită paralelismului operațiilor I / O ale discurilor înlănțuite.

Incapacitatea de a utiliza discuri de rezervă la cald;

fiabilitate redusă drastic, chiar în comparație cu cea a unui singur disc.

RAID 1 2 C. N - 1 RAID Nivelul 1 Fiabilitate, adică rezistență la eșecuri, care crește liniar cu numărul de exemplare;

viteza de citire (în anumite implementări și în anumite condiții).

Scalabilitate redusă;

costurile au crescut liniar cu numărul de exemplare;

viteza de scriere redusă la cea a celui mai lent disc din colecție.

RAID 2 7 C × (2 P - P - 1) / N 1
RAID2 arch.svg
Protecție împotriva citirilor incorecte de pe toate discurile. Aveți nevoie de un controler dedicat, capabil să mențină sincronizarea citirii tuturor discurilor;

aveți nevoie de un număr mare de discuri pentru a avea o capacitate de date acceptabilă.

RAID 3 3 C × (N - 1) 1 RAID Nivelul 3 Viteza de scriere egală cu viteza de citire. Citirea unui bloc implică toate discurile și, prin urmare, citirile nu sunt paralelizabile.
RAID 4 3 C × (N - 1) 1 RAID Nivelul 4 Rezistență la eșec;

citiri rapide datorită paralelismului structurii;

posibilitatea de a introduce discuri de rezervă la cald.

Discul folosit pentru paritate poate fi blocajul sistemului;

scriere lentă datorită modificării și calculului parității

(4 accesări pe disc pentru fiecare operație I / O).

RAID 5 3 C × (N - 1) 1 RAID Nivelul 5 Paritatea este distribuită și, prin urmare, nu există nicio problemă de blocaj a discului ca în RAID 4;

Citirile și scrierile sunt mai rapide decât RAID 4 în sine (deoarece discul dedicat parității în RAID 4 poate fi folosit acum pentru citiri paralele).

Scrieri lente datorate modificării și calculului parității

(4 accesări de disc pentru fiecare operație I / O), dar este încă mai rapid decât un singur disc și crește pe măsură ce crește numărul de discuri.

Pe un controler P410, un raid 5 format din 5 discuri de 10.000 RPM, citire / scriere secvențială este comparabil cu cel al unui SSD; cu 10 discuri este mai mult decât dublu.

RAID 6 4 C × (N - 2) 2 RAID Nivelul 6 Toleranță foarte mare la defecțiuni datorită redundanței duble. Scrieri foarte lente datorită modificării și calculului parității (6 accesări pe disc pentru fiecare operație I / O), N + 2 discuri necesare, foarte costisitoare datorită redundanței și complexității controlerului facilității.

Scrie problema Hole. Scrierile de pe diferite dispozitive nu sunt atomice în ansamblu: aceasta înseamnă că lipsa de putere în timpul unei scrieri poate duce la pierderea datelor. De exemplu, cu un sistem cu 3 discuri în raid 5, dacă doriți să modificați blocul n, va trebui să faceți aceste operații: citiți blocul n-1, citiți paritatea, calculați noua paritate, scrieți blocul n și scrieți paritatea . Problema apare în cazul în care sursa de alimentare se defectează în timpul acestor două ultime operații.

Niveluri RAID imbricate
C = capacitatea celui mai mic disc; N = numărul de discuri; P = discuri de paritate

RAID 0: Secționare fără redundanță

Sistemul RAID 0 împarte datele în mod egal între două sau mai multe discuri, de obicei prin secționare (sau striping ), dar fără a menține nicio informație de paritate sau redundanță care crește fiabilitatea (formularea RAID, deși răspândită, este, prin urmare, necorespunzătoare). RAID 0 este utilizat în general pentru a crește performanța unui sistem sau pentru comoditatea utilizării unui număr mare de discuri fizice mici ca și cum ar fi un număr mic de discuri virtuale mari.

Fiabilitatea sistemului, măsurată ca timp mediu între două defecțiuni (MTBF), este invers proporțională cu numărul de elemente, deoarece este egală cu raportul dintre fiabilitatea medie a discurilor și numărul de discuri prezente. Un sistem cu două discuri, de exemplu, este pe jumătate la fel de fiabil ca un singur disc. Deoarece sistemul de fișiere folosește toate discurile, de fapt, eșecul unui disc face o porțiune atât de mare a sistemului de fișiere inaccesibilă încât deseori îl împiedică să funcționeze, deși datele pot fi recuperate, chiar dacă sunt incomplete și deteriorate. RAID 0 este foarte util pentru crearea de servere care au nevoie de spații de stocare mari, pentru care redundanța este irelevantă sau gestionată în alt mod (vezi RAID 1 + 0 și RAID 0 + 1), dar în cazul în care a avea un număr mare de volume ar fi scump, ca un NFS server obligat să expună zeci de puncte de montare, sau imposibil, ca un sistem Microsoft Windows care are limita maximă de 128 de volume logice.

Beneficii
cost redus de implementare;
performanță ridicată în scriere și citire, grație paralelismului operațiilor I / O ale discurilor concatenate.
Dezavantaje
incapacitatea de a utiliza discuri de rezervă la cald ;
fiabilitate redusă drastic, chiar în comparație cu cea a unui singur disc: fiabilitatea unui sistem de n discuri cu fiabilitate medie A este egală cu A / n.

Concatenare

Deși o concatenare de disc nu este unul dintre nivelurile RAID, este o metodă populară pentru combinarea unui set de discuri fizice într-un disc virtual mare. După cum indică și numele, este pur și simplu o legătură de discuri pentru a face ca întregul să arate ca un singur disc.

În acest sens, concatenarea este o modalitate de a inversa partiționarea . În timp ce partiționarea ia un singur disc fizic și creează unul sau mai multe discuri logice, concatenarea utilizează două sau mai multe discuri fizice pentru a crea un singur disc logic. Concatenarea, cum ar fi RAID 0, face, de asemenea, întreaga matrice de discuri inutilizabilă în cazul unei defecțiuni a discului. Cu toate acestea, în acest caz, recuperarea datelor va fi puțin mai probabilă decât RAID 0, deoarece datele sunt scrise liniar ca și cum ar fi un singur hard disk cu un număr de blocuri defecte egal cu dimensiunea hard diskului deteriorat.

Din acest motiv, poate fi numit un set de discuri economice (fără redundanță) și poate fi văzut ca o rudă îndepărtată a RAID. Concatenarea este uneori utilă pentru transformarea unei colecții de discuri de diferite dimensiuni într-un singur disc logic de dimensiuni utile . Prin urmare, concatenarea poate utiliza discuri de 3 GB, 15 GB, 5,5 GB și 12 GB pentru a crea un singur disc logic de 35,5 GB, cu siguranță mai util decât discurile individuale luate separat.

În Linux 2.6 este definit ca RAID.

Concatenare independentă (sau JBOD)

JBOD este un acronim englezesc care înseamnă doar o grămadă de discuri sau doar o grămadă de discuri . Termenul JBOD este adesea folosit vag ca sinonim pentru „concatenare”, când de fapt ar trebui să însemne discurile așezate acolo așa cum sunt . Deoarece utilizarea nu este sigură, poate fi înțeleasă (și trebuie verificată din când în când) ca: o grupă de discuri accesibile individual, o grupă de discuri vizibile într-un mod concatenat.

Cu toate acestea, definiția corectă a JBOD este un grup de discuri accesibile individual . Termenul mai corect pentru concatenare este SPAN.

RAID 1: replicare

Sistem RAID-1. A1, A2 etc. acestea sunt reproduse între cele două discuri, crescând fiabilitatea și viteza de citire

RAID 1, numit și oglindă , păstrează o copie exactă a tuturor datelor pe cel puțin două discuri. Este util atunci când redundanța este considerată o cerință mai importantă decât utilizarea optimă a capacității de stocare pe disc. De fapt, întregul își limitează volumul la cel al discului mai mic. Pe de altă parte, întrucât un sistem cu n discuri este capabil să reziste defalcării componentelor n - 1 , fiabilitatea crește liniar cu numărul de discuri prezente.

La nivel de performanță, sistemul RAID 1 mărește de obicei rezultatele pentru operațiile de citire, deoarece multe implementări sunt capabile să efectueze mai multe operații în paralel: în timp ce citirea unui bloc este încă în desfășurare pe un disc, adică pot efectua o altele pe un alt disc. În orice caz, viteza de citire atinge cea a celui mai rapid disc în prezența dispozitivelor de stocare cu performanțe diferite: o singură operație de citire este solicitată inițial și simultan pe toate discurile, dar se termină în momentul primului răspuns primit. În schimb, viteza de scriere scade la cea a celui mai lent disc, deoarece acest tip de acțiune necesită ca aceeași operație să fie reprodusă pe fiecare disc din set.

O practică obișnuită este de a crea o copie suplimentară a unui disc (numit și Business Continuance Volume sau BCV) care poate fi împărțit din sistemul RAID original și utilizat independent. În unele implementări, aceste tipuri de copii pot fi împărțite și adăugate incremental, în loc să necesite o reconstruire completă a RAID.

Beneficii
fiabilitate, adică rezistență la eșecuri, care crește liniar cu numărul de copii;
viteza de citire (în anumite implementări și în anumite condiții).
Dezavantaje
scalabilitate redusă;
costurile au crescut liniar cu numărul de exemplare;
viteza de scriere redusă la cea a celui mai lent disc din colecție.
RAID2 arch.svg

RAID 2: secționare la nivel de biți

Un sistem RAID 2 împarte datele la nivelul de biți (în loc de bloc) și folosește un cod Hamming pentru corectarea erorilor care vă permite să corectați erorile cu un singur bit și să detectați erori duble. Aceste discuri sunt sincronizate de controler, astfel încât capul fiecărui disc să fie în aceeași poziție pe fiecare disc. Acest sistem se dovedește a fi foarte eficient în medii în care apar numeroase erori de citire sau scriere, dar în zilele noastre, datorită includerii Hamming Code Correction ( ECC ) direct în controlerul de disc, RAID 2 nu este utilizat și este considerat învechit [1] .

RAID 3: Slicing la nivel de octeți cu disc paritate

A1, B1 etc. fiecare reprezintă un octet.

Un sistem RAID 3 utilizează divizarea la nivel de octet cu un disc de paritate dedicat. RAID-3 este extrem de rar în practică. Unul dintre efectele secundare ale RAID-3 este că nu poate efectua mai multe cereri simultan. Acest lucru se datorează faptului că fiecare bloc de date are propria definiție răspândită pe toate discurile din RAID și va locui în aceeași locație, astfel încât fiecare operație I / O necesită utilizarea tuturor discurilor.

În exemplul opus, o cerere pentru blocul A vă va cere să căutați pe toate discurile. În schimb, o cerere simultană pentru blocul B va rămâne în așteptare.

Redundanţă

În cazul unei defecțiuni, discul de paritate este accesat și datele sunt reconstruite. Odată ce discul eșuat este înlocuit, datele lipsă pot fi restaurate și operațiunea poate fi reluată. Reconstruirea datelor este destul de simplă. Luați în considerare o matrice de 5 discuri în care datele sunt conținute în discurile X0, X1, X2 și X3 în timp ce X4 reprezintă discul de paritate. Paritatea pentru bitul i este calculată după cum urmează:

X4 (i) = X3 (i) ⊕ X2 (i) ⊕ X1 (i) ⊕ X0 (i)

Să presupunem că defecțiunea afectează X1. Dacă executăm OR exclusiv al lui X4 (i) ⊕ X1 (i) cu ambii membri ai ecuației anterioare obținem:

X1 (i) = X4 (i) ⊕ X3 (i) ⊕ X2 (i) ⊕ X0 (i)

Astfel, conținutul benzii de date de pe X1 poate fi restaurat din conținutul benzilor corespunzătoare de pe celelalte discuri din matrice. Acest principiu persistă la niveluri RAID mai ridicate.

RAID 4: Secționare la nivel de bloc cu disc de paritate

A1, B1 etc. fiecare reprezintă un bloc de date

RAID 4 folosește o divizare a datelor la nivelul blocului și menține valorile de paritate pe unul dintre discuri, la fel ca RAID 3, unde diviziunea este la nivel de octeți. Aceasta permite fiecărui disc aparținând sistemului să funcționeze independent atunci când este necesar un singur bloc.

Dacă controlerul de disc permite acest lucru, un sistem RAID 4 poate deservi mai multe cereri de citire în același timp. La citire, capacitatea de transfer este comparabilă cu RAID 0, dar scrierea este penalizată, deoarece scrierea fiecărui bloc implică și citirea valorii parității corespunzătoare și actualizarea acesteia.

În exemplul opus, o cerere de blocare A1 ar putea fi procesată de pe discul 1. O cerere simultană de blocare B1 ar trebui să aștepte, dar o cerere de blocare B2 ar putea fi servită în același timp.

Beneficii
rezistență la eșec;
citiri rapide datorită paralelismului structurii;
posibilitatea de a introduce discuri de rezervă la cald .
Dezavantaje
discul folosit pentru paritate poate fi blocajul sistemului;
scriere lentă datorită modificării și calculului parității (4 accesări pe disc pentru fiecare operație I / O).

RAID 5: Slicing la nivel de bloc cu paritate distribuită

Un sistem RAID 5 utilizează împărțirea datelor la nivel de bloc, distribuind uniform datele de paritate pe toate discurile sale componente. Este una dintre cele mai populare implementări, atât în ​​software cât și în hardware, unde practic fiecare dispozitiv de stocare integrat are RAID-5 ca opțiune.

În exemplul de mai jos, o cerere de blocare A1 ar putea fi procesată de pe discul 1. O cerere simultană pentru blocul B1 ar trebui să aștepte, dar o cerere simultană pentru blocul B2 ar putea fi îndeplinită în același timp.

A1, B2 etc. fiecare reprezintă un bloc de date.

Ori de câte ori un bloc de date (numit uneori o bucată ) trebuie să fie scris pe sistemul de discuri, se generează un bloc de paritate în interiorul benzii (deci se numește o serie de blocuri consecutive. Un bloc este adesea format din mai multe sectoare). , uneori chiar 256). Dacă un alt bloc sau o porțiune a aceluiași bloc este scris în aceeași bandă , blocul de paritate este recalculat și rescris. Discul folosit pentru a stoca paritățile este schimbat între o bandă și următoarea; în acest fel este posibil să se distribuie blocurile de paritate.

Rețineți că blocul de paritate nu este citit atunci când citiți date de pe disc, deoarece acest lucru ar fi suprasolicitat inutil și ar reduce performanța. Blocul de paritate este citit, totuși, atunci când citirea unui sector dă o eroare CRC . În acest caz, sectorul aflat în aceeași poziție relativă în blocurile de date rămase ale benzii , împreună cu blocul de paritate, sunt utilizate pentru reconstituirea blocului lipsă. În acest fel, eroarea CRC este ascunsă de computerul apelant. În mod similar, în cazul în care un disc eșuează în sistem, blocurile de paritate ale discurilor rămase sunt combinate matematic din mers cu blocurile de date rămase pentru a reconstrui datele discului eșuat.

Această procedură se numește de obicei Mod de recuperare a datelor interimar . Computerul principal nu știe că un disc a eșuat. Citirile și scrierile pe sistemul de discuri au loc la fel de silențios ca înainte, deși cu o anumită degradare a performanței.

Într-un sistem RAID 5 care are un singur bloc de paritate pe bandă , eșecul unui al doilea disc duce la pierderea tuturor datelor de pe sistem.

Numărul maxim de discuri este teoretic nelimitat, dar o practică obișnuită este păstrarea numărului maxim de discuri la 14 sau mai puțin pentru implementările care au doar un bloc de paritate pe bandă . Motivele acestei limitări sunt că probabilitatea ca două discuri din sistem să cedeze succesiv crește odată cu creșterea numărului de discuri. Pe măsură ce numărul de discuri dintr-un sistem RAID-5 crește, MTBF- ul sistemului în ansamblu poate deveni chiar mai mic decât cel al unui singur disc. Acest lucru se întâmplă atunci când este probabil să se rupă un al doilea disc rămânând, între momentul în care observați, înlocuiți și recreați primul disc eșuat, deveniți mai mare decât probabilitatea ca un singur disc să eșueze.

Trebuie reamintit faptul că agregarea mai multor discuri în spații mici determină o creștere a temperaturii și le expune pe acestea din urmă la vibrații mai mari, afectând astfel toleranța la defecțiuni, crescând riscul de defecțiuni și riscând să reducă ciclul lor de viață. În plus, discurile din același grup cumpărate în același timp ar putea ajunge la sfârșitul vieții lor împreună, scăzând semnificativ MTBF- ul sistemului. Este o idee bună, urmată în mod normal de producătorii de servere, să introduceți discuri identice în RAID, dar care provin din loturi diferite, adică cu numere de serie distincte și îndepărtate și / sau date și locuri de producție. Este pur și simplu fals și - așa cum am văzut - și contraproductiv afirmația, adesea găsită în unele licitații online sau pe unele piețe de purici, că ar dori o pereche de discuri cu numere de serie adiacente, perfect potrivite pentru utilizare în RAID.

În implementările cu mai mult de 14 discuri sau în situațiile în care este necesară redundanță mare de date, este adesea utilizată o implementare RAID 5 cu paritate dublă (numită și RAID 6), care poate rezolva defectarea simultană a două discuri.

Beneficii
paritatea este distribuită și, prin urmare, nu există nicio problemă cu discul de blocaj ca în RAID 4, scrierile sunt mai rapide decât RAID 4 în sine, deoarece discul care în RAID 4 este dedicat parității poate fi folosit acum pentru citiri paralele.
Dezavantaje
scrieri lente datorate modificării și calculului parității (4 accesări pe disc pe operație I / O).

RAID 6: Slicing la nivel de bloc cu paritate dublă distribuită

A1, B1 etc. fiecare reprezintă un bloc de date.

Un sistem RAID 6 utilizează divizarea la nivel de bloc cu date de paritate distribuite de două ori între toate discurile. Nu a fost prezent la nivelurile RAID originale.

În RAID-6, blocul de paritate este generat și distribuit între două benzi de paritate, pe două discuri separate, folosind benzi de paritate diferite în cele două direcții .

RAID-6 este mai redundant decât RAID-5, dar este foarte ineficient atunci când este utilizat pe un număr limitat de discuri. Vedeți paritatea dublă , explicată mai jos, pentru o implementare și mai redundantă.

Beneficii
  • Toleranță foarte mare la defecțiuni datorită redundanței duble.
Dezavantaje
  • Scrieri foarte lente datorită modificării și calculului parității (6 accesări pe disc pentru fiecare operație I / O), N + 2 discuri necesare, foarte costisitoare datorită redundanței și complexității controlerului facilității.
  • Scrie problema Hole. Scrierile de pe diferite dispozitive nu sunt atomice în ansamblu: aceasta înseamnă că lipsa de putere în timpul unei scrieri poate duce la pierderea datelor. De exemplu, cu un sistem cu 3 discuri în raid 5, dacă doriți să modificați blocul n, ar trebui să faceți aceste operații: citiți blocul n -1, citiți paritatea, calculați noua paritate, scrieți blocul n și scrieți paritatea . Problema apare în cazul în care sursa de alimentare se defectează în timpul acestor două ultime operații.

Niveluri RAID imbricate

Nivele numărul minim de discuri Capacitate Numărul maxim permis
a discurilor defecte
Sistem Beneficii Dezavantaje
RAID 01 4 C × N / 2
RAID 10 4 C × N / 2
RAID 50
C = capacitatea celui mai mic disc; N = numărul de discuri

Multe controlere de disc pot cuibra unele niveluri RAID. Adică, un sistem RAID poate folosi altul ca element de bază.

RAID 0 + 1 ( sau RAID 01 )

Un sistem RAID 0 + 1 este un RAID care este utilizat atât pentru a reproduce, cât și pentru a partaja date între diferite discuri. Diferența dintre RAID 0 + 1 și RAID 1 + 0 este aranjamentul diferit al fiecărui sistem RAID. Luați în considerare exemplul RAID 0 + 1 de mai jos: șase discuri de 120 GB sunt utilizate pentru a crea un sistem RAID 0 + 1.

 120GB 120GB 120GB 120GB 120GB 120GB
  │ │ │ │ │ │
  ┴ ————— ┼ ————— ┴ ┴ ————— ┼ ————— ┴
       RAID 0 RAID 0
         │ │
         ┴ ———————— ┼ ———————— ┴
                  │
                RAID 1

Spațiul total este de 360 ​​GB, împărțit între două sisteme. Principalul avantaj este că atunci când un disc eșuează printre cele ale RAID-0, datele lipsă pot fi transferate pe celălalt RAID-0. Cu toate acestea, adăugarea unui disc necesită adăugarea a două discuri pentru a echilibra spațiul dintre cele două sisteme.

Sistemul nu este la fel de robust ca RAID 1 + 0 și nu poate rezista la defectarea simultană a două discuri, dacă acestea nu aparțin aceleiași familii RAID 0. Adică, dacă un disc eșuează, fiecare celălalt disc din cealaltă bandă (la care se face referire RAID 1) este esențial pentru sistem. De asemenea, dacă un disc este înlocuit, toate discurile din setul RAID 0 încă funcțional trebuie să participe pentru a reconstrui sistemul.

RAID 1 + 0 ( sau RAID 10 )

Un sistem RAID 1 + 0, numit și RAID 10 , este similar cu RAID 0 + 1, dar nivelurile RAID sunt utilizate invers. În exemplul de mai jos puteți vedea 3 seturi de discuri RAID 1 de 120 GB care sunt unite pentru a ajunge la spațiul total de 360 ​​GB.

 RAID 0
                      │
      ┌ ———————-——————— ┼ ————-—————————— ┐
      │ │ │
    RAID 1 RAID 1 RAID 1
   ┌ —-— ┴ ——— ┐ ┌ —-— ┴ ——— ┐ ┌ —-— ┴ ——— ┐
   │ │ │ │ │ │
 120GB 120GB 120GB 120GB 120GB 120GB

Orice disc din orice sistem RAID 1 poate eșua fără a pierde date în sistem. Cu toate acestea, dacă discul eșuat nu este înlocuit, discul rămas în RAID 1 rămâne punctul critic al sistemului. Dacă discul rămas ar eșua, toate informațiile conținute în întregul sistem s-ar pierde.

Un disc de 120 GB ar putea fi adăugat în orice moment în sistemul RAID 1 pentru a crește redundanța. Spre deosebire de RAID 0 + 1, subsistemele RAID 1 nu trebuie actualizate în același timp.

Niveluri RAID proprietare

În timp ce toate implementările RAID diferă de specificațiile idealizate, unele firme au dezvoltat sisteme complet proprietare, care sunt foarte diferite de toate celelalte.

Dublă paritate

Una dintre cele mai frecvente modificări la nivelurile RAID existente este „paritatea dublă”, numită și „paritate diagonală”. La fel ca în RAID 6, sunt create două tipuri diferite de paritate, dar altfel al doilea tip nu este doar o copie suplimentară a primei. În schimb, multe implementări cu dublă paritate calculează o paritate suplimentară pe un grup diferit de blocuri. Mentre i sistemi RAID 5 e RAID 6 calcolano tradizionalmente la parità su un gruppo di blocchi standard (A1, A2, A3, AP), la doppia parità usa anche gruppi diversi; per esempio, nel disegno sottostante, il RAID 5 e RAID 6 calcolano la parità rispetto tutti i blocchi inizianti per A . Il sistema a doppia parità usa invece anche i blocchi numerati con 1 per ricavare una parità diversa.

 RAID 5 RAID 6 RAID 5
  Tradizionale Tipico Doppia parità
 A1 A2 A3 Ap A1 A2 Ap Ap A1 A2 A3 Ap
 B1 B2 Bp B3 B1 Bp B2 Bp B1 B2 Bp B3
 C1 Cp C2 C3 Cp C1 Cp C2 C1 Cp C2 C3
 Dp D1 D2 D3 Dp Dp D1 D2 1p 2p 3p --
 
 Nota: A1, B1, ecc. rappresentano rispettivamente un blocco di dati.

RAID 7

Il sistema RAID 7 è un marchio registrato della Storage Computer Corporation. Aggiunge un sistema di caching al RAID-3 o RAID-4 per aumentare le prestazioni.

Note

  1. ^ a b Derek Vadala, Managing RAID on Linux , O' Reilly, 2002.
  2. ^ ( EN ) US4092732 , United States Patent and Trademark Office , Stati Uniti d'America.
  3. ^ Single RAID Levels

Voci correlate

Altri progetti

Collegamenti esterni

Informatica Portale Informatica : accedi alle voci di Wikipedia che trattano di informatica