Ce este raid 1. Matrice RAID: clasificare, caracteristici, aplicație. Ce RAID ar trebui să alegi?

Astăzi vom vorbi despre Matrice RAID. Să ne dăm seama ce este, de ce avem nevoie de el, cum este și cum să folosim toată această măreție în practică.

Deci, în ordine: ce este matrice RAID sau doar RAID? Această abreviere înseamnă „Redundant Array of Independent Disks” sau „redundant (backup) array of independent disks”. Pentru a spune simplu, matrice RAID aceasta este o colecție de discuri fizice combinate într-un singur disc logic.

De obicei, se întâmplă invers - un disc fizic este instalat în unitatea de sistem, pe care îl împărțim în mai multe logice. Aici situația este inversă - mai multe hard disk-uri sunt mai întâi combinate într-unul singur, iar apoi sistemul de operare este perceput ca unul singur. Aceste. Sistemul de operare crede cu fermitate că fizic are un singur disc.

Matrice RAID Există hardware și software.

Hardware Matrice RAID sunt create înainte de a încărca sistemul de operare folosind utilitare speciale încorporate în Controler RAID- ceva ca un BIOS. Ca urmare a creării unor astfel de matrice RAID deja în etapa de instalare a sistemului de operare, kitul de distribuție „vede” un disc.

Software Matrice RAID creat de instrumentele OS. Aceste. În timpul pornirii, sistemul de operare „înțelege” că are mai multe discuri fizice și numai după ce sistemul de operare pornește, prin software, discurile sunt combinate în matrice. Desigur, sistemul de operare în sine nu este localizat matrice RAID, deoarece este instalat înainte de a fi creat.

„De ce este nevoie de toate acestea?” - intrebi? Răspunsul este: pentru a crește viteza de citire/scriere a datelor și/sau pentru a crește toleranța la erori și securitatea.

"Cum matrice RAID poate crește viteza sau poate securiza datele?" - pentru a răspunde la această întrebare, luați în considerare principalele tipuri Matrice RAID, cum sunt formate și ce dă ca rezultat.

RAID-0. Se mai numește și „Stripe” sau „Tape”. Două sau mai multe hard disk-uri sunt combinate într-una singură prin îmbinarea secvențială și însumarea volumelor. Aceste. dacă luăm două discuri de 500 GB și le creăm RAID-0, sistemul de operare va percepe acest lucru ca pe un disc de un terabyte. În același timp, viteza de citire/scriere a acestei matrice va fi de două ori mai mare decât cea a unui disc, deoarece, de exemplu, dacă baza de date este localizată fizic în acest fel pe două discuri, un utilizator poate citi datele de pe un disc. , iar un alt utilizator poate scrie pe un alt disc în același timp. În timp ce, dacă baza de date este localizată pe un singur disc, hard disk-ul însuși va efectua sarcini de citire/scriere ale diferiților utilizatori în mod succesiv. RAID-0 va permite citirea/scrierea în paralel. În consecință, cu atât mai multe discuri în matrice RAID-0, cu atât matricea în sine funcționează mai rapid. Dependența este direct proporțională - viteza crește de N ori, unde N este numărul de discuri din matrice.
La matrice RAID-0 există un singur dezavantaj care depășește toate avantajele utilizării acestuia - lipsa totală a toleranței la erori. Dacă unul dintre discurile fizice ale matricei moare, întreaga matrice moare. Există o glumă veche despre asta: „Ce înseamnă „0” din titlu? RAID-0? - cantitatea de informații restaurată după moartea matricei!"

RAID-1. Denumit și „Oglindă” sau „Oglindă”. Două sau mai multe hard disk-uri sunt combinate într-unul singur prin fuziune paralelă. Aceste. dacă luăm două discuri de 500 GB și le creăm RAID-1, sistemul de operare va percepe acest lucru ca pe un disc de 500 GB. În acest caz, viteza de citire/scriere a acestei matrice va fi aceeași cu cea a unui disc, deoarece informațiile sunt citite/scrise pe ambele discuri simultan. RAID-1 nu oferă un câștig în viteză, dar oferă o mai mare toleranță la erori, deoarece în cazul morții unuia dintre hard disk, există întotdeauna o duplicare completă a informațiilor situate pe a doua unitate. Trebuie reținut că toleranța la erori este oferită numai împotriva morții unuia dintre discurile matrice. Dacă datele au fost șterse intenționat, acestea sunt șterse de pe toate discurile matricei simultan!

RAID-5. O opțiune mai sigură pentru RAID-0. Volumul matricei este calculat folosind formula (N - 1) * DiskSize RAID-5 de la trei discuri de 500 GB, obținem o matrice de 1 terabyte. Esența matricei RAID-5 este că mai multe discuri sunt combinate în RAID-0, iar ultimul disc stochează așa-numitul „checksum” - informații de serviciu destinate să restabilească unul dintre discurile matrice în cazul morții acestuia. Viteza de scriere a matricei RAID-5 oarecum mai mică, deoarece timpul este petrecut calculând și scriend suma de control pe un disc separat, dar viteza de citire este aceeași ca în RAID-0.
Dacă unul dintre discurile matrice RAID-5 moare, viteza de citire/scriere scade brusc, deoarece toate operațiunile sunt însoțite de manipulări suplimentare. De fapt RAID-5 se transformă în RAID-0 și dacă recuperarea nu este îngrijită în timp util matrice RAID există un risc semnificativ de a pierde complet datele.
Cu o matrice RAID-5 Puteți utiliza așa-numitul disc de rezervă, de ex. de rezervă. În timpul funcționării stabile matrice RAID Acest disc este inactiv și nu este utilizat. Cu toate acestea, în cazul unei situații critice, restaurare matrice RAID pornește automat - informațiile de la cel deteriorat sunt restaurate pe discul de rezervă folosind sume de control situate pe un disc separat.
RAID-5 este creat de pe cel puțin trei discuri și salvează din erori individuale. În cazul apariției simultane a diferitelor erori pe diferite discuri RAID-5 nu salvează.

RAID-6- este o versiune îmbunătățită a RAID-5. Esența este aceeași, numai pentru sumele de control, nu se utilizează unul, ci două discuri, iar sumele de control sunt calculate folosind algoritmi diferiți, ceea ce crește semnificativ toleranța la erori a tuturor matrice RAIDîn general. RAID-6 asamblate din cel puțin patru discuri. Formula pentru calcularea volumului unui tablou arată ca (N - 2) * DiskSize, unde N este numărul de discuri din matrice și DiskSize este dimensiunea fiecărui disc. Aceste. la crearea RAID-6 de la cinci discuri de 500 GB, obținem o matrice de 1,5 terabytes.
Viteza de scriere RAID-6 mai mic decât RAID-5 cu aproximativ 10-15%, ceea ce se datorează timpului suplimentar alocat calculării și scrierii sumelor de control.

RAID-10- numit și uneori RAID 0+1 sau RAID 1+0. Este o simbioză a RAID-0 și RAID-1. Matricea este construită din cel puțin patru discuri: pe primul canal RAID-0, pe al doilea RAID-0 pentru a crește viteza de citire/scriere și între ele într-o oglindă RAID-1 pentru a crește toleranța la erori. Astfel, RAID-10 combină avantajele primelor două opțiuni - rapid și tolerant la erori.

RAID-50- în mod similar, RAID-10 este o simbioză a RAID-0 și RAID-5 - de fapt, RAID-5 este construit, doar elementele sale constitutive nu sunt hard disk-uri independente, ci matrice RAID-0. Astfel, RAID-50 oferă o viteză foarte bună de citire/scriere și conține stabilitatea și fiabilitatea RAID-5.

RAID-60- aceeasi idee: avem de fapt RAID-6, asamblat din mai multe matrice RAID-0.

Există și alte matrice combinate RAID 5+1Şi RAID 6+1- arată ca RAID-50Şi RAID-60 singura diferență este că elementele de bază ale matricei nu sunt benzi RAID-0, ci oglinzi RAID-1.

Cum înțelegeți matricele RAID combinate: RAID-10, RAID-50, RAID-60și opțiuni RAID X+1 sunt descendenți direcți ai tipurilor de tablouri de bază RAID-0, RAID-1, RAID-5Şi RAID-6și servesc doar pentru a crește viteza de citire/scriere sau pentru a crește toleranța la erori, în același timp cu funcționalitatea tipurilor de bază, părinte Matrice RAID.

Dacă trecem la exersare și vorbim despre utilizarea anumitor Matrice RAIDîn viață, logica este destul de simplă:

RAID-0 Nu îl folosim deloc în forma sa pură;

RAID-1Îl folosim acolo unde viteza de citire/scriere nu este deosebit de importantă, dar toleranța la erori este importantă - de exemplu, pornit RAID-1 Este bine să instalezi sisteme de operare. În acest caz, nimeni, cu excepția sistemului de operare, nu accesează discurile, viteza hard disk-urilor în sine este destul de suficientă pentru funcționare, toleranța la erori este asigurată;

RAID-5Îl instalăm acolo unde este nevoie de viteză și toleranță la erori, dar nu sunt suficienți bani pentru a cumpăra mai multe hard disk-uri sau este nevoie să restaurăm matricele în caz de deteriorare fără a întrerupe lucrul - unitățile de rezervă de rezervă ne vor ajuta aici. Aplicație comună RAID-5- stocarea datelor;

RAID-6 folosit acolo unde este pur și simplu înfricoșător sau există o amenințare reală de moarte a mai multor discuri din matrice simultan. În practică este destul de rar, mai ales în rândul persoanelor paranoice;

RAID-10- folosit acolo unde este necesar să se lucreze rapid și fiabil. De asemenea, principala direcție de utilizare RAID-10 sunt servere de fișiere și servere de baze de date.

Din nou, dacă o simplificăm și mai mult, ajungem la concluzia că acolo unde nu există o muncă mare și voluminoasă cu fișiere, este destul de suficient RAID-1- sistem de operare, AD, TS, mail, proxy etc. Acolo unde este necesară o muncă serioasă cu fișiere: RAID-5 sau RAID-10.

Soluția ideală pentru un server de baze de date este o mașină cu șase discuri fizice, dintre care două sunt combinate într-o oglindă RAID-1 iar sistemul de operare este instalat pe el, iar restul de patru sunt combinate în RAID-10 pentru prelucrarea rapidă și fiabilă a datelor.

Dacă, după ce ați citit toate cele de mai sus, vă decideți să îl instalați pe serverele dvs Matrice RAID, dar nu știi cum să o faci și de unde să încep - contactează-ne! - vă vom ajuta să selectați echipamentul necesar, precum și să efectuați lucrări de instalare pentru implementare Matrice RAID.

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, o placă de bază modernă oferă utilizatorului posibilitatea de a crea o matrice RAID de mai multe discuri. Cu toate acestea, nu fiecare utilizator casnic ș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 despre crearea matricelor RAID pe computerele de acasă și vom folosi un exemplu specific pentru a demonstra 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 scriere, blocurile individuale sunt scrise pe discuri diferite, iar blocurile multiple sunt scrise pe discuri diferite simultan, ceea ce duce la o performanță crescută în operațiunile de scriere. Informațiile necesare sunt citite ș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 este mai mică decât dimensiunea blocului, 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 găzduiesc ș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: RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5 și RAID 6.

De asemenea, sunt utilizate diverse combinații de niveluri RAID, ceea ce vă permite să combinați avantajele acestora. Aceasta este de obicei 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, controlerul RAID cu 6 porturi integrat în podul de sud al chipset-ului ICH9R/ICH10R) acceptă și 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 pentru stocarea sumelor de control. Implementarea acestui nivel este foarte simplă. RAID 0 este utilizat în principal în zonele în care este necesar transferul rapid de cantități mari 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). Restaurarea unei matrice se realizează prin simpla copiere. Î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 OR exclusivă pe biți (XOR) 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 o ilustrare, 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ță folosind suma de control și 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 nivelul 1 și apoi unitățile 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ă, este utilizată o matrice de nivel 0 pe două discuri. După cum am menționat deja, nivelul RAID 0 nu oferă stocare sigură a datelor și, prin urmare, utilizatorii finali se confruntă cu o alegere: creați o matrice RAID de nivel 0 rapidă, dar nesigură sau, dublând costul spațiului pe disc, RAID - o matrice de nivel 1 care oferă stocare fiabilă a datelor, dar nu oferă beneficii semnificative de performanță.

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ă. dimensiune.

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 să se dubleze, în practică nu este atât de fluidă.

Pentru testarea comparativă a controlerelor noastre 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ă unități Western Digital WD1002FBYS, o unitate Western Digital WD3200AAKS;
  • controlere RAID integrate:
  • ICH10R,
  • GIGABYTE SATA2,
  • Marvell 9128;
  • memorie - DDR3-1066;
  • capacitate de memorie - 3 GB (trei module a câte 1024 MB fiecare);
  • modul de operare memorie - DDR3-1333, modul 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 o unitate Western Digital WD3200AAKS, care a fost conectată la portul controlerului SATA II integrat în ICH10R southbridge. 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 la 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ă 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, poate fi folosit pentru a testa performanța unui subsistem de disc al unui server (server de fișiere) folosind mai mulți clienți de rețea. Prin urmare, unele dintre marcajele și instrumentele din fereastra utilitarului IOmeter se referă în mod specific la setările de rețea ale programului. 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 lansaț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 care rulează corespunde întotdeauna cu numărul de nuclee de procesor logic.

În exemplul nostru, folosim un singur computer cu un procesor quad-core care acceptă tehnologia Hyper-Threading, deci sunt lansate un singur manager (o instanță de Dynamo) și opt (în funcție de 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, iar dispozitivele fizice fără partiții logice create pe ele sunt marcate cu albastru. O secțiune logică poate fi tăiată sau nu. Faptul este că, pentru ca programul să funcționeze cu o partiție logică, acesta trebuie mai întâi pregătit prin crearea unui fișier special pe ea, egal ca dimensiune cu capacitatea întregii partiții logice. 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 dreapta pe pictogramă Calculator pe desktop și selectați elementul din meniul care se deschide Gestionează. Î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. În 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 Specifications a utilitarului IOmeter

În 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 fiind de două ori mai mare decât cel 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țiunile secvențiale, deoarece cu dimensiuni atât de mari ale blocurilor 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 ferestre 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 setăm dimensiunea blocului de date la 512 octeți. Glisor Distribuție procentuală aleatorie/secvențială(raportul procentual dintre operațiile secvențiale și cele selective) ne deplasăm complet spre stânga, astfel încât toate operațiile noastre să fie doar 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țiilor 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 creat de noi 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 atribuite 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ă mergeți la 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 Descrierea testului 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. În 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. După cum puteți afla din fișierul INF al driverului, vorbim despre un controler 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 a controlerului, 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 RAID Marvell 9128 este posibilă numai prin setările BIOS ale plăcii 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 neajunsuri minore vom vorbi puțin mai târziu, dar deocamdată vom lua în considerare principala funcționalitate a controlerului 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 companiei producătoare, 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, producători diferiți sau modele diferite) cu capacități ușor diferite pentru a crea o matrice RAID Level 1. 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 podul de sud ICH10R 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 secvenţială
ș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ă vă uitaț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 de bandă 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 un singur disc), 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 este destul de greu de imaginat o astfel de situație.

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 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 a blocului de 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 caracteristici bune de viteză și poate fi folosit atât pentru a crea matrice RAID, cât și pentru a conecta discuri individuale la acesta.

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. Mărimea benzii determină doar dimensiunea blocului de date la care se realizează viteza maximă de citire și scriere secvențială. După cum arată rezultatele testului, pentru RAID 0 bazat pe controlerul ICH10R, este optim să folosiți o bandă de 64 KB în dimensiune. Î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ă 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).

RAID array (Redundant Array of Independent Disks) - conectarea mai multor dispozitive pentru a crește performanța și/sau fiabilitatea stocării datelor, în traducere - o matrice redundantă de discuri independente.

Conform legii lui Moore, productivitatea curentă crește în fiecare an (și anume, numărul de tranzistori de pe un cip se dublează la fiecare 2 ani). Acest lucru poate fi văzut în aproape orice industrie de hardware de computer. Procesoarele cresc numărul de nuclee și tranzistori, reducând în același timp procesul, RAM crește frecvența și lățimea de bandă, memoria unității SSD mărește durabilitatea și viteza de citire.

Dar hard disk-urile simple (HDD) nu au avansat prea mult în ultimii 10 ani. Întrucât viteza standard era de 7200 rpm, așa rămâne (fără a ține cont de HDD-urile de server cu rotații de 10.000 sau mai mult). Slow 5400 rpm încă se găsește pe laptopuri. Pentru majoritatea utilizatorilor, pentru a crește performanța computerului lor, va fi mai convenabil să cumpere un SDD, dar prețul pentru 1 gigabyte de astfel de media este mult mai mare decât cel al unui simplu HDD. „Cum să creșteți performanța unităților fără a pierde mulți bani și volum? Cum să vă salvați datele sau să creșteți securitatea datelor dvs.? Există un răspuns la aceste întrebări - o matrice RAID.

Tipuri de matrice RAID

În prezent, există următoarele tipuri de matrice RAID:

RAID 0 sau „Striping”– o serie de două sau mai multe discuri pentru a îmbunătăți performanța generală. Volumul raid va fi total (HDD 1 + HDD 2 = Volum total), viteza de citire/scriere va fi mai mare (datorită împărțirii înregistrării în 2 dispozitive), dar fiabilitatea securității informațiilor va avea de suferit. Dacă unul dintre dispozitive eșuează, toate informațiile din matrice se vor pierde.

RAID 1 sau „Oglindă”– mai multe discuri care se copiază între ele pentru a crește fiabilitatea. Viteza de scriere rămâne la același nivel, viteza de citire crește, fiabilitatea crește de multe ori (chiar dacă un dispozitiv eșuează, al doilea va funcționa), dar costul a 1 Gigabyte de informații crește de 2 ori (dacă faci o matrice din două hdd-uri).

RAID 2 este o matrice construită pe discuri pentru stocarea informațiilor și discuri de corectare a erorilor. Numărul de HDD-uri pentru stocarea informațiilor este calculat folosind formula „2^n-n-1”, unde n este numărul de corecții HDD. Acest tip este utilizat atunci când există un număr mare de HDD-uri, numărul minim acceptabil este 7, unde 4 este pentru stocarea informațiilor și 3 pentru stocarea erorilor. Avantajul acestui tip va fi performanța crescută în comparație cu un singur disc.

RAID 3 – constă din discuri „n-1”, unde n este un disc pentru stocarea blocurilor de paritate, restul sunt dispozitive pentru stocarea informațiilor. Informațiile sunt împărțite în bucăți mai mici decât dimensiunea sectorului (împărțite în octeți), potrivite pentru lucrul cu fișiere mari, viteza de citire a fișierelor mici este foarte mică. Caracterizat prin performanță ridicată, dar fiabilitate scăzută și specializare îngustă.

RAID 4 este similar cu tipul 3, dar este împărțit mai degrabă în blocuri decât în ​​octeți. Această soluție a reușit să corecteze viteza scăzută de citire a fișierelor mici, dar viteza de scriere a rămas scăzută.

RAID 5 și 6 - în loc de un disc separat pentru corelarea erorilor, ca în versiunile anterioare, sunt folosite blocuri care sunt distribuite uniform pe toate dispozitivele. În acest caz, viteza de citire/scriere a informațiilor crește datorită paralelizării înregistrării. Dezavantajul acestui tip este recuperarea pe termen lung a informațiilor în cazul defecțiunii unuia dintre discuri. În timpul recuperării, există o încărcare foarte mare pe alte dispozitive, ceea ce reduce fiabilitatea și crește defecțiunea altui dispozitiv și pierderea tuturor datelor din matrice. Tipul 6 îmbunătățește fiabilitatea generală, dar reduce performanța.

Tipuri combinate de matrice RAID:

RAID 01 (0+1) – Două raid 0 sunt combinate în Raid 1.

RAID 10 (1+0) – matrice de discuri RAID 1, care sunt utilizate în arhitectura de tip 0. Este considerată cea mai fiabilă opțiune de stocare a datelor, combinând fiabilitatea ridicată și performanța.

De asemenea, puteți crea o matrice de pe unitățile SSD. Conform testării 3DNews, o astfel de combinație nu oferă o creștere semnificativă. Este mai bine să achiziționați o unitate cu o interfață PCI sau eSATA mai puternică

Matrice raid: cum se creează

Creat prin conectarea printr-un controler RAID special. În prezent există 3 tipuri de controlere:

  1. Software – matricea este emulată de software, toate calculele sunt efectuate de CPU.
  2. Integrat – în principal comun pe plăcile de bază (nu pe segmentul de server). Un mic cip pe covoraș. placa responsabilă cu emularea matricei, calculele sunt efectuate prin CPU.
  3. Hardware – o placă de expansiune (pentru computere desktop), de obicei cu o interfață PCI, are propria memorie și procesor de calcul.

RAID hdd array: Cum se face de pe 2 discuri prin IRST


Recuperarea datelor

Câteva opțiuni de recuperare a datelor:

  1. Dacă Raid-ul 0 sau 5 eșuează, utilitarul RAID Reconstructor poate ajuta, care va colecta informațiile disponibile despre unități și le va rescrie pe un alt dispozitiv sau mediu de stocare sub forma unei imagini a matricei anterioare. Această opțiune va ajuta dacă discurile funcționează corect și eroarea este software.
  2. Pentru sistemele Linux, se folosește mdadm recovery (un utilitar pentru gestionarea matricelor Raid software).
  3. Recuperarea hardware-ului ar trebui efectuată prin servicii specializate, deoarece fără cunoașterea metodelor de operare ale controlerului, puteți pierde toate datele și va fi foarte dificil sau chiar imposibil să le recuperați.

Există multe nuanțe care trebuie luate în considerare atunci când creați un Raid pe computer. Practic, majoritatea opțiunilor sunt folosite în segmentul de server, unde stabilitatea și securitatea datelor sunt importante și necesare. Dacă aveți întrebări sau completări, le puteți lăsa în comentarii.

O zi bună!

Făcând o cerere

Descrierea matricelor RAID ( , )

Descrierea RAID 0


Matrice de discuri de înaltă performanță, fără toleranță la erori
Striped Disk Array fără toleranță la erori

RAID 0 este cel mai puternic și cel mai puțin sigur dintre toate RAID-urile. Datele sunt împărțite în blocuri proporțional cu numărul de discuri, rezultând un debit mai mare. Performanța ridicată a acestei structuri este asigurată de înregistrarea paralelă și absența copierii redundante. Eșecul oricărei unități din matrice are ca rezultat pierderea tuturor datelor. Acest nivel se numește striping.

Avantaje:
- · cea mai înaltă performanță pentru aplicațiile care necesită procesare intensivă a cererilor I/O și volume mari de date;
- · ușurință de implementare;
- · cost redus pe unitate de volum.
Defecte:
- · nu este o soluție tolerantă la erori;
- · Eșecul unui disc implică pierderea tuturor datelor din matrice.

Descrierea RAID 1


Matrice de discuri redundantă sau în oglindă
Duplexare și oglindire
RAID 1 - oglindire - oglindire a două discuri. Redundanța structurii acestei matrice asigură o toleranță ridicată la erori. Matricea se caracterizează prin costuri ridicate și productivitate scăzută.

Avantaje:
- · ușurință de implementare;
- · ușurința recuperării matricei în caz de defecțiune (copiere);
- · performante suficient de ridicate pentru aplicatii cu intensitate mare de solicitare.
Defecte:
- · cost ridicat pe unitate de volum - 100% redundanță;
- · viteză scăzută de transfer de date.

Descrierea RAID 2


Matrice de discuri tolerantă la erori folosind codul Hamming
Cod Hamming ECC
RAID 2 - folosește Hamming Code ECC. Codurile vă permit să corectați defecțiuni simple și să detectați defecțiuni duble.

Avantaje:
- · corectarea rapidă a erorilor („on the fly”);
- viteza foarte mare de transfer de date 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ă redusă de procesare a cererilor (nu este potrivit pentru sistemele orientate spre tranzacții).

Descrierea RAID 3


Matrice tolerantă la erori cu transfer paralel de date și paritate
Discuri de transfer paralel cu paritate

RAID 3 - datele sunt stocate folosind principiul striping la nivel de octet cu o sumă de control (CS) pe unul dintre discuri. Matricea nu are problema unei oarecare redundanțe ca la nivelul RAID 2. Unitățile de verificare utilizate în RAID 2 sunt necesare pentru a detecta taxele eronate. Cu toate acestea, majoritatea controlerelor moderne 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;
- · cheltuieli generale reduse pentru implementarea redundanței.
Defecte:
- · implementare dificilă;
- · performanță scăzută cu solicitări de intensitate mare pentru date mici.

În funcție de specificația RAID selectată, vitezele de citire și scriere și/sau protecția împotriva pierderii datelor pot fi îmbunătățite.

Când lucrează cu subsisteme de discuri, specialiștii IT se confruntă adesea cu două probleme principale.

  • Prima este viteza scăzută de citire/scriere, uneori, chiar și vitezele unui disc SSD nu sunt suficiente.
  • Al doilea este eșecul discurilor, ceea ce înseamnă pierderea datelor, a căror recuperare poate fi imposibilă.

Ambele probleme sunt rezolvate folosind tehnologia RAID (redundant array of independent disks) - o tehnologie virtuală de stocare a datelor care combină mai multe discuri fizice într-un singur element logic.

În funcție de specificația RAID selectată, vitezele de citire/scriere și/sau protecția împotriva pierderii datelor pot fi îmbunătățite.

Nivelurile de specificație RAID sunt: ​​1,2,3,4,5,6,0. În plus, există combinații: 01,10,50,05,60,06. În acest articol ne vom uita la cele mai comune tipuri de matrice RAID. Dar mai întâi să spunem că există matrice RAID hardware și software.

Matrice RAID hardware și software

  • Matricele de software sunt create după instalarea sistemului de operare folosind produse software și utilități, care este principalul dezavantaj al unor astfel de matrice de discuri.
  • RAID-urile hardware creează o matrice de discuri înainte de a instala sistemul de operare și nu depind de acesta.

RAID 1

RAID 1 (numit și „Mirror” - Mirror) implică duplicarea completă a datelor de pe un disc fizic pe altul.

Dezavantajele RAID 1 includ faptul că obțineți jumătate din spațiul pe disc. Aceste. Dacă utilizați DOUĂ discuri de 250 GB, sistemul va vedea doar UNUL cu dimensiunea de 250 GB. Acest tip de RAID nu oferă un câștig în viteză, dar crește semnificativ nivelul de toleranță la erori, deoarece dacă un disc eșuează, există întotdeauna o copie completă a acestuia. Înregistrarea și ștergerea de pe discuri au loc simultan. Dacă informațiile au fost șterse intenționat, atunci nu va exista nicio modalitate de a le restaura de pe alt disc.

RAID 0

RAID 0 (numit și Striping) implică împărțirea informațiilor în blocuri și scrierea simultană a diferitelor blocuri pe diferite discuri.

Această tehnologie mărește viteza de citire/scriere, permite utilizatorului să utilizeze întreaga capacitate totală a discurilor, dar reduce toleranța la erori, sau mai degrabă o reduce la zero. Deci, dacă unul dintre discuri eșuează, va fi aproape imposibil să restabiliți informațiile. Pentru a construi RAID 0, este recomandat să utilizați numai discuri foarte fiabile.

RAID 5

RAID 5 poate fi numit un RAID 0 mai avansat. Puteți utiliza până la 3 hard disk-uri. Raid 0 este înregistrat pe toate, cu excepția unuia, iar pe ultimul este înregistrată o sumă de control specială, care vă permite să salvați informații pe hard disk în cazul „moartei” unuia dintre ele (dar nu mai mult de unul). Viteza de operare a unei astfel de matrice este mare. Dacă înlocuiți discul, va dura mult timp.

RAID 2, 3, 4

Acestea sunt metode de stocare distribuită a informațiilor folosind discuri alocate pentru coduri de paritate. Ele diferă unul de celălalt doar prin dimensiunile blocurilor. În practică, ele practic nu sunt folosite din cauza necesității de a dedica o mare parte din capacitatea discului stocării codurilor ECC și/sau de paritate, precum și din cauza performanței scăzute.

RAID 10

Este o combinație de matrice RAID 1 și 0.Și combină avantajele fiecăruia: performanță ridicată și toleranță ridicată la erori.

Matricea trebuie să conțină un număr par de discuri (minim 4) și este cea mai fiabilă opțiune pentru stocarea informațiilor. Dezavantajul este costul ridicat al matricei de discuri: capacitatea efectivă va fi jumătate din capacitatea totală a spațiului de disc.

Este o combinație de matrice RAID 5 și 0. RAID 5 este în curs de construire, dar componentele sale nu vor fi hard disk-uri independente, ci matrice RAID 0.

Particularități

Dacă controlerul RAID se defectează, este aproape imposibil să restabiliți informațiile (nu se aplică la Mirror). Chiar dacă cumpărați exact același controler, există o mare probabilitate ca RAID-ul să fie asamblat din alte sectoare de disc, ceea ce înseamnă că informațiile de pe discuri se vor pierde.

De regulă, discurile sunt achiziționate într-un singur lot. În consecință, viața lor de lucru poate fi aproximativ aceeași. În acest caz, se recomandă să achiziționați imediat, în momentul achiziționării discurilor pentru matrice, ceva în exces. De exemplu, pentru a configura RAID 10 din 4 discuri, ar trebui să cumpărați 5 discuri. Deci, dacă unul dintre ele eșuează, îl puteți înlocui rapid cu unul nou înainte ca alte discuri să eșueze.

Concluzii

În practică, cel mai adesea sunt utilizate doar trei tipuri de matrice RAID. Acestea sunt RAID 1, RAID 10 și RAID 5.

În ceea ce privește costul/performanța/toleranța la erori, se recomandă utilizarea:

  • RAID 1(oglindire) pentru a forma un subsistem de disc pentru sistemele de operare ale utilizatorilor.
  • RAID 10 pentru date cu cerințe mari de viteză de scriere și citire. De exemplu, pentru stocarea bazelor de date 1C:Enterprise, server de e-mail, AD.
  • RAID 5 folosit pentru a stoca datele fișierului.

Soluția ideală de server, potrivit majorității administratorilor de sistem, este un server cu șase discuri. Cele două discuri sunt „oglindite” și sistemul de operare este instalat pe RAID 1. Cele patru unități rămase sunt combinate în RAID 10 pentru o funcționare rapidă, fără probleme și fiabilă a sistemului.