În am discutat deja despre "Este RAID aplicabil pe SSD?" folosind unități Kingston ca exemplu, dar am abordat asta doar la nivelul inițial. În acest articol, vom analiza opțiunile de utilizare a soluțiilor NVMe profesionale și casnice în cele mai populare tipuri de array-uri RAID și vom vorbi despre compatibilitatea controlerelor cu unitățile Kingston.

De ce este necesar RAID pe SSD?
Avantajele array-urilor de stocare pe bază de SSD în comparație cu cele pe bază de hard disk-uri includ reducerea timpului de acces la date pe unitate și o performanță superioară în operațiunile de citire/scriere. Totuși, pentru a asigura o performanță ideală a RAID-ului bazat pe SSD, se necesită o combinație optimă de procesor, cache, software și hardware. Când toate aceste elemente funcționează perfect împreună, un array RAID din SSD poate depăși semnificativ o configurație comparabilă cu utilizarea HDD-urilor tradiționale.
Un SSD tipic consumă mai puțină energie decât hard disk-urile, astfel încât, atunci când un număr mare de unități SSD sunt combinate într-un array RAID, economiile de energie în comparație cu un RAID din HDD-uri pot duce și la reducerea costurilor facturilor de energie electrică pentru companii.
Cu toate acestea, SSD RAID are limitări și dezavantaje: în special, costul mai ridicat pe gigabyte de spațiu în comparație cu hard disk-urile de capacitate similară. De asemenea, timpul de operare al memoriei flash până la defecțiune este limitat de un anumit număr de cicluri de scriere. Asta înseamnă că SSD-urile au o durată de viață determinată de utilizare: cu cât informațiile sunt rescrise mai frecvent pe acestea, cu atât unitatea va ceda mai repede. Pe de altă parte, SSD-urile corporative au o durată de viață decentă, comparabilă cu hard disk-urile mecanice.
Cum se comportă SSD-urile Kingston în modul RAID cu controlerele Broadcom
La începutul apariției unităților SSD, construcțiile RAID aveau multe nuanțe. Printre acestea, utilizarea discurilor HDD, care sunt mai puțin fiabile. Unitățile de stocare pe bază de stare solidă sunt mult mai fiabile decât omologii lor pe bază de discuri magnetice. Așa cum știm, în soluțiile SSD nu există părți mobile, astfel că daunele mecanice sunt reduse la zero. De asemenea, o defecțiune a unităților de stocare pe bază de stare solidă din cauza fluctuațiilor de tensiune este, de asemenea, foarte puțin probabilă, având în vedere că, la nivelul unui PC de acasă sau al oricărui server, sunteți protejat de UPS-uri, filtre de rețea și chiar surse de alimentare.
În plus, unitățile de stocare pe bază de stare solidă au un alt mare avantaj: chiar dacă celulele de memorie se uzează la scriere, citirea datelor de pe ele va fi în continuare posibilă, spre deosebire de un disc magnetic deteriorat – din păcate.

În prezent, utilizarea soluțiilor SSD în aranjamente RAID de diferite niveluri este o practică obișnuită. Principalul lucru este să alegeți unități de stocare pe bază de stare solidă ale căror latențe sunt minime. De asemenea, ideal ar fi să folosiți SSD-uri de la același producător și din aceeași serie, pentru a evita o confuzie de unități care susțin tipuri diferite de sarcini și care sunt construite pe baza unor tehnologii diferite de memorie, controlere și altele. Așadar, dacă am decis să achiziționăm patru sau 16 SSD-uri NVMe de la Kingston pentru a crea un aranjament RAID, ar trebui ca toate să fie din aceeași serie și gamă de modele.
Apropo, în Nu întâmplător am menționat controlerele Broadcom când am vorbit despre SSD-urile NVMe de la Kingston. Motivul este că în manualele acestor dispozitive sunt date imediat unitățile compatibile (inclusiv soluțiile de la producătorul american menționat anterior), cu care controlerele vor funcționa fără probleme. Această informație trebuie luată în considerare atunci când alegeți combinația „controler-SSD” pentru RAID.
Analizăm funcționarea SSD-urilor Kingston în cele mai populare tipuri de RAID – „1”, „5”, „10”, „50”
Așadar, nivelul RAID „zero” nu oferă redundanță pentru date, ci doar îmbunătățește performanța. RAID 0 nu oferă deloc protecție a datelor, de aceea nu-l vom considera în segmentul corporate. RAID 1, pe de altă parte, oferă redundanță completă, dar doar o creștere modestă a performanței, și prin urmare, ar trebui luat în considerare atunci când îmbunătățirea performanței nu este un factor-cheie în crearea unui array RAID din SSD-uri.
RAID 1 pe baza SSD-urilor Kingston și a controlerelor Broadcom
Așadar, un array RAID de nivel întâi bazat pe controlerul Broadcom MegaRAID 9460-16i unește între două și 32 de unități Kingston, care sunt copii una a celeilalte, și oferă redundanță completă. Dacă în cazul HDD-urilor tradiționale viteza de citire și scriere a datelor rămânea la nivelul acestui HDD, atunci cu soluțiile NVMe SSD obținem o creștere de zece ori a performanței. În special în ceea ce privește timpul de acces la date. De exemplu, cu două SSD Kingston DC1000M U.2 NVMe în RAID 1 server, vom obține 350.000 IOPS pentru citirea datelor aleatoare și 75.000 IOPS pentru scriere.

În ceea ce privește viteza secvențială de citire, rezultatele vor corespunde caracteristicilor unității — 3200 MB/s. Dar, având în vedere că ambele SSD-uri NVMe sunt active, datele pot fi citite simultan de pe acestea, ceea ce face ca operațiunile de citire să fie destul de rapide. Însă, viteza de scriere (declarată ca fiind 2000 MB/s) va fi mai lentă, deoarece fiecare operațiune de scriere este efectuată de două ori.

Array-ul RAID 1 este ideal pentru baze de date mici sau orice alt mediu care necesită toleranță la erori, dar cu o capacitate mică. Copierea oglindită a unităților este deosebit de utilă în scenarii de recuperare în caz de accident (performanța scade puțin în acest caz), deoarece asigură „reanimația” instantanee a datelor importante, în cazul în care una dintre unitățile din array se defectează. Dar, deoarece acest nivel de protecție necesită dublarea capacității pentru stocarea unei copii oglindă a datelor (pentru stocarea a 100 TB este nevoie de 200 TB spațiu), în multe sisteme corporate se folosesc opțiuni de stocare mai economice: RAID 5 și RAID 6.
RAID 5 pe baza SSD-urilor Kingston și a controlerelor Broadcom
Pentru a organiza un array RAID de nivel 5, avem nevoie de cel puțin trei unități de stocare, ale căror date sunt alternate (împărțite ciclic pe toate unitățile din array), dar nu sunt duplicate. În organizarea acestora, trebuie să ținem cont de structura lor mai complexă, deoarece aici apare noțiunea de „sumă de control” (sau „paritate”). Această noțiune se referă la funcția logică algebrică XOR (sau exclusiv „OR”), care dictează utilizarea a minimum trei unități în array (maximum – 32). Informația despre paritate este scrisă pe toate „discurile” din array.

Pentru un array format din patru SSD-uri SATA Kingston DC500R cu o capacitate de 3,84 TB fiecare, vom obține 11,52 TB de spațiu și 3,84 TB pentru sumele de control. Iar dacă combinăm 16 unități NVMe Kingston DC1000M U.2 cu o capacitate de 7,68 TB în RAID 5, vom obține 115,2 TB cu o pierdere de 7,68 TB. Așa cum observați, cu cât mai multe unități, cu atât mai bine la final. De asemenea, este mai bine și pentru că, cu cât avem mai multe unități în RAID 5, cu atât mai mare va fi performanța totală la operațiunile de scriere. Citirea liniară va atinge nivelul RAID 0.

Grupul de discuri RAID 5 asigură o lățime de bandă ridicată (în special pentru fișiere mari) și redundanță cu o pierdere minimă de putere. Acest tip de organizare a array-ului se potrivește cel mai bine rețelelor care efectuează multe operațiuni mici de intrare-ieșire (I/O) simultan. Totuși, nu este recomandat să-l folosiți pentru sarcini care necesită un număr mare de operațiuni de scriere pe blocuri mici sau foarte mici.
Există un alt aspect de luat în considerare: în cazul defectării oricărei unități NVMe, RAID 5 trece în modul degradat, iar defectarea unei alte unități de stocare poate deveni critică pentru toate datele. În cazul unei avarii a unei unități din array, controlerul RAID folosește informațiile de paritate pentru a recrea toate datele lipsă.
RAID 10 pe bază de SSD-uri Kingston și controlere Broadcom
RAID 0 oferă o dublare a vitezei și timpului de acces, în timp ce RAID 1 asigură fiabilitate. Ideal ar fi să le combinăm, iar RAID 10 (sau 1+0) vine în ajutor. „Zecimea” este formată din patru SSD-uri SATA sau NVMe (maxim 32) și implică un array de „oglindiri”, numărul de unități din care trebuie să fie întotdeauna un multiplu de patru. Datele din acest array sunt scrise prin împărțirea în blocuri fixe (așa cum se întâmplă cu RAID 0) și alternarea între unități, distribuind copiile între „discurile” din array-ul RAID 1. Datorită posibilității de acces simultan la mai multe grupuri de discuri, RAID 10 oferă performanțe ridicate.

Deoarece RAID 10 poate distribui datele pe mai multe perechi oglindite, asta înseamnă că poate tolera defectarea unei unități din pereche. Totuși, în caz de defectare a ambelor perechi oglindite (adică toate cele patru unități), va avea loc o pierdere inevitabilă a datelor. Prin urmare, obținem și o bună toleranță la defecțiuni și fiabilitate. Dar este important de luat în considerare că, la fel ca RAID 1, array-ul de nivel zece folosește doar jumătate din capacitatea totală, făcându-l astfel o soluție costisitoare. De asemenea, este complex de configurat.
RAID 10 este potrivit pentru utilizarea în stocări de date care necesită redundanță de 100% a grupurilor de discuri oglindite, precum și performanță crescută a I/O a RAID 0. Acesta este cea mai bună soluție pentru baze de date de dimensiuni medii sau orice mediu care necesită o toleranță la defecțiuni mai mare decât în cazul RAID 5.
RAID 50 bazat pe SSD-uri Kingston și controlere Broadcom
Un array combinat, similar cu RAID de nivel zece, care reprezintă un array de nivel zero creat din array-uri de nivel cinci. Ca și în cazul anterior, scopul principal al acestui array este obținerea unei performanțe duble, menținând totodată fiabilitatea datelor în array-urile RAID 5. În acest caz, RAID 50 oferă o performanță îmbunătățită a scrierii și o mai bună protecție a datelor decât RAID 5 standard în cazul unui defect al unui disc, fiind, de asemenea, capabil de o recuperare mai rapidă în cazul defectării uneia dintre unități.

Grupa de discuri RAID 50 împarte datele în blocuri mai mici și apoi le distribuie pe fiecare array RAID 5. Grupa de discuri RAID 5, la rândul său, împarte de asemenea datele în blocuri mai mici, calculează paritatea, efectuează o operație logică OR pentru blocuri și apoi efectuează operații de scriere în blocuri de date și de control al parității pentru fiecare disc din grupul de discuri.
Și deși performanța scade inevitabil în cazul unei defecțiuni a unuia dintre medii, aceasta nu este la fel de semnificativă ca în array-ul RAID 5, deoarece o defecțiune afectează doar unul dintre arii, lăsând celălalt complet funcțional. De fapt, RAID 50 poate susține până la opt defecțiuni de HDD/SSD/NVMe, dacă fiecare disc defect este în cadrul unui array RAID 5 separat.

RAID 50 este cel mai bine utilizat pentru aplicații care necesită o fiabilitate ridicată și care trebuie să gestioneze un număr mare de solicitări, menținând o rată mare de transfer a datelor și un cost mai mic al medii comparativ cu RAID 10. Cu toate acestea, având în vedere că pentru configurarea unui array RAID 50 sunt necesare minimum șase medii, costul nu poate fi complet ignorat ca factor. Unul dintre dezavantajele RAID 50 este că, la fel ca RAID 5, necesită un controller complex: cum ar fi în articolul anterior de la Broadcom.
De asemenea, merită menționat că RAID 50 are mai puțin spațiu de stocare utilizat comparativ cu RAID 5 datorită alocării capacității pentru înregistrările de control al parității. Cu toate acestea, el încă dispune de mai mult spațiu util decât alte niveluri de RAID, în special cele care utilizează mirroring. Datorită cerinței minime de șase discuri, RAID 50 poate fi o opțiune costisitoare, dar spațiul suplimentar de disc justifică costurile, protejând datele corporative. Acest tip de array este recomandat pentru gestionarea datelor care necesită o fiabilitate mare în stocare, frecvență mare a solicitărilor, viteză mare de transfer și o capacitate mare de stocare.
RAID 6 și RAID 60: despre ele nu am uitat nici noi
Deoarece am discutat despre array-urile de niveluri cinci și cincizeci, ar fi o omisiune să nu menționăm și tipurile de organizare a array-urilor cum ar fi RAID 6 și RAID 60.

Performanța RAID 6 este similară cu cea a RAID 5, dar aici minimum două unități sunt dedicate controlului parității, ceea ce permite array-ului să supraviețuiească defectării a două unități fără pierderi de date (în RAID 5 o astfel de situație este extrem de nedorită). Datorită acestui fapt, se asigură o fiabilitate mai ridicată. În rest, totul este similar cu array-ul de nivel cinci: în cazul defectării uneia sau două unități, controller-ul RAID folosește blocurile de paritate pentru a recrea toată informația lipsă. La defectarea a două unități, recuperarea nu se desfășoară simultan: mai întâi se remediază prima unitate, apoi – a doua. Astfel, se efectuează două operațiuni de recuperare a datelor.

Nu este greu de intuit că, dacă RAID 50 reprezintă un array de nivel zero din array-uri de nivel cinci, atunci RAID 60 este un array de nivel zero din array-uri de nivel șase, despre care tocmai am discutat. Aceasta înseamnă că o astfel de organizare a stocării RAID permite supraviețuirea pierderii a două SSD-uri în fiecare grup de unități RAID 6. Principiul de funcționare este similar cu cel despre care am vorbit în secțiunea despre RAID 50, dar numărul de defectări pe care le poate suporta array-ul de nivel șase crește de la 8 la 16 unități. De obicei, aceste array-uri sunt folosite pentru servicii online către clienți, care necesită o reziliență mare.
Să facem un rezumat:
În ciuda faptului că mirroringul asigură o reziliență mai mare decât RAID 50/60, necesită și mult mai mult spațiu. Deoarece numărul de date se dublează, obțineți practic doar 50% din capacitatea totală a unităților instalate în server pentru scrierea și stocarea informațiilor. Alegerea între RAID 50/60 și RAID 10 va depinde, cel mai probabil, de bugetele disponibile, capacitatea serverului și nevoile dumneavoastră în ceea ce privește protecția datelor. Costul devine prioritar atunci când vorbim despre soluții SSD (fie că sunt comerciale, fie de consum).
Nu în ultimul rând, este important de menționat că acum știm cu siguranță – RAID bazat pe SSD este o soluție destul de sigură și o practică normală pentru afacerile moderne. De asemenea, în cadrul utilizării casnice, există un motiv să trecem la NVMe, dacă bugetele permit. Și dacă mai aveți o întrebare despre utilitatea tuturor acestor informații, reveniți la începutul articolului – am răspuns deja detaliat la aceasta.
Acest articol a fost pregătit cu sprijinul colegilor noștri de la Broadcom, care furnizează controlere inginerilor de la Kingston pentru testarea cu unități de stocare SATA/SAS/NVMe de clasă enterprise. Datorită acestui simbioze prietenoase, clienții nu trebuie să se îndoiască de fiabilitatea și stabilitatea funcționării unităților Kingston cu controlerele HBA și RAID fabricate. .
Informații suplimentare despre produsele Kingston pot fi găsite pe companie.
Sursa: habr.com
