Cum funcționează o matrice raid? Crearea unei matrice de discuri Raid pe Windows. De ce avem nevoie de matrice RAID?

Trecerea 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, ca sistem secundar discurile magnetice sunt utilizate pe scară largă pentru stocarea datelor, deoarece, în ciuda tuturor neajunsurilor, au cele mai bune caracteristici pentru tipul adecvat de dispozitiv la un preț accesibil.

Caracteristicile tehnologiei discului magnetic au dus la o discrepanță semnificativă între creșterea productivității module de procesorși discurile magnetice în sine. Dacă în 1990 cele mai bune dintre cele seriale erau unități 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 a caracteristicilor tehnice 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 lui 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, aceasta solutie arhitecturala 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 cantitate mare m 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ărcarea 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 întregii matrice (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. Acest circuit este destul de simplu și nu necesită costuri suplimentare hardware, dar are unul dezavantaj semnificativ- foloseste 50% spatiu 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

În ciuda faptului că sistemele de stocare bazate pe discuri magnetice au fost produse de 40 de ani, producția în masă a sistemelor tolerante la erori a început abia 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 doar 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ă parității î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 baza codării 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ă în mod eficient modelul de defecțiuni al matricelor tolerante 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 parității(înregistrare de paritate), care implică rezolvarea problemei scrisului mic și nu numai utilizare eficientă discuri. Î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. În mod firesc, realizând laturile pozitive ale ambelor.

Î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 dintre controlerul central și discurile din matrice pentru sistemele RAID 5 Aceasta a fost o inovație fundamentală în domeniul implementărilor RAID, dar tehnologia nu a început în viață, deoarece unele caracteristici ale Fibrei. Standardele Chanel și SCSI slăbesc modelul de eșec 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țiuni ale oricăruia dintre nodurile sale. Cu toate caracteristicile sale pozitive, această arhitectură suferă de problema „gaurii 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, trebuie menționat suficient mod popular recuperare rapidă RAID - utilizarea unui 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 debitului sisteme.

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

Oglindire - mod tradițional pentru 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 de recuperare a 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 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;
  • viteză scăzută de procesare a 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 mari î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ă;
  • performanță scăzută cu solicitări de mare intensitate pentru date mici.

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ță mare la erori;
  • viteza destul de mare de procesare a cererilor;
  • cheltuieli generale relativ mici pentru a implementa redundanța.

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ă implementarea sistemelor 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 Tipul RAID 0, ale căror segmente sunt matrice RAID 1 Combină toleranța la erori și performanța foarte ridicată.

Avantaje:

  • toleranță mare 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ță mare 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 ridicate de transfer de date.

Avantaje:

  • toleranță mare 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. Se folosesc cele standard Unități SCSI, autobuze, 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 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 inalttipuri diferite aplicatii

Precizări:

  • * - este luată în considerare 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 bus;
  • 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).

Avantajul principal implementare software- cost 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. Ținând cont de aceste caracteristici, sistemele RAID bazate pe software sunt utilizate în serverele entry-level.

Implementările RAID hardware costă în consecință mai mult decât cele software, deoarece folosesc hardware suplimentar pentru a efectua operațiuni I/O. Făcând acest lucru, se descarcă sau eliberează CPUși magistrala de sistem și, în consecință, vă permit să creșteți performanța.

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. Primii de obicei nu au cipuri SCSI și folosesc așa-numitul port RAID de pe placa 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 procesare cod suplimentar iar traficul autobuzelor este redus comparativ 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ă puțin diferită față de frații lor mai mici. Aceștia preiau toate funcțiile legate de intrare/ieșire și execuția 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 în 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 controlerele low-end și sunt folosite în serverele mid-end și high-end. 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ță 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, reprezintă calculator 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.

Având în vedere 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.

Matrice RAID. Ce este asta? Pentru ce? Și cum să creez?

De-a lungul deceniilor lungi de dezvoltare a industriei calculatoarelor, mijloacele de stocare a informațiilor pentru computere au trecut printr-o cale evolutivă serioasă de dezvoltare. Benzi perforate și carduri perforate, benzi și tobe magnetice, discuri magnetice, optice și magneto-optice, unități semiconductoare - aceasta este doar o scurtă listă a tehnologiilor deja testate. În prezent, laboratoarele din întreaga lume încearcă să creeze dispozitive de stocare holografice și cuantice care vor crește foarte mult densitatea înregistrării și fiabilitatea stocării sale.

Între timp, cel mai comun mijloc de stocare a informațiilor pe un computer personal a fost de mult timp hard disk-uri. În caz contrar, acestea pot fi numite HDD-uri (hard disk-uri). magnetic dur discuri), hard disk-uri, hard disk-uri, dar esența nu se schimbă de la schimbarea numelui - acestea sunt unități cu un pachet de discuri magnetice într-o singură carcasă.

Primul hard disk, numit IBM 350, a fost asamblat pe 10 ianuarie 1955 în laboratorul companiei americane IBM. Cu dimensiunea unui dulap bun și o greutate de o tonă, acest hard disk ar putea conține cinci megaocteți de informații. Dintr-un punct de vedere modern, un astfel de volum nici măcar nu poate fi numit amuzant, dar în timpul utilizării în masă a cardurilor perforate și a benzilor magnetice cu acces în serie, aceasta a fost o descoperire tehnologică colosală.


Descărcarea primului hard disk IBM 350 dintr-un avion

Au trecut mai puțin de șase decenii de la acea zi, dar acum nu vei surprinde pe nimeni cu un hard disk care cântărește mai puțin de două sute de grame, zece centimetri lungime și un volum de informații de câțiva teraocteți. În același timp, tehnologia de înregistrare, stocare și citire a datelor nu este diferită de cea folosită la IBM 350 - aceleași plăci magnetice și capete de citire/scriere alunecând deasupra lor.


Evoluția hard disk-urilor pe fundalul unei rigle de inci (foto de la " Wikipedia " )

Din păcate, tocmai caracteristicile acestei tehnologii cauzează două probleme principale cu care sunt asociate folosind greu discuri. Prima dintre ele este viteza prea mică de scriere, citire și transfer de informații de pe disc la procesor. Într-un computer modern, hard disk-ul este cel mai lent dispozitiv, ceea ce determină adesea performanța întregului sistem în ansamblu.

A doua problemă este securitatea insuficientă a informațiilor stocate pe hard disk. Dacă hard diskul se sparge, puteți pierde iremediabil toate datele stocate pe acesta. Și este bine dacă pierderile sunt limitate la pierderea unui album foto de familie (deși, de fapt, este puțin bun în asta). Distrugerea unor informații financiare și de marketing importante poate provoca prăbușirea unei afaceri.

Ajută parțial la protejarea informațiilor stocate este o copie de rezervă regulată a tuturor sau numai a datelor importante de pe hard disk. Dar chiar și în acest caz, dacă se defectează, acea parte a datelor care a fost actualizată de la ultima copie de rezervă se va pierde.

Din fericire, există metode care pot ajuta la depășirea dezavantajelor de mai sus ale hard disk-urilor tradiționale. O astfel de metodă este de a crea matrice RAID de mai multe hard disk-uri.

Ce este RAID

Pe Internet și chiar în literatura de calcul modernă, puteți întâlni adesea termenul „matrice RAID”, care este de fapt o tautologie, deoarece abrevierea RAID (redundant array of independent disks) înseamnă deja „redundant array of independent disks”.

Numele dezvăluie pe deplin semnificația fizică a unor astfel de matrice - acesta este un set de două sau mai multe hard disk-uri. Colaborare Aceste discuri sunt controlate de un controler special. Ca rezultat al funcționării controlerului, astfel de matrice sunt percepute sistem de operare ca un singur hard disk și este posibil ca utilizatorul să nu se gândească la nuanțele gestionării funcționării fiecărui hard disk separat.

Există mai multe tipuri principale de RAID, fiecare dintre ele având un impact diferit asupra fiabilității și vitezei generale a matricei în comparație cu discurile individuale. Ele sunt desemnate printr-un număr convențional de la 0 la 6. O desemnare similară cu o descriere detaliată a arhitecturii și principiului de funcționare a matricelor a fost propusă de specialiștii de la Universitatea din California din Berkeley. Pe lângă principalele șapte tipuri de RAID, sunt posibile și diverse combinații ale acestora. Să le luăm în considerare mai departe.

Acesta este cel mai simplu tip de matrice de hard disk, al cărui scop principal este de a crește performanța subsistemului de discuri al computerului. Acest lucru se realizează prin împărțirea fluxurilor de informații scrise (citite) în mai multe substreamuri, care sunt scrise (citite) simultan pe mai multe hard disk-uri. Ca rezultat, viteza totală a schimbului de informații, de exemplu, pentru matricele cu două discuri crește cu 30-50% în comparație cu un hard disk de același tip.

Volumul total al RAID 0 este egal cu suma volumelor hard disk-urilor incluse în acesta. Informațiile sunt împărțite în blocuri de date de lungime fixă, indiferent de lungimea fișierelor înregistrate.

Principalul avantaj al RAID 0 este o creștere semnificativă a vitezei de schimb de informații între sistemul de discuri fără a pierde capacitatea utilă a hard disk-urilor. Dezavantajul este o scădere a fiabilității generale a sistemului de stocare. Dacă oricare dintre discurile RAID 0 eșuează, toate informațiile înregistrate în matrice se pierd pentru totdeauna.

Similar cu cel discutat mai sus, acest tip de matrice este și cel mai simplu de organizat. Este construit pe baza a două hard disk-uri, fiecare fiind o reflectare exactă (oglindă) a celeilalte. Informațiile sunt scrise în paralel pe ambele discuri din matrice. Datele sunt citite simultan de pe ambele discuri în blocuri secvențiale (paralelizarea solicitărilor), datorită cărora se realizează o ușoară creștere a vitezei de citire față de un singur hard disk.

Capacitatea totală a RAID 1 este egală cu capacitatea hard diskului mai mic din matrice.

Avantajele RAID 1: fiabilitatea ridicată a stocării informațiilor (datele sunt nedeteriorate atâta timp cât cel puțin unul dintre discurile incluse în matrice este intact) și o oarecare creștere a vitezei de citire. Dezavantajul este că atunci când cumpărați două hard disk-uri, obțineți doar capacitatea utilizabilă a unuia. În ciuda pierderii a jumătate din volumul util, matricele „oglindă” sunt destul de populare datorită fiabilității lor ridicate și costului relativ scăzut - o pereche de discuri este încă mai ieftină decât patru sau opt.

La construirea acestor matrice, se folosește un algoritm de recuperare a informațiilor folosind coduri Hamming (un inginer american care a dezvoltat acest algoritm în 1950 pentru a corecta erorile în funcționarea calculatoarelor electromecanice). Pentru a asigura funcționarea acestui controler RAID, sunt create două grupuri de discuri - unul pentru stocarea datelor, al doilea grup pentru stocarea codurilor de corectare a erorilor.

Acest tip de RAID a devenit mai puțin răspândit în sistemele de acasă din cauza redundanței excesive a numărului de hard disk - de exemplu, într-o serie de șapte hard disk, doar patru vor fi alocate pentru date. Pe măsură ce numărul de discuri crește, redundanța scade, ceea ce se reflectă în tabelul de mai jos.

Principalul avantaj al RAID 2 este capacitatea de a corecta erorile din mers fără a reduce viteza de schimb de date între matricea de discuri și procesorul central.

RAID 3 și RAID 4

Aceste două tipuri de matrice de discuri sunt foarte asemănătoare ca design. Ambele folosesc mai multe hard disk-uri pentru a stoca informații, dintre care una este folosită exclusiv pentru stocarea sumelor de control. Trei hard disk-uri sunt suficiente pentru a crea RAID 3 și RAID 4. Spre deosebire de RAID 2, recuperarea datelor din mers nu este posibilă - informațiile sunt restaurate după înlocuirea unui hard disk defect într-o perioadă de timp.

Diferența dintre RAID 3 și RAID 4 este nivelul de partiționare a datelor. În RAID 3, informațiile sunt împărțite în octeți individuali, ceea ce duce la o încetinire gravă la scrierea/citirea unui număr mare de fișiere mici. RAID 4 împarte datele în blocuri separate, a căror dimensiune nu depășește dimensiunea unui sector de pe disc. Ca urmare, viteza de procesare a fișierelor mici crește, ceea ce este critic pentru computerele personale. Din acest motiv, RAID 4 a devenit mai răspândit.

Un dezavantaj semnificativ al matricelor luate în considerare este încărcarea crescută a hard disk-ului destinată stocării sumelor de control, ceea ce îi reduce semnificativ resursele.

Matricele de discuri de acest tip sunt de fapt o dezvoltare a schemei RAID 3/RAID 4. O caracteristică distinctivă este că un disc separat nu este utilizat pentru a stoca sumele de verificare - acestea sunt distribuite uniform pe toate unitățile de disc ale matricei. Rezultatul distribuției este posibilitatea înregistrării paralele pe mai multe discuri simultan, ceea ce crește ușor viteza schimbului de date în comparație cu RAID 3 sau RAID 4. Cu toate acestea, această creștere nu este atât de semnificativă, deoarece resursele suplimentare de sistem sunt cheltuite pentru calcul. sume de control folosind operațiunea „exclusiv sau”. În același timp, viteza de citire crește semnificativ, deoarece este posibilă paralelizarea simplă a procesului.

Numărul minim de hard disk-uri pentru a construi RAID 5 este de trei.

Matricele construite folosind schema RAID 5 au un dezavantaj foarte semnificativ. Dacă vreun disc se defectează după înlocuirea acestuia, este nevoie de câteva ore pentru a restabili complet informațiile. În acest moment, hard disk-urile intacte ale matricei funcționează în modul super-intensiv, ceea ce crește semnificativ probabilitatea defecțiunii celei de-a doua unități și pierderea completă a informațiilor. Deși rar, acest lucru se întâmplă. În plus, în timpul restaurării RAID 5, matricea este aproape complet ocupată de acest proces și operațiunile de scriere/citire în curs sunt efectuate cu întârzieri mari. Deși acest lucru nu este critic pentru majoritatea utilizatorilor obișnuiți, în sectorul corporativ, astfel de întârzieri pot duce la anumite pierderi financiare.

În mare măsură, problema de mai sus este rezolvată prin construirea de matrice folosind schema RAID 6 În aceste structuri, este alocat un volum de memorie egal cu volumul a două hard disk-uri pentru stocarea sumelor de control, care sunt, de asemenea, distribuite ciclic și uniform pe diferite discuri. . În loc de una, sunt calculate două sume de control, care garantează integritatea datelor în cazul defecțiunii simultane a două hard disk-uri din matrice.

Avantajele RAID 6 sunt un grad ridicat de securitate a informațiilor și o pierdere mai mică de performanță decât în ​​RAID 5 în timpul recuperării datelor la înlocuirea unui disc deteriorat.

Dezavantajul RAID 6 este că viteza totală de schimb de date este redusă cu aproximativ 10% din cauza creșterii volumului de calcule a sumelor de control necesare, precum și datorită creșterii volumului de informații scrise/citite.

Tipuri RAID combinate

Pe lângă principalele tipuri discutate mai sus, sunt utilizate pe scară largă diverse combinații ale acestora, care compensează anumite dezavantaje ale RAID-ului simplu. În special, utilizarea schemelor RAID 10 și RAID 0+1 este larg răspândită. În primul caz, o pereche de matrice oglindă sunt combinate în RAID 0, în al doilea, dimpotrivă, două RAID 0 sunt combinate într-o oglindă. În ambele cazuri, performanța crescută a RAID 0 se adaugă la securitatea informațiilor RAID 1.

Adesea, pentru a crește nivelul de protecție a informațiilor importante, se folosesc scheme de construcție RAID 51 sau RAID 61 - oglindirea matricelor deja foarte protejate asigură o siguranță excepțională a datelor în cazul oricăror defecțiuni. Cu toate acestea, este imposibil să implementați astfel de matrice acasă din cauza redundanței excesive.

Construirea unei matrice de discuri - de la teorie la practică

Un controler RAID specializat este responsabil pentru construirea și gestionarea funcționării oricărui RAID. Spre ușurarea utilizatorului obișnuit calculator personal, în majoritatea plăcilor de bază moderne aceste controlere sunt deja implementate la nivel de chipset southbridge. Deci, pentru a construi o serie de hard disk-uri, tot ce trebuie să faceți este să achiziționați numărul necesar dintre ele și să determinați tipul RAID dorit în secțiunea corespunzătoare a setărilor BIOS-ului. După aceasta, în loc de mai multe hard disk-uri în sistem, veți vedea doar unul, care poate fi împărțit în partiții și unități logice, dacă doriți. Vă rugăm să rețineți că cei care încă folosesc Windows XP vor trebui să instaleze un driver suplimentar.

Controler RAID extern cu patru porturi SATA

Rețineți că controlerele integrate, de regulă, sunt capabile să creeze RAID 0, RAID 1 și combinații ale acestora. Crearea de matrice mai complexe va necesita în continuare achiziționarea unui controler separat.

Și, în sfârșit, încă un sfat - pentru a crea un RAID, achiziționați hard disk de aceeași capacitate, același producător, același model și, de preferință, din același lot. Apoi vor fi echipate cu aceleași seturi logice, iar funcționarea matricei acestor hard disk-uri va fi cea mai stabilă.

Dacă sunteți interesat de acest articol, atunci probabil că ați întâlnit sau vă așteptați să întâlniți în curând una dintre următoarele probleme pe computer:

- în mod clar nu există suficientă capacitate fizică a hard disk-ului ca unitate logică unică. Cel mai adesea, această problemă apare atunci când lucrați cu fișiere mari (video, grafică, baze de date);
- performanțele hard disk-ului clar nu sunt suficiente. Cel mai adesea, această problemă apare atunci când se lucrează cu sisteme de editare video neliniară sau când un număr mare de utilizatori accesează simultan fișiere de pe hard disk;
- Fiabilitatea hard disk-ului lipsește în mod clar. Cel mai adesea, această problemă apare atunci când este necesar să se lucreze cu date care nu trebuie să se piardă niciodată sau care trebuie să fie întotdeauna disponibile utilizatorului. Experiența tristă arată că până și cele mai fiabile echipamente se defectează uneori și, de regulă, în cel mai inoportun moment.
Crearea unui sistem RAID pe computer poate rezolva aceste probleme și alte câteva probleme.

Ce este „RAID”?

În 1987, Patterson, Gibson și Katz de la Universitatea din California, Berkeley, au publicat „A Case for Redundant Arrays of Inexpensive Disks (RAID)”. Acest articol a descris diferite tipuri de matrice de discuri, abreviat RAID - Redundant Array of Independent (or Iefpensive) Disks (matrice redundantă de unități de disc independente (sau ieftine). RAID se bazează pe următoarea idee: combinând mai multe unități de disc mici și/sau ieftine într-o matrice, puteți obține un sistem care este superior ca capacitate, viteză și fiabilitate celor mai scumpe unități de disc. În plus, din punctul de vedere al computerului, un astfel de sistem arată ca o singură unitate de disc.
Se știe că timpul mediu dintre defecțiunile unei matrice de unități este egal cu timpul mediu dintre defecțiunile unei singure unități împărțit la numărul de unități din matrice. Ca urmare, timpul mediu al matricei între eșecuri este prea scurt pentru multe aplicații. Cu toate acestea, o matrice de discuri poate fi făcută tolerantă la defecțiunea unei singure unități în mai multe moduri.

În articolul de mai sus, au fost definite cinci tipuri (nivele) de matrice de discuri: RAID-1, RAID-2, ..., RAID-5. Fiecare tip a oferit toleranță la erori, precum și diferite avantaje față de o singură unitate. Alături de aceste cinci tipuri, matricea de discuri RAID-0, care NU este redundantă, a câștigat și ea popularitate.

Ce niveluri RAID există și pe care ar trebui să le alegeți?

RAID-0. Definit de obicei ca un grup neredundant de unități de disc fără paritate. RAID-0 este uneori numit „Striping” pe baza modului în care informațiile sunt plasate pe unitățile incluse în matrice:

Deoarece RAID-0 nu are redundanță, defecțiunea unei unități duce la defecțiunea întregii matrice. Pe de altă parte, RAID-0 oferă viteză maximă de transfer de date și utilizarea eficientă a spațiului pe disc. Deoarece RAID-0 nu necesită calcule matematice sau logice complexe, costurile sale de implementare sunt minime.

Domeniul de aplicare: aplicații audio și video care necesită transfer de date continuu de mare viteză, care nu pot fi furnizate de o singură unitate. De exemplu, cercetările efectuate de Mylex pentru a determina configurația optimă a sistemului de disc pentru o stație de editare video neliniară arată că, în comparație cu o singură unitate de disc, o matrice RAID-0 de două unități de disc oferă o creștere cu 96% a scriere/citire. viteza, a trei unități de disc - cu 143% (conform testului Miro VIDEO EXPERT Benchmark).
Numărul minim de unități dintr-o matrice „RAID-0” este 2.

RAID-1. Mai cunoscut sub numele de „oglindire” este o pereche de unități care conțin aceleași informații și alcătuiesc o unitate logică:

Înregistrarea se realizează pe ambele unități din fiecare pereche. Cu toate acestea, unitățile dintr-o pereche pot efectua operații de citire simultane. Astfel, „oglindirea” poate dubla viteza de citire, dar viteza de scriere rămâne neschimbată. RAID-1 are o redundanță de 100% și o defecțiune a unei unități nu duce la o defecțiune a întregii matrice - controlerul comută pur și simplu operațiunile de citire/scriere pe unitatea rămasă.
RAID-1 oferă cea mai mare viteză dintre toate tipurile de matrice redundante (RAID-1 - RAID-5), mai ales într-un mediu multi-utilizator, dar cea mai proastă utilizare a spațiului pe disc. Deoarece RAID-1 nu necesită calcule matematice sau logice complexe, costurile sale de implementare sunt minime.
Numărul minim de unități dintr-o matrice „RAID-1” este 2.
Pentru a crește viteza de scriere și a asigura o stocare fiabilă a datelor, mai multe matrice RAID-1 pot fi, la rândul lor, combinate în RAID-0. Această configurație se numește RAID „pe două niveluri” sau RAID-10 (RAID 0+1):


Numărul minim de unități dintr-o matrice „RAID 0+1” este 4.
Domeniul de aplicare: matrice ieftine în care principalul lucru este fiabilitatea stocării datelor.

RAID-2. Distribuie datele în benzi de dimensiunea unui sector pe un grup de unități de disc. Unele unități sunt dedicate stocării ECC (Error Correction Code). Deoarece majoritatea unităților stochează coduri ECC pe sector în mod implicit, RAID-2 nu oferă prea multe avantaje față de RAID-3 și, prin urmare, nu este utilizat în practică.

RAID-3. Ca și în cazul RAID-2, datele sunt distribuite pe benzi cu dimensiunea unui sector, iar una dintre unitățile matrice este alocată pentru a stoca informații de paritate:

RAID-3 se bazează pe codurile ECC stocate în fiecare sector pentru a detecta erorile. Dacă una dintre unități eșuează, informațiile stocate pe ea pot fi restaurate prin calculul OR exclusiv (XOR) folosind informațiile de pe unitățile rămase. Fiecare înregistrare este distribuită în mod obișnuit pe toate unitățile și, prin urmare, acest tip de matrice este bun pentru aplicațiile care folosesc intensiv disc. Deoarece fiecare operație I/O accesează toate unitățile de disc din matrice, RAID-3 nu poate efectua mai multe operații simultan. Prin urmare, RAID-3 este bun pentru medii cu un singur utilizator, cu o singură sarcină, cu înregistrări lungi. Pentru a lucra cu înregistrări scurte, este necesar să sincronizați rotația unităților de disc, deoarece în caz contrar, o scădere a vitezei de schimb este inevitabilă. Foarte rar folosit, pentru că inferior RAID-5 în ceea ce privește utilizarea spațiului pe disc. Implementarea necesită costuri semnificative.
Numărul minim de unități dintr-o matrice „RAID-3” este 3.

RAID-4. RAID-4 este identic cu RAID-3, cu excepția faptului că dimensiunea stripe este mult mai mare decât un sector. În acest caz, citirile sunt efectuate de pe o singură unitate (fără a număra unitatea care stochează informațiile de paritate), astfel încât mai multe operații de citire pot fi efectuate simultan. Cu toate acestea, deoarece fiecare operație de scriere trebuie să actualizeze conținutul unității de paritate, nu este posibil să se efectueze mai multe operații de scriere simultan. Acest tip de matrice nu are avantaje notabile față de o matrice RAID-5.
RAID-5. Acest tip de matrice este uneori numit „matrice de paritate rotativă”. Acest tip de matrice depășește cu succes dezavantajul inerent al RAID-4 - incapacitatea de a efectua simultan mai multe operațiuni de scriere. Această matrice, ca RAID-4, folosește dungi mare ca dimensiune, dar, spre deosebire de RAID-4, informațiile de paritate sunt stocate nu pe o singură unitate, ci pe toate unitățile pe rând:

Operațiunile de scriere accesează o unitate cu date și o altă unitate cu informații de paritate. Deoarece informațiile de paritate pentru diferite benzi sunt stocate pe unități diferite, scrierile multiple simultane nu sunt posibile decât dacă banda de date sau banda de paritate se află pe aceeași unitate. Cum mai multe discuri ods în matrice, cu atât mai rar coincide locația informațiilor și a benzilor de paritate.
Domeniul de aplicare: matrice fiabile de volum mare. Implementarea necesită costuri semnificative.
Numărul minim de unități dintr-o matrice „RAID-5” este 3.

RAID-1 sau RAID-5?
RAID-5, în comparație cu RAID-1, utilizează spațiul pe disc mai economic, deoarece pentru redundanță stochează nu o „copie” a informațiilor, ci un număr de verificare. Ca rezultat, RAID-5 poate combina orice număr de unități, dintre care doar una va conține informații redundante.
Dar eficiența mai mare a spațiului pe disc vine în detrimentul unor rate de schimb de informații mai mici. Când scrieți informații în RAID-5, informațiile de paritate trebuie actualizate de fiecare dată. Pentru a face acest lucru, trebuie să determinați ce biți de paritate s-au modificat. Cel de actualizat se citește mai întâi informatii vechi. Aceste informații sunt apoi XOR cu informație nouă. Rezultatul acestei operații este o mască de biți în care fiecare bit =1 înseamnă că trebuie înlocuită valoarea din informațiile de paritate din poziția corespunzătoare. Informațiile de paritate actualizate sunt apoi scrise în locația corespunzătoare. Prin urmare, pentru fiecare cerere de program de a scrie informații, RAID-5 efectuează două citiri, două scrieri și două operații XOR.
Există un cost pentru utilizarea spațiului pe disc mai eficient (stocarea unui bloc de paritate în loc de o copie a datelor): este nevoie de timp suplimentar pentru a genera și scrie informații de paritate. Aceasta înseamnă că viteza de scriere pe RAID-5 este mai mică decât pe RAID-1 cu un raport de 3:5 sau chiar 1:3 (adică, viteza de scriere pe RAID-5 este de 3/5 până la 1/3 din viteza de scriere. RAID-1). Din această cauză, RAID-5 este inutil să fie creat în software. De asemenea, nu pot fi recomandate în cazurile în care viteza de înregistrare este critică.

Ce metodă de implementare RAID ar trebui să alegeți - software sau hardware?

După ce ați citit descrierea diferitelor niveluri RAID, veți observa că nu se menționează niciunul cerințe specifice la hardware-ul necesar implementării RAID. Din care putem concluziona că tot ceea ce este necesar pentru implementarea RAID este să conectați numărul necesar de unități de disc la controlerul disponibil în computer și să instalați software special pe computer. Acest lucru este adevărat, dar nu în totalitate!
Într-adevăr, este posibil să se implementeze RAID în software. Un exemplu ar fi sistemul de operare Microsoft Windows NT 4.0 Server, în care implementarea software a RAID-0, -1 și chiar RAID-5 este posibilă (Microsoft Windows NT 4.0 Workstation oferă doar RAID-0 și RAID-1). Cu toate acestea, această soluție ar trebui considerată ca fiind extrem de simplificată și nu permite realizarea pe deplin a capabilităților matricei RAID. Este suficient să rețineți că, odată cu implementarea software-ului RAID, întreaga sarcină de plasare a informațiilor pe unitățile de disc, calcularea codurilor de control etc. cade pe procesorul central, ceea ce în mod natural nu crește performanța și fiabilitatea sistemului. Din aceleași motive, practic nu există funcții de service aici și toate operațiunile de înlocuire a unei unități defectuoase, de adăugare a unei noi unități, de schimbare a nivelului RAID etc. sunt efectuate cu pierderea completă a datelor și cu interzicerea completă de a efectua orice alte operațiuni. Singurul avantaj al implementării software a RAID este costul minim.
- un controler specializat eliberează procesorul central de operațiunile RAID de bază, iar eficiența controlerului este mai vizibilă cu cât nivelul de complexitate RAID este mai mare;
- controlerele, de regulă, sunt echipate cu drivere care vă permit să creați RAID pentru aproape orice sistem de operare popular;
- BIOS-ul încorporat al controlerului și programele de management incluse cu acesta permit administratorului de sistem să se conecteze, să deconecteze sau să înlocuiască cu ușurință unitățile incluse în RAID, să creeze mai multe matrice RAID, chiar și la diferite niveluri, să monitorizeze starea matricei de discuri, etc. Cu controlere „avansate”, aceste operațiuni pot fi efectuate „din mers”, adică. fără a opri unitatea de sistem. Multe operațiuni pot fi efectuate în „fond”, adică. fără a întrerupe munca curentă și chiar de la distanță, adică. de la orice loc de muncă (desigur, dacă aveți acces);
- controlerele pot fi echipate cu o memorie tampon („cache”), în care sunt stocate ultimele blocuri de date, care, cu acces frecvent la aceleași fișiere, poate crește semnificativ performanța sistemului de discuri.
Dezavantajul implementării hardware RAID este costul relativ ridicat al controlerelor RAID. Cu toate acestea, pe de o parte, trebuie să plătiți pentru tot (fiabilitatea, viteza, serviciul). Pe de altă parte, recent, odată cu dezvoltarea tehnologiei cu microprocesor, costul controlerelor RAID (în special modelele mai tinere) a început să scadă brusc și a devenit comparabil cu costul controlerelor obișnuite de disc, ceea ce face posibilă instalarea sistemelor RAID nu numai în mainframe scumpe, dar și în servere entry-level și chiar stații de lucru.

Cum să alegi un model de controler RAID?

Există mai multe tipuri de controlere RAID în funcție de funcționalitatea, designul și costul acestora:
1. Controlere de unitate cu funcționalitate RAID.
În esență, acesta este un controler de disc obișnuit, care, datorită firmware-ului BIOS special, vă permite să combinați unități de disc într-o matrice RAID, de obicei de nivel 0, 1 sau 0+1.

Controler SCSI Ultra (Ultra Wide) de la Mylex KT930RF (KT950RF).
În exterior, acest controler nu este diferit de un controler SCSI obișnuit. Toată „specializarea” se află în BIOS, care este împărțit în două părți - „Configurație SCSI” / „Configurație RAID”. În ciuda costului său scăzut (mai puțin de 200 USD), acest controler are un set bun de funcții:

- combinarea a până la 8 unități în RAID 0, 1 sau 0+1;
- a sustine Hot Spare pentru înlocuirea din mers a unei unități de disc defectate;
- capacitatea de a înlocui automat (fără intervenția operatorului) o unitate defectă;
- control automat integritatea și identitatea (pentru RAID-1) a datelor;
- prezenta unei parole pentru accesarea BIOS-ului;
- program RAIDPlus care oferă informații despre starea unităților în RAID;
- drivere pentru DOS, Windows 95, NT 3.5x, 4.0

Toate plăcile de bază moderne sunt echipate cu un controler RAID integrat, iar modelele de top au chiar mai multe controlere RAID integrate. Măsura în care controlerele RAID integrate sunt solicitate de utilizatorii casnici este o întrebare separată. În orice caz, modern placa de baza oferă utilizatorului posibilitatea de a crea o matrice RAID de mai multe discuri. Cu toate acestea, nu toată lumea utilizator de acasăștie cum să creeze o matrice RAID, ce nivel de matrice să aleagă și, în general, nu are idee despre avantajele și dezavantajele utilizării matricei RAID.
În acest articol vom oferi scurte recomandări cu privire la crearea matricelor RAID pe computerele de acasă și mai departe exemplu concret Să demonstrăm cum puteți testa independent performanța unei matrice RAID.

Istoria creației

Termenul „matrice RAID” a apărut pentru prima dată în 1987, când cercetătorii americani Patterson, Gibson și Katz de la Universitatea din California Berkeley în articolul lor „A Case for Redundant Arrays of Inexpensive Discs, RAID” au descris cum, în acest fel, puteți combina mai multe hard disk-uri ieftine într-un singur dispozitiv logic, astfel încât capacitatea rezultată și performanța sistemului să fie crescute, iar defecțiunea unităților individuale nu duce la defecțiunea întregului sistem.

Au trecut peste 20 de ani de la publicarea acestui articol, dar tehnologia de construire a matricelor RAID nu și-a pierdut actualitatea astăzi. Singurul lucru care s-a schimbat de atunci este decodarea acronimului RAID. Faptul este că inițial matricele RAID nu au fost construite deloc pe discuri ieftine, așa că cuvântul Ieftin (necostisitor) a fost schimbat în Independent (independent), ceea ce era mai adevărat.

Principiul de funcționare

Deci, RAID este o matrice redundantă de discuri independente (Redundant Arrays of Independent Discs), care are sarcina de a asigura toleranța la erori și de a crește performanța. Toleranța la erori se realizează prin redundanță. Adică, o parte din capacitatea de spațiu pe disc este alocată în scopuri oficiale, devenind inaccesibilă utilizatorului.

Performanța crescută a subsistemului de discuri este asigurată de funcționarea simultană a mai multor discuri, iar în acest sens, cu cât mai multe discuri în matrice (până la o anumită limită), cu atât mai bine.

Operarea în comun a discurilor dintr-o matrice poate fi organizată folosind fie acces paralel, fie independent. Cu acces paralel, spațiul pe disc este împărțit în blocuri (fâșii) pentru înregistrarea datelor. În mod similar, informațiile care trebuie scrise pe disc sunt împărțite în aceleași blocuri. La înregistrare, blocurile individuale sunt scrise pe discuri diferite, pe care sunt scrise mai multe blocuri diverse discuri are loc simultan, ceea ce duce la creșterea performanței în operațiunile de scriere. Informatie necesara se citește și în blocuri separate simultan de pe mai multe discuri, ceea ce crește și performanța proporțional cu numărul de discuri din matrice.

Trebuie remarcat faptul că modelul de acces paralel este implementat numai dacă dimensiunea cererii de scriere a datelor este mai mare decât dimensiunea blocului în sine. În caz contrar, înregistrarea în paralel a mai multor blocuri este aproape imposibilă. Să ne imaginăm o situație în care dimensiunea unui bloc individual este de 8 KB, iar dimensiunea unei cereri de scriere a datelor este de 64 KB. În acest caz, informațiile sursă sunt tăiate în opt blocuri a câte 8 KB fiecare. Dacă aveți o matrice de patru discuri, puteți scrie patru blocuri, sau 32 KB, la un moment dat. Evident, în exemplul luat în considerare, vitezele de scriere și citire vor fi de patru ori mai mari decât atunci când se utilizează un singur disc. Acest lucru este valabil doar pentru o situație ideală, dar dimensiunea cererii nu este întotdeauna un multiplu al mărimii blocului și al numărului de discuri din matrice.

Dacă dimensiunea datelor înregistrate dimensiune mai mică bloc, atunci este implementat un model fundamental diferit - acces independent. Mai mult, acest model poate fi folosit și atunci când dimensiunea datelor care sunt scrise este mai mare decât dimensiunea unui bloc. Cu acces independent, toate datele dintr-o singură solicitare sunt scrise pe un disc separat, adică situația este identică cu lucrul cu un singur disc. Avantajul modelului de acces independent este că dacă mai multe solicitări de scriere (citire) ajung simultan, toate vor fi executate pe discuri separate, independent unele de altele. Această situație este tipică, de exemplu, pentru servere.

În conformitate cu diferitele tipuri de acces, există diferite tipuri de matrice RAID, care sunt de obicei caracterizate de niveluri RAID. Pe lângă tipul de acces, nivelurile RAID diferă prin modul în care alocă și generează informații redundante. Informațiile redundante pot fi fie plasate pe un disc dedicat, fie distribuite între toate discurile. Există multe modalități de a genera aceste informații. Cea mai simplă dintre ele este duplicarea completă (redundanță de 100 la sută) sau oglindirea. În plus, sunt utilizate coduri de corectare a erorilor, precum și calcule de paritate.

Niveluri RAID

În prezent, există mai multe niveluri RAID care pot fi considerate standardizate - acestea sunt RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5 și RAID 6.

Sunt folosite și diverse combinații de niveluri RAID, ceea ce vă permite să combinați avantajele acestora. De obicei, aceasta este o combinație între un fel de nivel tolerant la erori și un nivel zero folosit pentru a îmbunătăți performanța (RAID 1+0, RAID 0+1, RAID 50).

Rețineți că toate controlerele RAID moderne acceptă funcția JBOD (Just a Bench Of Disks), care nu este destinată creării de matrice - oferă posibilitatea de a conecta discuri individuale la controlerul RAID.

Trebuie remarcat faptul că controlerele RAID integrate pe plăcile de bază pentru PC-urile de acasă nu acceptă toate nivelurile RAID. Controlerele RAID cu două porturi acceptă doar nivelurile 0 și 1, în timp ce controlerele RAID cu mai multe porturi (de exemplu, un controler RAID cu 6 porturi integrat în podul de sud chipset ICH9R/ICH10R) - de asemenea, nivelurile 10 și 5.

În plus, dacă vorbim despre plăci de bază bazate pe chipset-uri Intel, acestea implementează și funcția Intel Matrix RAID, care vă permite să creați simultan matrici RAID de mai multe niveluri pe mai multe hard disk-uri, alocând o parte din spațiul de disc pentru fiecare dintre ele.

RAID 0

Nivelul RAID 0, strict vorbind, nu este o matrice redundantă și, în consecință, nu oferă stocare fiabilă a datelor. Cu toate acestea, acest nivel este utilizat în mod activ în cazurile în care este necesar să se asigure o performanță ridicată a subsistemului de disc. Când se creează o matrice RAID de nivel 0, informațiile sunt împărțite în blocuri (uneori aceste blocuri sunt numite dungi), care sunt scrise pe discuri separate, adică se creează un sistem cu acces paralel (dacă, desigur, dimensiunea blocului permite acest lucru ). Permițând I/O simultană de pe mai multe discuri, RAID 0 oferă cele mai rapide viteze de transfer de date și eficiență maximă a spațiului pe disc, deoarece nu este necesar spațiu de stocare pentru sumele de verificare. Implementarea acestui nivel este foarte simplă. RAID 0 este utilizat în principal în zonele în care transfer rapid cantitate mare de date.

RAID 1 (disc în oglindă)

RAID Level 1 este o matrice de două discuri cu redundanță de 100%. Adică, datele sunt pur și simplu duplicate complet (oglindite), datorită cărora se atinge un nivel foarte ridicat de fiabilitate (precum și cost). Rețineți că pentru a implementa nivelul 1, nu este necesar să partiționați mai întâi discurile și datele în blocuri. În cel mai simplu caz, două discuri conțin aceleași informații și sunt un singur disc logic. Dacă un disc eșuează, funcțiile sale sunt îndeplinite de altul (care este absolut transparent pentru utilizator). Recuperarea matricei în curs copiere simplă. În plus, acest nivel dublează viteza de citire a informațiilor, deoarece această operație poate fi efectuată simultan de pe două discuri. Acest tip de schemă de stocare a informațiilor este utilizat în principal în cazurile în care costul securității datelor este mult mai mare decât costul implementării unui sistem de stocare.

RAID 5

RAID 5 este o matrice de discuri tolerantă la erori, cu stocare de sumă de control distribuită. La înregistrare, fluxul de date este împărțit în blocuri (stripe) la nivel de octeți și simultan scris pe toate discurile matricei în ordine ciclică.

Să presupunem că matricea conține n discuri și dimensiunea dungilor d. Pentru fiecare porțiune de n–1 dungi, se calculează suma de control p.

Dunga d 1înregistrat pe primul disc, stripe d 2- pe al doilea și așa mai departe până la dungă dn–1, care este scris la ( n–1) al-lea disc. În continuare n-se scrie suma de verificare a discului p n, iar procesul se repetă ciclic de pe primul disc pe care este scris banda d n.

Proces de înregistrare (n–1) dungile și suma lor de control sunt produse simultan pentru toți n discuri.

Suma de control este calculată utilizând o operație exclusivă sau (XOR) pe biți aplicată blocurilor de date care sunt scrise. Deci, dacă există n hard disk-uri, d- bloc de date (stripe), apoi suma de control este calculată folosind următoarea formulă:

pn=d1 d 2 ... d 1–1.

Dacă un disc nu reușește, datele de pe acesta pot fi restaurate folosind datele de control și datele rămase pe discurile de lucru.

Ca exemplu, luați în considerare blocurile de patru biți. Să existe doar cinci discuri pentru stocarea datelor și înregistrarea sumelor de control. Dacă există o secvență de biți 1101 0011 1100 1011, împărțiți în blocuri de patru biți, atunci pentru a calcula suma de control este necesar să efectuați următoarea operație pe biți:

1101 0011 1100 1011 = 1001.

Astfel, suma de control scrisă pe al cincilea disc este 1001.

Dacă unul dintre discuri, de exemplu al patrulea, eșuează, atunci blocul d 4= 1100 nu va fi disponibil la citire. Cu toate acestea, valoarea sa poate fi restabilită cu ușurință prin suma de controlși prin valorile blocurilor rămase folosind aceeași operațiune „SAU exclusivă”:

d4 = d1 d 2d 4p5.

În exemplul nostru obținem:

d4 = (1101) (0011) (1100) (1011) = 1001.

În cazul RAID 5, toate discurile din matrice au aceeași dimensiune, dar capacitatea totală a subsistemului de disc disponibil pentru scriere devine cu exact un disc mai mică. De exemplu, dacă cinci discuri au o dimensiune de 100 GB, atunci dimensiunea reală a matricei este de 400 GB, deoarece 100 GB sunt alocați pentru informațiile de control.

RAID 5 poate fi construit pe trei sau mai multe hard disk-uri. Pe măsură ce numărul de hard disk-uri dintr-o matrice crește, redundanța acestuia scade.

RAID 5 are o arhitectură de acces independentă, care permite efectuarea simultană a mai multor citiri sau scrieri.

RAID 10

Nivelul RAID 10 este o combinație de niveluri 0 și 1. Cerința minimă pentru acest nivel este de patru unități. Într-o matrice RAID 10 de patru unități, acestea sunt combinate în perechi în matrice de nivel 0 și ambele matrice ca unități logice sunt combinate într-o matrice de nivel 1. Este posibilă și o altă abordare: inițial, discurile sunt combinate matrice oglindă nivelul 1 și apoi discuri logice bazate pe aceste matrice într-o matrice de nivel 0.

Intel Matrix RAID

Matricele RAID considerate de nivelurile 5 și 1 sunt rareori utilizate acasă, ceea ce se datorează în primul rând costului ridicat al unor astfel de soluții. Cel mai adesea, pentru computerele de acasă, se utilizează o matrice de nivel 0 pe două discuri. După cum am observat deja, nivelul RAID 0 nu asigură securitatea stocării datelor și, prin urmare utilizatori finali se confruntă cu o alegere: creați o matrice RAID de nivel 0 de stocare a datelor rapidă, dar nu fiabilă sau, dublând costul spațiului pe disc, creați o matrice RAID de nivel 1 care oferă stocare fiabilă a datelor, dar nu permite un câștig semnificativ în performanta .

Pentru a rezolva această problemă dificilă, Intel a dezvoltat tehnologia Intel Matrix Storage, care combină beneficiile matricelor Tier 0 și Tier 1 pe doar două discuri fizice. Și pentru a sublinia că în acest caz nu vorbim doar despre o matrice RAID, ci despre o matrice care combină atât discuri fizice, cât și discuri logice, cuvântul „matrice” este folosit în numele tehnologiei în locul cuvântului „matrice”. ”.

Deci, ce este o matrice RAID cu două discuri care utilizează tehnologia Intel Matrix Storage? Ideea de bază este că, dacă sistemul are mai multe hard disk-uri și o placă de bază cu un chipset Intel care acceptă Intel Matrix Storage Technology, este posibil să se împartă spațiul pe disc în mai multe părți, fiecare dintre acestea va funcționa ca o matrice RAID separată.

Să ne uităm la un exemplu simplu de matrice RAID constând din două discuri de 120 GB fiecare. Oricare dintre discuri poate fi împărțit în două discuri logice, de exemplu 40 și 80 GB. Apoi, două unități logice de aceeași dimensiune (de exemplu, 40 GB fiecare) pot fi combinate într-o matrice RAID de nivel 1, iar unitățile logice rămase într-o matrice RAID de nivel 0.

În principiu, folosind două discuri fizice, este posibil să se creeze doar una sau două matrice RAID de nivel 0, dar este imposibil să se obțină doar matrice de nivel 1. Adică, dacă sistemul are doar două discuri, atunci Tehnologia Intel Matrix Storage vă permite să creați următoarele tipuri de matrice RAID:

  • o matrice de nivel 0;
  • două matrice de nivel 0;
  • matricea de nivel 0 și matricea de nivel 1.

Dacă sistemul are trei hard disk-uri, pot fi create următoarele tipuri de matrice RAID:

  • o matrice de nivel 0;
  • o matrice de nivel 5;
  • două matrice de nivel 0;
  • două matrice de nivel 5;
  • matricea de nivel 0 și matricea de nivel 5.

Dacă sistemul are patru hard disk-uri, atunci este posibil să creați o matrice RAID de nivel 10, precum și combinații de nivel 10 și nivel 0 sau 5.

De la teorie la practică

Dacă vorbim despre computerele de acasă, cele mai populare și populare sunt matricele RAID de nivelurile 0 și 1. Utilizarea matricelor RAID de trei sau mai multe discuri în computerele de acasă este mai degrabă o excepție de la regulă. Acest lucru se datorează faptului că, pe de o parte, costul matricei RAID crește proporțional cu numărul de discuri implicate în acesta, iar pe de altă parte, pentru computerele de acasă, capacitatea matricei de discuri este de o importanță primordială. , și nu performanța și fiabilitatea acestuia.

Prin urmare, în viitor vom lua în considerare nivelurile RAID 0 și 1 bazate pe doar două discuri. Obiectivul cercetării noastre va fi acela de a compara performanța și funcționalitatea matricei RAID de nivelurile 0 și 1, create pe baza mai multor controlere RAID integrate, precum și de a studia dependența caracteristicilor de viteză ale matricei RAID de bandă. mărimea.

Cert este că, deși teoretic, atunci când se folosește o matrice RAID de nivel 0, viteza de citire și scriere ar trebui să se dubleze, în practică creșterea caracteristicilor de viteză este mult mai puțin modestă și variază pentru diferite controlere RAID. Același lucru este valabil și pentru o matrice RAID de nivel 1: în ciuda faptului că teoretic viteza de citire ar trebui dublată, în practică nu totul este atât de fluid.

Pentru noi testare comparativă Pentru controlerele RAID, am folosit placa de bază Gigabyte GA-EX58A-UD7. Această placă se bazează pe chipset-ul Intel X58 Express cu ICH10R southbridge, care are un controler RAID integrat pentru șase porturi SATA II, care acceptă organizarea matricelor RAID de nivelurile 0, 1, 10 și 5 cu funcția Intel Matrix RAID. În plus, placa Gigabyte GA-EX58A-UD7 integrează controlerul GIGABYTE SATA2 RAID, care are două porturi SATA II cu capacitatea de a organiza matrice RAID de niveluri 0, 1 și JBOD.

De asemenea, pe placa GA-EX58A-UD7 se află un controler integrat SATA III Marvell 9128, pe baza căruia sunt implementate două porturi SATA III cu capacitatea de a organiza matrice RAID de niveluri 0, 1 și JBOD.

Astfel, placa Gigabyte GA-EX58A-UD7 are trei controlere RAID separate, pe baza cărora puteți crea matrice RAID de nivelurile 0 și 1 și le puteți compara între ele. Să reamintim că standardul SATA III este compatibil cu standardul SATA II, prin urmare, pe baza controlerului Marvell 9128, care acceptă unități cu interfață SATA III, puteți crea și matrice RAID folosind unități cu interfață SATA II.

Standul de testare a avut următoarea configurație:

  • procesor - Intel Core i7-965 Extreme Edition;
  • placa de baza - Gigabyte GA-EX58A-UD7;
  • Versiunea BIOS- F2a;
  • hard disk-uri - două Unitatea de vest Digital WD1002FBYS, o unitate Western Digital WD3200AAKS;
  • controlere RAID integrate:
  • ICH10R,
  • GIGABYTE SATA2,
  • Marvell 9128;
  • memorie - DDR3-1066;
  • capacitate memorie - 3 GB (trei module de 1024 MB fiecare);
  • modul de operare memorie - DDR3-1333, mod de operare cu trei canale;
  • placa video - Gigabyte GeForce GTS295;
  • sursa de alimentare - Tagan 1300W.

Testarea a fost efectuată sub sistemul de operare Microsoft Windows 7 Ultimate (32 de biți). Sistemul de operare a fost instalat pe un disc Western Digital WD3200AAKS, care a fost conectat la port Controler SATA II, integrat în podul de sud ICH10R. Matricea RAID a fost asamblată pe două unități WD1002FBYS cu o interfață SATA II.

Pentru a măsura caracteristicile de viteză ale matricelor RAID create, am folosit utilitarul IOmeter, care este standardul industrial pentru măsurarea performanței sistemelor de discuri.

Utilitar IOmeter

Deoarece am intenționat acest articol ca un fel de ghid al utilizatorului pentru crearea și testarea matricelor RAID, ar fi logic să începem cu o descriere a utilitarului IOmeter (Input/Output meter), care, așa cum am observat deja, este un fel de standard industrial pentru măsurarea performanței sistemelor de discuri. Acest utilitar este gratuit și poate fi descărcat de pe http://www.iometer.org.

Utilitarul IOmeter este un test sintetic și vă permite să lucrați cu hard disk-uri care nu sunt partiționate în partiții logice, astfel încât să puteți testa unitățile indiferent de structura fișierelor și să reduceți influența sistemului de operare la zero.

La testare, este posibil să creați un model de acces specific, sau „model”, care vă permite să specificați execuția unor operațiuni specifice de către hard disk. Dacă creați un anumit model de acces, aveți voie să modificați următorii parametri:

  • dimensiunea cererii de transfer de date;
  • distribuție aleatorie/secvențială (în%);
  • distribuția operațiilor de citire/scriere (în%);
  • Numărul de operațiuni I/O individuale care rulează în paralel.

Utilitarul IOmeter nu necesită instalare pe un computer și constă din două părți: IOmeter în sine și Dynamo.

IOmeter este partea de control a programului cu o interfață grafică de utilizator care vă permite să faceți toate setările necesare. Dynamo este un generator de sarcină care nu are interfață. De fiecare dată când rulați IOmeter.exe, generatorul de încărcare Dynamo.exe pornește automat.

Pentru a începe să lucrați cu programul IOmeter, trebuie doar să rulați fișierul IOmeter.exe. Aceasta deschide fereastra principală a programului IOmeter (Fig. 1).

Orez. 1. Fereastra principală a programului IOmeter

Trebuie remarcat faptul că utilitarul IOmeter vă permite să testați nu numai sistemele de discuri locale (DAS), ci și dispozitivele de stocare atașate la rețea (NAS). De exemplu, îl puteți folosi pentru a testa performanța subsistemului de disc al serverului (server de fișiere), folosind mai multe clienți de rețea. Prin urmare, unele dintre marcajele și instrumentele din fereastra utilitarului IOmeter se referă în mod specific la setari de retea programe. Este clar că atunci când testăm discurile și matricele RAID nu vom avea nevoie de aceste capacități de program și, prin urmare, nu vom explica scopul tuturor filelor și instrumentelor.

Deci, când porniți programul IOmeter, o structură arborescentă a tuturor generatoarelor de sarcină care rulează (instanțele Dynamo) va fi afișată în partea stângă a ferestrei principale (în fereastra Topologie). Fiecare instanță generatoare de încărcare Dynamo care rulează este numită manager. În plus, programul IOmeter are mai multe fire și fiecare fir individual care rulează pe o instanță generator de încărcare Dynamo este numit Worker. Numărul de lucrători în curs corespunde întotdeauna cu numărul nuclee logice procesor.

Exemplul nostru folosește un singur computer cu un procesor quad-core care acceptă Tehnologia Hyper-Threading, prin urmare, sunt lansate un singur manager (o instanță Dynamo) și opt (după numărul de nuclee de procesor logic) Workers.

De fapt, pentru a testa discurile în această fereastră, nu este nevoie să schimbați sau să adăugați nimic.

Dacă selectați numele computerului cu mouse-ul în structura arborescentă a instanțelor Dynamo care rulează, atunci în fereastră Ţintă pe filă Disk Target Vor fi afișate toate discurile, matricele de discuri și alte unități (inclusiv unitățile de rețea) instalate pe computer. Acestea sunt unitățile cu care poate funcționa IOmeter. Suporturile pot fi marcate cu galben sau albastru. Partițiile logice ale mediilor sunt marcate cu galben și dispozitive fizice fără partiții logice create pe ele. O secțiune logică poate fi tăiată sau nu. Faptul este că, pentru ca un program să funcționeze cu o partiție logică, acesta trebuie mai întâi pregătit prin crearea unui dosar special, egală ca mărime cu capacitatea totală partiție logică. Dacă partiția logică este tăiată, aceasta înseamnă că secțiunea nu este încă pregătită pentru testare (va fi pregătită automat în prima etapă a testării), dar dacă secțiunea nu este tăiată, înseamnă că un fișier a fost deja creat pe partiția logică, complet gata pentru testare.

Rețineți că, în ciuda capacității acceptate de a lucra cu partiții logice, este optim să testați unitățile care nu sunt partiționate în partiții logice. Puteți șterge o partiție de disc logică foarte simplu - printr-un snap-in Managementul discurilor. Pentru a-l accesa, trebuie doar să faceți clic Click dreapta mouse-ul pe pictogramă Calculator pe desktop și selectați elementul din meniul care se deschide Administra. În fereastra care se deschide Managementul computerelorîn partea stângă trebuie să selectați elementul Depozitare, și în ea - Managementul discurilor. După aceea, în partea dreaptă a ferestrei Managementul computerelor Vor fi afișate toate unitățile conectate. Făcând clic dreapta pe unitatea dorită și selectând elementul din meniul care se deschide Șterge volumul..., puteți șterge o partiție logică de pe un disc fizic. Să vă reamintim că atunci când ștergeți o partiție logică de pe un disc, toate informațiile de pe aceasta sunt șterse fără posibilitatea de recuperare.

În general, folosind utilitarul IOmeter puteți testa doar discuri goale sau matrice de discuri. Adică, nu puteți testa un disc sau o matrice de discuri pe care este instalat sistemul de operare.

Deci, să revenim la descrierea utilitarului IOmeter. La fereastră Ţintă pe filă Disk Target trebuie să selectați discul (sau matricea de discuri) care va fi testat. Apoi, trebuie să deschideți fila Specificații de acces(Fig. 2), pe care se va putea determina scenariul de testare.

Orez. 2. Accesați fila Specificații a utilitarului IOmeter

La fereastră Specificații globale de acces Există o listă de scripturi de testare predefinite care pot fi atribuite managerului de pornire. Cu toate acestea, nu vom avea nevoie de aceste scripturi, așa că toate pot fi selectate și șterse (există un buton pentru aceasta Șterge). După aceea, faceți clic pe butonul Nou pentru a crea un nou script de testare. În fereastra care se deschide Editați specificația de acces Puteți defini scenariul de pornire pentru un disc sau o matrice RAID.

Să presupunem că vrem să aflăm dependența vitezei de citire și scriere secvențială (liniară) de dimensiunea blocului de cerere de transfer de date. Pentru a face acest lucru, trebuie să generăm o secvență de scripturi de pornire în modul de citire secvențială la diferite dimensiuni de bloc și apoi o secvență de scripturi de pornire în modul de scriere secvențială la diferite dimensiuni de bloc. În mod obișnuit, dimensiunile blocurilor sunt alese ca o serie, fiecare membru al căruia este de două ori dimensiunea celui precedent, iar primul membru al acestei serii este de 512 octeți. Adică, dimensiunile blocurilor sunt următoarele: 512 octeți, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 KB, 1 MB. Nu are rost să facem dimensiunea blocului mai mare de 1 MB pentru operații secvențiale, deoarece cu astfel de dimensiuni mari bloc de date, viteza operațiilor secvențiale nu se modifică.

Deci, să creăm un script de încărcare în modul de citire secvențială pentru un bloc de 512 octeți.

În câmp Nume fereastră Editați specificația de acces introduceți numele scriptului de încărcare. De exemplu, Sequential_Read_512. Următorul pe teren Dimensiunea cererii de transfer setați dimensiunea blocului de date la 512 octeți. Glisor Distribuție procentuală aleatorie/secvențială (procentîntre operaţiile secvenţiale şi cele selective) ne deplasăm până la capăt spre stânga, astfel încât toate operaţiile noastre să fie numai secvenţiale. Ei bine, cursorul , care stabilește raportul procentual dintre operațiile de citire și scriere, este deplasat complet spre dreapta, astfel încât toate operațiunile noastre să fie numai în citire. Alți parametri în fereastră Editați specificația de acces nu este nevoie de schimbare (Fig. 3).

Orez. 3. Fereastra de editare a specificației de acces pentru a crea un script de încărcare de citire secvențială
cu o dimensiune a blocului de date de 512 octeți

Faceți clic pe butonul Bine, iar primul script pe care l-am creat va apărea în fereastră Specificații globale de acces pe filă Specificații de acces Utilitare IOmeter.

În mod similar, trebuie să creați scripturi pentru blocurile de date rămase, cu toate acestea, pentru a vă ușura munca, este mai ușor să nu creați scriptul din nou de fiecare dată făcând clic pe butonul Nou, iar după ce ați selectat ultimul scenariu creat, apăsați butonul Editare copie(editează copie). După aceasta, fereastra se va deschide din nou Editați specificația de acces cu setările ultimului script creat. Va fi suficient să schimbați doar numele și dimensiunea blocului. După ce ați finalizat o procedură similară pentru toate celelalte dimensiuni de bloc, puteți începe să creați scripturi pentru înregistrarea secvențială, care se face exact în același mod, cu excepția faptului că glisorul Distribuție procentuală de citire/scriere, care stabilește raportul procentual dintre operațiile de citire și scriere, trebuie mutat complet spre stânga.

În mod similar, puteți crea scripturi pentru scriere și citire selectivă.

După ce toate scripturile sunt gata, acestea trebuie să fie alocate managerului de descărcare, adică să indice cu ce scripturi vor funcționa Dinam.

Pentru a face acest lucru, verificăm din nou ce este în fereastră Topologie Numele computerului (adică managerul de încărcare de pe computerul local) este evidențiat, și nu lucrătorul individual. Acest lucru asigură că scenariile de încărcare vor fi atribuite tuturor lucrătorilor simultan. Urmează în fereastră Specificații globale de acces selectați toate scenariile de încărcare pe care le-am creat și apăsați butonul Adăuga. Toate scenariile de încărcare selectate vor fi adăugate în fereastră (Fig. 4).

Orez. 4. Atribuirea scenariilor de încărcare create managerului de încărcare

După aceasta, trebuie să accesați fila Test de configurare(Fig. 5), unde puteți seta timpul de execuție al fiecărui script pe care l-am creat. Pentru a face acest lucru într-un grup Timp de rulare setați timpul de execuție al scenariului de încărcare. Va fi suficient să setați timpul la 3 minute.

Orez. 5. Setarea timpului de execuție a scenariului de încărcare

Mai mult, pe teren Descriere Test Trebuie să specificați numele întregului test. În principiu, această filă are o mulțime de alte setări, dar nu sunt necesare pentru sarcinile noastre.

După ce au fost făcute toate setările necesare, se recomandă salvarea testului creat făcând clic pe butonul cu imaginea unei dischete din bara de instrumente. Testul este salvat cu extensia *.icf. Ulterior, puteți utiliza scenariul de încărcare creat rulând nu fișierul IOmeter.exe, ci fișierul salvat cu extensia *.icf.

Acum puteți începe testarea direct făcând clic pe butonul cu un steag. Vi se va cere să specificați numele fișierului care conține rezultatele testului și să selectați locația acestuia. Rezultatele testelor sunt salvate într-un fișier CSV, care poate fi apoi ușor exportat în Excel și, prin setarea unui filtru pe prima coloană, selectați datele dorite cu rezultatele testului.

În timpul testării, rezultatele intermediare pot fi văzute pe filă Afișarea rezultatelor, și puteți determina scenariul de încărcare căruia îi aparțin în filă Specificații de acces. La fereastră Specificație de acces atribuită un script care rulează apare în verde, scripturile finalizate în roșu și scripturile neexecutate în albastru.

Așadar, ne-am uitat la tehnicile de bază pentru lucrul cu utilitarul IOmeter, care vor fi necesare pentru testarea discurilor individuale sau a matricelor RAID. Rețineți că nu am vorbit despre toate capacitățile utilitarului IOmeter, dar o descriere a tuturor capabilităților sale depășește scopul acestui articol.

Crearea unei matrice RAID bazată pe controlerul GIGABYTE SATA2

Deci, începem să creăm o matrice RAID bazată pe două discuri folosind controlerul RAID GIGABYTE SATA2 integrat pe placă. Desigur, Gigabyte în sine nu produce cipuri și, prin urmare, sub cipul GIGABYTE SATA2 este ascuns un cip reetichetat de la o altă companie. Cum puteți afla din fișierul INF al driverului, despre care vorbim despre controlerul din seria JMicron JMB36x.

Accesul la meniul de configurare a controlerului este posibil în faza de pornire a sistemului, pentru care trebuie să apăsați combinația de taste Ctrl+G atunci când pe ecran apare inscripția corespunzătoare. Desigur, mai întâi în setările BIOS trebuie să definiți modul de funcționare al celor două porturi SATA aferente controlerului GIGABYTE SATA2 ca RAID (în caz contrar accesul la meniul configurator de matrice RAID va fi imposibil).

Meniul de configurare pentru controlerul GIGABYTE SATA2 RAID este destul de simplu. După cum am observat deja, controlerul este dual-port și vă permite să creați matrice RAID de nivel 0 sau 1. Prin meniul de setări controler, puteți șterge sau crea o matrice RAID. Când creați o matrice RAID, puteți să specificați numele acesteia, să selectați nivelul matricei (0 sau 1), să setați dimensiunea benzii pentru RAID 0 (128, 84, 32, 16, 8 sau 4K) și, de asemenea, să determinați dimensiunea matricei. matrice.

Odată ce matricea este creată, orice modificare a acesteia nu mai este posibilă. Adică, nu puteți modifica ulterior pentru matricea creată, de exemplu, nivelul sau dimensiunea benzii. Pentru a face acest lucru, mai întâi trebuie să ștergeți matricea (cu pierdere de date), apoi să o creați din nou. De fapt, acest lucru nu este exclusiv pentru controlerul GIGABYTE SATA2. Incapacitatea de a modifica parametrii matricelor RAID create este o caracteristică a tuturor controlerelor, care decurge din însuși principiul implementării unei matrice RAID.

Odată ce o matrice bazată pe controlerul GIGABYTE SATA2 a fost creată, informațiile sale curente pot fi vizualizate folosind utilitarul GIGABYTE RAID Configurer, care este instalat automat împreună cu driverul.

Crearea unei matrice RAID bazată pe controlerul Marvell 9128

Configurarea controlerului Marvell 9128 RAID este posibilă numai prin setările BIOS Plăci Gigabyte GA-EX58A-UD7. În general, trebuie spus că meniul configuratorului controlerului Marvell 9128 este oarecum grosier și poate induce în eroare utilizatorii fără experiență. Cu toate acestea, despre aceste deficiențe minore vom vorbi puțin mai târziu, dar deocamdată le vom lua în considerare pe cele principale funcţionalitate Controler Marvell 9128.

Deci, deși acest controler acceptă unități SATA III, este și pe deplin compatibil cu unitățile SATA II.

Controlerul Marvell 9128 vă permite să creați o matrice RAID de niveluri 0 și 1 bazată pe două discuri. Pentru o matrice de nivel 0, puteți seta dimensiunea benzii la 32 sau 64 KB și, de asemenea, puteți specifica numele matricei. În plus, există o opțiune precum Gigabyte Rounding, care necesită explicații. În ciuda numelui, care este similar cu numele producătorului, funcția Gigabyte Rounding nu are nimic de-a face cu aceasta. Mai mult, nu este în niciun fel conectat cu matricea RAID de nivel 0, deși în setările controlerului poate fi definit special pentru o matrice de acest nivel. De fapt, acesta este primul dintre acele deficiențe în configuratorul controlerului Marvell 9128 pe care l-am menționat. Caracteristica Gigabyte Rounding este definită numai pentru RAID Level 1. Vă permite să utilizați două unități (de exemplu, de la diferiți producători sau diferite modele), a căror capacitate este ușor diferită una de cealaltă. Funcția Gigabyte Rounding stabilește cu precizie diferența dintre dimensiunile celor două discuri utilizate pentru a crea o matrice RAID de nivel 1. În controlerul Marvell 9128, funcția Gigabyte Rounding vă permite să setați diferența de dimensiuni ale discurilor la 1 sau 10. GB.

Un alt defect al configuratorului controlerului Marvell 9128 este că atunci când creează o matrice RAID de nivel 1, utilizatorul are posibilitatea de a selecta dimensiunea stripe (32 sau 64 KB). Cu toate acestea, conceptul de stripe nu este definit deloc pentru nivelul RAID 1.

Crearea unei matrice RAID bazată pe controlerul integrat în ICH10R

Controlerul RAID integrat în ICH10R southbridge este cel mai comun. După cum sa menționat deja, acest controler RAID are 6 porturi și acceptă nu numai crearea de matrice RAID 0 și RAID 1, ci și RAID 5 și RAID 10.

Accesul la meniul de configurare a controlerului este posibil în faza de pornire a sistemului, pentru care trebuie să apăsați combinația de taste Ctrl + I atunci când pe ecran apare inscripția corespunzătoare. Desigur, mai întâi în setările BIOS ar trebui să definiți modul de operare al acestui controler ca RAID (în caz contrar, accesul la meniul de configurare a matricei RAID va fi imposibil).

Meniul de configurare a controlerului RAID este destul de simplu. Prin meniul de setări controler, puteți șterge sau crea o matrice RAID. Când creați o matrice RAID, puteți să specificați numele acesteia, să selectați nivelul matricei (0, 1, 5 sau 10), să setați dimensiunea benzii pentru RAID 0 (128, 84, 32, 16, 8 sau 4K) și, de asemenea, să determinați dimensiunea matricei.

Comparație de performanță RAID

Pentru a testa matricele RAID folosind utilitarul IOmeter, am creat scenarii de încărcare de citire secvențială, scriere secvențială, citire selectivă și scriere selectivă. Dimensiunile blocurilor de date din fiecare scenariu de încărcare au fost următoarele: 512 octeți, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 KB, 1 MB.

Pe fiecare dintre controlerele RAID, am creat o matrice RAID 0 cu toate dimensiunile de stripe permise și o matrice RAID 1 În plus, pentru a putea evalua câștigul de performanță obținut prin utilizarea unei matrice RAID, am testat și un singur disc. pe fiecare dintre controlerele RAID.

Deci, să ne uităm la rezultatele testării noastre.

Controler GIGABYTE SATA2

În primul rând, să ne uităm la rezultatele testării matricelor RAID bazate pe controlerul GIGABYTE SATA2 (Fig. 6-13). În general, controlerul s-a dovedit a fi literalmente misterios, iar performanța sa a fost pur și simplu dezamăgitoare.

Orez. 6. Viteză secvenţială
și operațiuni selective pe disc
Western Digital WD1002FBYS

Orez. 7. Viteză secvenţială

cu o dimensiune a dungii de 128 KB
(controler GIGABYTE SATA2)

Orez. 12.Viteza de serie
și operațiuni selective pentru RAID 0
cu o dimensiune a dungii de 4 KB
(controler GIGABYTE SATA2)

Orez. 13.Viteza de serie
și operațiuni selective
pentru RAID 1 (controler GIGABYTE SATA2)

Dacă te uiți la caracteristicile de viteză ale unui disc (fără o matrice RAID), viteza maximă de citire secvenţială este de 102 MB/s, iar viteza maximă de scriere secvenţială este de 107 MB/s.

Când se creează o matrice RAID 0 cu o dimensiune stripe de 128 KB, viteza maximă de citire și scriere secvențială crește la 125 MB/s, o creștere de aproximativ 22%.

Cu dimensiuni de bandă de 64, 32 sau 16 KB, viteza maximă de citire secvenţială este de 130 MB/s, iar viteza maximă de scriere secvenţială este de 141 MB/s. Adică, cu dimensiunile benzilor specificate, viteza maximă de citire secvențială crește cu 27%, iar viteza maximă de scriere secvențială crește cu 31%.

De fapt, acest lucru nu este suficient pentru o matrice de nivel 0 și aș dori ca viteza maximă a operațiunilor secvențiale să fie mai mare.

Cu o dimensiune stripe de 8 KB, viteza maximă a operațiunilor secvențiale (citire și scriere) rămâne aproximativ aceeași ca și cu o dimensiune stripe de 64, 32 sau 16 KB, totuși, există probleme evidente cu citirea selectivă. Pe măsură ce dimensiunea blocului de date crește până la 128 KB, viteza de citire selectivă (cum ar trebui) crește proporțional cu dimensiunea blocului de date. Cu toate acestea, când dimensiunea blocului de date este mai mare de 128 KB, viteza de citire selectivă scade la aproape zero (la aproximativ 0,1 MB/s).

Cu o dimensiune a benzii de 4 KB, nu numai viteza de citire selectivă scade atunci când dimensiunea blocului este mai mare de 128 KB, ci și viteza de citire secvențială atunci când dimensiunea blocului este mai mare de 16 KB.

Utilizarea unei matrice RAID 1 pe un controler GIGABYTE SATA2 nu modifică semnificativ viteza de citire secvenţială (comparativ cu o singură unitate), dar viteza maximă de scriere secvenţială este redusă la 75 MB/s. Amintiți-vă că pentru o matrice RAID 1, viteza de citire ar trebui să crească, iar viteza de scriere nu ar trebui să scadă în comparație cu viteza de citire și scriere a unui singur disc.

Pe baza rezultatelor testării controlerului GIGABYTE SATA2, se poate trage o singură concluzie. Este logic să utilizați acest controler pentru a crea matrice RAID 0 și RAID 1 numai dacă toate celelalte controlere RAID (Marvell 9128, ICH10R) sunt deja utilizate. Deși imaginați-vă situație similară destul de greu.

Controler Marvell 9128

Controlerul Marvell 9128 a demonstrat caracteristici de viteză mult mai mari în comparație cu controlerul GIGABYTE SATA2 (Fig. 14-17). De fapt, diferențele apar chiar și atunci când controlerul funcționează cu un singur disc. Dacă pentru controlerul GIGABYTE SATA2 viteza maximă de citire secvenţială este de 102 MB/s şi se realizează cu o dimensiune a blocului de date de 128 KB, atunci pentru controlerul Marvell 9128 viteza maximă de citire secvenţială este de 107 MB/s şi se realizează cu un dimensiunea blocului de 16 KB.

Când se creează o matrice RAID 0 cu dimensiuni de bandă de 64 și 32 KB, viteza maximă de citire secvențială crește la 211 MB/s, iar viteza de scriere secvențială crește la 185 MB/s. Adică, cu dimensiunile benzilor specificate, viteza maximă de citire secvențială crește cu 97%, iar viteza maximă de scriere secvențială crește cu 73%.

Nu există o diferență semnificativă în performanța de viteză a unei matrice RAID 0 cu o dimensiune a benzilor de 32 și 64 KB, cu toate acestea, utilizarea unei benzi de 32 KB este mai de preferat, deoarece în acest caz viteza operațiunilor secvențiale cu o dimensiune de bloc mai puțin de 128 KB va fi puțin mai mare.

Când se creează o matrice RAID 1 pe un controler Marvell 9128, viteza maximă de operare secvenţială rămâne practic neschimbată în comparaţie cu un singur disc. Deci, dacă pentru un singur disc viteza maximă a operațiunilor secvențiale este de 107 MB/s, atunci pentru RAID 1 este de 105 MB/s. De asemenea, rețineți că pentru RAID 1, performanța de citire selectivă se degradează ușor.

În general, trebuie remarcat faptul că controlerul Marvell 9128 are bun caracteristicile vitezeiși poate fi folosit atât pentru a crea matrice RAID, cât și pentru a conecta discuri individuale la el.

Controler ICH10R

Controlerul RAID încorporat în ICH10R s-a dovedit a fi cel mai performant dintre toți cei testați (Figura 18-25). Când lucrați cu o singură unitate (fără a crea o matrice RAID), performanța sa este practic aceeași cu cea a controlerului Marvell 9128. Viteza maximă de citire și scriere secvențială este de 107 MB și este atinsă cu o dimensiune a blocului de date de 16 KB.

Orez. 18. Viteza secvenţială
și operațiuni selective
pentru disc Western Digital WD1002FBYS (controler ICH10R)

Dacă vorbim despre matricea RAID 0 de pe controlerul ICH10R, atunci viteza maximă de citire și scriere secvențială nu depinde de dimensiunea stripe și este de 212 MB/s. Doar dimensiunea blocului de date la care se realizează viteza maximă de citire și scriere secvențială depinde de dimensiunea benzii. Rezultatele testelor arată că pentru RAID 0 bazat pe controlerul ICH10R, este optim să folosiți o bandă de 64 KB. În acest caz, viteza maximă de citire și scriere secvențială este atinsă cu o dimensiune a blocului de date de numai 16 KB.

Deci, pentru a rezuma, subliniem încă o dată faptul că controlerul RAID încorporat în ICH10R depășește semnificativ toate celelalte controlere RAID integrate în performanță. Și având în vedere că are și o funcționalitate mai mare, este optim să folosiți acest controler special și să uitați pur și simplu de existența tuturor celorlalte (cu excepția cazului în care, desigur, sistemul folosește unități SATA III).

Buna ziua. Astăzi am pus mâna pe două hard disk-uri noi și m-am gândit mult timp ce aș putea face cu ele pentru a-mi ajuta cititorii. După ce m-am gândit la asta, am decis în sfârșit că cu greu aș putea scrie ceva mai bun decât o poveste despre RAID 1 creată de sistemul de operare în sine. Deci, ce este RAID 1?

RAID 1 este o matrice de două suport de disc, informațiile pe care sunt duplicate pe ambele discuri. Adică, aveți două discuri care sunt copii complete unul ale celuilalt. De ce se face asta? În primul rând, pentru a îmbunătăți fiabilitatea stocării informațiilor. Deoarece probabilitatea de defecțiune a ambelor discuri în același timp este mică, dacă un disc eșuează, veți avea întotdeauna o copie a tuturor informațiilor de pe al doilea. Pe o matrice RAID 1 puteți stoca orice informație la fel ca pe un hard disk obișnuit, ceea ce vă permite să nu vă faceți griji pentru un proiect important la care lucrați de foarte mult timp.

Astăzi ne vom uita la cum să creați o matrice RAID folosind Windows însuși folosind două discuri goale (declar cu încredere că această instrucțiune funcționează pe Windows 7, 8 și 8.1). Dacă sunteți interesat să creați o matrice RAID folosind un disc deja plin, atunci trebuie să citiți despre acest subiect.

Și, de fapt, instrucțiuni pentru referință:

1) Mai întâi, instalați hard disk-urile în unitatea de sistem și porniți computerul.

2) Deschideți „Panou de control → Sistem și securitate → Instrumente administrative → Gestionare computere → Dispozitive de stocare → Gestionare disc”. Când îl porniți pentru prima dată, utilitarul vă va informa despre instalarea de noi dispozitive de disc și vă va solicita să selectați o partiție pentru acestea. Dacă aveți un disc de 2,2 TB sau mai mult, alegeți GPT, dacă este mai mic, atunci MBR.

3) În partea de jos a ferestrei, găsiți unul dintre noile noastre hard disk-uri și faceți clic dreapta pe el. Selectați „Creați volum oglindă”:

4) Se va deschide expertul de creare a imaginii. Faceți clic pe următorul.

5) Pe această pagină trebuie să adăugați un disc care va duplica discul selectat anterior. Prin urmare, selectați discul din partea stângă și faceți clic pe butonul „Adăugați”:



Faceți clic pe următorul.

6) Selectați litera care va denota noul volum. Am ales M (pentru Mirror). Faceți clic pe următorul.

7) Setați sistemul de fișiere, dimensiunea clusterului și numele volumului. De asemenea, recomand să bifați caseta de lângă „ Formatare rapidă„, lasă-l să facă totul deodată. Și din nou mai departe.

8) Verificați ce avem, dacă totul este corect, faceți clic pe „Terminat”.