Ce este raid 0.1.5 10. Tipuri de RAID și caracteristicile acestora. Dacă ne uităm la asta din punct de vedere practic și discutăm despre aplicațiile oricăror „matrice RAID” din viață, atunci logic totul este destul de simplu

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

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

RAID 0, RAID 1, RAID 5, RAID 10 sau ce este Niveluri RAID?
În acest articol, voi încerca să caracterizez cele mai populare niveluri RAID și apoi să formulez recomandări pentru utilizarea acestor niveluri. Pentru a ilustra articolul, am creat o diagramă în care am plasat aceste niveluri în spațiul tridimensional al fiabilității, performanței și rentabilității.
JBOD (Doar o grămadă de discuri) este o întindere simplă hard disk-uri, care nu este în mod oficial un nivel RAID. Un volum JBOD poate fi o matrice a unui singur disc sau o agregare de mai multe discuri. Controlerul RAID nu trebuie să efectueze niciun calcul pentru a opera un astfel de volum. În diagrama noastră, discul JBOD servește ca „unic” sau punct de start– valorile sale de fiabilitate, performanță și cost coincid cu indicatorii corespunzători ai unui singur hard disk.

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

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

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

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

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

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

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

in afara de asta niveluri de bază RAID0 - RAID5, descrise în standard, există niveluri combinate RAID10, RAID30, RAID50, RAID15, pe care diferiți producători le interpretează fiecare în felul lor.

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

Astfel, nivelurile combinate moștenesc avantajele (și dezavantajele) „părinților”. Astfel, apariția unui „zero” în nivelul RAID 50 nu sporește deloc fiabilitatea acestuia, dar are un efect pozitiv asupra performanței. RAID 15 poate fi foarte fiabil, dar nu este cel mai rapid și este, de asemenea, extrem de risipitor (capacitatea utilizabilă a volumului este mai mică de jumătate din dimensiunea matricei de discuri originale).

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

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

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

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

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

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

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

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

Nivel
~~~~~~~ Redundanţă Utilizarea capacităţii discului Performanţă de citire Performanţă de scriere Disc de rezervă încorporat Min. de discuri Max. numărul de discuri
RAID 0 nu 100% Excelent Excelent nr 1 16
RAID 1 + 50% Refren + Refren + niciunul 2 2
RAID 10 + 50% Refren + Refren + niciunul 4 16
RAID 1E + 50% Refren + Refren + niciunul 3 16
RAID 5 + 67-94% Excelent Bun nr 3 16
RAID 5E + 50-88% Cor excelent + 4 16
RAID 5EE + 50-88% Cor excelent + 4 16
RAID 6 + 50-88% Excelent Bun nr 4 16
RAID 00 nu 100% Excelent Excelent nr 2 60
RAID 1E0 + 50% Refren + Refren + niciunul 6 60
RAID 50 + 67-94% Excelent Bun nr 6 60
RAID 15 + 33-48% Excelent Bun nr 6 60

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

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

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

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

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

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

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

Matricele RAID au fost dezvoltate pentru a îmbunătăți fiabilitatea stocării datelor, pentru a crește viteza de procesare și pentru a oferi posibilitatea de a combina mai multe discuri într-unul mare. Diferit Tipuri RAID decide sarcini diferite, aici ne vom uita la câteva dintre cele mai comune configurații de matrice RAID de aceeași dimensiune.



RAID 0

  • RAID 0(Dunga). Modul care atinge performanța maximă. Datele sunt distribuite uniform pe discurile matrice și combinate într-unul singur, care poate fi împărțit în mai multe. Operațiile distribuite de citire și scriere pot crește semnificativ viteza de operare, deoarece mai multe citesc/scriu simultan porțiunea lor de date. Întregul volum este disponibil utilizatorului, dar acest lucru reduce fiabilitatea stocării datelor, deoarece dacă unul dintre discuri eșuează, matricea este de obicei distrusă și este aproape imposibilă restaurarea datelor. Domeniul de aplicare - aplicații care necesită viteze mari de schimb cu discul, de exemplu captura video, editare video. Recomandat pentru utilizare cu unități extrem de fiabile.

    RAID 1
  • RAID 1(Oglindă). Mai multe discuri (de obicei 2), care funcționează sincron pentru înregistrare, adică se dublează complet unul pe celălalt. Îmbunătățirea performanței are loc numai la citire. Cel mai mod de încredere protejați informațiile împotriva defecțiunii unuia dintre discuri. Datorită costului ridicat, este de obicei folosit la stocarea datelor foarte importante. Costul ridicat se datorează faptului că doar jumătate din capacitatea totală este disponibilă utilizatorului.

    RAID 10
  • RAID 10, numit și uneori RAID 1+0- o combinație a primelor două opțiuni. (matrice RAID0 din matrice RAID1). Are toate avantajele de viteză ale RAID0 și avantajul de fiabilitate al RAID1, menținând în același timp dezavantajul costului ridicat al matricei de discuri, deoarece capacitatea efectivă a matricei este egală cu jumătate din capacitatea discurilor utilizate în acesta. Pentru a crea o astfel de matrice, sunt necesare minim 4 discuri. (În acest caz, numărul lor trebuie să fie par).
  • RAID 0+1- Matrice RAID1 din matrice RAID0. De fapt, nu este folosit din cauza lipsei de avantaje în comparație cu RAID10 și a toleranței mai mici la erori.

    RAID 1E
  • RAID 1E- O opțiune similară cu RAID10 pentru distribuirea datelor pe discuri, permițând utilizarea unui număr impar (număr minim - 3)
  • RAID 2, 3, 4- diverse opțiuni de stocare distribuită a datelor cu discuri alocate pentru coduri de paritate și diferite dimensiuni bloc. În prezent, practic nu sunt folosite din cauza performanțelor scăzute și a necesității de a aloca mult capacitatea discului pentru stocarea codurilor ECC și/sau de paritate.


    RAID 5
  • RAID 5- o matrice care folosește și stocare distribuită de date similară cu RAID 0 (și combinându-se într-unul logic mare) + stocare distribuită a codurilor de paritate pentru recuperarea datelor în caz de defecțiuni. Comparativ cu configurațiile anterioare, dimensiunea blocului Stripe a fost mărită și mai mult. Sunt posibile atât citirea, cât și scrierea simultană. Avantajul acestei opțiuni este că capacitatea matricei disponibilă utilizatorului este redusă de capacitatea unui singur disc, deși fiabilitatea stocării datelor este mai mică decât cea a RAID 1. De fapt, este un compromis între RAID0 și RAID1, oferind o viteză destul de mare de operare cu o bună fiabilitate a stocării datelor. Dacă un disc din matrice eșuează, datele pot fi restaurate fără pierderi de date. mod automat. Numărul minim de discuri pentru o astfel de matrice este 3.
    "Software" Implementări RAID 5, construit în podurile de sud ale plăcilor de bază, nu sunt diferite de mare vitezăînregistrări, deci nu sunt potrivite pentru toate aplicațiile.


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


    RAID 6
  • RAID 6- un analog RAID5 cu un nivel ridicat de redundanță - informațiile nu se pierd dacă două discuri se defectează în consecință, capacitatea totală a matricei este redusă cu capacitatea a două discuri; Numărul minim de discuri necesare pentru a crea o matrice de acest nivel este 4. Viteza de operare în cazul general este aproximativ similară cu RAID5. Recomandat pentru aplicații în care este importantă cea mai mare fiabilitate posibilă.


    RAID 50
  • RAID 50- combinarea a două (sau mai multe, dar acest lucru este extrem de rar utilizat) matrice RAID5 într-o bandă, de ex. combinație de RAID5 și RAID0, corectând parțial dezavantajul principal RAID5 - viteză scăzută de scriere a datelor din cauza utilizare paralelă mai multe astfel de matrice. Capacitatea totală a matricei este redusă cu capacitatea de două, dar, spre deosebire de RAID6, o astfel de matrice poate rezista eșecului unui singur disc fără pierderi de date, iar numărul minim necesar de discuri pentru a crea o matrice RAID50 este de 6. cu RAID10, acesta este cel mai recomandat nivel RAID pentru utilizare în aplicații în care este necesară o performanță ridicată combinată cu o fiabilitate acceptabilă.


    RAID 60
  • RAID 60- combinarea a două matrice RAID6 într-o bandă. Viteza de scriere este aproximativ dublată în comparație cu viteza de scriere în RAID6. Numărul minim de discuri pentru a crea o astfel de matrice este 8. Informațiile nu se pierd dacă două discuri din fiecare matrice RAID 6 eșuează.
  • Matrix RAID- tehnologie implementată de Intel în cadrul său poduri sudice, începând cu ICH6R, care vă permite să organizați mai multe matrice RAID0 și RAID1 pe doar două discuri, creând simultan partiții cu ambele viteza crescuta de lucru și cu o fiabilitate sporită a stocării datelor.
  • JBOD(Din engleză „Just a Bunch Of Disks”) - combinație secvențială a mai multor discuri fizice într-unul logic, care nu afectează performanța (fiabilitatea scade similar cu RAID0), dar poate avea marimi diferite. Momentan practic nu este folosit.
  • Problema creșterii fiabilității stocării informațiilor și creșterea simultană a performanței sistemului de stocare a datelor ocupă mintea dezvoltatorilor perifericele computerului acum mult timp. În ceea ce privește creșterea fiabilității stocării, totul este clar: informația este o marfă și adesea foarte valoroasă. Pentru a proteja împotriva pierderii datelor, au fost inventate multe metode, dintre care cea mai faimoasă și fiabilă este backup informație.

    Problema creșterii performanței subsistemului de disc este foarte complexă. Creșterea puterii de calcul procesoare moderne a dus la faptul că există un dezechilibru clar între capacitățile hard disk-urilor și nevoile procesoarelor. În același timp, nici unitățile SCSI scumpe și nici mai mult unitățile IDE nu vă pot salva. Cu toate acestea, dacă capacitățile unui singur disc nu sunt suficiente, atunci poate că aveți mai multe discuri va rezolva parțial această problemă? Desigur, simpla prezență a două sau mai multe hard disk-uri pe un computer sau server nu schimbă problema - trebuie să faceți ca aceste unități să funcționeze împreună (în paralel), astfel încât acest lucru să îmbunătățească performanța subsistemului de disc pe operatii de scriere/citire. În plus, este posibil, prin utilizarea mai multor hard disk, să se îmbunătățească nu numai performanța, ci și fiabilitatea stocării datelor, astfel încât defecțiunea uneia dintre unități să nu conducă la pierderea de informații? Aceasta este exact abordarea care a fost propusă în 1987 de către cercetătorii americani Patterson, Gibson și Katz de la Universitatea din California, Berkeley. În articolul lor „Un caz pentru matrice redundante de discuri ieftine, RAID”, au descris modul în care mai multe hard diskuri ieftine pot fi combinate într-un singur dispozitiv logic astfel încât rezultatul este creșterea capacității și a performanței sistemului, iar defecțiunea discurilor individuale nu duce la defecțiunea întregului sistem.

    Au trecut 15 ani de la publicarea articolului, 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.

    Mai mult, acum tehnologia RAID a devenit larg răspândită. Așadar, dacă în urmă cu câțiva ani matricele RAID erau folosite în servere scumpe la scară întreprindere folosind discuri SCSI, astăzi au devenit un fel de standard de facto chiar și pentru serverele entry-level. În plus, piața controlerelor IDE RAID se extinde treptat, adică sarcina de a construi matrice RAID pe stațiile de lucru folosind discuri IDE ieftine devine urgentă. Astfel, unii producători de plăci de bază (Abit, Gigabyte) au început deja să integreze controlerele IDE RAID pe plăcile în sine.

    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 capacitate spatiu pe disc este alocat în scopuri oficiale, devenind inaccesibil utilizatorului.

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

    Lucrand impreuna Discurile din matrice pot fi organizate folosind acces paralel sau independent.

    Cu acces paralel, spațiul pe disc este împărțit în blocuri (fâșii) pentru înregistrarea datelor. În mod similar, informațiile care trebuie scrise pe disc sunt împărțite în aceleași blocuri. La scriere, blocurile individuale sunt scrise pe discuri diferite (Fig. 1), iar mai multe blocuri sunt scrise pe discuri diferite simultan, ceea ce duce la o performanță crescută în operațiunile de scriere. Informatie necesara se citește și în blocuri separate simultan de pe mai multe discuri (Fig. 2), ceea ce măreș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, este pur și simplu imposibil să implementați înregistrarea paralelă a mai multor blocuri. Să ne imaginăm o situație în care dimensiunea unui bloc individual este de 8 KB, iar dimensiunea cererii de scriere a datelor este de 64 KB. În acest caz, informațiile originale 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 folosește un singur disc. Totuși, această situație este ideală, deoarece 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 de acces fundamental diferit - acces independent. Mai mult, acest model poate fi implementat și în cazul în care dimensiunea datelor scrise este mai mare decât dimensiunea unui bloc. Cu acces independent, toate datele cerere separatăÎnregistrează-te pentru disc separat, adică situația este identică cu a lucra cu un singur disc. Avantajul modelului de acces paralel este că dacă mai multe solicitări de scriere (citire) ajung simultan, toate vor fi executate independent, pe discuri separate (Fig. 3). Situație similară tipic, de exemplu, în servere.

    În funcție de diferitele tipuri de acces, există Tipuri variate 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 special alocat, fie amestecate între toate discurile. Există mai 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 standardizate: de la RAID 0 la RAID 5. În plus, sunt folosite combinații ale acestor niveluri, precum și niveluri proprietare (de exemplu, RAID 6, RAID 7). Cele mai comune niveluri sunt 0, 1, 3 și 5.

    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 pe scară largă în cazurile în care este necesar să se asigure o performanță ridicată a subsistemului de disc. Acest nivel este deosebit de popular în stațiile de lucru. Când se creează o matrice RAID de nivel 0, informațiile sunt împărțite în blocuri, care sunt scrise pe discuri separate (Fig. 4), adică este creat un sistem cu acces paralel (dacă, desigur, dimensiunea blocului permite acest lucru). Datorită posibilității de I/O simultană din mai multe Discuri RAID 0 oferă viteza maximă de transfer de date și eficienta maxima utilizarea spațiului pe disc, deoarece nu este necesar spațiu pentru stocarea sumelor 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 discuri cu redundanță de 100%. Adică, datele sunt pur și simplu complet duplicate (oglindite), datorită cărora foarte nivel inalt fiabilitatea (precum și costul). 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 unul singur unitate logică(Fig. 5). Dacă un disc eșuează, funcțiile sale sunt îndeplinite de altul (care este absolut transparent pentru utilizator). În plus, acest nivel dublează viteza de citire a informațiilor, deoarece această operație poate fi efectuată simultan de pe două discuri. Această 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 2

    RAID Level 2 este o schemă de redundanță a datelor care utilizează codul Hamming (vezi mai jos) pentru corectarea erorilor. Datele scrise nu sunt formate pe baza unei structuri de bloc, ca în RAID 0, ci pe baza de cuvinte, iar dimensiunea cuvântului este egală cu numărul de discuri pentru înregistrarea datelor în matrice. Dacă, de exemplu, matricea are patru discuri pentru scrierea datelor, atunci dimensiunea cuvântului este egală cu patru discuri. Fiecare bit individual al unui cuvânt este scris pe un disc separat din matrice. De exemplu, dacă o matrice are patru discuri pentru înregistrarea datelor, atunci o secvență de patru biți, adică un cuvânt, va fi scrisă în matricea de discuri în așa fel încât primul bit să fie pe primul disc, al doilea pic pe al doilea etc.

    În plus, un cod de corectare a erorilor (ECC) este calculat pentru fiecare cuvânt și scris pe discuri de stocare dedicate informații de control(Fig. 6). Numărul lor este egal cu numărul de biți din cuvântul de control și fiecare bit al cuvântului de control este scris pe un disc separat. Numărul de biți din cuvântul de control și, în consecință, numărul necesar de discuri pentru stocarea informațiilor de control este calculat pe baza următoarei formule: unde K este adâncimea de biți a cuvântului de date.

    Desigur, atunci când se calculează folosind formula specificată, L este rotunjit la cel mai apropiat număr întreg. Totuși, pentru a nu te încurca cu formulele, poți folosi o altă regulă mnemonică: adâncimea de biți a cuvântului de control este determinată de numărul de biți necesari pentru reprezentarea binară a mărimii cuvântului. Dacă, de exemplu, lungimea cuvântului este de patru (in notație binară 100), apoi pentru a scrie acest număr binar, vor fi necesari trei biți, ceea ce înseamnă că dimensiunea cuvântului de control este de trei. Prin urmare, dacă există patru discuri pentru a stoca date, atunci vor fi necesare încă trei discuri pentru a stoca datele de control. În mod similar, dacă aveți șapte discuri pentru date (în notația binară 111), veți avea nevoie de trei discuri pentru a stoca cuvintele de control. Dacă sunt alocate opt discuri pentru date (în notația binară 1000), atunci sunt necesare patru discuri pentru informațiile de control.

    Codul Hamming care formează cuvântul de control se bazează pe utilizarea operației „SAU exclusiv” (XOR) pe biți (numită și „disimilaritate”). Amintiți-vă că operația logică XOR dă unu dacă operanzii nu se potrivesc (0 și 1) și zero dacă se potrivesc (0 și 0 sau 1 și 1).

    Cuvântul de control în sine, obținut folosind algoritmul Hamming, este inversarea rezultatului operației SAU exclusiv pe biți a numerelor acelor biți de informații ai cuvântului ale căror valori sunt egale cu 1. Pentru ilustrare, luați în considerare cuvântul original 1101 . În primul (001), al treilea (011) și al patrulea (100) Cifrele acestui cuvânt valorează unul. Prin urmare, este necesar să efectuați o operație SAU exclusivă pe biți pentru aceste numere de biți:

    Cuvântul de control însuși (codul Hamming) este obținut prin inversarea pe biți a rezultatului rezultat, adică este egal cu 001.

    La citirea datelor, codul Hamming este din nou calculat și comparat cu codul sursă. Pentru a compara două coduri, se folosește o operațiune „SAU exclusivă” pe biți. Dacă din comparație rezultă toate cifrele egal cu zero, atunci citirea este corectă, în caz contrar valoarea sa este numărul bitului primit eronat al codului principal. Să fie, de exemplu, cuvântul sursă egal cu 1100000. Deoarece cele sunt în pozițiile a șasea (110) și a șaptea (111), cuvântul de control este egal cu:

    Dacă cuvântul 1100100 este înregistrat în timpul citirii, atunci cuvântul de control pentru acesta este egal cu 101. Comparând cuvântul de control original cu cel primit (operație OR exclusivă pe biți), avem:

    adică o eroare de citire în poziţia a treia.

    În consecință, știind exact ce bit este eronat, acesta poate fi corectat cu ușurință din mers.

    RAID 2 este unul dintre puținele niveluri care vă permite nu numai să corectați erorile individuale din mers, ci și să detectați erorile duble. Mai mult, este cel mai redundant dintre toate nivelurile cu coduri de corectare. Această schemă de stocare a datelor este rar utilizată deoarece nu gestionează bine un număr mare de solicitări, este complex de organizat și are puține avantaje față de RAID 3.

    RAID 3

    RAID Level 3 este o matrice tolerantă la erori cu I/O paralelă și un disc suplimentar pe care sunt scrise informații de control (Figura 7). La înregistrare, fluxul de date este împărțit în blocuri la nivel de octet (deși posibil la nivel de biți) și este scris simultan pe toate discurile matricei, cu excepția celui alocat pentru stocarea informațiilor de control. Pentru a calcula informațiile de control (numită și sumă de control), se aplică o operație exclusivă (XOR) blocurilor de date care sunt scrise. Dacă un disc nu reușește, datele de pe acesta pot fi restaurate folosind datele de control și datele rămase pe discuri sănătoase.

    Ca exemplu, luați în considerare blocurile de patru biți. Să fie patru discuri pentru stocarea datelor și un disc pentru î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 operația:

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

    Dacă unul dintre discuri, de exemplu al treilea, eșuează, atunci blocul 1100 va fi indisponibil pentru 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ă”:

    Bloc 3 = Bloc 1 Bloc 2 Bloc 4

    Verificați suma.

    În exemplul nostru obținem:

    Blocul 3=1101001110111001= 1100.

    RAID Level 3 are o redundanță mult mai mică decât RAID 2. Prin împărțirea datelor în blocuri, RAID 3 are performanțe ridicate. La citirea informațiilor, discul nu este accesat cu sume de control (cu excepția cazului în care există o eroare), ceea ce se întâmplă de fiecare dată când are loc o operație de scriere. Deoarece fiecare operație I/O accesează practic toate discurile din matrice, procesarea mai multor cereri simultan nu este posibilă. Acest nivel Potrivit pentru aplicații cu fișiere mari și frecvență scăzută de acces. În plus, avantajele RAID 3 includ o scădere ușoară a performanței în cazul unei defecțiuni și recuperarea rapidă a informațiilor.

    RAID 4

    RAID Level 4 este o matrice tolerantă la erori de discuri independente cu o unitate pentru stocarea sumelor de verificare (Figura 8). RAID 4 este în multe privințe similar cu RAID 3, dar diferă de acesta din urmă în primul rând prin dimensiunea blocului semnificativ mai mare a datelor scrise (mai mare decât dimensiunea datelor scrise). Aceasta este principala diferență dintre RAID 3 și RAID 4. După scrierea unui grup de blocuri, se calculează o sumă de control (în același mod ca și în cazul RAID 3), care este scrisă pe discul alocat în acest scop. Cu o dimensiune de bloc mai mare decât RAID 3, pot fi efectuate mai multe operații de citire simultan (design de acces independent).

    RAID 4 îmbunătățește performanța transferurilor de fișiere mici (prin paralelizarea operației de citire). Dar, deoarece înregistrarea trebuie să calculeze suma de control pe discul alocat, operațiunile simultane sunt imposibile aici (există o asimetrie a operațiunilor de intrare și de ieșire). Nivelul luat în considerare nu oferă avantaje de viteză la transferul unor cantități mari de date. Această schemă de stocare a fost concepută pentru aplicații în care datele sunt inițial împărțite în blocuri mici, astfel încât nu este nevoie să le divizați în continuare. RAID 4 este o soluție bună pentru serverele de fișiere în care informațiile sunt în primul rând citite și rar scrise. Această schemă de stocare a datelor are un cost scăzut, dar implementarea ei este destul de complexă, la fel ca și recuperarea datelor în caz de eșec.

    RAID 5

    Nivelul RAID 5 este o matrice tolerantă la erori de discuri independente cu stocare distribuită a sumelor de control (Fig. 9). Blocurile de date și sumele de control, care sunt calculate în același mod ca în RAID 3, sunt scrise ciclic pe toate discurile matricei, adică nu există un disc dedicat pentru stocarea informațiilor despre suma de control.

    Î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 10 GB, atunci dimensiunea reală a matricei este de 40 GB, deoarece 10 GB sunt alocați pentru informațiile de control.

    RAID 5, ca și RAID 4, are o arhitectură de acces independentă, adică, spre deosebire de RAID 3, oferă o dimensiune mare de blocuri logice pentru stocarea informațiilor. Prin urmare, ca și în cazul RAID 4, o astfel de matrice oferă principalul beneficiu atunci când procesează mai multe solicitări simultan.

    Principala diferență dintre RAID 5 și RAID 4 este modul în care sunt plasate sumele de control.

    Prezența unui disc (fizic) separat care stochează informații despre sumele de control, aici, ca și în cele trei niveluri anterioare, duce la faptul că operațiunile de citire care nu necesită acces la acest disc sunt efectuate cu viteză mare. Cu toate acestea, cu fiecare operație de scriere, informațiile pe disc de control Prin urmare, schemele RAID 2, RAID 3 și RAID 4 nu permit scrieri paralele. RAID 5 nu are acest dezavantaj, deoarece sumele de control sunt scrise pe toate discurile din matrice, permițând efectuarea simultană a mai multor citiri sau scrieri.

    Implementare practică

    Pentru implementarea practică a matricelor RAID, sunt necesare două componente: matricea de hard disk în sine și controlerul RAID. Controlerul îndeplinește funcțiile de comunicare cu serverul (stația de lucru), generarea de informații redundante la scriere și verificarea la citire, distribuirea informațiilor pe discuri în conformitate cu algoritmul de operare.

    Din punct de vedere structural, controlerele pot fi fie externe, fie interne. Există și integrate placa de baza Controlere RAID. În plus, controlerele diferă în ceea ce privește interfața de disc acceptată. Astfel, controlerele SCSI RAID sunt destinate utilizării pe servere, iar controlerele IDE RAID sunt potrivite atât pentru servere entry-level, cât și pentru stațiile de lucru.

    O caracteristică distinctivă a controlerelor RAID este numărul de canale acceptate pentru conectându-se greu discuri. Deși mai multe unități SCSI pot fi conectate la un canal de controler, totalul debitului Matricea RAID va fi limitată de debitul unui canal, care corespunde cu debitul interfeței SCSI. Astfel, utilizarea mai multor canale poate îmbunătăți semnificativ performanța subsistemului de disc.

    Când utilizați controlere IDE RAID, problema multi-canal devine și mai acută, deoarece două hard disk-uri conectate la același canal ( cantitate mare discurile nu este acceptată de interfața în sine), nu poate oferi funcționare paralelă - interfața IDE vă permite să accesați un singur disc la un anumit moment. Prin urmare, controlerele IDE RAID trebuie să fie cel puțin cu două canale. Există, de asemenea, controlere cu patru și chiar opt canale.

    O altă diferență între controlerele IDE RAID și SCSI RAID este numărul de niveluri pe care le suportă. Controlerele SCSI RAID acceptă toate nivelurile principale și, de regulă, mai multe niveluri combinate și proprietare. Setul de niveluri suportat de controlerele IDE RAID este mult mai modest. De obicei, acestea sunt zero și primul nivel. În plus, există controlere care acceptă al cincilea nivel și o combinație dintre primul și zero: 0+1. Această abordare este destul de logică, deoarece controlerele IDE RAID sunt proiectate în primul rând pentru stațiile de lucru, astfel încât accentul principal este pe creșterea integrității datelor (nivel 1) sau a performanței în timpul I/O paralel (nivel 0). În acest caz, nu este necesară o schemă de disc independentă, deoarece în stațiile de lucru fluxul de solicitări de scriere/citire este mult mai scăzut decât, de exemplu, în servere.

    Funcția principală a unei matrice RAID nu este de a crește capacitatea subsistemului de disc (după cum se poate vedea din designul său, aceeași capacitate poate fi obținută pentru mai puțini bani), ci de a asigura o stocare fiabilă a datelor și de a crește performanța. Pentru servere, în plus, există o cerință pentru funcționarea neîntreruptă, chiar dacă una dintre unități eșuează. Funcționarea neîntreruptă este asigurată prin schimbarea la cald, adică eliminarea unui disc SCSI defect și instalarea unuia nou fără a opri alimentarea. Deoarece subsistemul de disc rămâne operațional (cu excepția nivelului 0) atunci când o unitate se defectează, schimbarea la cald asigură o recuperare transparentă pentru utilizatori. Cu toate acestea, viteza de transfer și viteza de acces cu un singur disc care nu funcționează sunt reduse considerabil datorită faptului că controlerul trebuie să recupereze datele din informații redundante. Adevărat, există o excepție de la această regulă - sistemele RAID de nivelurile 2, 3, 4, când o unitate cu informații redundante eșuează, încep să funcționeze mai repede! Acest lucru este natural, deoarece în acest caz nivelul „din zbor” se schimbă la zero, care are caracteristici excelente de viteză.

    Până acum, acest articol a fost despre soluții hardware. Dar există și software oferit, de exemplu, de Microsoft pentru Windows 2000 Server. Cu toate acestea, în acest caz, unele economii inițiale sunt complet compensate de sarcina suplimentară activată CPU, care, pe lângă activitatea sa principală, este forțată să distribuie datele pe discuri și să calculeze sume de control. O astfel de soluție poate fi considerată acceptabilă numai în cazul unui exces semnificativ putere de calculși încărcare scăzută a serverului.


    Serghei Pakhomov

    ComputerPress 3"2002

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

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

    Ce este „RAID”?

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

    Cum să alegi un model de controler RAID?

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

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

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

    Mai întâi, să ne dăm seama ce este RAID și de ce este necesar. RAID este un set de discuri conectate între ele și vizibile pentru sistemul de operare ca o singură unitate. RAID este utilizat pe scară largă în servere și este necesar pentru a îmbunătăți toleranța la erori și performanța subsistemului de disc. Pentru a face alegerea corectă, vom lua în considerare cele mai comune tipuri de matrice RAID - 0, 1, 10, 5, 50. Fiecare tip are propriile avantaje și dezavantaje și este, de asemenea, utilizat pentru diferite sarcini.

    Tipuri de matrice RAID

    RAID 0- cel mai rapid și cel mai puțin tolerant nivel RAID la erori. Datele sunt scrise în blocuri simultan pe toate discurile din matrice.

    Astfel, cu cât sunt mai multe discuri, cu atât mai multa viteza citire/scriere, cu toate acestea, crește și riscul de pierdere a datelor, deoarece dacă vreunul dintre discuri eșuează, veți pierde toate informațiile.

    RAID 1- cel mai simplu tip de matrice. Datele sunt duplicate pe toate discurile. Cu cât sunt mai multe discuri, cu atât este mai mare toleranța la erori. Adesea, nu există nicio diferență de viteză între un singur disc și o matrice de discuri.

    RAID 10 (1+0)- o opțiune de compromis care moștenește avantajele RAID 1 și RAID 0 și nu are dezavantajele RAID 0. În esență, acestea sunt două sau mai multe matrice RAID 0 care sunt duplicate.

    Concluzie: mai rapid și mai tolerant la erori decât RAID 1 și RAID 0, dar necesită mai multă redundanță decât RAID 5 și RAID 50.

    RAID 5- cel mai comun tip de matrice. Necesită trei sau mai multe discuri. Poate folosi capacitatea tuturor unităților, cu excepția uneia. Adică, atunci când utilizați trei discuri, veți obține volumul de două. Dacă un disc eșuează, datele nu se pierd, dar este necesar să înlocuiți de urgență discul eșuat sau să instalați inițial disc suplimentar, ca rezervă. Cel mai economic tip de matrice RAID cu toleranță la erori.

    Concluzie: poate fi folosit pentru o gamă largă de sarcini, este economic, performanța crește odată cu numărul de discuri.

    RAID 50- reprezintă două (sau mai multe) RAID 5-uri care sunt în dungi. Numărul minim necesar de discuri este de șase, ceea ce duce la pierderea capacității a două discuri. Mai productiv decât RAID 5, toleranța la erori poate fi aceeași, sau dacă un disc este scos din fiecare matrice RAID 5, RAID 50 poate continua să funcționeze.

    Concluzie: cea mai bună alegere pentru medii și sisteme mari, toleranta crescuta la erori, destul de economica.

    Ne-am ocupat de nivelurile de bază RAID, acum vom discuta la ce ar trebui să acordați atenție atunci când comandați un server cu capacitatea de a construi matrice RAID.

    „Inima” unei matrice RAID este controlerul. Controlerul poate fi încorporat sau instalat suplimentar (extern). Adesea, furnizorul de găzduire oferă un controler încorporat gratuit. Dar trebuie avut în vedere că este indicat să-l folosești doar în unele cazuri, deoarece are o serie de dezavantaje, printre care consumul de resurse de procesor, performanță, fiabilitate și debit mai scăzute, mai ales în RAID 5 și RAID 50. Este cel mai optim pentru a utiliza controlerul încorporat la construirea RAID 0 și RAID 1, în sistemele puțin încărcate.

    Dacă subsistemul dvs. de disc este încărcat, este recomandat să utilizați un controler suplimentar. Furnizorii de găzduire oferă de obicei mai multe opțiuni din care să aleagă diverse controlere, care poate diferi în ceea ce privește performanța, numărul de discuri conectate, dimensiunea memoriei cache și suportul pentru nivelurile RAID. De obicei, controlerele externe acceptă toate nivelurile RAID comune. Dimensiunea memoriei cache afectează direct viteza de scriere pe discuri, iar dacă aveți un site ocupat, dar cu cât dimensiunea cache-ului este mai mare, cu atât mai bine, se recomandă și să comandați baterie, pentru controler dacă utilizați un SGBD.

    Un element separat care merită luat în considerare este software-ul RAID, care poate fi creat fără a utiliza niciun controler. Această opțiune este cea mai puțin preferată, întreaga sarcină cade pe procesor, iar dacă aveți nevoie de fiabilitate și performanță, atunci nu este recomandat să o utilizați, domeniul de aplicare este același cu RAID bazat pe controlerul încorporat.

    Dacă vorbim despre costul unei astfel de opțiuni precum RAID, atunci când alegeți un server, atunci este de remarcat faptul că prețurile pentru instalarea unui RAID extern încep de la 1000 de ruble pe lună, pt. modele simple, până la 2000 de ruble pentru controlorii mai serioși. Ce controler să alegeți depinde direct de cerințele dumneavoastră pentru viteza subsistemului de discuri și de numărul de discuri din matrice. După cum sa menționat deja, dacă trebuie doar să adăugați toleranță la erori la server și sunteți îngrijorat de siguranța datelor și, în același timp, de încărcarea subsistem de disc scăzut, atunci este foarte posibil să utilizați un controler RAID încorporat sau unul software.

    De asemenea, dacă problema este viteza subsistemului de disc, atunci puteți lua în considerare o alternativă modernă - unitățile SSD. Se caracterizează prin viteze de citire/scriere semnificativ mai mari, precum și viteze mari de acces la date. Cu toate acestea, au un dezavantaj serios - cost ridicat, cu un volum mic și, din păcate, fără utilizarea RAID, vor ajuta doar la creșterea vitezei și în sine nu vor ajuta la creșterea toleranței la erori.

    Rezuma: dacă alegeți un server pentru site-uri cu încărcare mare în care toleranța la erori este critică, atunci nu puteți face fără RAID 5 sau RAID 50 și cu cât instalați mai multe discuri, cu atât matricea va fi mai rapidă. Dacă toleranța la erori nu este critică și aveți suficient spațiu pe disc pe o unitate SSD, atunci cea mai bună alegere ar fi un SSD dacă nu există suficient spațiu, puteți utiliza 2 sau mai multe discuri obișnuite în RAID 0. Dacă aveți nevoie; crește toleranța la erori, apoi, în funcție de încărcarea subsistemului de disc, poți folosi RAID 1 sau RAID 5, fie pe RAID încorporat sau software, fie cu un controler RAID extern.