Er det nødvendig å lage en RAID-array fra en SSD, og ​​hvilke kontrollere trengs for dette?

Hei Habr! I denne artikkelen vil vi fortelle deg om det er verdt å organisere RAID-arrays basert på solid-state-løsninger SATA SSD og NVMe SSD, og ​​vil det være en seriøs fortjeneste fra dette? Vi bestemte oss for å se nærmere på dette problemet ved å vurdere hvilke typer og typer kontroller som lar dette gjøres, samt anvendelsesområdet for slike konfigurasjoner.

Er det nødvendig å lage en RAID-array fra en SSD, og ​​hvilke kontrollere trengs for dette?

På en eller annen måte har hver av oss minst en gang i livet hørt slike definisjoner som "RAID", "RAID-array", "RAID-kontroller", men det er usannsynlig at vi har lagt stor vekt på dette, fordi alt dette er usannsynlig for en vanlig PC-boyar Interessant. Men alle ønsker høye hastigheter fra interne stasjoner og problemfri drift. Tross alt, uansett hvor kraftig datamaskinens maskinvare er, blir hastigheten på stasjonen en flaskehals når det kommer til den kombinerte ytelsen til PC-en og serveren.

Dette var akkurat tilfellet inntil tradisjonelle HDD-er ble erstattet av moderne NVMe SSD-er med sammenlignbare kapasiteter på 1 TB eller mer. Og hvis det tidligere på PC-er ofte var kombinasjoner av SATA SSD + et par romslige HDD-er, begynner de i dag å bli erstattet av en annen løsning - NVMe SSD + et par romslige SATA SSD-er. Hvis vi snakker om bedriftsservere og "skyer", har mange allerede flyttet til SATA SSD-er, ganske enkelt fordi de er raskere enn konvensjonelle "tinnbokser" og er i stand til å behandle et større antall I/O-operasjoner samtidig.

Er det nødvendig å lage en RAID-array fra en SSD, og ​​hvilke kontrollere trengs for dette?

Imidlertid er systemets feiltoleranse fortsatt på et ganske lavt nivå: vi kan ikke, som i "Battle of Psychics", forutsi med en nøyaktighet på opptil en uke når en bestemt solid-state-stasjon vil dø. Og hvis HDD-er "dør" gradvis, slik at du kan fange symptomene og iverksette tiltak, så "dør" SSD-er umiddelbart og uten forvarsel. Og nå er tiden inne for å finne ut hvorfor alt dette er nødvendig i det hele tatt? Er det verdt å organisere RAID-arrays basert på solid state-løsninger SATA SSD og NVMe SSD, og ​​vil det være en seriøs fortjeneste på dette?

Hvorfor trenger du en RAID-array?

Selve ordet "array" antyder allerede at flere stasjoner (HDD og SSD) brukes til å lage den, som kombineres ved hjelp av en RAID-kontroller og gjenkjennes av operativsystemet som en enkelt datalagring. Den globale oppgaven som RAID-arrayer kan løse, er å minimere datatilgangstiden, øke lese-/skrivehastigheten og påliteligheten, noe som oppnås takket være muligheten til å gjenopprette raskt i tilfelle feil. Det er forresten slett ikke nødvendig å bruke RAID for sikkerhetskopiering av hjemmet. Men hvis du har din egen hjemmeserver, som du trenger konstant tilgang til 24/7, er det en annen sak.

Det er over et dusin nivåer av RAID-matriser, som hver er forskjellig i antall stasjoner som brukes i den og har sine egne fordeler og ulemper: for eksempel lar RAID 0 deg få høy ytelse uten feiltoleranse, RAID 1 lar deg automatisk speiling av data uten å øke hastigheten, og RAID 10-kombinasjoner inneholder mulighetene ovenfor. RAID 0 og 1 er de enkleste (siden de ikke krever programvareberegninger) og som et resultat de mest populære. Til syvende og sist avhenger valget til fordel for ett eller annet RAID-nivå av oppgavene som er tildelt diskarrayen og egenskapene til RAID-kontrolleren.

Hjemme- og bedrifts-RAID: hva er forskjellen?

Grunnlaget for enhver moderne virksomhet er store datamengder som må lagres sikkert på bedriftens servere. Og også, som vi bemerket ovenfor, må de ha konstant tilgang 24/7. Det er klart at sammen med maskinvaren er også programvaredelen viktig, men i dette tilfellet snakker vi fortsatt om utstyr som sikrer pålitelig lagring og behandling av informasjon. Ingen programvare vil redde et selskap fra ruin hvis maskinvaren ikke oppfyller oppgavene den er tildelt.

Er det nødvendig å lage en RAID-array fra en SSD, og ​​hvilke kontrollere trengs for dette?

For disse oppgavene tilbyr enhver maskinvareprodusent såkalte bedriftsenheter. Kingston har kraftige solid state-løsninger i form av SATA-modeller Kingston 450R (DC450R) и DC500-serien, samt NVMe-modeller DC1000M U.2 NVMe, DCU1000 U.2 NVMe og DCP-1000 PCI-e, beregnet for bruk i datasentre og superdatamaskiner. Arrays av slike stasjoner brukes vanligvis sammen med maskinvarekontrollere.

Er det nødvendig å lage en RAID-array fra en SSD, og ​​hvilke kontrollere trengs for dette?

For forbrukermarkedet (det vil si for hjemme-PCer og NAS-servere), stasjoner som f.eks Kingston KC2000 NVMe PCIe, men i dette tilfellet er det ikke nødvendig å kjøpe en maskinvarekontroller. Du kan begrense deg til en PC eller NAS-server innebygd i hovedkortet, med mindre du selvfølgelig planlegger å sette sammen en hjemmeserver selv for atypiske oppgaver (for eksempel starte en liten hjemmehosting for venner). I tillegg krever hjemme-RAID-arrayer som regel ikke hundrevis eller tusenvis av stasjoner, og er begrenset til to, fire og åtte enheter (vanligvis SATA).

Typer og typer RAID-kontrollere

Det finnes tre typer RAID-kontrollere basert på prinsippene for implementering av RAID-matriser:

1. Programvare, der array management faller på CPU og DRAM (det vil si at programkoden kjøres på prosessoren).

2. Integrert, det vil si innebygd i hovedkortene til en PC- eller NAS-server.

3. Maskinvare (modulær), som er diskrete utvidelseskort for PCI/PCIe-kontakter på hovedkort.

Hva er deres grunnleggende forskjell fra hverandre? Programvare RAID-kontrollere er dårligere enn integrerte og maskinvare når det gjelder ytelse og feiltoleranse, men krever ikke spesialutstyr for å fungere. Det er imidlertid viktig å sikre at vertssystemets prosessor er kraftig nok til å kjøre RAID-programvaren uten å påvirke ytelsen til applikasjoner som også kjører på verten negativt. Integrerte kontrollere er vanligvis utstyrt med eget cache-minne og bruker en viss mengde CPU-ressurser.

Men maskinvare har både sitt eget hurtigbufferminne og en innebygd prosessor for å utføre programvarealgoritmer. Vanligvis lar de deg implementere alle typer RAID-nivåer og støtte flere typer stasjoner samtidig. For eksempel kan moderne maskinvarekontrollere fra Broadcom samtidig koble til SATA-, SAS- og NVMe-enheter, noe som lar deg ikke endre kontrolleren når du oppgraderer servere: spesielt når du flytter fra SATA SSD til NVMe SSD, trenger ikke kontrollerene å endres.

Er det nødvendig å lage en RAID-array fra en SSD, og ​​hvilke kontrollere trengs for dette?

Faktisk, på dette notatet kommer vi til typologien til kontrollerene selv. Hvis det er tre-modus, bør det være noen andre? I dette tilfellet vil svaret på dette spørsmålet være bekreftende. Avhengig av funksjoner og muligheter kan RAID-kontrollere deles inn i flere typer:

1. Vanlige kontrollere med RAID-funksjon
I hele hierarkiet er dette den enkleste kontrolleren som lar deg kombinere HDD og SSD til RAID-arrays på nivåene "0", "1" eller "0+1". Dette implementeres programmatisk på fastvarenivå. Imidlertid kan slike enheter neppe anbefales for bruk i bedriftssegmentet, fordi de ikke har en hurtigbuffer og ikke støtter matriser med nivåer "5", "3", etc. Men for en hjemmeserver på inngangsnivå er de ganske passende.

2. Kontrollere som fungerer sammen med andre RAID-kontrollere
Denne typen kontroller kan pares med integrerte hovedkortkontrollere. Dette implementeres i henhold til følgende prinsipp: en diskret RAID-kontroller tar seg av å løse "logiske" problemer, og den innebygde overtar funksjonene for datautveksling mellom stasjoner. Men det er en nyanse: parallell drift av slike kontrollere er bare mulig på kompatible hovedkort, noe som betyr at deres anvendelsesområde er alvorlig begrenset.

3. Frittstående RAID-kontrollere
Disse diskrete løsningene inneholder ombord alle nødvendige brikker for å jobbe med servere i bedriftsklassen, med egen BIOS, hurtigbuffer og prosessor for rask feilretting og kontrollsumberegninger. I tillegg oppfyller de høye standarder for pålitelighet når det gjelder produksjon og har høykvalitets minnemoduler.

4. Eksterne RAID-kontrollere
Det er ikke vanskelig å gjette at alle kontrollerene oppført ovenfor er interne og mottar strøm gjennom PCIe-kontakten på hovedkortet. Hva betyr dette? Og den feilen på hovedkortet kan føre til feil i driften av RAID-arrayen og tap av data. Eksterne kontrollere er frigjort fra denne misforståelsen, siden de er plassert i en separat boks med en uavhengig strømforsyning. Når det gjelder pålitelighet, gir slike kontroller det høyeste nivået av datalagring.

Broadcom, Microsemi Adaptec, Intel, IBM, Dell og Cisco er bare noen av selskapene som for tiden tilbyr maskinvare RAID-kontrollere.

Driftsmoduser for RAID-kontrollere SAS/SATA/NVMe

Hovedformålet med tri-mode HBA- og RAID-kontrollere (eller kontrollere med Tri-Mode-funksjonalitet) er å lage NVMe-basert maskinvare-RAID. Broadcoms kontroller i 9400-serien kan gjøre dette: for eksempel, MegaRAID 9460-16i. Den tilhører en uavhengig type RAID-kontroller, er utstyrt med fire SFF-8643-kontakter og lar deg, takket være Tri-Mode-støtte, koble til SATA/SAS- og NVMe-stasjoner samtidig. I tillegg er den også en av de mest energieffektive kontrollerene på markedet (forbruker kun 17 watt energi, med mindre enn 1,1 watt for hver av de 16 portene).

Er det nødvendig å lage en RAID-array fra en SSD, og ​​hvilke kontrollere trengs for dette?

Tilkoblingsgrensesnittet er PCI Express x8 versjon 3.1, som gir mulighet for en gjennomstrømning på 64 Gbit/s (kontrollere for PCI Express 2020 forventes å dukke opp i 4.0). 16-ports kontrolleren er basert på en 2-kjernebrikke SAS3516 og 72-biters DDR4-2133 SDRAM (4 GB), samt muligheten til å koble til opptil 240 SATA/SAS-stasjoner, eller opptil 24 NVMe-enheter. Når det gjelder organisering av RAID-matriser, støttes nivåene "0", "1", "5" og "6", samt "10", "50" og "60". Forresten, cache-minne MegaRAID 9460-16i og andre kontrollere i 9400-serien er beskyttet mot spenningsfeil av den valgfrie CacheVault CVPM05-modulen.

Tre-modus-teknologien er basert på SerDes-datakonverteringsfunksjonen: konvertering av serierepresentasjon av data i SAS/SATA-grensesnitt til parallell form i PCIe NVMe og omvendt. Det vil si at kontrolleren forhandler frem hastigheter og protokoller for å fungere sømløst med hvilken som helst av de tre typene lagringsenheter. Dette gir en sømløs måte å skalere datasenterinfrastrukturer på: brukere kan bruke NVMe uten å gjøre vesentlige endringer i andre systemkonfigurasjoner.

Er det nødvendig å lage en RAID-array fra en SSD, og ​​hvilke kontrollere trengs for dette?

Når du planlegger konfigurasjoner med NVMe-stasjoner, er det imidlertid verdt å vurdere at NVMe-løsninger bruker 4 PCIe-baner for å koble til, noe som betyr at hver stasjon bruker alle linjene med SFF-8643-porter. Det viser seg at kun fire NVMe-stasjoner kan kobles direkte til MegaRAID 9460-16i-kontrolleren. Eller begrens deg til to NVMe-løsninger mens du samtidig kobler til åtte SAS-stasjoner (se koblingsskjemaet nedenfor).

Er det nødvendig å lage en RAID-array fra en SSD, og ​​hvilke kontrollere trengs for dette?

Figuren viser bruken av kontakt “0” (C0 / Connector 0) og kontakt “1” for NVMe-tilkoblinger, samt kontakt “2” og “3” for SAS-tilkoblinger. Denne ordningen kan reverseres, men hver x4 NVMe-stasjon må kobles til ved hjelp av tilstøtende baner. Kontrollerens driftsmoduser settes gjennom konfigurasjonsverktøyene StorCLI eller Human Interface Infrastructure (HII), som opererer i UEFI-miljøet.

Er det nødvendig å lage en RAID-array fra en SSD, og ​​hvilke kontrollere trengs for dette?

Standardmodusen er "PD64"-profilen (støtter kun SAS/SATA). Som vi sa ovenfor, er det tre profiler totalt: "SAS/SATA only mode"-modus (PD240 / PD64 / PD 16), "NVMe only mode" (PCIe4)-modus og en blandet modus der alle typer stasjoner kan operere: "PD64 -PCIe4" (støtte for 64 fysiske og virtuelle disker med 4 NVMe-stasjoner). I blandet modus skal verdien til den spesifiserte profilen være "ProfileID=13". Forresten, den valgte profilen lagres som hovedprofilen og tilbakestilles ikke selv når du går tilbake til fabrikkinnstillingene via kommandoen Set Factory Defaults. Det kan kun endres manuelt.

Er det verdt å lage en RAID-array på en SSD?

Så vi har allerede forstått at RAID-arrayer er nøkkelen til høy ytelse. Men er det verdt å bygge RAID fra SSD-er for hjemme- og bedriftsbruk? Mange skeptikere sier at økningen i hastighet ikke er så betydelig at det gir penger til NVMe-stasjoner. Men er det virkelig slik? Neppe. Den største begrensningen for å bruke SSD-er i RAID (både hjemme og på bedriftsnivå) kan bare være prisen. Uansett hva man kan si, er kostnaden for en gigabyte plass på en HDD mye billigere.

Å koble flere solid state "stasjoner" til en RAID-kontroller for å lage en SSD-array kan ha stor innvirkning på ytelsen i visse konfigurasjoner. Men ikke glem at maksimal ytelse er begrenset av gjennomstrømningen til selve RAID-kontrolleren. RAID-nivået som gir best ytelse er RAID 0.

Er det nødvendig å lage en RAID-array fra en SSD, og ​​hvilke kontrollere trengs for dette?

En konvensjonell RAID 0 med to SSD-er, som bruker en metode for å dele data i faste blokker og stripe dem over solid state-lagring, vil resultere i dobbel ytelse sammenlignet med en enkelt SSD. Imidlertid vil en RAID 0-matrise med fire SSD-er allerede være fire ganger raskere enn den tregeste SSD-en i matrisen (avhengig av båndbreddebegrensningen på RAID SSD-kontrollernivå).

Basert på enkel aritmetikk er en SATA SSD omtrent 3 ganger raskere enn en tradisjonell SATA HDD. NVMe-løsninger er enda mer effektive – 10 ganger eller mer. Forutsatt at to harddisker i en null-nivå RAID viser dobbel ytelse, og øker den med 50 %, vil to SATA SSD-er være 6 ganger raskere, og to NVMe SSD-er vil være 20 ganger raskere. Spesielt kan en enkelt Kingston KC2000 NVMe PCIe-stasjon oppnå sekvensielle lese- og skrivehastigheter på opptil 3200 MB/s, som i RAID 0-format vil nå imponerende 6 GB/s. Og lese-/skrivehastigheten til tilfeldige blokker på 4 KB vil gå fra 350 000 IOPS til 700 000 IOPS. Men ... på samme tid gir ikke "null" RAID oss redundans.

Det kan sies at i hjemmemiljøer er lagringsredundans vanligvis ikke nødvendig, så den mest passende RAID-konfigurasjonen for SSD-er blir virkelig RAID 0. Dette er en pålitelig måte å få betydelige ytelsesforbedringer som et alternativ til å bruke teknologier som Intel Optane-basert SSD-er. Men vi vil snakke om hvordan SSD-løsninger oppfører seg i de mest populære RAID-typene ("1", "5", "10", "50") i vår neste artikkel.

Denne artikkelen ble utarbeidet med støtte fra våre kolleger i Broadcom, som leverer kontrollerene sine til Kingston-ingeniører for testing med SATA/SAS/NVMe-stasjoner i bedriftsklassen. Takket være denne vennlige symbiosen, trenger ikke kundene å tvile på påliteligheten og stabiliteten til Kingston-stasjoner med HBA- og RAID-kontrollere fra produksjon. Broadcom.

For mer informasjon om Kingston-produkter, vennligst besøk på den offisielle hjemmesiden selskap.

Kilde: www.habr.com

Legg til en kommentar