Vi deler vores erfaring, hvordan SSD'er fungerer inden for rammerne af RAID, og ​​hvilket array-niveau der er mere rentabelt

В tidligere materiale vi har allerede overvejet spørgsmålet om "Vil vi anvende RAID på SSD" ved at bruge eksemplet med Kingston-drev, men vi gjorde det kun inden for nul-niveauet. I den aktuelle artikel vil vi analysere mulighederne for at bruge professionelle og hjemme-NVMe-løsninger i de mest populære typer RAID-arrays og tale om controller-kompatibilitet. Broadcom med Kingston-drev.

Vi deler vores erfaring, hvordan SSD'er fungerer inden for rammerne af RAID, og ​​hvilket array-niveau der er mere rentabelt

Hvorfor har du brug for RAID på en SSD?

Fordelene ved SSD-baserede storage-arrays frem for HDD-lagerarrays inkluderer hurtigere adgangstider til data på drevet og overlegen læse-/skriveydelse. En ideel SSD-baseret RAID-ydelse kræver dog en optimal kombination af processor, cache, software og hardware. Når alle disse faktorer fungerer perfekt sammen, kan en SSD RAID i høj grad udkonkurrere en sammenlignelig konfiguration ved brug af traditionelle HDD'er.

En typisk SSD bruger mindre strøm end HDD'er, så når du kombinerer et stort antal SSD'er i et RAID-array, kan energibesparelserne sammenlignet med et HDD RAID-array også udmønte sig i lavere omkostninger på virksomhedens energiregninger.

SSD RAID har dog begrænsninger og ulemper, især den højere pris pr. gigabyte plads sammenlignet med harddiske med sammenlignelig kapacitet. Og tiden mellem flashhukommelsesfejl er begrænset til et vist antal omskrivningscyklusser. Det vil sige, at SSD-drev har en vis levetid, som afhænger af operationen: Jo mere information der overskrives på det, jo hurtigere vil drevet fejle. På den anden side har virksomhedens SSD'er en anstændig levetid, der kan sammenlignes med mekaniske harddiske.

Hvordan Kingston SSD'er lever i RAID-tilstand med Broadcom-controllere

I de tidlige dage af SSD'er havde RAID-design mange nuancer. Herunder på grund af brugen af ​​mindre fejltolerante HDD'er. Solid state-drev er meget mere pålidelige end deres modstykker baseret på magnetiske diske. Som vi ved, er der ingen bevægelige dele i SSD-løsninger, så mekanisk skade er reduceret til nul. Fejl på solid-state-drev på grund af strømstød er også usandsynligt, da på niveau med en hjemme-pc og enhver server beskytter UPS, overspændingsbeskyttere og endda en strømforsyning dig.

Samtidig har solid-state-drev et andet væsentligt plus: Selvom hukommelsescellerne er slidte til skrivning, kan data stadig læses fra dem, men hvis den magnetiske disk er beskadiget, desværre.

Vi deler vores erfaring, hvordan SSD'er fungerer inden for rammerne af RAID, og ​​hvilket array-niveau der er mere rentabelt

I dag er det ganske normal praksis at bruge SSD-løsninger i RAID-arrays på forskellige niveauer. Det vigtigste er at vælge de rigtige SSD'er, hvis forsinkelse er minimal. Og ideelt set skal du bruge SSD'er af samme producent og samme model, så du ikke ender med en mængde drev, der understøtter forskellige typer belastninger og er bygget på basis af forskellige typer hukommelse, controllere og andre teknologier. Det vil sige, at hvis vi beslutter os for at købe fire eller 16 NVMe SSD'er fra Kingston for at skabe et RAID-array, ville det være bedre, hvis de alle kommer fra samme serie og modelserie.

Forresten, i sidste artikel vi citerede Broadcom-controllere af en grund, da vi talte om NVMe SSD fra Kingston. Faktum er, at manualerne til disse enheder straks foreskriver kompatible drev (inklusive løsninger fra den førnævnte amerikanske SSD-producent), som controlleren vil fungere fejlfrit med. Disse oplysninger bør stole på, når du vælger en controller-SSD-pakke til RAID.

Vi analyserer SSD Kingstons arbejde i de mest populære typer RAID - "1", "5", "10", "50"

Så "nul" RAID-niveauet giver ikke dataredundans, men øger kun ydeevnen. RAID 0 giver ingen databeskyttelse overhovedet, så vi vil ikke overveje det inden for virksomhedssegmentet. RAID 1 giver på den anden side fuld redundans, men kun beskedne ydeevnegevinster, og bør derfor overvejes, hvis ydeevnegevinster ikke er en primær overvejelse, når man bygger et SSD RAID-array.

RAID 1 baseret på Kingston SSD'er og Broadcom-controllere

Så det første niveau RAID-array baseret på Broadcom MegaRAID 9460-16i-controlleren kombinerer fra to til 32 Kingston-drev, som er kopier af hinanden, og giver fuldstændig redundans. Hvis, når man bruger traditionelle HDD'er, forblev hastigheden til at skrive og læse data på niveauet for netop denne HDD, så får vi ved at bruge NVMe SSD-løsninger en tidobling af ydeevnen. Især med hensyn til dataadgangstid. For eksempel, med to Kingston DC1000M U.2 NVMe SSD'er i server RAID 1, får vi 350 tilfældigt læste IOPS og 000 skrive-IOPS.

Vi deler vores erfaring, hvordan SSD'er fungerer inden for rammerne af RAID, og ​​hvilket array-niveau der er mere rentabelt

Med hensyn til sekventiel læsehastighed vil resultaterne matche drevets egenskaber - 3200 MB / s. Men da begge NVMe SSD'er er i funktionsdygtig stand, kan data læses fra dem på samme tid, hvilket gør læseoperationerne ret hurtige. Men skrivehastigheden (hævdes at være 2000 MB/s) vil være langsommere, fordi hver skriveoperation udføres to gange.

Vi deler vores erfaring, hvordan SSD'er fungerer inden for rammerne af RAID, og ​​hvilket array-niveau der er mere rentabelt

RAID 1 er ideel til små databaser eller ethvert andet miljø, der kræver fejltolerance, men lav kapacitet. Drevspejling er især nyttig i scenarier for gendannelse efter katastrofer (ydeevnen er lidt forringet), fordi det giver øjeblikkelig "genoplivning" af vigtige data, hvis et af drevene i arrayet svigter. Men fordi dette beskyttelsesniveau kræver en fordobling af lagerkapaciteten af ​​de spejlede data (100 TB ville kræve 200 TB lagerplads), bruger mange virksomhedssystemer mere økonomiske lagermuligheder: RAID 5 og RAID 6.

RAID 5 baseret på Kingston SSD'er og Broadcom-controllere

For at organisere et RAID-array på femte niveau har vi brug for mindst tre drev, hvor dataene er interleaved (cyklisk skrevet til alle drev i arrayet), men ikke duplikeret. Når man organiserer dem, bør man tage hensyn til deres mere komplekse struktur, da et begreb som "checksum" (eller "paritet") her vises. Dette koncept betyder den logiske algebraiske XOR-funktion (alias eksklusiv "ELLER"), som dikterer brugen af ​​minimum tre drev i arrayet (maksimalt - 32). I dette tilfælde skrives paritetsinformation til alle "diske" i arrayet.

Vi deler vores erfaring, hvordan SSD'er fungerer inden for rammerne af RAID, og ​​hvilket array-niveau der er mere rentabelt

For en række af fire Kingston DC500R SATA SSD'er med en kapacitet på 3,84 TB hver får vi 11,52 TB plads og 3,84 til kontrolsummer. Og hvis du kombinerer 16 Kingston DC1000M U.2 NVMe-drev med en kapacitet på 7,68 TB til et Level 115,2 RAID, lærer vi 7,68 TB med et tab på 5 TB. Som du kan se, jo flere drev, jo bedre i sidste ende. Det er også bedre, fordi jo flere drev i RAID 0, jo højere er den samlede skriveydeevne. Og lineær læsning vil nå niveauet for RAID XNUMX.

Vi deler vores erfaring, hvordan SSD'er fungerer inden for rammerne af RAID, og ​​hvilket array-niveau der er mere rentabelt

En RAID 5-diskgruppe giver høj gennemstrømning (især for store filer) og redundans med minimalt strømtab. Denne type array-organisation er bedst egnet til netværk, der udfører mange små input/output (I/O) operationer på samme tid. Men du bør ikke bruge det til opgaver, der kræver et stort antal skriveoperationer for små eller små blokke.
Der er en nuance mere: Hvis mindst et af NVMe-drevene fejler, går RAID 5 i nedbrydningstilstand, og fejlen på en anden lagerenhed kan blive kritisk for alle data. Hvis et drev i arrayet fejler, bruger RAID-controlleren paritetsoplysningerne til at genskabe eventuelle manglende data.

RAID 10 baseret på Kingston SSD'er og Broadcom-controllere

Så RAID 0 giver os en dobbelt stigning i hastighed og adgangstid, og RAID 1 giver pålidelighed. Ideelt set ville de blive kombineret, og her kommer RAID 10 (eller 1 + 0) til undsætning. "Ti" er samlet fra fire SATA SSD- eller NVMe-drev (maksimalt - 32) og indebærer en række "spejle", hvor antallet af drev altid skal være et multiplum af fire. Dataene i dette array er skrevet ved hjælp af fast blokpartitionering (som i tilfældet med RAID 0) og striping mellem drev, sprede kopier på tværs af "drevene" i et RAID 1-array. Og med mulighed for at få adgang til flere grupper af drev på samtidig viser RAID 10 høj ydeevne.

Vi deler vores erfaring, hvordan SSD'er fungerer inden for rammerne af RAID, og ​​hvilket array-niveau der er mere rentabelt

Da RAID 10 er i stand til at strippe data på tværs af flere spejlede par, betyder det, at det kan tolerere fejl på et drev i et par. Men hvis begge spejlpar (det vil sige alle fire drev) fejler, vil der være uundgåeligt datatab. Som følge heraf får vi også god fejltolerance og pålidelighed. Men husk på, at det tiende niveau, ligesom RAID 1, kun bruger halvdelen af ​​den samlede kapacitet og derfor er en dyr løsning. Og også svær at sætte op.

RAID 10 er velegnet til brug med datavarehuse, der kræver 100 % redundans af spejlede diskgrupper, samt den øgede I/O-ydelse af RAID 0. Det er den bedste løsning til mellemstore databaser eller ethvert miljø, der kræver højere fejltolerance end RAID 5.

RAID 50 baseret på Kingston SSD'er og Broadcom-controllere

Et kombineret array svarende til niveau 5 RAID, som er et niveau 50 array bygget af niveau 5 arrays. Som før er hovedmålet med dette array at opnå dobbelt ydeevne og samtidig bevare datapålidelighed i RAID XNUMX-arrays. Samtidig giver RAID XNUMX forbedret skriveydeevne og bedre databeskyttelse end standard RAID XNUMX i tilfælde af drevfejl , og er også i stand til hurtigere genopretning i tilfælde af fejl på et af drevene.

Vi deler vores erfaring, hvordan SSD'er fungerer inden for rammerne af RAID, og ​​hvilket array-niveau der er mere rentabelt

RAID 50-drevgruppen opdeler dataene i mindre blokke og stripper dem derefter på tværs af hvert RAID 5-array. RAID 5-drevgruppen opdeler igen også dataene i mindre blokke, beregner paritet, udfører en logisk ELLER-operation på blokkene og derefter udfører datablokskrivning og paritetsoperationer for hver disk i diskgruppen.

Og selvom ydeevnen uundgåeligt forringes, hvis et af drevene svigter, er det ikke så væsentligt som i et RAID 5-array, da den ene fejl kun påvirker et af array'erne, og efterlader den anden fuldt funktionsdygtig. Faktisk kan RAID 50 overleve op til otte HDD/SSD/NVMe-drevfejl, hvis hver defekt "disk" er i et separat RAID 5-array.

Vi deler vores erfaring, hvordan SSD'er fungerer inden for rammerne af RAID, og ​​hvilket array-niveau der er mere rentabelt

RAID 50 bruges bedst til applikationer, der kræver høj pålidelighed og skal behandle et stort antal anmodninger, samtidig med at høje dataoverførselshastigheder og lavere drevomkostninger opretholdes end RAID 10. Da der dog kræves minimum seks drev for at opsætte et RAID 50-array , omkostninger er ikke helt udelukket som en faktor. En ulempe ved RAID 50 er, at den ligesom RAID 5 har brug for en kompleks controller: som f.eks. nævnt af os i sidste artikel MegaRAID 9460-16i fra Broadcom.

Det er også værd at bemærke, at RAID 50 har mindre diskpladsforbrug end RAID 5 på grund af allokeringen af ​​kapacitet til at holde paritetsregistreringer. Det har dog stadig mere brugbar plads end andre RAID-niveauer, især dem, der bruger spejling. Med et minimumskrav på seks drev kan RAID 50 være en dyr mulighed, men den ekstra diskplads retfærdiggør omkostningerne ved at beskytte virksomhedsdata. Denne type array anbefales til data, der kræver høj lagerpålidelighed, høje anmodningshastigheder, høje overførselshastigheder og høj lagerkapacitet.

RAID 6 og RAID 60: dem har vi heller ikke glemt

Da vi har talt om arrays på det femte og halvtredsende niveau, ville det være synd ikke at nævne sådanne typer array-organisation som RAID 6 og RAID 60.

Vi deler vores erfaring, hvordan SSD'er fungerer inden for rammerne af RAID, og ​​hvilket array-niveau der er mere rentabelt

Ydeevnen af ​​RAID 6 ligner RAID 5, men her gives mindst to drev paritet, hvilket gør det muligt for arrayet at overleve fejlen på to drev uden at miste data (i RAID 5 er denne situation yderst uønsket). Dette resulterer i højere pålidelighed. Ellers er alt det samme som i arrayet på femte niveau: i tilfælde af en fejl på en eller to diske, bruger RAID-controlleren paritetsblokke til at genskabe al den manglende information. Hvis to drev fejler, sker gendannelsen ikke samtidigt: Først genoplives det første drev, derefter det andet. Der udføres således to datagendannelsesoperationer.

Vi deler vores erfaring, hvordan SSD'er fungerer inden for rammerne af RAID, og ​​hvilket array-niveau der er mere rentabelt

Det er let at gætte, at hvis RAID 50 er et niveau 60-array af niveau 6-arrays, så er RAID 50 et niveau 8-array af niveau 16-arrays, som vi lige har talt om. Det vil sige, at denne organisation af RAID-lagring giver dig mulighed for at overleve tabet af to SSD'er i hver gruppe af RAID XNUMX-drev. Funktionsprincippet ligner det, vi talte om i RAID XNUMX-afsnittet, men antallet af fejl, som en niveau XNUMX array kan modstå vækster fra XNUMX til XNUMX drev. Typisk bruges sådanne arrays til online kundeservice, hvilket kræver høj fejltolerance.

Lad os opsummere:

Selvom spejling giver mere fejltolerance end RAID 50/60, kræver det også meget mere plads. Da mængden af ​​data er fordoblet, får du faktisk kun 50 % af den samlede kapacitet på de drev, der er installeret i serveren til registrering og lagring af information. Valget mellem RAID 50/60 og RAID 10 vil højst sandsynligt afhænge af tilgængelige budgetter, serverkapacitet og dine behov for databeskyttelse. Desuden kommer omkostningerne i højsædet, når vi taler om SSD-løsninger (både virksomheds- og forbrugerklasse).

Lige så vigtigt ved vi nu med sikkerhed, at SSD-baseret RAID er en fuldstændig sikker løsning og en normal praksis for nutidens forretning. Som en del af hjemmebrug er der også grund til at skifte til NVMe, hvis budgetterne tillader det. Og hvis du stadig har et spørgsmål, hvorfor er alt dette nødvendigt, så gå tilbage til begyndelsen af ​​artiklen - vi har allerede besvaret det i detaljer.

Denne artikel blev udarbejdet med støtte fra vores kolleger hos Broadcom, som leverer deres controllere til Kingston-ingeniører til test med SATA/SAS/NVMe-drev i virksomhedsklassen. Takket være denne venlige symbiose behøver kunderne ikke at tvivle på pålideligheden og stabiliteten af ​​Kingston-drev med HBA- og RAID-controllere fra produktionen. Broadcom.

Mere information om Kingston-produkter kan findes på det officielle site selskab.

Kilde: www.habr.com

Tilføj en kommentar