Crearea unei matrice de discuri Raid pe Windows. Întrebări frecvente despre implementarea practică a RAID

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ă” unde este complet deplasată (vorbim în primul rând despre servere și PC-uri de înaltă performanță), au venit cu utilizarea unei așa-numite matrice de discuri RAID - un fel de „pachet” a mai multor 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-un 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 uriașă 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 asemănător 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 întreaga capacitate a acestor discuri, iar teoretic asta înseamnă că obții viteze de citire/scriere de 2 ori mai mari.

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 a vitezei de acces de 2 ori, dar și a capacității doar a două dintre cele patru discuri ale matricei. 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ă a computerului care 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

  1. Cum se face o matrice RAID? Pentru a face acest lucru aveți nevoie de:
  2. Ia-l undeva cu suport raid (în cazul RAID hardware);
  3. 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 .
  4. Transferați toate datele de pe HDD-urile dvs. pe alte medii, altfel vor fi distruse în timpul procesului de creare a raidului.
  5. Î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”.

Apoi reporniți computerul și ar trebui să apară un tabel cu setări de raid mai detaliate. 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 un 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

Faceți clic dreapta pe „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 spațiu va fi închis! RAID 5 în acest exemplu va oferi 21 de terabytes de spațiu pe disc + va fi posibil să obțineți date 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 utilizarea normală „gospodărească” și este utilizat cererea este în mare parte în servere.

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

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

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

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

1 - Date medii.

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

Creșterea performanței

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

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

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

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

Creșterea toleranței la erori

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

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

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

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

Istoria și dezvoltarea RAID

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

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

2 - Definiția Consiliului Consultativ RAID

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dezbracare virtuală- este o arhitectură flotantă de date și paritate care utilizează memoria cache de writeback. În mod firesc, realizând laturile pozitive ale ambelor.

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

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

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

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

Arhitectura nivelurilor RAID de bază

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

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

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

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

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

Avantaje:

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

Defecte:

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

RAID 1. Matrice de discuri redundante sau oglindire

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

Avantaje:

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

Defecte:

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

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

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

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

Avantaje:

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

Defecte:

  • cost ridicat cu un număr mic de discuri;
  • viteză scăzută de procesare a cererilor (nu este potrivit pentru sistemele orientate spre tranzacții).

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

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

Avantaje:

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

Defecte:

  • implementare dificilă;
  • performanță scăzută cu solicitări de mare intensitate pentru date mici.

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

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

Avantaje:

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

Defecte:

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

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

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

Avantaje:

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

Defecte:

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

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

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

Avantaje:

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

Defecte:

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

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

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

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

Avantaje:

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

Defecte:

  • cost foarte mare;
  • scalare limitată.

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

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

Avantaje:

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

Defecte:

  • cost ridicat;
  • scalare limitată.

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

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

Avantaje:

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

Defecte:

  • cost ridicat;
  • scalare limitată.

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

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

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

Avantaje:

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

Defecte:

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

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

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

Precizări:

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

Câteva aspecte ale implementării sistemelor RAID

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

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

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

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

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

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

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

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

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

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

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

Unul dintre dezavantajele sistemelor autonome este costul lor ridicat.

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

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

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

RAID 0 (stripe)

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

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

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

RAID 1 (oglindă)

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

Dacă apare o 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 baze de date, accelerația este mică, în timp ce atunci când accesați diferite (!) părți (fișiere) ale discului în paralel, accelerația va fi absolut precisă.

RAID 1+0

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

RAID 2-3-4

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

RAID 5

Necesită 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 un spor de performanță dacă sistemul de operare și alte aplicații funcționează cu matricea (de exemplu, va conține memorie virtuală, 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.

Nota.Î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.

Relua

Se dovedește că cel mai înțelept lucru este să folosiți fie RAID 1, fie RAID 5. Cu toate acestea, cea mai comună greșeală pe care o face aproape toată lumea este utilizarea RAID „one size fits all”. 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 legate de lipsa spațiului liber (pe baze de date mari) - până la urmă, î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 o problemă, deși cea mai bună opțiune este să faceți backup pe un hard disk separat.

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

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

Hard disk-urile joacă un rol important într-un computer. Ele stochează diverse informații despre utilizator, lansează sistemul de operare de la ei etc. Hard disk-urile nu durează pentru totdeauna și au o anumită marjă de siguranță. Și fiecare hard disk are propriile sale caracteristici distinctive.

Cel mai probabil, ați auzit la un moment dat că așa-numitele matrice raid pot fi făcute din hard disk-uri obișnuite. Acest lucru este necesar pentru a îmbunătăți performanța unităților, precum și pentru a asigura fiabilitatea stocării informațiilor. În plus, astfel de matrice pot avea propriile numere (0, 1, 2, 3, 4 etc.). În acest articol vă vom spune despre matricele RAID.

RAID este o colecție de hard disk-uri sau o matrice de discuri. După cum am spus deja, o astfel de matrice asigură stocarea fiabilă a datelor și, de asemenea, crește viteza de citire sau scriere a informațiilor. Există diverse configurații de matrice RAID, care sunt marcate cu numerele 1, 2, 3, 4 etc. și diferă în funcțiile pe care le îndeplinesc. Folosind astfel de matrice cu configurația 0, veți obține îmbunătățiri semnificative de performanță. O singură matrice RAID garantează siguranța completă a datelor dvs., deoarece dacă una dintre unități se defectează, informațiile vor fi localizate pe al doilea hard disk.

În esență matrice RAID– acesta este 2 sau n număr de hard disk-uri conectate la placa de bază, care acceptă capacitatea de a crea raiduri. Programatic, puteți selecta configurația raid, adică specificați cum ar trebui să funcționeze aceleași discuri. Pentru a face acest lucru, va trebui să specificați setările din BIOS.

Pentru a instala array-ul avem nevoie de o placa de baza care suporta tehnologia raid, 2 hard disk-uri identice (din toate punctele de vedere), pe care le conectam la placa de baza. În BIOS trebuie să setați parametrul Configurare SATA: RAID. Când computerul pornește, apăsați combinația de taste CTR-I,și deja acolo configuram RAID. Și după aceea, instalăm Windows ca de obicei.

Merită să acordați atenție faptului că, dacă creați sau ștergeți un raid, atunci toate informațiile care se află pe unități sunt șterse. Prin urmare, mai întâi trebuie să faceți o copie a acestuia.

Să ne uităm la configurațiile RAID despre care am vorbit deja. Există mai multe dintre ele: RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6 etc.

RAID-0 (striping), cunoscut și sub numele de matrice de nivel zero sau „matrice nulă”. Acest nivel crește viteza de lucru cu discuri cu un ordin de mărime, dar nu oferă toleranță suplimentară la erori. De fapt, această configurație este o matrice raid pur formal, deoarece cu această configurație nu există redundanță. Înregistrarea într-un astfel de pachet are loc în blocuri, scrise alternativ pe diferite discuri ale matricei. Principalul dezavantaj aici este nefiabilitatea stocării datelor: dacă unul dintre discurile matrice eșuează, toate informațiile sunt distruse. De ce se întâmplă asta? Acest lucru se întâmplă deoarece fiecare fișier poate fi scris în blocuri pe mai multe hard disk-uri simultan și, dacă oricare dintre ele funcționează defectuos, integritatea fișierului este încălcată și, prin urmare, nu este posibilă restaurarea acestuia. Dacă prețuiești performanța și faci în mod regulat copii de siguranță, atunci acest nivel de matrice poate fi utilizat pe computerul tău de acasă, ceea ce va oferi o creștere vizibilă a performanței.

RAID-1 (oglindire)– „mod oglindă”. Puteți numi acest nivel de matrice RAID nivel paranoic: acest mod nu oferă aproape nicio creștere a performanței sistemului, dar vă protejează absolut datele de deteriorare. Chiar dacă unul dintre discuri eșuează, o copie exactă a celui pierdut va fi stocată pe alt disc. Acest mod, ca și primul, poate fi implementat și pe un computer de acasă pentru persoanele care apreciază foarte mult datele de pe discurile lor.

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

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

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

RAID 3 și RAID 4

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

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

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

RAID-5. Așa-numita matrice tolerantă la erori de discuri independente cu stocare distribuită a sumelor de control. Aceasta înseamnă că pe o matrice de n discuri, n-1 disc va fi alocat pentru stocarea directă a datelor, iar ultimul va stoca suma de control a iterației n-1 stripe. Pentru a explica mai clar, să ne imaginăm că trebuie să scriem un fișier. Acesta va fi împărțit în porțiuni de aceeași lungime și va începe alternativ să fie scris ciclic pe toate discurile n-1. O sumă de control de octeți de porțiuni de date ale fiecărei iterații va fi scrisă pe ultimul disc, unde suma de control va fi implementată printr-o operație XOR pe biți.

Merită avertizat imediat că, dacă oricare dintre discuri eșuează, totul va intra în modul de urgență, ceea ce va reduce semnificativ performanța, deoarece Pentru a aduna fișierul, vor fi efectuate manipulări inutile pentru a-i restabili părțile „lipsă”. Dacă două sau mai multe discuri eșuează în același timp, informațiile stocate pe ele nu pot fi restaurate. În general, implementarea unei matrice raid de nivel 5 oferă viteze de acces destul de mari, acces paralel la diferite fișiere și toleranță bună la erori.

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

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

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

Tipuri RAID combinate

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

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

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

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

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

Etichete: , https://site/wp-content/uploads/2017/01/RAID1-400x333.jpg 333 400 Leonid Borislavski /wp-content/uploads/2018/05/logo.pngLeonid Borislavski 2017-01-16 08:57:09 2017-01-16 07:12:59 Ce sunt matricele RAID și de ce sunt necesare?

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

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

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

Tipuri de matrice RAID

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

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

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

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

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

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

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

Tipuri combinate de matrice RAID:

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

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

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

Matrice raid: cum se creează

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

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

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


Recuperarea datelor

Câteva opțiuni de recuperare a datelor:

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

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

O zi bună!