Ce discuri sunt în raid. Cum se creează o matrice RAID și de ce este necesară. Construirea unei matrice de discuri - de la teorie la practică

18.09.2020 Siguranță

© Andrey Egorov, 2005, 2006. Grupul de companii TIM.

Vizitatorii forumului ne pun întrebarea: „Care nivel RAID este cel mai de încredere?” Toată lumea știe că cel mai comun nivel este RAID5, dar nu este lipsit de dezavantaje serioase care nu sunt evidente pentru nespecialiști.

RAID 0, RAID 1, RAID 5, RAID6, RAID 10 sau care sunt nivelurile RAID?

În acest articol, voi încerca să caracterizez cele mai populare niveluri RAID și apoi să formulez recomandări pentru utilizarea acestor niveluri. Pentru a ilustra articolul, am creat o diagramă în care am plasat aceste niveluri în spațiul tridimensional al fiabilității, performanței și rentabilității.

JBOD(Doar o grămadă de discuri) este o simplă acoperire a hard disk-urilor, care nu este în mod oficial un nivel RAID. Un volum JBOD poate fi o matrice a unui singur disc sau o agregare de mai multe discuri. Controlerul RAID nu trebuie să efectueze niciun calcul pentru a opera un astfel de volum. În diagrama noastră, unitatea JBOD servește ca un „unic” sau punct de plecare – valorile sale de fiabilitate, performanță și cost sunt aceleași cu cele ale unui singur hard disk.

RAID 0(“Striping”) nu are redundanță și distribuie informații imediat pe toate discurile incluse în matrice sub formă de blocuri mici (“stripes”). Din acest motiv, performanța crește semnificativ, dar fiabilitatea are de suferit. Ca și în cazul JBOD, obținem 100% din capacitatea discului pentru banii noștri.

Permiteți-mi să vă explic de ce scade fiabilitatea stocării datelor pe orice volum compozit - deoarece dacă oricare dintre hard disk-urile incluse în acesta eșuează, toate informațiile se pierd complet și iremediabil. În conformitate cu teoria probabilității, din punct de vedere matematic, fiabilitatea unui volum RAID0 este egală cu produsul fiabilității discurilor sale constitutive, fiecare dintre acestea fiind mai mică de unul, astfel încât fiabilitatea totală este în mod evident mai mică decât fiabilitatea oricărui disc.

nivel bun - RAID 1(„Oglindă”, „oglindă”). Are protecție împotriva defecțiunii a jumătate din hardware-ul disponibil (în cazul general, unul dintre cele două hard disk), oferă o viteză de scriere acceptabilă și câștiguri în viteza de citire datorită paralelizării solicitărilor. Dezavantajul este că trebuie să plătiți costul a două hard disk-uri pentru a obține capacitatea utilizabilă a unui hard disk.

Inițial, se presupune că hard disk-ul este un lucru de încredere. În consecință, probabilitatea de defecțiune a două discuri simultan este egală (conform formulei) cu produsul probabilităților, i.e. ordine de mărime mai mici! Din pacate, viata reala- nu o teorie! Două hard disk-uri sunt luate din același lot și funcționează în aceleași condiții, iar dacă unul dintre discuri se defectează, sarcina pe cel rămas crește, așa că, în practică, dacă unul dintre discuri eșuează, trebuie luate măsuri urgente de restabilire. redundanţă. Pentru a face acest lucru, este recomandat să utilizați discuri de rezervă cu orice nivel RAID (cu excepția zero) HotSpare. Avantajul acestei abordări este menținerea fiabilității constante. Dezavantajul este costurile și mai mari (adică costul a 3 hard disk-uri pentru a stoca volumul unui disc).

Oglindă pe multe discuri este un nivel RAID 10. Când utilizați acest nivel, perechile de discuri în oglindă sunt aranjate într-un „lanț”, astfel încât volumul rezultat poate depăși capacitatea unui singur hard disk. Avantajele și dezavantajele sunt aceleași ca pentru nivelul RAID1. Ca și în alte cazuri, se recomandă includerea discurilor de rezervă HotSpare în matrice la o rată de rezervă pentru fiecare cinci lucrători.

RAID 5, într-adevăr, cel mai popular dintre niveluri - în primul rând datorită eficienței sale. Prin sacrificarea capacității unui singur disc din matrice pentru redundanță, obținem protecție împotriva defecțiunii oricăreia dintre unitățile hard disk ale volumului. Scrierea informațiilor pe un volum RAID5 necesită resurse suplimentare, deoarece sunt necesare calcule suplimentare, dar atunci când citiți (comparativ cu un hard disk separat), există un câștig, deoarece fluxurile de date de la mai multe unități matrice sunt paralelizate.

Dezavantajele RAID5 apar atunci când unul dintre discuri eșuează - întregul volum intră în modul critic, toate operațiunile de scriere și citire sunt însoțite de manipulări suplimentare, performanța scade brusc, iar discurile încep să se încălzească. Dacă nu se iau măsuri imediate, este posibil să pierdeți întregul volum. Prin urmare, (vezi mai sus) ar trebui să utilizați cu siguranță un disc Hot Spare cu un volum RAID5.

Pe lângă nivelurile de bază RAID0 - RAID5 descrise în standard, există niveluri combinate RAID10, RAID30, RAID50, RAID15, care sunt interpretate diferit de diferiți producători.

Esența unor astfel de combinații este pe scurt după cum urmează. RAID10 este o combinație de unu și zero (vezi mai sus). RAID50 este o combinație de volume „0” de nivel 5. RAID15 este o „oglindă” a celor „cinci”. Și așa mai departe.

Astfel, nivelurile combinate moștenesc avantajele (și dezavantajele) „părinților”. Deci, apariția unui „zero” în nivel RAID 50 nu adaugă nicio fiabilitate, dar are un efect pozitiv asupra performanței. Nivel RAID 15, probabil foarte fiabil, dar nu este cel mai rapid și, în plus, extrem de neeconomic (capacitatea utilă a volumului este mai mică de jumătate din dimensiunea matricei de discuri originale).

RAID 6 diferă de RAID 5 prin aceea că în fiecare rând de date (în engleză dunga) nu are unul, dar Două bloc de sumă de control. Sumele de control sunt „multidimensionale”, adică independent unul de celălalt, astfel încât chiar și eșecul a două discuri din matrice vă permite să salvați datele originale. Calcularea sumelor de control folosind metoda Reed-Solomon necesită calcule mai intense în comparație cu RAID5, așa că anterior nivelul șase practic nu era folosit. Acum este susținut de multe produse, de când au început să instaleze microcircuite specializate care efectuează toate operațiunile matematice necesare.

Potrivit unor studii, restabilirea integrității după o defecțiune a unui singur disc pe un volum RAID5 compus din discuri SATA mari (400 și 500 gigaocteți) se termină cu pierderi de date în 5% din cazuri. Cu alte cuvinte, într-un caz din douăzeci, în timpul regenerării unei matrice RAID5 pe un disc Hot Spare, al doilea disc poate eșua... De aici și recomandările celor mai bune unități RAID: 1) Mereu do copii de rezervă; 2) utilizarea RAID6!

Recent au apărut noi niveluri RAID1E, RAID5E, RAID5EE. Litera „E” din nume înseamnă Îmbunătățit.

RAID nivel-1 îmbunătățit (RAID nivel-1E) combină oglindire și striping de date. Acest amestec de niveluri 0 și 1 este aranjat după cum urmează. Datele dintr-un rând sunt distribuite exact ca în RAID 0. Adică, rândul de date nu are redundanță. Următorul rând de blocuri de date îl copiază pe cel anterior cu o schimbare de un bloc. Astfel, ca și în modul standard RAID 1, fiecare bloc de date are o copie în oglindă pe unul dintre discuri, astfel încât volumul util al matricei este egal cu jumătate din volumul total al hard disk-urilor incluse în matrice. RAID 1E necesită o combinație de trei sau mai multe unități pentru a funcționa.

Îmi place foarte mult nivelul RAID1E. Pentru o stație de lucru grafică puternică sau chiar pentru computer de acasă- cea mai buna alegere! Are toate avantajele nivelului zero și primul - viteză excelentă și fiabilitate ridicată.

Să trecem acum la nivel RAID nivel-5 îmbunătățit (RAID nivel-5E). Este la fel ca RAID5, doar cu un disc de rezervă încorporat în matrice unitate de rezervă. Această integrare se realizează după cum urmează: pe toate discurile matricei, 1/N parte din spațiu este lăsată liberă, care este folosită ca rezervă la cald dacă unul dintre discuri eșuează. Datorită acestui fapt, RAID5E demonstrează, alături de fiabilitate, performanță mai bună, deoarece citirea/scrierea se realizează în paralel dintr-un număr mai mare de unități în același timp și unitatea de rezervă nu este inactivă, ca în RAID5. Evident, inclus în asta disc de rezervă nu poate fi partajat cu alte volume (dedicat vs. partajat). Un volum RAID 5E este construit pe minim patru discuri fizice. Volumul util al unui volum logic este calculat folosind formula N-2.

RAID nivel-5E îmbunătățit (RAID nivel-5EE) similar cu nivelul RAID-5E, dar are o alocare mai eficientă a unităților de rezervă și, ca urmare, un timp de recuperare mai rapid. La fel ca nivelul RAID5E, acest nivel RAID distribuie blocuri de date și sume de control pe rânduri. Dar, de asemenea, distribuie blocuri gratuite ale unității de rezervă și nu rezervă pur și simplu o parte din spațiul pe disc în aceste scopuri. Acest lucru reduce timpul necesar pentru a reconstrui integritatea unui volum RAID5EE. Discul de rezervă inclus în volum nu poate fi partajat cu alte volume - ca în cazul precedent. Un volum RAID 5EE este construit pe un minim de patru discuri fizice. Volumul util al unui volum logic este calculat folosind formula N-2.

Destul de ciudat, nicio mențiune despre nivel RAID 6E Nu l-am putut găsi pe Internet - până acum acest nivel nu este oferit și nici măcar anunțat de niciun producător. Dar nivelul RAID6E (sau RAID6EE?) poate fi oferit după același principiu ca și precedentul. Disc HotSpare Neapărat trebuie să însoțească orice volum RAID, inclusiv RAID 6. Desigur, nu vom pierde informații dacă unul sau două discuri se defectează, dar este extrem de important să începem regenerarea integrității matricei cât mai curând posibil pentru a scoate rapid sistemul. a modului „critic”. Deoarece necesitatea unui disc Hot Spare este dincolo de orice îndoială pentru noi, ar fi logic să mergem mai departe și să-l „împrăștiem” pe volum, așa cum se face în RAID 5EE, pentru a obține beneficiile utilizării unui număr mai mare de discuri ( cea mai buna viteza privind citirea-scrierea și restaurarea mai rapidă a integrității).

Nivelurile RAID în „numere”.

Am adunat unele dintre ele într-un tabel parametri importanti aproape toate nivelurile RAID, astfel încât să le puteți compara între ele și să le înțelegeți mai bine esența.

Nivel
~~~~~~~

cabane-
exact
ness
~~~~~~~

Utilizare
Capacitatea discului
~~~~~~~

Productie
ditel-
ness
citind

~~~~~~~

Productie
ditel-
ness
înregistrări

~~~~~~~

Incorporat
disc
rezervă

~~~~~~~

Min. numărul de discuri
~~~~~~~

Max. numărul de discuri

~~~~~~~

Exc.

Exc.

Exc.

Exc.

Toate nivelurile „oglindă” sunt RAID 1, 1+0, 10, 1E, 1E0.

Să încercăm din nou să înțelegem bine cum diferă aceste niveluri?

RAID 1.
Aceasta este o „oglindă” clasică. Două (și doar două!) hard disk-uri funcționează ca unul singur, fiind o copie completă unul a celuilalt. Eșecul oricăreia dintre aceste două unități nu duce la pierderea datelor dvs., deoarece controlerul continuă să funcționeze pe unitatea rămasă. RAID1 în cifre: 2x redundanță, 2x fiabilitate, 2x cost. Performanța de scriere este echivalentă cu cea a unui singur hard disk. Performanța de citire este mai mare deoarece controlerul poate distribui operațiunile de citire între două discuri.

RAID 10.
Esența acestui nivel este că discurile matricei sunt combinate în perechi în „oglinzi” (RAID 1), iar apoi toate aceste perechi de oglinzi, la rândul lor, sunt combinate într-o matrice comună cu dungi (RAID 0). De aceea, uneori este denumit RAID 1+0. Punct important– RAID 10 poate combina doar un număr par de discuri (minim 4, maxim 16). Avantaje: fiabilitatea este moștenită de la „oglindă”, performanța atât pentru citire, cât și pentru scriere este moștenită de la „zero”.

RAID 1E.
Litera „E” din nume înseamnă „Îmbunătățit”, adică „îmbunătățit”. Principiul acestei îmbunătățiri este următorul: datele sunt „decapate” în blocuri pe toate discurile matricei și apoi „în dungi” din nou cu o schimbare pe un singur disc. RAID 1E poate combina de la trei până la 16 discuri. Fiabilitatea corespunde indicatorilor „zece”, iar performanța devine puțin mai bună datorită „alternanței” mai mari.

RAID 1E0.
Acest nivel este implementat astfel: creăm o matrice „nulă” din matrice RAID1E. Prin urmare, numărul total de discuri trebuie să fie un multiplu de trei: minim trei și maxim șaizeci! În acest caz, este puțin probabil să obținem un avantaj de viteză, iar complexitatea implementării poate afecta negativ fiabilitatea. Principalul avantaj este capacitatea de a combina un număr foarte mare (până la 60) de discuri într-o singură matrice.

Asemănarea tuturor nivelurilor RAID 1X constă în indicatorii lor de redundanță: de dragul fiabilității, exact 50% din capacitatea totală a discurilor matrice este sacrificată.

Acum să vedem ce tipuri există și cum diferă.

Universitatea din California din Berkeley a introdus următoarele niveluri ale specificației RAID, care au fost adoptate ca standard de facto:

  • RAID 0- matrice de discuri performanta cu striping, fara toleranta la erori;
  • - matrice de discuri în oglindă;
  • RAID 2 rezervat pentru matrice care utilizează cod Hamming;
  • RAID 3 și 4- matrice de discuri cu striping și un disc de paritate dedicat;
  • - matrice de discuri cu striping și „disc de paritate nealocat”;
  • - matrice de discuri cu dungi folosind două sume de control, calculat în două moduri independente;
  • - matrice RAID 0 construită din matrice RAID 1;
  • - matrice RAID 0 construită din matrice RAID 5;
  • - Matrice RAID 0 construită din matrice RAID 6.

Un controler RAID hardware poate suporta mai multe matrice RAID diferite simultan, al căror număr total de hard disk-uri nu depășește numărul de conectori pentru acestea. În acest caz, controlerul este încorporat în placa de bază setări BIOS are doar două stări (activat sau dezactivat), deci cel nou HDD, conectat la un conector de controler nefolosit când modul activat Un RAID poate fi ignorat de sistem până când este asociat ca o altă matrice RAID JBOD (spanned) constând dintr-un singur disc.

RAID 0 (dungi - „alternanță”)

Modul folosit pentru a realiza performanță maximă. Datele sunt distribuite uniform pe discurile matricei; discurile sunt combinate într-unul singur, care poate fi împărțit în mai multe. Operațiunile distribuite de citire și scriere pot crește semnificativ viteza de operare, deoarece mai multe discuri citesc/scriu simultan porțiunea lor de date. Utilizatorul are acces la întregul volum de discuri, dar acest lucru reduce fiabilitatea stocării datelor, deoarece dacă unul dintre discuri eșuează, matricea este de obicei distrusă, iar recuperarea datelor este aproape imposibilă. Domeniul de aplicare - aplicații care necesită viteze mari de schimb cu discul, de exemplu captura video, editare video. Recomandat pentru utilizare cu unități extrem de fiabile.

(oglindire - „oglindire”)

o matrice de două discuri care sunt copii complete unul ale celuilalt. A nu se confunda cu matricele RAID 1+0, RAID 0+1 și RAID 10, care utilizează mai mult de două unități și mecanisme de oglindire mai complexe.

Oferă viteză de scriere acceptabilă și crește viteza de citire la paralelizarea interogărilor.

Are fiabilitate ridicată - funcționează atâta timp cât funcționează cel puțin un disc din matrice. Probabilitatea de defectare a două discuri simultan este egală cu produsul probabilităților de defecțiune a fiecărui disc, adică. semnificativ mai mică decât probabilitatea de eșec a unui disc individual. În practică, dacă unul dintre discuri eșuează, trebuie luate măsuri imediate pentru a restabili redundanța. Pentru a face acest lucru, este recomandat să utilizați discuri de rezervă cu orice nivel RAID (cu excepția zero).

O variantă de distribuție a datelor pe discuri, similară cu RAID10, care permite utilizarea unui număr impar de discuri (numărul minim este de 3)

RAID 2, 3, 4

diverse opțiuni de stocare a datelor distribuite cu discuri alocate pentru coduri de paritate și diferite dimensiuni de bloc. În prezent, practic nu sunt folosite din cauza performanțelor scăzute și a necesității de a aloca o mare capacitate de disc pentru stocarea codurilor ECC și/sau de paritate.

Principalul dezavantaj al nivelurilor RAID 2 până la 4 este incapacitatea de a efectua operațiuni de scriere paralelă, deoarece un disc de control separat este folosit pentru a stoca informațiile de paritate. RAID 5 nu are acest dezavantaj. Blocurile de date și sumele de control sunt scrise ciclic pe toate discurile matricei; nu există nicio asimetrie în configurația discului. Sumele de control înseamnă rezultatul unei operații XOR (exclusive sau). Xor are o caracteristică care face posibilă înlocuirea oricărui operand cu rezultatul și prin aplicarea algoritmului xor, obțineți operandul lipsă ca rezultat. De exemplu: a xor b = c(Unde A, b, c- trei discuri ale matricei raid), în caz că A refuză, îl putem obține punându-l la locul lui c iar după cheltuire xorîntre cȘi b: c xor b = a. Acest lucru se aplică indiferent de numărul de operanzi: a xor b xor c xor d = e. Dacă refuză c Apoi e ii ia locul si detinerea xor ca urmare obținem c: a xor b xor e xor d = c. Această metodă oferă în esență versiunea 5 de toleranță la erori. Pentru a stoca rezultatul xor, este necesar doar 1 disc, a cărui dimensiune este egală cu dimensiunea oricărui alt disc din raid.

Avantaje

RAID5 a devenit larg răspândit, în primul rând datorită rentabilității sale. Capacitatea unei matrice de discuri RAID5 este calculată folosind formula (n-1)*hddsize, unde n este numărul de discuri din matrice, iar hddsize este dimensiunea celui mai mic disc. De exemplu, pentru o matrice de patru discuri de 80 de gigaocteți, volumul total va fi (4 - 1) * 80 = 240 de gigaocteți. Scrierea informațiilor pe un volum RAID 5 necesită resurse suplimentare și performanța scade, deoarece sunt necesare calcule și operațiuni de scriere suplimentare, dar la citire (comparativ cu un hard disk separat), există un câștig, deoarece fluxurile de date de pe mai multe discuri din matrice pot fi prelucrate in paralel.

Defecte

Performanța RAID 5 este vizibil mai scăzută, mai ales la operațiuni precum Random Write, în care performanța scade cu 10-25% din performanța RAID 0 (sau RAID 10), deoarece necesită mai multe operațiuni pe disc (fiecare operație scrie, cu cu excepția așa-numitelor scrieri full-stripe, serverul este înlocuit pe controlerul RAID cu patru - două operațiuni de citire și două operațiuni de scriere). Dezavantajele RAID 5 apar atunci când unul dintre discuri eșuează - întregul volum intră în modul critic (degradează), toate operațiunile de scriere și citire sunt însoțite de manipulări suplimentare, iar performanța scade brusc. În acest caz, nivelul de fiabilitate este redus la fiabilitatea RAID-0 cu numărul corespunzător de discuri (adică de n ori mai mic decât fiabilitatea unui singur disc). Dacă, înainte ca matricea să fie complet restaurată, apare o eroare sau apare o eroare de citire irecuperabilă pe cel puțin încă un disc, atunci matricea este distrusă și datele de pe acesta nu pot fi restaurate folosind metode convenționale. De asemenea, trebuie luat în considerare faptul că procesul de Reconstrucție RAID (recuperare a datelor RAID prin redundanță) după o defecțiune a discului provoacă o încărcare intensă de citire de pe discuri timp de multe ore în mod continuu, ceea ce poate cauza defecțiunea oricăruia dintre discurile rămase în perioada cea mai puțin protejată de funcționare RAID, precum și identificarea erorilor de citire nedetectate anterior în matricele de date reci (date care nu sunt accesate atunci când munca regulata matrice, date arhivate și inactive), ceea ce crește riscul de eșec în timpul recuperării datelor.

Numărul minim de discuri utilizate este de trei.

RAID 6 este similar cu RAID 5, dar are un grad mai mare de fiabilitate - capacitatea a 2 discuri este alocată pentru sume de control, 2 sume sunt calculate folosind algoritmi diferiți. Necesită un controler RAID mai puternic. Asigură funcționarea după defecțiunea simultană a două discuri - protecție împotriva defecțiunilor multiple. Sunt necesare minimum 4 discuri pentru a organiza matricea. De obicei, utilizarea RAID-6 provoacă o scădere cu aproximativ 10-15% a performanței grupului de discuri în raport cu RAID 5, care este cauzată de cantitatea mare de procesare pentru controler (nevoia de a calcula o a doua sumă de control, precum și de citire și rescrie). mai multe blocuri de disc la scrierea fiecărui bloc).

RAID 0+1

RAID 0+1 poate însemna practic două opțiuni:

  • două RAID 0 sunt combinate în RAID 1;
  • trei sau mai multe discuri sunt combinate într-o matrice și fiecare bloc de date este scris pe două discuri ale acestei matrice; Astfel, cu această abordare, ca și în RAID 1 „pur”, volumul util al matricei este jumătate din volumul total al tuturor discurilor (dacă sunt discuri de aceeași capacitate).

RAID 10 (1+0)

RAID 10 este o matrice oglindă în care datele sunt scrise secvenţial pe mai multe discuri, cum ar fi RAID 0. Această arhitectură este o matrice de tip RAID 0, ale cărei segmente sunt matrice RAID 1 în loc de discuri individuale. În consecinţă, o matrice din acest tip nivelul trebuie să conțină cel puțin 4 discuri (și întotdeauna un număr par). RAID 10 combină toleranța ridicată la erori și performanța.

Afirmația că RAID 10 este cea mai fiabilă opțiune pentru stocarea datelor este destul de justificată de faptul că matricea va fi dezactivată după defecțiunea tuturor unităților din aceeași matrice. Dacă o unitate se defectează, șansa de defecțiune a celei de-a doua în aceeași matrice este 1/3*100=33%. RAID 0+1 va eșua dacă două unități eșuează în matrice diferite. Șansa de defecțiune a unei unități dintr-o matrice învecinată este de 2/3*100=66%, totuși, deoarece o unitate dintr-o matrice cu o unitate deja defectată nu mai este utilizată, șansa ca următoarea unitate să eșueze întregul array este 2/2 *100=100%

o matrice similară cu RAID5, cu toate acestea, pe lângă stocarea distribuită a codurilor de paritate, se utilizează distribuția zonelor de rezervă - de fapt, se folosește un hard disk, care poate fi adăugat la matricea RAID5 ca rezervă (astfel de matrice sunt numite 5+ sau 5+ de rezervă). Într-o matrice RAID 5, discul de rezervă este inactiv până când unul dintre hard disk-urile principale se defectează, în timp ce într-o matrice RAID 5EE, acest disc este partajat tot timpul cu restul HDD-urilor, ceea ce are un efect pozitiv asupra performanței matricea. De exemplu, o matrice RAID5EE de 5 HDD-uri va putea efectua cu 25% mai multe operațiuni I/O pe secundă decât o matrice RAID5 de 4 HDD primare și unul de rezervă. Numărul minim de discuri pentru o astfel de matrice este 4.

combinând două (sau mai multe, dar acest lucru este extrem de rar utilizat) matrice RAID5 într-o bandă, de ex. o combinație de RAID5 și RAID0, care corectează parțial principalul dezavantaj al RAID5 - viteza scăzută de scriere a datelor datorită utilizării paralele a mai multor astfel de matrice. Capacitatea totală a matricei este redusă de capacitatea a două discuri, dar, spre deosebire de RAID6, o astfel de matrice poate tolera eșecul unui singur disc fără pierderi de date, iar numărul minim necesar de discuri pentru a crea o matrice RAID50 este de 6. Alături de RAID10, acesta este cel mai recomandat nivel RAID de utilizat în aplicațiile în care este necesară o performanță ridicată combinată cu o fiabilitate acceptabilă.

combinând două matrice RAID6 într-o bandă. Viteza de scriere este aproximativ dublată în comparație cu viteza de scriere în RAID6. Numărul minim de discuri pentru a crea o astfel de matrice este 8. Informațiile nu se pierd dacă două discuri din fiecare matrice RAID 6 eșuează.

Există o mulțime de articole pe Internet care descriu RAID. De exemplu, acesta descrie totul în detaliu. Dar, ca de obicei, nu este suficient timp pentru a citi totul, așa că aveți nevoie de ceva scurt pentru a înțelege - dacă este necesar sau nu și ce este mai bine să utilizați în legătură cu lucrul cu un DBMS (InterBase, Firebird sau altceva - este chiar nu contează). În fața ochilor tăi este exact un astfel de material.

Într-o primă aproximare, RAID este o combinație de discuri într-o singură matrice. SATA, SAS, SCSI, SSD - nu contează. În plus, aproape fiecare placă de bază obișnuită acceptă acum SATA RAID. Să trecem prin lista cu ce sunt RAID-urile și de ce sunt. (Aș dori să observ imediat că în RAID trebuie să combinați discuri identice. Consolidarea discurilor din diferiți producători, de la unul dar tipuri diferite, sau diferite dimensiuni - acest lucru este răsfăț pentru o persoană care stă pe un computer de acasă).

RAID 0 (stripe)

În linii mari, aceasta este o combinație secvențială de două (sau mai multe) discuri fizice într-un singur disc „fizic”. Este potrivit doar pentru organizarea de spații uriașe pe disc, de exemplu, pentru cei care lucrează cu editare video. Nu are rost să păstrezi baze de date pe astfel de discuri - de fapt, chiar dacă baza ta de date are o dimensiune de 50 de gigaocteți, atunci de ce ai cumpărat două discuri de 40 de gigaocteți fiecare, și nu de 1 pe 80 de gigaocteți? Cel mai rău lucru este că în RAID 0, orice defecțiune a unuia dintre discuri duce la inoperabilitatea completă a unui astfel de RAID, deoarece datele sunt scrise alternativ pe ambele discuri și, în consecință, RAID 0 nu are mijloace de recuperare în caz de defecțiuni.

Desigur, RAID 0 oferă performanțe mai rapide datorită striping-ului de citire/scriere.

RAID 0 este adesea folosit pentru a găzdui fișiere temporare.

RAID 1 (oglindă)

Oglindirea discului. Dacă Shadow în IB/FB este oglindirea software (consultați Ghidul de operații.pdf), atunci RAID 1 este oglindirea hardware și nimic mai mult. Vă interziceți să utilizați oglindirea software folosind instrumente OS sau software terță parte. Aveți nevoie fie de un „fier” RAID 1, fie de umbră.

Dacă apare o defecțiune, verificați cu atenție ce disc a eșuat. Cel mai frecvent caz de pierdere a datelor pe RAID 1 este acțiunile incorecte în timpul recuperării (discul greșit este specificat ca „întreg”).

În ceea ce privește performanța - câștigul pentru scriere este 0, pentru citire - poate de până la 1,5 ori, deoarece citirea se poate face „în paralel” (alternativ de pe discuri diferite). Pentru baze de date, accelerația este mică, în timp ce atunci când accesați diferite (!) părți (fișiere) ale discului în paralel, accelerația va fi absolut precisă.

RAID 1+0

Prin RAID 1+0 se înțelege opțiunea RAID 10, când două RAID 1 sunt combinate în RAID 0. Opțiunea când două RAID 0 sunt combinate în RAID 1 se numește RAID 0+1, iar „în afara” este același RAID 10 .

RAID 2-3-4

Aceste RAID-uri sunt rare pentru că folosesc coduri Hamming, sau byte blocking + checksums, etc., dar rezumatul general este că aceste RAID-uri oferă doar fiabilitate, cu o creștere a performanței 0 și uneori chiar și deteriorarea acesteia.

RAID 5

Este nevoie de minim 3 discuri. Datele de paritate sunt distribuite pe toate discurile din matrice

De obicei se spune că „RAID5 folosește acces independent la disc, deci solicită diferite discuri poate fi executat în paralel." Trebuie avut în vedere că vorbim, desigur, despre solicitări I/O paralele. Dacă astfel de solicitări merg secvenţial (în SuperServer), atunci bineînţeles că nu veţi obţine efectul accesului paralel. pe RAID 5. Desigur, RAID5 va oferi o creștere a performanței dacă sistemul de operare și alte aplicații funcționează cu matricea (de exemplu, va conține memorie virtuala, TEMP etc.).

În general, RAID 5 era cea mai frecvent utilizată matrice de discuri pentru lucrul cu SGBD-uri. Acum o astfel de matrice poate fi organizată pe unități SATA și va fi semnificativ mai ieftină decât pe SCSI. Puteți vedea prețuri și controlori în articole
Mai mult, ar trebui să acordați atenție volumului de discuri achiziționate - de exemplu, într-unul dintre articolele menționate, RAID5 este asamblat din 4 discuri cu o capacitate de 34 gigaocteți, în timp ce volumul „discului” este de 103 gigaocteți.

Testarea a cinci controlere SATA RAID - http://www.thg.ru/storage/20051102/index.html.

Adaptec SATA RAID 21610SA în matrice RAID 5 - http://www.ixbt.com/storage/adaptec21610raid5.shtml.

De ce RAID 5 este rău - https://geektimes.ru/post/78311/

Atenţie! La achiziționarea de discuri pentru RAID5, de obicei iau 3 discuri, cel puțin (cel mai probabil din cauza prețului). Dacă brusc, în timp, unul dintre discuri se defectează, atunci poate apărea o situație în care nu este posibilă achiziționarea unui disc asemănător cu cele folosite (nu mai sunt produse, temporar epuizate etc.). Prin urmare mai mult idee interesanta Se pare că cumpărați 4 discuri, organizați un RAID5 de trei și conectați cel de-al 4-lea disc ca backup (pentru backup-uri, alte fișiere și alte nevoi).

Volumul unei matrice de discuri RAID5 este calculat folosind formula (n-1)*hddsize, unde n este numărul de discuri din matrice și hddsize este dimensiunea unui disc. De exemplu, pentru o matrice de 4 discuri de 80 de gigaocteți, volumul total va fi de 240 de gigaocteți.

Există o întrebare despre „nepotrivirea” RAID5 pentru baze de date. Cel puțin, se poate vedea din punctul de vedere că pentru a obține performanțe RAID5 bune, trebuie să folosiți un controler specializat, și nu ceea ce este inclus implicit pe placa de bază.

Articolul RAID-5 trebuie să moară. Și mai multe despre pierderea de date pe RAID5.

Notă.Începând cu 09/05/2005, costul unei unități SATA Hitachi de 80 Gb este de 60 USD.

RAID 10, 50

Urmează combinațiile dintre opțiunile enumerate. De exemplu, RAID 10 este RAID 0 + RAID 1. RAID 50 este RAID 5 + RAID 0.

Interesant este că combinația RAID 0+1 se dovedește a fi mai proastă din punct de vedere al fiabilității decât RAID5. Serviciul de reparare a bazei de date are un caz de defecțiune a unui disc în sistemul RAID0 (3 discuri) + RAID1 (încă 3 discuri din aceleași discuri). În același timp, RAID1 nu a putut „ridică” discul de rezervă. Baza s-a dovedit a fi deteriorată fără nicio șansă de reparație.

RAID 0+1 necesită 4 unități, iar RAID 5 necesită 3. Gândiți-vă la asta.

RAID 6

Spre deosebire de RAID 5, care folosește paritatea pentru a proteja datele împotriva erorilor simple, RAID 6 folosește aceeași paritate pentru a proteja împotriva erorilor duble. În consecință, procesorul este mai puternic decât în ​​RAID 5 și nu 3, dar sunt necesare cel puțin 5 discuri (trei discuri de date și 2 discuri de paritate). Mai mult, numărul de discuri din raid6 nu are aceeași flexibilitate ca în raid 5 și trebuie să fie egal cu un număr simplu (5, 7, 11, 13 etc.)

Să presupunem că două discuri eșuează în același timp, dar un astfel de caz este foarte rar.

Nu am văzut date despre performanța RAID 6 (nu m-am uitat), dar s-ar putea ca din cauza controlului redundant, performanța să fie la nivelul RAID 5.

Reconstruiește timpul

Orice matrice RAID care rămâne operațională dacă o unitate se defectează are un concept numit timpul de reconstruire. Desigur, atunci când înlocuiți un disc mort cu unul nou, controlerul trebuie să organizeze funcționarea noului disc în matrice, iar acest lucru va dura ceva timp.

Când „conectați” un disc nou, de exemplu, pentru RAID 5, controlerul poate permite funcționarea matricei. Dar viteza matricei în acest caz va fi foarte mică, cel puțin pentru că, chiar dacă noul disc este umplut „liniar” cu informații, scrierea pe acesta va „distrage” controlerul și capetele de disc de la operațiunile de sincronizare cu restul discurile matricei.

Timpul necesar pentru a restabili matricea la funcționarea normală depinde direct de capacitatea discului. De exemplu, Sun StorEdge 3510 FC Array cu o dimensiune a matricei de 2 terabytes în modul exclusiv realizează o reconstrucție în 4,5 ore (la un preț hardware de aproximativ 40.000 USD). Prin urmare, atunci când organizați o matrice și planificați recuperarea în caz de dezastru, trebuie să vă gândiți în primul rând la timpul de reconstrucție. Dacă baza de date și copiile de rezervă nu ocupă mai mult de 50 de gigaocteți, iar creșterea anuală este de 1-2 gigaocteți, atunci nu are sens să asamblați o serie de discuri de 500 de gigaocteți. 250 GB vor fi de ajuns și chiar și pentru raid5 vor fi cel puțin 500 GB spațiu pentru a găzdui nu numai baza de date, ci și filme. Dar timpul de reconstrucție pentru discuri de 250 GB va fi de aproximativ 2 ori mai mic decât pentru discuri de 500 GB.

rezumat

Se pare că cel mai important lucru este să utilizați fie RAID 1, fie RAID 5. Cu toate acestea, cel mai greseala comuna, ceea ce face aproape toată lumea este să folosească RAID „pentru orice”. Adică instalează un RAID, îngrămădesc tot ce au pe el și... obțin în cel mai bun caz fiabilitate, dar nicio îmbunătățire a performanței.

Cache-ul de scriere nu este deseori activat, drept urmare scrierea într-un raid este mai lentă decât scrierea pe un singur disc obișnuit. Cert este că pentru majoritatea controlerelor această opțiune este dezactivată implicit, deoarece... Se crede că pentru a-l activa, este de dorit să existe cel puțin o baterie pe controlerul raid, precum și prezența unui UPS.

Text
Vechiul articol hddspeed.htmLINK (și doc_calford_1.htmLINK) arată cum puteți obține câștiguri semnificative de performanță folosind mai multe discuri fizice, chiar și pentru un IDE. În consecință, dacă organizați un RAID, puneți baza pe el și faceți restul (temp, OS, disc virtual) pe alte hard disk-uri. La urma urmei, la fel, RAID în sine este un „disc”, chiar dacă este mai fiabil și mai rapid.
declarat invechit. Toate cele de mai sus au dreptul de a exista pe RAID 5. Cu toate acestea, înainte de o astfel de plasare, trebuie să aflați cum puteți face backup/restaurare sistem de operare, și cât timp va dura, cât va dura pentru a restabili discul „mort”, există (va) un disc la îndemână pentru a-l înlocui pe cel „mort” și așa mai departe, adică va trebui să știți în avans răspunsurile la cele mai elementare întrebări despre cazul defecțiunii sistemului.

Vă sfătuiesc în continuare să păstrați sistemul de operare pe o unitate SATA separată, sau, dacă preferați, pe două unități SATA conectate în RAID 1. În orice caz, plasând sistemul de operare pe un RAID, trebuie să vă planificați acțiunile dacă placa de bază se oprește brusc placă de lucru - uneori transferul de discuri raid array pe o altă placă de bază (chipset, controler raid) este imposibil din cauza incompatibilității parametrilor raid impliciti.

Amplasarea bazei, umbrei și backupului

În ciuda tuturor avantajelor RAID, nu este strict recomandat, de exemplu, să faceți o copie de rezervă pe aceeași unitate logică. Acest lucru nu numai că are un efect negativ asupra performanței, dar poate duce și la probleme cu lipsa spațiului liber (pe baze de date mari) - la urma urmei, în funcție de date, fișierul de rezervă poate fi echivalent cu dimensiunea bazei de date. , și chiar mai mare. Efectuarea unei copii de rezervă pe același disc fizic este încă în regulă, deși cel mai mult cea mai buna varianta- backup pe un hard disk separat.

Explicația este foarte simplă. Backup este citirea datelor dintr-un fișier de bază de date și scrierea într-un fișier de rezervă. Dacă toate acestea se întâmplă fizic pe o unitate (chiar și RAID 0 sau RAID 1), atunci performanța va fi mai slabă decât dacă citiți de pe o unitate și scrieți pe alta. Beneficiul acestei separări este și mai mare atunci când backup-ul se face în timp ce utilizatorii lucrează cu baza de date.

Același lucru este valabil și pentru umbră - nu are rost să punem umbră, de exemplu, pe RAID 1, în același loc cu baza de date, chiar și pe unități logice diferite. Dacă umbră este prezentă, serverul scrie pagini de date atât în ​​fișierul bazei de date, cât și în fișierul umbră. Adică, în loc de o operație de scriere, sunt efectuate două. Când împărțiți baza și umbra pe diferite discuri fizice, performanța de scriere va fi determinată de cel mai lent disc.

Dacă vrei să dublezi performanța sistemului tău de operare, atunci articolul nostru este pentru tine!

Indiferent cât de puternic este computerul tău, acesta mai are o verigă slabă: hard disk-ul, singurul dispozitiv din unitatea de sistem care are mecanică înăuntru. Toată puterea procesorului tău și 16 GB memorie cu acces aleator va fi anulat de principiul de funcționare învechit al unui HDD convențional. Nu degeaba un computer este comparat cu o sticlă și un hard disk la gât. Indiferent câtă apă este în sticlă, aceasta se va turna printr-un gât îngust.

Există două moduri cunoscute de a vă accelera computerul, prima este să cumpărați un SSD scump, iar al doilea este să profitați la maximum de placa de baza, și anume, configurați o matrice RAID 0 de două hard disk-uri. Apropo, cine ne oprește să creăm Matrice RAID 0 de două SSD-uri!

Cum se configurează o matrice RAID 0 și se instalează Windows 10 pe ea. Sau cum se dublează performanța unui sistem de discuri

După cum ați ghicit, articolul de astăzi este despre crearea și configurarea unei matrice de discuri RAID 0 constând de pe două hard disk-uri. L-am conceput acum cativa ani si am achizitionat special doua noi. hard disk SATA III (6 Gbit/s) 250 GB, dar din cauza complexității acestui subiect pentru utilizatorii începători, a trebuit să fie amânat. Astăzi, când capacitățile plăcilor de bază moderne au atins un astfel de nivel de funcționalitate încât până și un începător poate crea o matrice RAID 0, revin cu mare plăcere la acest subiect.

Notă: Pentru a crea o matrice RAID 0, puteți lua discuri de orice dimensiune, de exemplu 1 TB. În articol, pentru exemplu simplu, au fost luate două discuri de 250 GB, deoarece nu existau discuri libere de o dimensiune diferită la îndemână.

Este important pentru toți pasionații de computere să știe că RAID 0 („striping” sau „striping”) este o matrice de discuri de două sau mai multe hard disk-uri fără redundanță. Această expresie poate fi tradusă în limba rusă obișnuită după cum urmează: atunci când instalați două sau mai multe hard disk-uri într-o unitate de sistem (de preferință de aceeași dimensiune și de la același producător) și combinați-le într-o matrice de discuri RAID 0, informațiile despre aceste unități sunt scrise /read simultan, ceea ce dublează performanța discului. Singura condiție este ca placa ta de bază să suporte Tehnologia RAID 0 (în prezent, aproape toate plăcile de bază acceptă crearea de matrice raid).

Un cititor atent se poate întreba: „Ce este lipsa de redundanță?”

Răspuns. Tehnologia de virtualizare a datelor RAID este concepută în primul rând pentru securitatea datelor și începe cu , care oferă o fiabilitate dublă (datele sunt scrise în două hard disk-uriîn paralel, iar dacă un hard disk se defectează, toate informațiile rămân în siguranță pe celălalt HDD). Deci, tehnologia RAID 0 nu scrie date în paralel pe două hard disk-uri; RAID 0 sparge informațiile în blocuri de date atunci când scrie și le scrie pe mai multe hard disk-uri simultan, din acest motiv, performanța operațiunilor de disc se dublează, dar dacă există hard disk toate informațiile de pe al doilea HDD se pierd.

Acesta este motivul pentru care creatorii tehnologiei de virtualizare RAID, Randy Katz și David Patterson, nu au considerat RAID 0 ca fiind un nivel RAID și l-au numit „0”, deoarece nu este sigur din cauza lipsei de redundanță.

Prieteni, dar sunt de acord cu asta hard disk-uri nu se defectează în fiecare zi și, în al doilea rând, cu două HDD-uri combinate într-o matrice RAID 0, puteți lucra ca un simplu hard disk, adică dacă faci periodic un sistem de operare, atunci te vei asigura împotriva posibile probleme 100%

Deci, înainte de a crea o matrice RAID 0, vă sugerez să instalați unul dintre cele două noi hard disk-uriSATA III (6 Gb/s) în unitatea de sistem și verificați viteza de citire-scriere cu utilitareCrystalDiskMark și ATTO Disk Benchmark. După creațieVom verifica din nou matricea RAID 0 și instalarea Windows 10 pe eatestați viteza de citire/scriere folosind aceleași utilitare și vedeți dacă această tehnologie va crește efectiv performanța sistemului nostru de operare.

Pentru a realiza experimentul, vom lua o mamă departe de proaspătă Placa ASUS P8Z77-V PRO construit pe chipset-ul Intel Z77 Express. Avantajele plăcilor de bază construite pe chipset-urile Intel Z77, Z87 și mai noi H87, B87 constă în tehnologia avansată Intel Rapid Storage Technology (RST), care este special concepută pentru matrice RAID 0, chiar și de pe SSD-uri.

Conectăm hard diskul SATA III WDC WD2500AAKX de 250 GB la portul de mare viteză pe placa de baza si porniti calculatorul.

Programele noastre.

Privind în viitor, voi spune că rezultatele testelor sunt destul de normale pentru un HDD obișnuit cu cea mai modernă interfață SATA III.

CrystalDiskMark

Este cel mai vechi program pentru a testa performanța hard disk-urilor, puteți descărca pe mine Stocare in cloud, link https://cloud.mail.ru/public/6kHF/edWWJwfxa

Programul efectuează un test de citire/scriere aleatorie și secvențială pe hard disk în blocuri de 512 și 4 kB.

Selectați unitatea dorită, de exemplu HDD-ul nostru sub litera C: și faceți clic pe Toate.

Rezultatul final. Viteza maxima scrierea informațiilor pe hard disk a ajuns la 104 MB/s, viteza de citire - 125 MB/s.

ATTO Disk Benchmark

Rezultatul final. A fost atinsă viteza maximă de scriere a informațiilor pe un hard disk 119 Mb/s, viteza de citire - 121 Mb/s.

Ei bine, acum ne-am configurat matricea RAID 0 în BIOS și instalăm sistemul de operare Windows 10 pe ea.

Configurarea unei matrice RAID 0

Conectăm două hard disk-uri SATA III identice (250 GB) la placa noastră de bază: WDC WD2500AAKX-00ERMA0 și WDC WD2500AAKX-001CA0.

Placa noastră de bază are 4 porturi SATA III (6 Gbit/s), vom folosi nr. 5 și nr. 6


Porniți computerul și intrați în BIOS apăsând tasta DEL în timpul pornirii.

Accesați fila Avansat, opțiunea Configurare SATA.

Setați opțiunea SATA Mode Selection la RAID

Pentru a salva modificările, apăsați F10 și selectați Da. O repornire este în curs.

Dacă ați activat tehnologia RAID în BIOS, atunci data viitoare când porniți, ecranul monitorului vă va solicita să apăsați comanda rapidă de la tastatură ( CTRL-I), pentru a intra în Panoul de control al configurației RAID.

Această fereastră afișează, de asemenea, hard disk-urile noastre WDC conectate la porturile 4 și 5, care nu sunt încă într-o matrice RAID (Disc Non-RAID). Apăsați CTRL-I și intrați în panoul de setări.


În fereastra inițială a panoului, avem nevoie de prima filă Creați un volum RAID; pentru a o introduce, apăsați Enter.

Aici facem setările de bază ale viitoarei noastre matrice RAID 0.

Nume : (numele matricei RAID).

Apăsați bara de spațiu și introduceți un nume.

Lăsați-l să fie „RAID 0 new” și apăsați Enter. Deplasați-vă în jos folosind tasta Tab.

Nivel RAID: (Nivel RAID).

Creăm RAID 0 (stripe) - matrice de discuri de două hard disk-uri fără redundanță. Selectați acest nivel folosind tastele săgeți de pe tastatură și apăsați Enter.

Derulați în jos folosind tasta Tab.

Dimensiune dungi:

Să o lăsăm așa cum este.

Capacitate: (volum)

Setați automat. Capacitatea celor două hard disk-uri este de 500 GB, deoarece folosim RAID nivelul 0 (stripe) și cele două hard disk-uri funcționează ca unul singur. Faceți clic pe Enter.

Nu modificăm nimic altceva și trecem la ultimul element Creare volum și apăsăm Enter.

Apare un avertisment:

AVERTISMENT: TOATE DATELE DE PE DISCURILE SELECTATE SE VOR PIERDE.

Sigur doriți să creați acest volum? (Da/Nu):

AVERTISMENT: TOATE DATELE de pe unitățile selectate se vor pierde.

Sigur doriți să creați acest volum? (Da/Nu):

Apăsați Y (Da) de pe tastatură.

Matricea RAID 0 a fost creată și funcționează deja, cu starea Normală. Pentru a ieși din panoul de setări, apăsați tasta Esc de pe tastatură.

Sigur doriți să ieșiți? Apăsați Y (Da). Are loc o repornire.

Acum, de fiecare dată când porniți computerul, pe ecranul monitorului vor apărea timp de câteva secunde informații despre starea matricei noastre RAID 0 și un prompt pentru a apăsa combinația de taste (CTRL-I) pentru a intra în panoul de control al configurației RAID.

Instalarea Windows 10 pe o matrice RAID 0

Conectați-vă la nostru unitate de sistem, reporniți computerul, intrați în BIOS și schimbați prioritatea de pornire pe unitatea flash. Sau puteți pur și simplu să intrați în meniul de pornire al computerului și să selectați boot din instalare Unități flash Windows 10 (în cazul nostru Kingston). În meniul de boot puteți vedea matricea RAID 0 pe care am creat-o cu numele „RAID 0 new”.

Instalare.

Personalizat: numai Instalare Windows(Pentru utilizatori experimentați)

Puteți crea partiții în această fereastră sau faceți-o după instalarea sistemului de operare, nu contează.

Windows 10 este instalat pe o matrice RAID 0.

Să mergem la Gestionarea discurilor. sala de operatie sistem Windows 10 vede spațiul celor două hard disk-uri ale noastre 250 GB fiecare ca un hard disk de 500 GB.

Manager de dispozitiv. Dispozitivele de disc conțin matricea noastră RAID 0.

Ei bine, acum, cel mai important, efectuăm teste de viteză ale matricei RAID 0.

CrystalDiskMark

Viteza maximă de scriere a informațiilor pe hard disk a ajuns la 186 MB/s, viteza de citire - 248 MB/s.

În articolul următor vom crea RAID 0 din stare solidă Unități SSDși depășesc semnificativ debitului cea mai modernă și mai rapidă interfață SATA 6 Gb/s.

Schimbarea focalizării de la aplicații centrate pe procesor la aplicații centrate pe date determină importanța crescută a sistemelor de stocare a datelor. În același timp, problema debitului scăzut și a toleranței la erori caracteristice unor astfel de sisteme a fost întotdeauna destul de importantă și a necesitat întotdeauna o soluție.

În industria computerelor moderne, discurile magnetice sunt utilizate pe scară largă ca sistem secundar de stocare a datelor, deoarece, în ciuda tuturor deficiențelor lor, au cele mai bune caracteristici pentru tipul adecvat de dispozitiv la un preț accesibil.

Caracteristicile tehnologiei de construire a discurilor magnetice au condus la o discrepanță semnificativă între creșterea performanței modulelor de procesor și discurile magnetice în sine. Dacă în 1990 cele mai bune dintre cele seriale erau unitățile de 5,25 inchi cu un timp mediu de acces de 12 ms și un timp de latență de 5 ms (la o viteză a axului de aproximativ 5.000 rpm 1), atunci astăzi palma aparține unităților de 3,5 inchi cu un timp mediu de acces de 5 ms și timp de întârziere 1 ms (la viteza axului 10.000 rpm). Aici vedem o îmbunătățire caracteristici tehnice cu o cantitate de aproximativ 100%. În același timp, performanța procesorului a crescut cu peste 2.000%. Acest lucru este în mare măsură posibil deoarece procesoarele au beneficiile directe ale utilizării VLSI (Very Large Scale Integration). Utilizarea acestuia nu numai că face posibilă creșterea frecvenței, ci și a numărului de componente care pot fi integrate în cip, ceea ce face posibilă introducerea de avantaje arhitecturale care permit calculul paralel.

1 - Date medii.

Situația actuală poate fi caracterizată ca o criză secundară de I/O a sistemului de stocare.

Creșterea performanței

Imposibilitatea creșterii semnificative a parametrilor tehnologici ai discurilor magnetice atrage după sine necesitatea căutării altor căi, dintre care una este procesarea paralelă.

Dacă aranjați un bloc de date pe N discuri ale unei matrice și organizați această plasare astfel încât să fie posibilă citirea simultană a informațiilor, atunci acest bloc poate fi citit de N ori mai repede (fără a lua în considerare timpul de formare a blocului). Deoarece toate datele sunt transferate în paralel, această soluție arhitecturală este numită matrice cu acces paralel(matrice cu acces paralel).

Matricele paralele sunt utilizate de obicei pentru aplicații care necesită transferuri mari de date.

Unele sarcini, dimpotrivă, sunt tipice o cantitate mare cereri mici. Astfel de sarcini includ, de exemplu, sarcini de procesare a bazei de date. Distribuind înregistrările bazei de date pe matrice de discuri, puteți distribui încărcătura poziționând discurile în mod independent. Această arhitectură este de obicei numită matrice cu acces independent(matrice cu acces independent).

Creșterea toleranței la erori

Din păcate, pe măsură ce numărul de discuri dintr-o matrice crește, fiabilitatea întregii matrice scade. Cu defecțiuni independente și o lege de distribuție exponențială a timpului între defecțiuni, MTTF-ul întregului array (timpul mediu până la eșec) este calculat folosind formula MTTF array = MMTF hdd /N hdd (MMTF hdd este timpul mediu până la eșec al unui disc). ; NHDD este numărul de discuri).

Astfel, este nevoie de creșterea toleranței la erori a matricelor de discuri. Pentru a crește toleranța la erori a matricelor, se utilizează codare redundantă. Există două tipuri principale de codare care sunt utilizate în matricele de discuri redundante - duplicarea și paritatea.

Duplicarea sau oglindirea este cel mai adesea folosită în matricele de discuri. Sistemele simple de oglindă folosesc două copii ale datelor, fiecare copie fiind localizată pe discuri separate. Această schemă este destul de simplă și nu necesită costuri suplimentare de hardware, dar are un dezavantaj semnificativ - folosește 50% din spațiul pe disc pentru a stoca o copie a informațiilor.

A doua modalitate de a implementa matrice de discuri redundante este de a folosi codificarea redundantă folosind calculul de paritate. Paritatea este calculată prin XORing toate caracterele din cuvântul de date. Utilizarea parității în matricele de discuri redundante reduce supraîncărcarea la o valoare calculată prin formula: HP hdd =1/N hdd (HP hdd - overhead; N hdd - numărul de discuri din matrice).

Istoria și dezvoltarea RAID

Deși sistemele de stocare bazate pe discuri magnetice, sunt produse de 40 de ani; producția în masă a sistemelor tolerante la erori a început destul de recent. Matricele de discuri redundante, numite în mod obișnuit RAID (matrice redundante de discuri ieftine), au fost introduse de cercetătorii (Petterson, Gibson și Katz) de la Universitatea din California, Berkeley în 1987. Dar sistemele RAID s-au răspândit numai atunci când discurile care erau potrivite pentru utilizare în matrice redundante au devenit disponibile și suficient de productive. De la cartea albă despre RAID din 1988, cercetările în matricele de discuri redundante au explodat în încercarea de a oferi o gamă largă de compromisuri cost-performanță-fiabilitate.

La un moment dat a avut loc un incident cu abrevierea RAID. Cert este că, la momentul scrierii acestui articol, toate discurile care erau folosite în PC-uri erau numite discuri ieftine, spre deosebire de discuri scumpe pentru mainframe (calculatoare mainframe). Dar pentru utilizarea în matrice RAID, a fost necesar să se utilizeze echipamente destul de scumpe în comparație cu alte configurații de PC, așa că RAID a început să fie descifrat ca matrice redundantă de discuri independente 2 - o matrice redundantă de discuri independente.

2 - Definiția Consiliului Consultativ RAID

RAID 0 a fost introdus de industrie ca definiție a unei matrice de discuri fără toleranță la erori. Berkeley a definit RAID 1 ca o matrice de discuri în oglindă. RAID 2 este rezervat matricelor care folosesc cod Hamming. Nivelurile RAID 3, 4, 5 folosesc paritatea pentru a proteja datele de erori individuale. Aceste niveluri, inclusiv nivelul 5, au fost prezentate la Berkeley, iar această taxonomie RAID a fost adoptată ca standard de facto.

Nivelurile RAID 3,4,5 sunt destul de populare și au o utilizare bună a spațiului pe disc, dar au un dezavantaj semnificativ - sunt rezistente doar la defecțiuni individuale. Acest lucru este valabil mai ales atunci când se utilizează un număr mare de discuri, când crește probabilitatea unui timp de nefuncționare simultan a mai multor dispozitive. În plus, ele se caracterizează printr-o recuperare îndelungată, care impune și unele restricții privind utilizarea lor.

Astăzi, a fost dezvoltat un număr destul de mare de arhitecturi care asigură funcționarea matricei chiar și cu defecțiunea simultană a oricăror două discuri fără pierderi de date. Dintre întregul set, este de remarcat paritatea bidimensională și EVENODD, care utilizează paritatea pentru codare, și RAID 6, care utilizează codificarea Reed-Solomon.

Într-o schemă care utilizează paritatea în spațiu dublu, fiecare bloc de date participă la construirea a două cuvinte de cod independente. Astfel, dacă un al doilea disc din același cuvânt de cod eșuează, un cuvânt de cod diferit este folosit pentru a reconstrui datele.

Redundanța minimă într-o astfel de matrice se realizează cu un număr egal de coloane și rânduri. Și este egal cu: 2 x Pătrat (N Disc) (în „pătrat”).

Dacă matricea cu două spații nu este organizată într-un „pătrat”, atunci când se implementează schema de mai sus, redundanța va fi mai mare.

Arhitectura EVENODD are o schemă de toleranță la erori similară cu paritatea în spațiu dublu, dar o plasare diferită a blocurilor de informații care garantează utilizarea minimă a capacității redundante. Ca și în paritatea în spațiu dublu, fiecare bloc de date participă la construirea a două cuvinte de cod independente, dar cuvintele sunt plasate în așa fel încât coeficientul de redundanță să fie constant (spre deosebire de schema anterioară) și să fie egal cu: 2 x Pătrat (N Disc).

Folosind două caractere de verificare, coduri paritate și non-binare, cuvântul de date poate fi proiectat pentru a oferi toleranță la erori atunci când apare o eroare dublă. Acest design este cunoscut sub numele de RAID 6. Codul non-binar, construit pe codarea Reed-Solomon, este de obicei calculat folosind tabele sau ca proces iterativ folosind registre liniare Cu părere, care este o operațiune relativ complexă care necesită hardware specializat.

Având în vedere că utilizarea opțiunilor RAID clasice, care oferă suficientă toleranță la erori pentru multe aplicații, are adesea performanțe inacceptabil de scăzute, cercetătorii implementează din când în când diverse mișcări care ajută la creșterea performanței sistemelor RAID.

În 1996, Savage și Wilks au propus AFRAID - A Frequently Redundant Array of Independent Disks. Această arhitectură sacrifică într-o oarecare măsură toleranța la erori pentru performanță. În încercarea de a compensa problema de scriere mică tipică a matricelor RAID de nivel 5, este posibil să lăsați striping fără calculul de paritate pentru o anumită perioadă de timp. Dacă discul desemnat pentru înregistrarea cu paritate este ocupat, înregistrarea cu paritate este întârziată. S-a dovedit teoretic că o reducere cu 25% a toleranței la erori poate crește performanța cu 97%. AFRAID schimbă efectiv modelul de defecțiuni al matricelor cu toleranță la erori, deoarece un cuvânt de cod care nu are paritate actualizată este susceptibil la defecțiuni ale discului.

În loc să sacrificați toleranța la erori, puteți utiliza tehnici tradiționale de performanță, cum ar fi stocarea în cache. Având în vedere că traficul pe disc este intens, puteți utiliza un cache de scriere inversă pentru a stoca date atunci când discurile sunt ocupate. Și dacă memoria cache este realizată sub formă de memorie nevolatilă, atunci, în cazul unei pene de curent, datele vor fi salvate. În plus, operațiunile pe disc amânate fac posibilă combinarea aleatorie a blocurilor mici pentru a efectua operațiuni mai eficiente pe disc.

Există, de asemenea, multe arhitecturi care sacrifică volumul pentru a crește performanța. Printre acestea se numără modificarea întârziată pe discul de jurnal și diverse scheme de modificare a plasării logice a datelor în cel fizic, care vă permit să distribuiți operațiunile în matrice mai eficient.

Una dintre variante - înregistrarea de paritate(înregistrare de paritate), care implică rezolvarea problemei de scriere mică și utilizarea mai eficientă a discurilor. Înregistrarea parității amână modificările de paritate la RAID 5 prin înregistrarea lor într-un jurnal FIFO, care se află parțial în memoria controlerului și parțial pe disc. Având în vedere că accesarea unei piese complete este în medie de 10 ori mai eficientă decât accesarea unui sector, înregistrarea de paritate colectează cantități mari de date de paritate modificate, care sunt apoi scrise împreună pe un disc dedicat stocării parității pe întreaga pistă.

Arhitectură date flotante și paritate(floating și paritate), care permite realocarea plasării fizice a blocurilor de disc. Pe fiecare cilindru sunt plasate sectoare libere pentru a reduce latența de rotație(întârzieri de rotație), datele și paritatea sunt alocate acestor spații libere. Pentru a asigura funcționarea în timpul unei căderi de curent, paritatea și harta de date trebuie să fie stocate în memorie nevolatilă. Dacă pierdeți harta de plasare, toate datele din matrice se vor pierde.

Dezbracare virtuală- este o arhitectură flotantă de date și paritate care utilizează memoria cache de writeback. Implementarea firesc laturi pozitive ambii.

În plus, există și alte modalități de îmbunătățire a performanței, cum ar fi operațiunile RAID. La un moment dat, Seagate a inclus suport pentru operațiunile RAID în unitățile sale cu interfețe Fibre Chanel și SCSI. Acest lucru a făcut posibilă reducerea traficului între controler centralși discuri într-o matrice pentru sistemele RAID 5. Aceasta a fost o inovație fundamentală în domeniul implementărilor RAID, dar tehnologia nu a decolat deoarece unele caracteristici ale standardelor Fiber Chanel și SCSI slăbesc modelul de defecțiune pentru matricele de discuri.

Pentru același RAID 5, a fost introdusă arhitectura TickerTAIP. Arata astfel - nodul inițiator al mecanismului de control central (nodul inițiator) primește cererile utilizatorului, selectează un algoritm de procesare și apoi transferă lucrul pe disc și paritatea la nodul lucrător (nodul de lucru). Fiecare nod de lucru procesează un subset de discuri din matrice. Ca și în modelul Seagate, nodurile lucrătoare transferă date între ele fără participarea nodului inițiator. Dacă un nod lucrător eșuează, discurile pe care le-a servit devin indisponibile. Dar dacă cuvântul de cod este construit în așa fel încât fiecare dintre simbolurile sale să fie procesat de un nod de lucru separat, atunci schema de toleranță la erori repetă RAID 5. Pentru a preveni defecțiunile nodului de inițiere, acesta este duplicat, astfel obținem o arhitectură care este rezistent la defecțiunile oricăruia dintre nodurile sale. Cu toate caracteristicile sale pozitive, această arhitectură suferă de problema „găurii de scriere”. Ceea ce înseamnă că apare o eroare atunci când mai mulți utilizatori schimbă cuvântul de cod în același timp și nodul eșuează.

De asemenea, merită menționată o metodă destul de populară pentru restaurarea rapidă a RAID - folosind disc liber(de rezervă). Dacă unul dintre discurile din matrice eșuează, RAID-ul poate fi restaurat folosind un disc liber în loc de cel eșuat. Principala caracteristică a acestei implementări este că sistemul trece la anterioară (starea de siguranță fără intervenție externă). Când se utilizează o arhitectură de rezervă distribuită, blocurile logice ale unui disc de rezervă sunt distribuite fizic pe toate discurile din matrice, eliminând nevoia de a reconstrui matricea în cazul în care un disc se defectează.

Pentru a evita problema de recuperare tipică nivelurilor RAID clasice, o arhitectură numită degruparea parităţii(distribuție de paritate). Aceasta implică plasarea mai puține unități logice de capacitate mai mare pe unități fizice mai mici și de capacitate mai mare. Folosind această tehnologie, timpul de răspuns al sistemului la o solicitare în timpul reconstrucției este îmbunătățit cu mai mult de jumătate, iar timpul de reconstrucție este redus semnificativ.

Arhitectura nivelurilor RAID de bază

Acum să ne uităm la arhitectura nivelurilor de bază ale RAID mai detaliat. Înainte de a lua în considerare, să facem câteva presupuneri. Pentru a demonstra principiile construirii sistemelor RAID, luați în considerare un set de N discuri (pentru simplitate, vom presupune că N este un număr par), fiecare dintre ele constând din M blocuri.

Vom nota datele - D m,n, unde m este numărul de blocuri de date, n este numărul de subblocuri în care este împărțit blocul de date D.

Discurile se pot conecta fie la unul, fie la mai multe canale de transfer de date. Utilizarea mai multor canale crește debitul sistemului.

RAID 0. Striped Disk Array fără toleranță la erori

Este o matrice de discuri în care datele sunt împărțite în blocuri, iar fiecare bloc este scris (sau citit) pe un disc separat. Astfel, mai multe operații I/O pot fi efectuate simultan.

Avantaje:

  • cea mai înaltă performanță pentru aplicațiile care necesită procesarea intensivă a cererilor I/O și volume mari de date;
  • ușurința de implementare;
  • cost redus pe unitate de volum.

Defecte:

  • nu este o soluție tolerantă la erori;
  • Eșecul unei unități duce la pierderea tuturor datelor din matrice.

RAID 1. Matrice de discuri redundante sau oglindire

Oglindirea este o modalitate tradițională de a crește fiabilitatea unei matrice de discuri mici. În cea mai simplă versiune, se folosesc două discuri, pe care sunt înregistrate aceleași informații, iar dacă unul dintre ele eșuează, rămâne un duplicat al acestuia, care continuă să funcționeze în același mod.

Avantaje:

  • ușurința de implementare;
  • ușurința recuperării matricei în caz de defecțiune (copiere);
  • performanță suficient de ridicată pentru aplicații cu intensitate mare de solicitare.

Defecte:

  • cost ridicat pe unitate de volum - redundanță 100%;
  • viteză scăzută de transfer de date.

RAID 2. Matrice de discuri tolerantă la erori folosind Hamming Code ECC.

Codarea redundantă folosită în RAID 2 se numește cod Hamming. Codul Hamming vă permite să corectați defecțiuni simple și să detectați erori duble. Astăzi este utilizat în mod activ în tehnologia de codificare a datelor în RAM de tip ECC. Și codificarea datelor pe discuri magnetice.

În acest caz, este afișat un exemplu cu un număr fix de discuri din cauza greutății descrierii (un cuvânt de date este format din 4 biți, respectiv, codul ECC este 3).

Avantaje:

  • corectare rapidă a erorilor („în zbor”);
  • viteză foarte mare de transfer de date pentru volume mari;
  • pe măsură ce numărul de discuri crește, costurile generale scad;
  • implementare destul de simplă.

Defecte:

  • cost ridicat cu un număr mic de discuri;
  • viteza mica procesarea cererilor (nu este potrivit pentru sistemele orientate spre tranzacții).

RAID 3. Matrice tolerantă la erori cu transfer paralel de date și paritate (Discuri de transfer paralel cu paritate)

Datele sunt împărțite în subblocuri la nivel de octeți și sunt scrise simultan pe toate discurile din matrice, cu excepția unuia, care este folosit pentru paritate. Utilizarea RAID 3 rezolvă problema redundanței ridicate în RAID 2. Majoritatea discurilor de control utilizate în RAID nivelul 2 sunt necesare pentru a determina poziția bitului eșuat. Dar acest lucru nu este necesar, deoarece majoritatea controlerelor sunt capabile să determine când un disc a eșuat folosind semnale speciale sau codificare suplimentară a informațiilor scrise pe disc și utilizate pentru a corecta defecțiuni aleatorii.

Avantaje:

  • viteză foarte mare de transfer de date;
  • defectarea discului are un efect redus asupra vitezei matricei;

Defecte:

  • implementare dificilă;
  • performanta scazuta cu solicitări de mare intensitate pentru volume mici de date.

RAID 4. Matrice tolerantă la erori de discuri independente cu disc de paritate partajat (discuri de date independente cu disc de paritate partajat)

Datele sunt defalcate la nivel de bloc. Fiecare bloc de date este scris pe un disc separat și poate fi citit separat. Paritatea pentru un grup de blocuri este generată la scriere și verificată la citire. RAID Level 4 îmbunătățește performanța transferurilor mici de date prin paralelism, permițând mai mult de un acces I/O să fie efectuat simultan. Principala diferență dintre RAID 3 și 4 este că în cel din urmă, separarea datelor este efectuată la nivel de sector, mai degrabă decât la nivel de biți sau octeți.

Avantaje:

  • viteză foarte mare de citire a unor volume mari de date;
  • performanță ridicată la intensitate mare a solicitărilor de citire a datelor;
  • cheltuieli generale reduse pentru a implementa redundanța.

Defecte:

  • performanță foarte scăzută la scrierea datelor;
  • viteză redusă de citire a datelor mici cu solicitări unice;
  • asimetria performanţei în ceea ce priveşte citirea şi scrierea.

RAID 5. Matrice tolerantă la erori de discuri independente cu paritate distribuită (discuri de date independente cu blocuri de paritate distribuită)

Acest nivel este similar cu RAID 4, dar spre deosebire de cel anterior, paritatea este distribuită ciclic pe toate discurile din matrice. Această modificare îmbunătățește performanța scrierii unor cantități mici de date pe sisteme multitasking. Dacă operațiunile de scriere sunt planificate corect, este posibil să se proceseze până la N/2 blocuri în paralel, unde N este numărul de discuri din grup.

Avantaje:

  • viteză mare de înregistrare a datelor;
  • viteza de citire a datelor destul de mare;
  • performanță ridicată la intensitate mare a solicitărilor de citire/scriere a datelor;
  • cheltuieli generale reduse pentru a implementa redundanța.

Defecte:

  • Viteza de citire a datelor este mai mică decât în ​​RAID 4;
  • viteză redusă de citire/scriere a datelor mici cu solicitări unice;
  • implementare destul de complexă;
  • recuperare de date complexe.

RAID 6. Matrice tolerantă la erori de discuri independente cu două scheme independente de paritate distribuită (Discuri independente de date cu două scheme independente de paritate distribuită)

Datele sunt partiționate la nivel de bloc, similar cu RAID 5, dar pe lângă arhitectura anterioară, o a doua schemă este utilizată pentru a îmbunătăți toleranța la erori. Această arhitectură este dublă tolerantă la erori. Cu toate acestea, atunci când se efectuează o scriere logică, există de fapt șase accesări pe disc, ceea ce mărește foarte mult timpul de procesare a unei cereri.

Avantaje:

  • toleranță ridicată la erori;
  • viteza destul de mare de procesare a cererilor;
  • cheltuieli generale relativ mici pentru implementarea redundanței.

Defecte:

  • implementare foarte complexă;
  • recuperare de date complexe;
  • viteză foarte mică de scriere a datelor.

Controlerele RAID moderne vă permit să combinați diferite niveluri RAID. În acest fel, este posibil să se implementeze sisteme care combină avantajele diferitelor niveluri, precum și sisteme cu un număr mare de discuri. De obicei, aceasta este o combinație de nivel zero (decapare) și un fel de nivel tolerant la erori.

RAID 10. Matrice tolerantă la erori cu duplicare și procesare paralelă

Această arhitectură este o matrice RAID 0 ale cărei segmente sunt matrice RAID 1. Combină toleranța la erori și performanța foarte ridicată.

Avantaje:

  • toleranță ridicată la erori;
  • performanta ridicata.

Defecte:

  • cost foarte mare;
  • scalare limitată.

RAID 30. Matrice tolerantă la erori cu transfer paralel de date și performanță crescută.

Este o matrice RAID 0, ale cărei segmente sunt matrice RAID 3. Combină toleranța la erori și performanța ridicată. Utilizat de obicei pentru aplicații care necesită volume mari de transfer de date în serie.

Avantaje:

  • toleranță ridicată la erori;
  • performanta ridicata.

Defecte:

  • preț mare;
  • scalare limitată.

RAID 50: matrice tolerantă la erori cu paritate distribuită și performanță crescută

Este o matrice RAID 0, ale cărei segmente sunt matrice RAID 5. Combină toleranța la erori și performanța ridicată pentru aplicații cu intensitate mare de solicitare și rate mari de transfer de date.

Avantaje:

  • toleranță ridicată la erori;
  • viteză mare de transfer de date;
  • viteză mare de procesare a cererilor.

Defecte:

  • preț mare;
  • scalare limitată.

RAID 7: matrice tolerantă la erori optimizată pentru performanță. (Asincronie optimizată pentru rate I/O ridicate, precum și rate ridicate de transfer de date). RAID 7® este o marcă înregistrată a Storage Computer Corporation (SCC)

Pentru a înțelege arhitectura RAID 7, să ne uităm la caracteristicile acesteia:

  1. Toate cererile de transfer de date sunt procesate asincron și independent.
  2. Toate operațiunile de citire/scriere sunt stocate în cache prin intermediul magistralei x de mare viteză.
  3. Discul de paritate poate fi plasat pe orice canal.
  4. Microprocesorul controlerului matrice folosește un sistem de operare în timp real axat pe procesele de procesare.
  5. Sistemul are o scalabilitate bună: până la 12 interfețe gazdă și până la 48 de discuri.
  6. Sistemul de operare controlează canalele de comunicare.
  7. Sunt utilizate discuri standard SCSI, magistrale, plăci de bază și module de memorie.
  8. O magistrală X de mare viteză este utilizată pentru a lucra cu memoria cache internă.
  9. Procedura de generare a parității este integrată în cache.
  10. Discurile atașate la sistem pot fi declarate ca separate.
  11. Un agent SNMP poate fi utilizat pentru a gestiona și monitoriza sistemul.

Avantaje:

  • viteză mare de transfer de date și viteză mare de procesare a cererilor (1,5 - 6 ori mai mare decât alte niveluri RAID standard);
  • scalabilitate ridicată a interfețelor gazdă;
  • viteza de scriere a datelor crește odată cu numărul de discuri din matrice;
  • Nu este nevoie de transmisie suplimentară de date pentru a calcula paritatea.

Defecte:

  • proprietatea unui producător;
  • cost foarte mare pe unitate de volum;
  • perioada scurta de garantie;
  • nu poate fi deservit de utilizator;
  • trebuie să utilizați bloc sursă de alimentare neîntreruptibilă pentru a preveni pierderea datelor din memoria cache.

Să ne uităm acum la nivelurile standard împreună pentru a le compara caracteristicile. Comparația se face în cadrul arhitecturilor menționate în tabel.

RAIDMinim
discuri
Nevoie
în discuri
Eșec
durabilitate
Viteză
transmiterea datelor
Intensitate
prelucrare
cereri
Practic
utilizare
0 2 N foarte inalt
până la N x 1 disc
Grafică, video
1 2 2N* R > 1 disc
W = 1 disc
până la 2 x 1 disc
W = 1 disc
servere de fișiere mici
2 7 2N ~RAID 3Scăzutmainframe-uri
3 3 N+1 ScăzutGrafică, video
4 3 N+1 RWR=RAID 0
W
servere de fișiere
5 3 N+1 RWR=RAID 0
W
servere de baze de date
6 4 N+2cel mai inaltscăzutR > 1 disc
W
folosit extrem de rar
7 12 N+1 cel mai inaltcel mai inaltdiferite tipuri de aplicații

Precizări:

  • * - se are în vedere varianta utilizată în mod obișnuit;
  • k - numărul de subsegmente;
  • R - citire;
  • W - record.

Câteva aspecte ale implementării sistemelor RAID

Să luăm în considerare trei opțiuni principale pentru implementarea sistemelor RAID:

  • software (pe bază de software);
  • hardware - bazat pe magistrală;
  • hardware - subsistem autonom (bazat pe subsistem).

Este imposibil să spunem fără echivoc că orice implementare este mai bună decât alta. Fiecare opțiune de organizare a unei matrice satisface nevoile unuia sau altuia utilizator, în funcție de capacitățile financiare, de numărul de utilizatori și de aplicațiile utilizate.

Fiecare dintre implementările de mai sus se bazează pe execuția codului programului. Ele diferă de fapt în locul în care este executat acest cod: în procesorul central al computerului (implementare software) sau într-un procesor specializat pe un controler RAID (implementare hardware).

Principalul avantaj al implementării software-ului este costul scăzut. Dar, în același timp, are multe dezavantaje: performanță scăzută, încărcare pe procesorul central cu muncă suplimentară și trafic crescut de autobuz. Nivelurile RAID simple 0 și 1 sunt de obicei implementate în software, deoarece nu necesită un calcul semnificativ. Luând în considerare aceste caracteristici, sistemele RAID cu implementare software sunt utilizate în servere nivel de intrare.

Implementările RAID hardware costă în consecință mai mult decât cele software, deoarece folosesc hardware suplimentar pentru a efectua operațiuni I/O. În același timp, descarcă sau eliberează procesorul central și magistrala de sistem și, în consecință, permit o performanță crescută.

Implementările orientate pe magistrală sunt controlere RAID care folosesc magistrala de mare viteză a computerului în care sunt instalate (în ultimul timp este folosită de obicei magistrala PCI). La rândul lor, implementările orientate pe magistrală pot fi împărțite în nivel scăzut și nivel înalt. Primele de obicei nu au cipuri SCSI și folosesc așa-numitele Port RAID pe o placă de bază cu un controler SCSI încorporat. În acest caz, funcțiile de procesare a codului RAID și a operațiunilor I/O sunt distribuite între procesorul de pe controlerul RAID și cipurile SCSI de pe placa de bază. Astfel, procesorul central este eliberat de procesarea codului suplimentar și traficul de magistrală este redus în comparație cu opțiunea software. Costul unor astfel de plăci este de obicei scăzut, mai ales dacă sunt destinate sistemelor RAID 0 sau 1 (există și implementări RAID 3, 5, 10, 30, 50, dar sunt mai scumpe), datorită cărora sunt treptat. înlocuind implementările software de pe piața de servere entry-level. Controlerele de nivel înalt cu implementare magistrală au o structură ușor diferită de cea a fraților lor mai mici. Aceștia preiau toate funcțiile legate de I/O și executarea codului RAID. În plus, nu sunt atât de dependenți de implementarea plăcii de bază și, de regulă, au mai multe capacități (de exemplu, capacitatea de a conecta un modul pentru a stoca informații într-un cache în cazul unei defecțiuni a plăcii de bază sau a unei pierderi de energie) . Astfel de controlere sunt de obicei mai scumpe decât cele de nivel scăzut și sunt folosite în serverele de gamă medie și de gamă medie. nivel inalt. Ei, de regulă, implementează nivelurile RAID 0.1, 3, 5, 10, 30, 50. Având în vedere că implementările orientate pe magistrală sunt conectate direct la magistrala PCI internă a computerului, acestea sunt cele mai productive dintre sistemele luate în considerare ( la organizarea sistemelor cu o singură gazdă). Performanța maximă a unor astfel de sisteme poate ajunge la 132 MB/s (32bit PCI) sau 264 MB/s (64bit PCI) la o frecvență magistrală de 33MHz.

Alături de avantajele enumerate, arhitectura orientată pe autobuz are următoarele dezavantaje:

  • dependența de sistemul de operare și platformă;
  • scalabilitate limitată;
  • capabilități limitate de organizare a sistemelor tolerante la erori.

Toate aceste dezavantaje pot fi evitate prin utilizarea subsistemelor autonome. Aceste sisteme au o organizare externă complet autonomă și, în principiu, sunt un computer separat care este folosit pentru organizarea sistemelor de stocare a informațiilor. În plus, dacă tehnologia canalului de fibră optică se dezvoltă cu succes, performanța sistemelor autonome nu va fi în niciun fel inferioară sistemelor orientate pe magistrală.

De obicei, un controler extern este plasat într-un rack separat și, spre deosebire de sistemele cu o organizare de magistrală, poate avea un număr mare de canale de intrare/ieșire, inclusiv canale gazdă, ceea ce face posibilă conectarea mai multor computere gazdă la sistem și organizarea clusterului. sisteme. În sistemele cu un controler de sine stătător, pot fi implementate controlere de așteptare la cald.

Unul dintre dezavantajele sistemelor autonome este costul lor ridicat.

Luând în considerare cele de mai sus, observăm că controlerele autonome sunt de obicei folosite pentru a implementa sisteme de stocare a datelor de mare capacitate și cluster.