We delen onze ervaring, hoe SSD's presteren in het kader van RAID en welk array-niveau winstgevender is

В materiaal uit het verleden we hebben de vraag "Zullen we RAID toepassen op SSD" al overwogen aan de hand van het voorbeeld van Kingston-schijven, maar we hebben het alleen binnen het nulniveau gedaan. In het huidige artikel analyseren we de opties voor het gebruik van professionele en thuis NVMe-oplossingen in de meest populaire soorten RAID-arrays en bespreken we de compatibiliteit van controllers. Broadcom met Kingston-aandrijvingen.

We delen onze ervaring, hoe SSD's presteren in het kader van RAID en welk array-niveau winstgevender is

Waarom heb je RAID op een SSD nodig?

De voordelen van op SSD gebaseerde opslagarrays ten opzichte van HDD-opslagarrays zijn onder meer snellere toegangstijden tot gegevens op de schijf en superieure lees-/schrijfprestaties. Een ideale SSD-gebaseerde RAID-prestatie vereist echter een optimale combinatie van processor, cache, software en hardware. Wanneer al deze factoren perfect samenwerken, kan een SSD RAID veel beter presteren dan een vergelijkbare configuratie met traditionele HDD's.

Een typische SSD verbruikt minder stroom dan HDD's, dus wanneer u een groot aantal SSD's in een RAID-array combineert, kan de energiebesparing in vergelijking met een HDD RAID-array zich ook vertalen in lagere kosten op de energierekening van bedrijven.

SSD RAID heeft echter beperkingen en nadelen, met name de hogere prijs per gigabyte ruimte in vergelijking met harde schijven van vergelijkbare capaciteit. En de tijd tussen fouten in het flashgeheugen is beperkt tot een bepaald aantal herschrijfcycli. Dat wil zeggen, SSD-schijven hebben een bepaalde levensduur, die afhangt van de werking: hoe meer informatie erop wordt overschreven, hoe sneller de schijf uitvalt. Aan de andere kant hebben enterprise-SSD's een behoorlijke levensduur die vergelijkbaar is met mechanische harde schijven.

Hoe Kingston SSD's in RAID-modus leven met Broadcom-controllers

In de begintijd van SSD's hadden RAID-ontwerpen veel nuances. Onder meer door het gebruik van minder fouttolerante HDD's. Solid State-schijven zijn veel betrouwbaarder dan hun tegenhangers op basis van magnetische schijven. Zoals we weten, zijn er geen bewegende delen in SSD-oplossingen, dus mechanische schade wordt tot nul herleid. Het uitvallen van solid-state schijven als gevolg van stroompieken is ook onwaarschijnlijk, aangezien op het niveau van een pc thuis en elke server, UPS, overspanningsbeveiligingen en zelfs een voeding u beschermen.

Tegelijkertijd hebben solid-state drives nog een ander belangrijk voordeel: zelfs als de geheugencellen versleten zijn om te schrijven, kunnen er nog steeds gegevens van worden gelezen, maar als de magnetische schijf beschadigd is, helaas.

We delen onze ervaring, hoe SSD's presteren in het kader van RAID en welk array-niveau winstgevender is

Tegenwoordig is het heel normaal om SSD-oplossingen te gebruiken in RAID-arrays van verschillende niveaus. Het belangrijkste is om de juiste SSD's te kiezen, waarvan de latentie minimaal is. En gebruik idealiter SSD's van dezelfde fabrikant en hetzelfde model, zodat je geen mengelmoes krijgt van schijven die verschillende soorten belastingen ondersteunen en zijn gebouwd op basis van verschillende soorten geheugen, controllers en andere technologieën. Dat wil zeggen, als we besluiten om vier of 16 Kingston NVMe SSD's aan te schaffen om een ​​RAID-array te creëren, zou het beter zijn als ze allemaal uit dezelfde serie en modelreeks komen.

Overigens binnen laatste artikel we noemden niet voor niets Broadcom-controllers toen we het hadden over NVMe SSD van Kingston. Feit is dat de handleidingen van deze apparaten meteen compatibele schijven voorschrijven (waaronder oplossingen van de eerder genoemde Amerikaanse SSD-fabrikant), waarmee de controller feilloos zal werken. Op deze informatie moet worden vertrouwd bij het kiezen van een controller-SSD-bundel voor RAID.

We analyseren het werk van SSD Kingston in de meest populaire soorten RAID - "1", "5", "10", "50"

Het "nul" RAID-niveau biedt dus geen gegevensredundantie, maar verhoogt alleen de prestaties. RAID 0 biedt helemaal geen gegevensbescherming, dus we zullen het niet overwegen binnen het zakelijke segment. RAID 1 daarentegen biedt volledige redundantie maar slechts bescheiden prestatiewinsten en moet daarom worden overwogen als prestatiewinsten geen primaire overweging zijn bij het bouwen van een SSD RAID-array.

RAID 1 gebaseerd op Kingston SSD's en Broadcom-controllers

Dus de RAID-array van het eerste niveau, gebaseerd op de Broadcom MegaRAID 9460-16i-controller, combineert twee tot 32 Kingston-schijven, die kopieën van elkaar zijn, en biedt volledige redundantie. Als bij het gebruik van traditionele HDD's de snelheid van het schrijven en lezen van gegevens op het niveau van deze HDD bleef, dan krijgen we met NVMe SSD-oplossingen een vertienvoudiging van de prestaties. Vooral in termen van toegangstijd tot gegevens. Met twee Kingston DC1000M U.2 NVMe SSD's in server RAID 1 krijgen we bijvoorbeeld 350 willekeurige lees-IOPS en 000 schrijf-IOPS.

We delen onze ervaring, hoe SSD's presteren in het kader van RAID en welk array-niveau winstgevender is

In termen van sequentiële leessnelheid komen de resultaten overeen met de kenmerken van de schijf - 3200 MB / s. Maar aangezien beide NVMe SSD's werken, kunnen er tegelijkertijd gegevens van worden gelezen, waardoor leesbewerkingen vrij snel gaan. Maar de schrijfsnelheid (beweerd 2000 MB / s te zijn) zal lager zijn, omdat elke schrijfbewerking twee keer wordt uitgevoerd.

We delen onze ervaring, hoe SSD's presteren in het kader van RAID en welk array-niveau winstgevender is

RAID 1 is ideaal voor kleine databases of elke andere omgeving die fouttolerantie maar een lage capaciteit vereist. Drive-mirroring is met name nuttig in scenario's voor noodherstel (de prestaties zijn enigszins verslechterd) omdat het zorgt voor onmiddellijke "reanimatie" van belangrijke gegevens als een van de schijven in de array uitvalt. Maar omdat dit beschermingsniveau een verdubbeling van de opslagcapaciteit van de gespiegelde gegevens vereist (100 TB zou 200 TB opslag vereisen), gebruiken veel bedrijfssystemen zuinigere opslagopties: RAID 5 en RAID 6.

RAID 5 gebaseerd op Kingston SSD's en Broadcom-controllers

Om een ​​RAID-array op het vijfde niveau te organiseren, hebben we ten minste drie schijven nodig, waarvan de gegevens zijn verweven (cyclisch naar alle schijven in de array geschreven), maar niet gedupliceerd. Bij het organiseren ervan moet rekening worden gehouden met hun complexere structuur, aangezien hier een concept als "checksum" (of "pariteit") verschijnt. Dit concept betekent de logische algebraïsche XOR-functie (ook bekend als exclusieve "OR"), die het gebruik van minimaal drie schijven in de array dicteert (maximaal - 32). In dit geval wordt pariteitsinformatie naar alle "schijven" in de array geschreven.

We delen onze ervaring, hoe SSD's presteren in het kader van RAID en welk array-niveau winstgevender is

Voor een array van vier Kingston DC500R SATA SSD's met een capaciteit van elk 3,84 TB krijgen we 11,52 TB aan ruimte en 3,84 TB voor checksums. En als je 16 Kingston DC1000M U.2 NVMe-schijven met een capaciteit van 7,68 TB combineert in een Level 115,2 RAID, leren we 7,68 TB met een verlies van 5 TB. Zoals je kunt zien, hoe meer schijven, hoe beter uiteindelijk. Het is ook beter, want hoe meer schijven in RAID 0, hoe hoger de algehele schrijfprestaties. En lineair lezen bereikt het niveau van RAID XNUMX.

We delen onze ervaring, hoe SSD's presteren in het kader van RAID en welk array-niveau winstgevender is

Een RAID 5-schijfgroep biedt een hoge doorvoer (vooral voor grote bestanden) en redundantie met minimaal stroomverlies. Dit type array-organisatie is het meest geschikt voor netwerken die veel kleine input/output (I/O)-bewerkingen tegelijkertijd uitvoeren. Maar u moet het niet gebruiken voor taken die een groot aantal schrijfbewerkingen vereisen voor kleine of kleine blokken.
Er is nog een nuance: als ten minste één van de NVMe-schijven uitvalt, gaat RAID 5 in de degradatiemodus en kan het uitvallen van een ander opslagapparaat kritiek worden voor alle gegevens. Als één schijf in de array uitvalt, gebruikt de RAID-controller de pariteitsinformatie om ontbrekende gegevens opnieuw aan te maken.

RAID 10 gebaseerd op Kingston SSD's en Broadcom-controllers

RAID 0 biedt ons dus een tweevoudige toename in snelheid en toegangstijd, en RAID 1 biedt betrouwbaarheid. Idealiter zouden ze worden gecombineerd, en hier komt RAID 10 (of 1 + 0) te hulp. "Ten" is samengesteld uit vier SATA SSD- of NVMe-schijven (maximaal - 32) en impliceert een reeks "spiegels", waarbij het aantal schijven altijd een veelvoud van vier moet zijn. De gegevens in deze array worden geschreven met behulp van vaste blokpartitionering (zoals in het geval van RAID 0) en striping tussen schijven, waarbij kopieën worden verspreid over de "schijven" in een RAID 1-array. tegelijkertijd toont RAID 10 hoge prestaties.

We delen onze ervaring, hoe SSD's presteren in het kader van RAID en welk array-niveau winstgevender is

Aangezien RAID 10 gegevens over meerdere gespiegelde paren kan stripen, betekent dit dat het de storing van één schijf in een paar kan tolereren. Als echter beide gespiegelde paren (d.w.z. alle vier de schijven) uitvallen, zal onvermijdelijk gegevensverlies optreden. Hierdoor krijgen we ook een goede fouttolerantie en betrouwbaarheid. Houd er echter rekening mee dat, net als RAID 1, de array op het tiende niveau slechts de helft van de totale capaciteit gebruikt en daarom een ​​dure oplossing is. En ook lastig in te stellen.

RAID 10 is geschikt voor gebruik met datawarehouses die 100% redundantie van gespiegelde schijfgroepen vereisen, evenals de verhoogde I/O-prestaties van RAID 0. Het is de beste oplossing voor middelgrote databases of elke omgeving die een hogere fouttolerantie vereist dan RAID 5.

RAID 50 gebaseerd op Kingston SSD's en Broadcom-controllers

Een gecombineerde array vergelijkbaar met niveau 5 RAID, een array van niveau 50 die is opgebouwd uit arrays van niveau 5. Net als voorheen is het belangrijkste doel van deze array om dubbele prestaties te bereiken met behoud van de gegevensbetrouwbaarheid in RAID XNUMX-arrays.Tegelijkertijd biedt RAID XNUMX verbeterde schrijfprestaties en betere gegevensbescherming dan standaard RAID XNUMX in het geval van een schijfstoring , en is ook in staat tot sneller herstel in het geval van een storing van een van de schijven.

We delen onze ervaring, hoe SSD's presteren in het kader van RAID en welk array-niveau winstgevender is

De RAID 50-schijfgroep splitst de gegevens op in kleinere blokken en stript deze vervolgens over elke RAID 5-array.De RAID 5-schijfgroep splitst op zijn beurt de gegevens ook op in kleinere blokken, berekent pariteit, voert een logische OF-bewerking uit op de blokken en voert gegevensblokschrijf- en pariteitsbewerkingen uit voor elke schijf in de schijfgroep.

En hoewel de prestaties onvermijdelijk afnemen als een van de schijven uitvalt, is dit niet zo belangrijk als in een RAID 5-array, aangezien één storing slechts één van de arrays treft, waardoor de andere volledig operationeel blijft. In feite kan RAID 50 maximaal acht HDD/SSD/NVMe-schijfstoringen overleven als elke defecte "schijf" zich in een afzonderlijke RAID 5-array bevindt.

We delen onze ervaring, hoe SSD's presteren in het kader van RAID en welk array-niveau winstgevender is

RAID 50 wordt het best gebruikt voor toepassingen die een hoge betrouwbaarheid vereisen en een groot aantal aanvragen moeten verwerken, terwijl hoge gegevensoverdrachtsnelheden en lagere schijfkosten behouden blijven dan RAID 10. Aangezien er echter minimaal zes schijven nodig zijn om een ​​RAID 50-array op te zetten , zijn kosten niet volledig uitgesloten als factor. Een nadeel van RAID 50 is dat het, net als RAID 5, een complexe controller nodig heeft: zoals door ons genoemd in het laatste artikel MegaRAID 9460-16i van Broadcom.

Het is ook vermeldenswaard dat RAID 50 minder schijfruimte gebruikt dan RAID 5 vanwege de toewijzing van capaciteit om pariteitsrecords te bewaren. Het heeft echter nog steeds meer bruikbare ruimte dan andere RAID-niveaus, vooral degenen die mirroring gebruiken. Met een minimumvereiste van zes schijven kan RAID 50 een dure optie zijn, maar de extra schijfruimte rechtvaardigt de kosten door bedrijfsgegevens te beschermen. Dit type array wordt aanbevolen voor gegevens die een hoge opslagbetrouwbaarheid, hoge aanvraagsnelheden, hoge overdrachtssnelheden en hoge opslagcapaciteit vereisen.

RAID 6 en RAID 60: ook die zijn we niet vergeten

Aangezien we het hebben gehad over arrays van het vijfde en vijftigste niveau, zou het zonde zijn om dergelijke soorten array-organisatie als RAID 6 en RAID 60 niet te noemen.

We delen onze ervaring, hoe SSD's presteren in het kader van RAID en welk array-niveau winstgevender is

De prestaties van RAID 6 zijn vergelijkbaar met RAID 5, maar hier krijgen ten minste twee schijven pariteit, waardoor de array de storing van twee schijven kan overleven zonder gegevens te verliezen (in RAID 5 is deze situatie hoogst onwenselijk). Dit resulteert in een hogere betrouwbaarheid. Verder is alles hetzelfde als in de array van het vijfde niveau: in het geval van een storing van een of twee schijven, gebruikt de RAID-controller pariteitsblokken om alle ontbrekende informatie opnieuw te creëren. Als twee schijven uitvallen, vindt herstel niet gelijktijdig plaats: eerst wordt de eerste schijf gereanimeerd, daarna de tweede. Er worden dus twee gegevensherstelbewerkingen uitgevoerd.

We delen onze ervaring, hoe SSD's presteren in het kader van RAID en welk array-niveau winstgevender is

Het is gemakkelijk te raden dat als RAID 50 een niveau 60-array van niveau 6-arrays is, RAID 50 een niveau 8-array van niveau 16-arrays is waar we het net over hadden. Dat wil zeggen, deze organisatie van RAID-opslag stelt u in staat om het verlies van twee SSD's in elke groep RAID XNUMX-schijven te overleven.Het werkingsprincipe is vergelijkbaar met dat waarover we het hadden in de sectie RAID XNUMX, maar het aantal storingen level XNUMX array kan groeien van XNUMX naar XNUMX schijven. Dergelijke arrays worden doorgaans gebruikt voor online klantenservice, waarvoor een hoge fouttolerantie vereist is.

Laten we het samenvatten:

Hoewel mirroring meer fouttolerantie biedt dan RAID 50/60, vereist het ook veel meer ruimte. Aangezien de hoeveelheid gegevens wordt verdubbeld, krijgt u in feite slechts 50% van de totale capaciteit van de schijven die in de server zijn geïnstalleerd voor het opnemen en opslaan van informatie. De keuze tussen RAID 50/60 en RAID 10 hangt hoogstwaarschijnlijk af van de beschikbare budgetten, de servercapaciteit en uw behoeften op het gebied van gegevensbescherming. Bovendien komt de kostprijs naar voren als we het hebben over SSD-oplossingen (zowel bedrijfs- als consumentenklasse).

Net zo belangrijk is dat we nu zeker weten dat SSD-gebaseerde RAID een volledig veilige oplossing is en een normale praktijk voor het hedendaagse bedrijfsleven. Als onderdeel van thuisgebruik is er ook een reden om over te stappen op NVMe, als de budgetten het toelaten. En als je nog steeds een vraag hebt, waarom is dit allemaal nodig, ga dan terug naar het begin van het artikel - we hebben het al in detail beantwoord.

Dit artikel is opgesteld met de steun van onze collega's bij Broadcom, die hun controllers leveren aan technici van Kingston voor testen met SATA/SAS/NVMe-schijven van ondernemingsklasse. Dankzij deze vriendelijke symbiose hoeven klanten niet te twijfelen aan de betrouwbaarheid en stabiliteit van Kingston-drives met HBA- en RAID-controllers uit de productie. Broadcom.

Meer informatie over Kingston-producten vindt u op de officiële website bedrijf.

Bron: www.habr.com

Voeg een reactie