Descrierea raidului 1. Ce este o matrice RAID și pentru ce este? Construirea unei matrice de discuri - de la teorie la practică

Și așa mai departe, așa mai departe, așa mai departe. Deci, astăzi vom vorbi despre RAID matrice bazate pe acestea.

După cum știți, acestea sunt la fel hard disk-uri De asemenea, au o anumită marjă de siguranță după care eșuează, precum și caracteristici care afectează performanța.

Drept urmare, probabil că mulți dintre voi, într-un fel sau altul, ați auzit odată despre anumite matrice raid care pot fi realizate din hard disk-uri obișnuite pentru a accelera funcționarea acestor unități și a computerului în ansamblu sau pentru a asigura o creștere fiabilitatea stocării datelor.

Cu siguranță știi și tu (și dacă nu știi, nu contează) că aceste matrice au numere de succesiune diferite ( 0, 1, 2, 3, 4 etc.), și îndeplinesc, de asemenea, funcții destul de diferite. Acest fenomen are loc de fapt în natură și, după cum ați ghicit deja, este exact același lucru. RAID arrays este ceea ce vreau să vă spun în acest articol. Mai precis, vă spun deja ;)

Merge.

Ce este RAID și de ce este necesar?

RAID- aceasta este o matrice de discuri (adică un complex sau, dacă doriți, un pachet) de mai multe dispozitive - hard disk-uri. După cum am spus mai sus, această matrice servește la creșterea fiabilității stocării datelor și/sau la creșterea vitezei de citire/scriere a informațiilor (sau ambele).

De fapt, ceea ce face exact această grămadă de discuri, adică accelerarea muncii sau creșterea securității datelor, depinde de dvs. sau, mai precis, de alegerea configurației curente a raid-urilor. Diferitele tipuri ale acestor configurații sunt menționate cu precizie numere diferite: 1, 2, 3, 4 și, în consecință, îndeplinesc diferite funcții.

Pur și simplu, de exemplu, în cazul construcției 0 -a versiune (descrierea variațiilor 0, 1, 2, 3 etc. - citiți mai jos) Veți obține o creștere vizibilă a productivității. Și, în general, hard disk-ul de astăzi este doar un canal îngust în performanța sistemului.

De ce s-a întâmplat asta în general?

Hard disk-urile cresc doar în volum datorită vitezei de rotație a capului lor (cu excepția modelelor rare precum Raptor„ov) a fost înghețat de ceva timp în jur 7200 , nici cache-ul nu crește tocmai, arhitectura rămâne aproape aceeași.

În general, din punct de vedere al performanței, discurile stagnează (situația poate fi salvată doar prin dezvoltare), dar joacă un rol semnificativ în funcționarea sistemului și, pe alocuri, aplicații cu drepturi depline.

În cazul construcției unei singure unități (în sensul de număr 1 ) raid, vei pierde puțin în performanță, dar vei primi o garanție tangibilă a securității datelor tale, deoarece acestea vor fi complet duplicate și, de fapt, chiar dacă un disc eșuează, totul va fi amplasat în întregime pe al doilea. fara nici o pierdere.

În general, repet, raidurile vor fi utile tuturor. Aș spune chiar că sunt obligatorii :)

Ce este RAID în sens fizic?

Fizic RAID-matrice reprezintă din Două inainte de n-numărul de hard disk-uri conectate care acceptă capacitatea de a crea RAID(sau la controlerul corespunzător, ceea ce este mai puțin obișnuit, deoarece acestea sunt costisitoare pentru utilizatorul obișnuit (controlerele sunt de obicei folosite pe servere datorită fiabilității și performanței crescute)), adică Pentru ochi, nimic nu se schimbă în interiorul unității de sistem; pur și simplu nu există conexiuni inutile sau conexiuni ale discurilor între ele sau la orice altceva.

În general, totul în hardware este aproape la fel ca întotdeauna și se schimbă doar abordarea software, care, de fapt, stabilește, prin selectarea tipului de raid, exact cum ar trebui să funcționeze discurile conectate.

Programatic, în sistem, după crearea unui raid, nu apar nici ciudatenii speciale. De fapt, toată diferența în lucrul cu un raid constă doar într-un cadru mic care organizează efectiv raidul (vezi mai jos) și în utilizarea șoferului. În caz contrar, TOTUL este absolut la fel - în „Computerul meu” la fel C, Dși alte discuri, toate aceleași foldere, fișiere... În general și în software, după ochi, sunt complet identice.

Instalarea matricei nu este dificilă: luăm doar o placă de bază care acceptă tehnologia RAID, luăm două complet identice, - este important!, - atat dupa caracteristici (dimensiune, cache, interfata, etc.) cat si dupa producatorul si modelul discului si conectati-le la aceasta placa de baza. Apoi, porniți computerul, accesați BIOSși setați parametrul Configurare SATA: RAID.

După aceasta, în timpul procesului de pornire a computerului (de obicei înainte de pornire Windows) apare un panou care afișează informații despre disc în raid și în afara acestuia, unde trebuie de fapt să faceți clic CTR-I pentru a configura raid-ul (adăugați discuri la acesta, ștergeți etc., etc.). De fapt, asta-i tot. Apoi mai sunt și alte bucurii ale vieții, adică din nou, totul este ca întotdeauna.

Notă importantă de reținut

Când creați sau ștergeți un raid ( 1 Acest lucru nu pare să se aplice celui de-al treilea raid, dar nu este un fapt) toate informațiile sunt inevitabil șterse de pe discuri și, prin urmare, în mod clar nu merită să faceți doar un experiment, să creați și să ștergeți diferite configurații. Prin urmare, înainte de a crea un raid, mai întâi salvați toate informațiile necesare (dacă le aveți) și apoi experimentați.

Cât despre configurații.. După cum am spus deja, RAID Există mai multe tipuri de matrice (cel puțin de la baza principală - aceasta este RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6). Pentru început, voi vorbi despre două care sunt cele mai înțelese și mai populare printre utilizatorii obișnuiți:

  • RAID 0- matrice de discuri pentru a crește viteza de înregistrare.
  • RAID 1- matrice de discuri în oglindă.

Și la sfârșitul articolului voi trece rapid peste celelalte.

RAID 0 - ce este și la ce se folosește?

Asa de.. RAID 0(aka, striping) - folosește două până la patru (mai mult, mai rar) hard disk-uri care procesează împreună informații, ceea ce crește productivitatea. Ca să fie clar, transportul genților pentru o persoană durează mai mult și este mai dificil decât pentru patru persoane (deși gențile rămân aceleași în proprietățile lor fizice, doar puterile care interacționează cu ele se schimbă). Programatic, informațiile despre un raid de acest tip sunt împărțite în blocuri de date și sunt scrise pe ambele/mai multe discuri pe rând.

Un bloc de date pe un disc, un alt bloc de date pe altul și așa mai departe. Acest lucru crește semnificativ performanța (numărul de discuri determină multiplicitatea creșterii performanței, adică 4 discuri vor rula mai repede decât două), dar securitatea datelor de pe întregul array are de suferit. Dacă vreuna dintre componentele incluse în astfel RAID hard disk-uri (adică hard disk-uri), toate informațiile se pierd aproape complet și iremediabil.

De ce? Faptul este că fiecare fișier constă dintr-un anumit număr de octeți... fiecare dintre care transportă informații. Dar în RAID 0Într-o matrice, octeții unui fișier pot fi localizați pe mai multe discuri. În consecință, dacă unul dintre discuri „moare”, un număr arbitrar de octeți ai fișierului se va pierde și va fi pur și simplu imposibil de recuperat. Dar există mai multe fișiere.

În general, atunci când utilizați o astfel de matrice raid, este recomandat să stocați permanent informații valoroase pe medii externe. Raidul oferă într-adevăr o viteză vizibilă - vă spun asta din propria mea experiență, pentru că am avut o asemenea fericire instalată acasă de ani de zile.

RAID 1 - ce este și la ce se folosește?

Dar RAID 1?(Oglindă - „oglindă”). De fapt, voi începe cu dezavantajul. Spre deosebire de RAID 0 se dovedește că se pare că „pierdeți” volumul secunda greu disc (este folosit pentru a scrie pe acesta o copie completă (octet pentru octet) a primului hard disk în timp ce RAID 0 acest spațiu este complet accesibil).

Avantajul, după cum ați înțeles deja, este că are o fiabilitate ridicată, adică totul funcționează (și toate datele există în natură și nu dispar atunci când unul dintre dispozitive eșuează) atâta timp cât funcționează cel puțin un disc, adică. Chiar dacă distrugeți aproximativ un disc, nu veți pierde niciun octet de informații, deoarece a doua este o copie pură a primei și o înlocuiește atunci când eșuează. Acest tip de raid este adesea folosit pe servere datorită viabilității incredibile a datelor, ceea ce este important.

Cu această abordare, performanța este sacrificată și, în funcție de sentimentele personale, este chiar mai mică decât atunci când se folosește un singur disc fără niciun raid. Cu toate acestea, pentru unii, fiabilitatea este mult mai importantă decât performanța.

RAID 2, 3, 4, 5, 6 - ce sunt și cu ce sunt folosite?

Descrierea acestor matrice este aici pe cât posibil, adică. pur pentru referință și chiar și atunci într-o formă comprimată (de fapt, este descrisă doar a doua). De ce este asta? Cel puțin din cauza popularității scăzute a acestor matrice în rândul utilizatorului mediu (și, în general, a oricărui alt utilizator) și, în consecință, din mica mea experiență în utilizarea lor.

RAID 2 rezervat pentru matrice care utilizează un fel de cod Hamming (nu eram interesat de ce este, așa că nu vă voi spune). Principiul de funcționare este aproximativ acesta: datele sunt înregistrate pe dispozitivele corespunzătoare în același mod ca în RAID 0, adică sunt împărțite în blocuri mici pe toate discurile care sunt implicate în stocarea informațiilor.

Discurile rămase (alocate special în acest scop) stochează coduri de corectare a erorilor, care pot fi folosite pentru a restaura informații în cazul în care orice hard disk se defectează. Deci, în matrice de acest tip, discurile sunt împărțite în două grupuri - pentru date și pentru coduri de corectare a erorilor

De exemplu, aveți două discuri care oferă spațiu pentru sistem și fișiere, iar alte două vor fi complet dedicate corectării datelor în cazul în care primele două discuri eșuează. În esență, acesta este ceva asemănător unui raid zero, doar cu capacitatea de a salva cumva informații în cazul defecțiunii unuia dintre hard disk. Rareori scump - patru discuri în loc de două cu o creștere foarte controversată a securității.

RAID 3, 4, 5, 6.. Despre ei, oricât de ciudat ar suna pe paginile acestui site, încearcă să citești despre ele pe Wikipedia. Cert este că în viața mea am întâlnit aceste matrice extrem de rar (cu excepția faptului că a cincea a venit la îndemână mai des decât altele) și nu pot descrie în cuvinte accesibile principiile funcționării lor și absolut nu vreau să retipăr un articol din resursa propusă mai sus, cel puțin datorită prezenței unor formulări enervante în acestea, pe care chiar și eu abia le înțeleg.

Ce RAID ar trebui să alegi?

Dacă jucați jocuri, copiați adesea muzică, filme, instalați programe care necesită multe resurse, atunci cu siguranță îl veți găsi util RAID 0. Dar aveți grijă când alegeți hard disk-uri - în acest caz calitatea lor este deosebit de importantă - sau asigurați-vă că faceți copii de rezervă pe medii externe.

Dacă lucrezi cu informații valoroase, pe care să le pierzi echivalează cu moartea, atunci cu siguranță ai nevoie RAID 1- este extrem de greu să pierzi informații cu ea.

Repet asta Foarte este de dorit ca discurile instalate în RAID matricea erau identice de gen. Dimensiunea, marca, seria, dimensiunea cache - totul ar trebui să fie de preferință la fel.

Postfaţă

Așa stau lucrurile.

Apropo, am scris cum să adunăm acest miracol în articol: „ Cum se creează o matrice RAID folosind metode standard", și aproximativ câțiva parametri în material " RAID 0 din două SSD-uri, - teste practice cu Read Ahead și Read Cache". Folosește căutarea.

Sper din tot sufletul că acest articol vă va fi de folos și cu siguranță vă veți face un raid de un tip sau altul. Crede-mă, merită.

Pentru întrebări despre crearea și configurarea acestora, în general, mă puteți contacta în comentarii - voi încerca să vă ajut (dacă există instrucțiuni pentru placa dvs. de bază online). De asemenea, voi fi bucuros de orice completări, urări, gânduri și toate chestiile astea.

Salutări tuturor, dragi cititori ai site-ului blogului. Cred că mulți dintre voi ați întâlnit cel puțin o dată pe Internet o expresie atât de interesantă - „RAID array”. Ce înseamnă și de ce utilizatorul obișnuit ar putea avea nevoie de el, despre asta vom vorbi astăzi. Este un fapt binecunoscut că este cea mai lentă componentă dintr-un PC și este inferioară procesorului și.

Pentru a compensa încetineala „înnăscută” acolo unde este complet deplasată ( despre care vorbimîn primul rând despre servere și PC-uri de înaltă performanță) a venit cu ideea de a folosi așa-numita matrice de discuri RAID - un fel de „pachet” de mai multe hard disk-uri identice care funcționează în paralel. Această soluție vă permite să creșteți semnificativ viteza de funcționare împreună cu fiabilitatea.

În primul rând, o matrice RAID vă permite să oferiți o toleranță ridicată la erori pentru hard disk-urile (HDD) ale computerului dvs. combinând mai multe hard disk-uri într-una singură element logic. În consecință, pentru a implementa această tehnologie veți avea nevoie de cel puțin două hard disk-uri . În plus, RAID este pur și simplu convenabil, deoarece toate informațiile care anterior trebuiau copiate în sursele de rezervă (hard disk-uri externe) pot fi acum lăsate „ca atare”, deoarece riscul pierderii sale complete este minim și tinde spre zero, dar nu întotdeauna, despre asta puțin mai jos.

RAID se traduce cam așa: un set protejat de discuri ieftine. Numele provine de la vremurile când hard disk-urile mari erau foarte scumpe și era mai ieftin să asamblați o singură matrice comună de discuri mai mici. Esența nu s-a schimbat de atunci, în general, ca și numele, doar acum puteți face doar o stocare gigantică din mai multe HDD-uri mari, sau puteți face astfel încât un disc să dubleze pe altul. De asemenea, puteți combina ambele funcții, obținând astfel avantajele uneia și celeilalte.

Toate aceste matrice sunt sub propriile numere, cel mai probabil ați auzit despre ele - raid 0, 1...10, adică matrice de diferite niveluri.

Tipuri de RAID

Speed ​​Raid 0

Raid 0 nu are nimic de-a face cu fiabilitatea, pentru că nu face decât să mărească viteza. Aveți nevoie de cel puțin 2 hard disk, iar în acest caz datele vor fi „tăiate” și scrise pe ambele discuri simultan. Adică vei avea acces la întregul volum al acestor discuri și teoretic asta înseamnă că primești de 2 ori mai mult de mare viteză Citeste, scrie.

Dar să ne imaginăm că unul dintre aceste discuri se defectează - în acest caz, pierderea TOATE datele tale este inevitabilă. Cu alte cuvinte, va trebui totuși să faceți copii de rezervă regulate pentru a putea restaura informațiile mai târziu. De obicei, aici sunt folosite 2 până la 4 discuri.

Raid 1 sau „oglindă”

Fiabilitatea nu este compromisă aici. Obțineți spațiul pe disc și performanța unui singur hard disk, dar aveți o fiabilitate dublă. Un disc se rupe - informațiile vor fi salvate pe celălalt.

Matricea de nivel RAID 1 nu afectează viteza, ci volumul - aici aveți la dispoziție doar jumătate din spațiul total pe disc, din care, de altfel, în RAID 1 pot fi 2, 4 etc., că este un număr par. În general, principala caracteristică a unui raid de prim nivel este fiabilitatea.

Raidul 10

Combină tot ce este mai bun din tipurile anterioare. Vă propun să vedem cum funcționează acest lucru folosind exemplul a patru HDD-uri. Deci, informațiile sunt scrise în paralel pe două discuri, iar aceste date sunt duplicate pe alte două discuri.

Rezultatul este o creștere de două ori a vitezei de acces, dar și a capacității doar a două dintre cele patru discuri din matrice. Dar dacă oricare două discuri eșuează, nu va avea loc nicio pierdere de date.

Raidul 5

Acest tip de matrice este foarte asemănător cu RAID 1 în scopul său, doar că acum aveți nevoie de cel puțin 3 discuri, unul dintre ele va stoca informațiile necesare recuperării. De exemplu, dacă o astfel de matrice conține 6 HDD-uri, atunci doar 5 dintre ele vor fi folosite pentru a înregistra informații.

Datorită faptului că datele sunt scrise pe mai multe hard disk-uri simultan, viteza de citire este mare, ceea ce este perfect pentru stocarea unei cantități mari de date acolo. Dar, fără un controler raid scump, viteza nu va fi foarte mare. Doamne ferește că unul dintre discuri se sparge - restaurarea informațiilor va dura mult timp.

Raidul 6

Această matrice poate supraviețui eșecului a două hard disk-uri simultan. Aceasta înseamnă că pentru a crea o astfel de matrice veți avea nevoie de cel puțin patru discuri, în ciuda faptului că viteza de scriere va fi chiar mai mică decât cea a RAID 5.

Vă rugăm să rețineți că, fără un controler raid puternic, este puțin probabil ca o astfel de matrice (6) să fie asamblată. Dacă aveți doar 4 hard disk-uri, este mai bine să construiți RAID 1.

Cum să creați și să configurați o matrice RAID

Controler RAID

O matrice raid poate fi realizată prin conectarea mai multor HDD-uri la o placă de bază de computer care o acceptă această tehnologie. Aceasta înseamnă că o astfel de placă de bază are un controler integrat, care este de obicei încorporat în . Dar, controlerul poate fi și extern, care este conectat printr-un conector PCI sau PCI-E. Fiecare controler, de regulă, are propriul software de configurare.

Raid-ul poate fi organizat atât la nivel hardware, cât și la nivel software; ultima opțiune este cea mai comună între PC-urile de acasă. Utilizatorilor nu le place controlerul încorporat în placa de bază din cauza fiabilității sale slabe. În plus, dacă placa de bază este deteriorată, recuperarea datelor va fi foarte problematică. La nivel de software, rolul controlerului este jucat, dacă se întâmplă ceva, vă puteți transfera cu ușurință matricea raid pe alt PC.

Hardware

Cum se face o matrice RAID? Pentru a face acest lucru aveți nevoie de:

  1. Ia-l undeva cu suport raid (în cazul RAID hardware);
  2. Cumpărați cel puțin două hard disk-uri identice. Este mai bine ca acestea să fie identice nu numai ca caracteristici, ci și ale aceluiași producător și model și conectate la covoraș. bord folosind unul .
  3. Transferați toate datele de pe HDD-urile dvs. pe alte medii, altfel vor fi distruse în timpul procesului de creare a raidului.
  4. În continuare, va trebui să activați suportul RAID în BIOS, dar nu vă pot spune cum să faceți acest lucru în cazul computerului dvs., din cauza faptului că BIOS-ul fiecăruia este diferit. De obicei, acest parametru se numește cam așa: „Configurare SATA sau Configurare SATA ca RAID”.
  5. Apoi reporniți computerul și un tabel cu mai multe ajustări fine raid. Poate fi necesar să apăsați combinația de taste „ctrl+i” în timpul procedurii POST pentru ca acest tabel să apară. Pentru cei care au controler extern Cel mai probabil va trebui să apăsați „F2”. În tabelul propriu-zis, faceți clic pe „Creare Massive” și selectați nivelul de matrice dorit.

După ce ați creat o matrice raid în BIOS, trebuie să mergeți la „gestionarea discurilor” în OS –10 și să formatați zona nealocată - aceasta este matricea noastră.

Program

Pentru a crea un RAID software, nu trebuie să activați sau să dezactivați nimic din BIOS. De fapt, nici măcar nu aveți nevoie de suport pentru raid placa de baza. După cum am menționat mai sus, tehnologia este implementată folosind procesorul central al PC-ului și Windows însuși. Da, nici măcar nu trebuie să instalați niciun software terță parte. Adevărat, în acest fel puteți crea doar un RAID de primul tip, care este o „oglindă”.

Clic Click dreapta Accesați „computerul meu” - „gestionare” - „gestionare disc”. Apoi faceți clic pe oricare dintre hard disk-urile destinate raidului (disc1 sau disc2) și selectați „Creați volum oglindă”. În fereastra următoare, selectați un disc care va fi oglindă a altui hard disk, apoi atribuiți o literă și formatați partiția finală.

În acest utilitar, volumele în oglindă sunt evidențiate într-o singură culoare (roșu) și sunt desemnate printr-o literă. În acest caz, fișierele sunt copiate pe ambele volume, o dată pe un singur volum, iar același fișier este copiat pe al doilea volum. Este de remarcat faptul că în fereastra „computerul meu” matricea noastră va fi afișată ca o singură secțiune, a doua secțiune este ascunsă pentru a nu fi o bătaie de vedere, deoarece acolo se află aceleași fișiere duplicate.

Dacă un hard disk eșuează, va apărea eroarea „Redundanță eșuată”, în timp ce totul de pe a doua partiție va rămâne intact.

Să rezumam

RAID 5 este necesar pentru o gamă limitată de sarcini, atunci când un număr mult mai mare de HDD-uri (decat 4 discuri) sunt asamblate în matrice uriașe. Pentru majoritatea utilizatorilor, raid 1 este cea mai bună opțiune. De exemplu, dacă există patru discuri cu o capacitate de 3 terabytes fiecare, în RAID 1 în acest caz sunt disponibili 6 terabytes de capacitate. RAID 5 în acest caz va oferi mai mult spațiu, cu toate acestea, viteza de acces va scădea semnificativ. RAID 6 va oferi aceiași 6 terabytes, dar o viteză de acces chiar mai mică și va necesita, de asemenea, un controler scump.

Să adăugăm mai multe discuri RAID și vei vedea cum se schimbă totul. De exemplu, să luăm opt discuri de aceeași capacitate (3 terabytes). În RAID 1, doar 12 terabytes de spațiu vor fi disponibili pentru înregistrare, jumătate din volum va fi închis! RAID 5 în acest exemplu va oferi 21 de terabytes spatiu pe disc+ va fi posibilă preluarea datelor de pe orice hard disk deteriorat. RAID 6 va oferi 18 terabytes și datele pot fi obținute de pe oricare două discuri.

În general, RAID-ul nu este un lucru ieftin, dar personal mi-ar plăcea să am la dispoziție un RAID de primul nivel de discuri de 3 terabyte. Există și metode mai sofisticate, cum ar fi RAID 6 0, sau „raid din matrice raid”, dar acest lucru are sens cu un număr mare de HDD-uri, cel puțin 8, 16 sau 30 - trebuie să fiți de acord, acest lucru depășește cu mult domeniul de aplicare al uzul „casnic” obișnuit și este utilizat cererea este mai ales în servere.

Așa ceva, lăsați comentarii, adăugați site-ul la marcaje (pentru comoditate), vor fi multe alte lucruri interesante și utile și ne vedem în curând pe paginile blogului!

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

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

RAID 0 (stripe)

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

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

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

RAID 1 (oglindă)

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

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

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

RAID 1+0

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

RAID 2-3-4

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

RAID 5

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

Se spune în mod obișnuit că „RAID5 folosește acces independent la disc, astfel încât cererile către diferite discuri să poată fi executate în paralel”. Trebuie reținut că vorbim, desigur, de solicitări I/O paralele. Dacă astfel de solicitări merg secvenţial (în SuperServer), atunci, desigur, nu veţi obţine efectul de paralelizare a accesului pe RAID 5. Desigur, RAID5 va oferi o creștere a performanței dacă sistemul de operare și alte aplicații funcționează cu matricea (de exemplu, va conține memorie virtuala, TEMP etc.).

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

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

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

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

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

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

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

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

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

RAID 10, 50

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

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

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

RAID 6

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

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

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

Reconstruiește timpul

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

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

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

rezumat

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

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

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

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

Amplasarea bazei, umbrei și backupului

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

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

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

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 cu privire la crearea matricelor RAID pe PC-urile 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.

Creșterea productivității subsistem de disc 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 diferite discuri, iar scrierea mai multor blocuri pe discuri diferite 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 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 funcție de diferitele tipuri de acces, există tipuri diferite Matricele 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 - acestea sunt 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. 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, 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 performanta ridicata subsistem 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 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 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 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. O altă abordare este de asemenea posibilă: inițial discurile sunt combinate în matrice oglindă de 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ă, se utilizează 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 matricelor 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 să se dubleze, în practică nu este atât de lină.

Pentru testarea comparativă a controlerelor noastre RAID, am folosit placa de bază Gigabyte GA-EX58A-UD7. Această placă se bazează pe Chipset 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, bazat pe controlerul Marvell 9128, care acceptă unități cu interfata SATA III, puteți crea și matrice RAID utilizând 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 controlul sistemului de operare Microsoft Windows 7 Ultimate (32 de biți). sistem 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 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ăți indiferent de structura fișieruluiși reduce 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 hard disk operațiuni specifice. În cazul creaţiei model specific accesul este permis pentru modificarea următorilor 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 locale de discuri (DAS), ci și unități de 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 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 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 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 pe discul 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 poți doar testa discuri curate 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 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 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 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ț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 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 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.

Deci ne-am uitat tehnici de bază lucrați cu utilitarul IOmeter, care va fi necesar 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, primul în setări BIOS trebuie să definiți modul de funcționare a două porturi SATA aparținând controlerului GIGABYTE SATA2 ca RAID (în caz contrar accesul la meniul configurator de matrice RAID nu va fi posibil).

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 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 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, 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 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ă 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 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 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 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 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 acesteia 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ă 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 utilizează Unități SATA III).

(+) : Are fiabilitate ridicată - funcționează atâta timp cât funcționează cel puțin un disc din matrice. Probabilitatea de defectare a două discuri simultan este egală cu produsul probabilităților de defecțiune a fiecărui disc. În practică, dacă unul dintre discuri eșuează, trebuie luate măsuri imediate pentru a restabili redundanța. Pentru a face acest lucru, este recomandat să utilizați discuri de rezervă cu orice nivel RAID (cu excepția zero). Avantajul acestei abordări este menținerea disponibilității constante.

(-) : Dezavantajul este că trebuie să plătiți costul a doi hard disk-uri, primind volumul util de doar unul hard disk.

RAID 1+0 și RAID 0+1

Oglindă pe multe discuri - RAID 1+0 sau RAID 0+1. RAID 10 (RAID 1+0) se referă la opțiunea când două sau mai multe RAID 1 sunt combinate în RAID 0. RAID 0+1 poate însemna două opțiuni:

RAID 2

Matricele de acest tip se bazează pe utilizarea codului Hamming. Discurile sunt împărțite în două grupe: pentru date și pentru codurile de corectare a erorilor, iar dacă datele sunt stocate pe discuri, atunci discurile sunt necesare pentru a stoca codurile de corecție. Datele sunt distribuite pe discuri destinate stocării informațiilor, în același mod ca în RAID 0, adică. sunt împărțite în blocuri mici în funcție de numărul de discuri. Discurile rămase stochează coduri de corectare a erorilor, care pot fi folosite pentru a restaura informații în cazul în care orice hard disk se defectează. Metoda Hamming a fost folosită de mult timp în memoria ECC și permite corectarea din mers a erorilor individuale și detectarea erorilor duble.

Demnitate RAID 2 este o îmbunătățire a vitezei operațiunilor pe disc în comparație cu performanța unui singur disc.

Dezavantaj Matricea RAID 2 este că numărul minim de discuri la care are sens să-l folosești este de 7. În acest caz, este necesară o structură aproape dublă față de numărul de discuri (pentru n=3 datele vor fi stocate pe 4 discuri) , deci acest tip de matrice nu este larg răspândit . Dacă există aproximativ 30-60 de discuri, atunci depășirea este de 11-19%.


RAID 3

Într-o matrice RAID 3 de discuri, datele sunt împărțite în bucăți de dimensiuni mai mici decât sectorul (divizate în octeți) sau blocuri și distribuite pe discuri. Un alt disc este folosit pentru a stoca blocuri de paritate. RAID 2 a folosit un disc în acest scop, dar majoritatea informațiilor de pe discurile de control au fost folosite pentru corectarea erorilor din mers, în timp ce majoritatea utilizatorilor sunt mulțumiți de simpla restaurare a informațiilor în cazul unei defecțiuni a discului, ceea ce este suficientă informație. pentru a se potrivi pe un hard disk dedicat.

Diferențele dintre RAID 3 și RAID 2: incapacitatea de a corecta erorile din mers și mai puțină redundanță.

Avantaje:

  • citire și scriere de mare viteză a datelor;
  • Numărul minim de discuri pentru a crea o matrice este de trei.

Defecte:

  • o matrice de acest tip este bună numai pentru lucrul cu o singură sarcină cu fișiere mari, deoarece timpul de acces la un sector individual, împărțit pe discuri, este egal cu maximul intervalelor de acces la sectoarele fiecărui disc. Pentru blocurile mici, timpul de acces este mult mai mare decât timpul de citire.
  • există o sarcină mare pe discul de control și, ca urmare, fiabilitatea acestuia scade semnificativ în comparație cu discurile care stochează date.


RAID 4

RAID 4 este similar cu RAID 3, dar diferă prin faptul că datele sunt împărțite mai degrabă în blocuri decât în ​​octeți. Astfel, a fost posibil să se depășească parțial problema vitezei scăzute de transfer de date a volumelor mici. Scrierea este lentă datorită faptului că paritatea pentru bloc este generată în timpul înregistrării și scrisă pe un singur disc. Printre sistemele de stocare răspândite, RAID-4 este utilizat pe dispozitivele de stocare NetApp (NetApp FAS), unde deficiențele sale sunt eliminate cu succes datorită funcționării discurilor într-un mod special de înregistrare de grup, determinat de sistemul de fișiere intern WAFL utilizat pe dispozitive. .

RAID 5

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

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

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

RAID 5EE

Notă: Nu este acceptat pe toate controlerele RAID level-5EE este similar cu RAID-5E, dar cu mai multe utilizare eficientă disc de rezervă și timp de recuperare mai scurt. Similar cu nivelul RAID-5E, acest nivel de matrice RAID creează rânduri de date și sume de verificare pe toate unitățile din matrice. RAID-5EE oferă securitate și performanță îmbunătățite. Când utilizați RAID nivel-5E, capacitatea unui volum logic este limitată de capacitatea a două hard disk-uri fizice ale matricei (unul pentru control, unul de rezervă). Discul de rezervă face parte dintr-o matrice RAID de nivel 5EE. Cu toate acestea, spre deosebire de nivelul RAID-5E, care utilizează nepartiționat loc liber pentru backup, în RAID nivel-5EE blocuri de sumă de control sunt inserate în discul de rezervă, așa cum se arată mai jos în exemplu. Acest lucru vă permite să reconstruiți datele mai rapid dacă un disc fizic eșuează. Cu această configurație, nu o veți putea folosi cu alte matrice. Dacă aveți nevoie de o unitate de rezervă pentru o altă matrice, ar trebui să aveți un alt hard disk de rezervă. RAID nivel-5E necesită minim patru unități și, în funcție de nivelul firmware-ului și capacitatea acestora, acceptă de la 8 la 16 unități. RAID level-5E are firmware specific. Notă: Pentru nivelul RAID-5EE, puteți utiliza un singur volum logic în matrice.

Avantaje:

  • 100% protecție a datelor
  • Capacitate mare de disc fizic în comparație cu RAID-1 sau RAID -1E
  • Performanță mai mare în comparație cu RAID-5
  • Mai repede Recuperare RAID comparativ cu RAID-5E

Defecte:

  • Performanță mai scăzută decât RAID-1 sau RAID-1E
  • Acceptă un singur volum logic per matrice
  • Imposibilitate partajarea disc de rezervă cu alte matrice
  • Nu toate controlerele sunt acceptate

RAID 6

RAID 6 este similar cu RAID 5, dar are un grad mai mare de fiabilitate - capacitatea a 2 discuri este alocată pentru sume de control, 2 sume sunt calculate folosind algoritmi diferiți. Necesită un controler RAID mai puternic. Asigură funcționarea după defecțiunea simultană a două discuri - protecție împotriva defecțiunilor multiple. Pentru a organiza o matrice, sunt necesare minim 4 discuri. De obicei, utilizarea RAID-6 cauzează o scădere cu aproximativ 10-15% a performanței grupului de discuri în comparație cu indicatori RAID-5 similari, care este cauzată de o cantitate mare de procesare pentru controler (necesitatea de a calcula o secundă suma de control, și citiți și rescrieți mai multe blocuri de disc pe măsură ce fiecare bloc este scris).

RAID 7

RAID 7 - înregistrat marcă de la Storage Computer Corporation, nu este un nivel RAID separat. Structura matricei este următoarea: datele sunt stocate pe discuri, un disc este folosit pentru a stoca blocuri de paritate. Scrierea pe discuri este stocată în cache folosind memorie cu acces aleator, matricea în sine necesită un UPS obligatoriu; În cazul unei pene de curent, se produce coruperea datelor.

RAID 10

Diagrama arhitecturii RAID 10

RAID 10 este o matrice oglindită în care datele sunt scrise secvenţial pe mai multe discuri, ca în RAID 0. Această arhitectură este o matrice Tipul RAID 0, ale căror segmente sunt matrice RAID 1 în loc de discuri individuale. În consecință, o matrice de acest nivel trebuie să conțină cel puțin 4 discuri. RAID 10 combină toleranța ridicată la erori și performanța.

Controlerele actuale folosesc acest mod în mod implicit pentru RAID 1+0. Adică, un disc este cel principal, al doilea este o oglindă, datele sunt citite de pe ele una câte una. Acum putem presupune că RAID 10 și RAID 1+0 sunt doar nume diferite pentru aceeași metodă de oglindire a discului. Afirmația că RAID 10 este cea mai fiabilă opțiune pentru stocarea datelor este eronată, deoarece, în ciuda faptului că acest nivel RAID poate păstra integritatea datelor dacă jumătate dintre discuri eșuează; distrugerea ireversibilă a matricei are loc atunci când două discuri eșuează dacă sunt în aceeași pereche în oglindă.

Niveluri combinate

Pe lângă nivelurile de bază RAID 0 - RAID 5 descrise în standard, există niveluri combinate RAID 1+0, RAID 3+0, RAID 5+0, RAID 1+5, care diverși producători Fiecare îl interpretează diferit.

  • RAID 1+0 este o combinație oglindireȘi alternanţă(Vezi deasupra).
  • RAID 5+0 este alternanţă volume de nivelul 5.
  • RAID 1+5 - RAID 5 din oglindită aburi.

Nivelurile combinate moștenesc atât avantajele, cât și dezavantajele „părinților” lor: aspectul alternanţă la nivelul RAID 5+0 nu adaugă nicio fiabilitate, dar are un efect pozitiv asupra performanței. Nivelul RAID 1+5 este probabil foarte fiabil, dar nu cel mai rapid și, în plus, extrem de neeconomic: capacitatea utilă a volumului este mai mică de jumătate din capacitatea totală a discurilor...

Este demn de remarcat faptul că și numărul de hard disk-uri din matrice combinată se va schimba. De exemplu, pentru RAID 5+0 se folosesc hard disk-uri 6 sau 8, pentru RAID 1+0 - 4, 6 sau 8.

Compararea nivelurilor standard

Nivel Numărul de discuri Capacitate efectivă* toleranta la greseli Avantaje Defecte
0 de la 2 S*N Nu cea mai înaltă performanță fiabilitate foarte scăzută
1 2 S 1 disc fiabilitate
1E de la 3 S*N/2 1 disc** securitate ridicată a datelor și performanță bună cost dublu al spațiului pe disc
10 sau 01 de la 4, chiar S*N/2 1 disc*** cea mai înaltă performanță și cea mai mare fiabilitate cost dublu al spațiului pe disc
5 de la 3 la 16 S*(N - 1) 1 disc economic, fiabilitate ridicată, performanță bună performanță sub RAID 0
50 de la 6, chiar S*(N - 2) 2 discuri** fiabilitate și performanță ridicate cost ridicat și dificultate de întreținere
5E de la 4 S*(N - 2) 1 disc rentabil, fiabilitate ridicată, viteză mai mare decât RAID 5
5EE de la 4 S*(N - 2) 1 disc reconstrucție rapidă a datelor după o defecțiune, rentabilă, fiabilitate ridicată, viteză mai mare decât RAID 5 performanța este mai mică decât RAID 0 și 1, unitatea de rezervă este inactivă și nu este verificată
6 de la 4 S*(N - 2) 2 discuri economic, cea mai mare fiabilitate performanță sub RAID 5
60 de la 8, chiar S*(N - 2) 2 discuri fiabilitate ridicată, cantitate mare de date
61 de la 8, chiar S * (N - 2) / 2 2 discuri** fiabilitate foarte mare cost ridicat și complexitate de organizare

* N este numărul de discuri din matrice, S este capacitatea celui mai mic disc. ** Informațiile nu se vor pierde dacă toate discurile dintr-o oglindă eșuează. *** Informațiile nu se vor pierde dacă două discuri din oglinzi diferite eșuează.

Matrix RAID

Matrix RAID este o tehnologie implementată de Intel în chipset-urile sale începând cu ICH6R. Strict vorbind, această tehnologie nu este un nou nivel RAID (analogul său există în controlerele RAID hardware de nivel înalt), ea permite, folosind un număr mic de discuri, să se organizeze simultan una sau mai multe matrice ale RAID 1, RAID 0 și RAID. Nivele 5. Acest lucru permite o sumă relativ mică de bani poate oferi o fiabilitate crescută pentru unele date și o viteză mare de acces și producție pentru altele.

Caracteristici suplimentare ale controlerelor RAID

Multe controlere RAID sunt echipate cu un set de caracteristici suplimentare:

  • „Schimbare la cald”
  • „Hot Spare”
  • Verificarea stabilității.

Software (engleză) software) RAID

Pentru a implementa RAID, puteți utiliza nu numai hardware, ci și complet componente software(soferi). De exemplu, în sistemele bazate pe nucleul Linux, există module speciale de nucleu și puteți gestiona dispozitivele RAID folosind utilitarul mdadm. Software-ul RAID are avantajele și dezavantajele sale. Pe de o parte, nu costă nimic (spre deosebire de controlerele RAID hardware, care costă 250 USD sau mai mult). Pe de altă parte, software-ul RAID utilizează resurse CPU și, în perioadele de sarcină maximă a sistemului de disc, procesorul își poate cheltui o parte semnificativă din puterea de a întreține dispozitivele RAID.

Nucleul Linux 2.6.28 (ultimul lansat în 2008) acceptă software-ul RAID de următoarele niveluri: 0, 1, 4, 5, 6, 10. Implementarea vă permite să creați RAID pe partiții separate de disc, care este similar cu Matrix RAID descris mai sus. Este acceptată pornirea din RAID.

Dezvoltarea în continuare a ideii RAID

Ideea din spatele matricelor RAID este de a combina discuri, fiecare dintre acestea fiind tratată ca un set de sectoare și, ca rezultat, driverul Sistemul de fișiere„vede” ca și cum un singur disc și lucrează cu el, fără a acorda atenție structurii sale interne. Cu toate acestea, puteți obține o creștere semnificativă a performanței și fiabilității unui sistem de discuri dacă driverul sistemului de fișiere „știe” că funcționează nu cu un singur disc, ci cu un set de discuri.

Mai mult, dacă oricare dintre discurile din RAID-0 este distrusă, toate informațiile din matrice se vor pierde. Dar dacă driverul sistemului de fișiere plasează fiecare fișier pe un singur disc și structura directoarelor este organizată corect, atunci dacă oricare dintre discuri este distrus, se vor pierde numai fișierele aflate pe acel disc; iar fișierele aflate în întregime pe discurile păstrate vor rămâne accesibile.

Angajat al corporației Date Y-E, care este cel mai mare producător din lume de unități de dischetă USB, Daniel Olson, ca experiment, a creat o matrice RAID de patru

Acțiune