Skal jeg lave et RAID-array fra en SSD og hvilke controllere er nødvendige til dette

Hej Habr! I denne artikel vil vi fortælle dig, om det er værd at organisere RAID-arrays baseret på SATA SSD og NVMe SSD solid-state-løsninger, og vil der være en seriøs gevinst ved dette? Vi besluttede at undersøge dette problem ved at overveje de typer og typer af controllere, der tillader dette, såvel som omfanget af sådanne konfigurationer.

Skal jeg lave et RAID-array fra en SSD og hvilke controllere er nødvendige til dette

På den ene eller anden måde hørte hver af os mindst én gang i vores liv sådanne definitioner som "RAID", "RAID-array", "RAID-controller", men tillagde næppe alvorlig betydning for dette, fordi alt dette er usandsynligt for en almindelig PC-boyar Interessant. Men alle ønsker høje hastigheder fra interne drev og pålideligheden af ​​deres arbejde. Når alt kommer til alt, uanset hvor kraftig fyldningen af ​​computeren er, bliver drevets hastighed en flaskehals, når det kommer til den kombinerede hastighed på pc'en og serveren.

Dette var præcis indtil det øjeblik, hvor traditionelle HDD'er blev erstattet af moderne NVMe SSD'er med en sammenlignelig kapacitet på 1 TB eller mere. Og hvis der tidligere i pc'en oftere var bundter af SATA SSD + et par rummelige HDD'er, begynder de i dag at blive erstattet af en anden løsning - NVMe SSD + et par rummelige SATA SSD'er. Når det kommer til virksomhedsservere og skyen, har mange allerede med succes flyttet til SATA SSD'er, simpelthen fordi de er hurtigere end almindelige blikdåser og kan håndtere mere I/O på samme tid.

Skal jeg lave et RAID-array fra en SSD og hvilke controllere er nødvendige til dette

Systemets fejltolerance er dog stadig på et ret lavt niveau: vi kan ikke, som i "Battle of Psychics", forudsige med en nøjagtighed på selv op til en uge, hvornår et eller andet solid-state-drev vil dø for en lang tid. Og hvis HDD'er "dør" gradvist, så du kan fange symptomerne og gribe ind, så "dør" SSD'er med det samme og uden varsel. Og nu er det tid til at finde ud af, hvorfor alt dette overhovedet er nødvendigt? Kan det betale sig at organisere RAID-arrays baseret på SATA SSD- og NVMe SSD-løsninger, og vil der være en seriøs fortjeneste på dette?

Hvorfor har du brug for et RAID-array?

Selve ordet "array" antyder allerede, at flere drev (HDD og SSD) bruges til at skabe det, som kombineres ved hjælp af en RAID-controller og genkendes af OS som en enkelt datalagring. Den globale opgave, som RAID-arrays kan løse, er at minimere dataadgangstiden, øge læse-/skrivehastigheden og pålideligheden, hvilket opnås på grund af evnen til hurtigt at gendanne i tilfælde af fejl. Det er i øvrigt ikke nødvendigt at bruge RAID til hjemmesikkerhedskopiering. Men hvis du har din egen hjemmeserver, som du har brug for konstant adgang 24/7, så er det en anden sag.

Der er mere end et dusin niveauer af RAID-arrays, som hver især adskiller sig i antallet af drev, der bruges i det og har sine fordele og ulemper: for eksempel giver RAID 0 dig mulighed for at få høj ydeevne uden fejltolerance, RAID 1 giver dig mulighed for at opsæt automatisk dataspejling uden at øge hastigheden, og RAID 10 kombinerer ovenståendes muligheder. RAID 0 og 1 er de enkleste (fordi de ikke kræver softwareberegninger) og som følge heraf de mest populære. I sidste ende afhænger valget til fordel for et bestemt RAID-niveau af de opgaver, der er tildelt diskarrayet og RAID-controllerens muligheder.

Home vs Enterprise RAID: Hvad er forskellen?

Grundlaget for enhver moderne virksomhed er store mængder data, der skal opbevares sikkert på virksomhedens servere. Og alligevel, som vi bemærkede ovenfor, skal de have konstant adgang 24/7. Det er klart, at softwaredelen sammen med hardware også er vigtig, men i dette tilfælde taler vi om udstyr, der sikrer pålidelig lagring og behandling af information. Ingen software vil redde virksomheden fra undergang, hvis "jern"-udstyret ikke svarer til de opgaver, det er tildelt.

Skal jeg lave et RAID-array fra en SSD og hvilke controllere er nødvendige til dette

Til disse opgaver tilbyder enhver hardwareproducent såkaldte virksomhedsenheder. Kingston har kraftfulde solid state-løsninger i forhold til SATA-modeller Kingston 450R (DC450R) и DC500 serien, samt DC1000M U.2 NVMe, DCU1000 U.2 NVMe og DCP-1000 PCI-e NVMe-modeller designet til brug i datacentre (databehandlingscentre) og supercomputere. Arrays af sådanne drev bruges normalt sammen med hardwarecontrollere.

Skal jeg lave et RAID-array fra en SSD og hvilke controllere er nødvendige til dette

Til forbrugermarkedet (det vil sige til hjemme-pc'er og NAS-servere) er sådanne drev tilgængelige som Kingston KC2000 NVMe PCIe, men i dette tilfælde er det ikke nødvendigt at købe en hardwarecontroller. Du kan begrænse dig til en pc eller NAS-server indbygget i bundkortet, medmindre du selvfølgelig planlægger selv at samle en hjemmeserver til atypiske opgaver (start f.eks. en lille hjemmehosting til venner). Derudover indebærer hjemme-RAID-arrays som regel ikke tilstedeværelsen af ​​hundreder og tusinder af drev, idet de er begrænset til to, fire og otte enheder (normalt SATA).

Typer og typer af RAID-controllere

Der er tre typer RAID-controllere baseret på principperne for implementering af RAID-arrays:

1. Software, hvor styringen af ​​arrayet falder på CPU'en og DRAM'en (dvs. udførelsen af ​​programkoden sker på processoren).

2. Integreret, det vil sige indbygget i bundkortene på en pc eller NAS-server.

3. Hardware (modulært), som er diskrete udvidelseskort til PCI/PCIe bundkortslots.

Hvad er deres grundlæggende forskel fra hinanden? Software RAID-controllere er ringere end integrerede og hardware-RAID-controllere med hensyn til ydeevne og fejltolerance, men de kræver ikke speciel hardware til drift. Det er dog vigtigt at sikre, at værtssystemets processor er kraftig nok til at køre RAID-softwaren uden at påvirke ydeevnen af ​​programmer, der også kører på værten, negativt. Integrerede controllere er som regel udstyret med deres egen cachehukommelse og bruger en vis mængde CPU-ressourcer.

Men hardwarene har både deres egen cache-hukommelse og en integreret processor til at udføre softwarealgoritmer. Normalt giver de dig mulighed for at implementere alle slags RAID-niveauer og understøtte flere typer drev på én gang. For eksempel kan SATA-, SAS- og NVMe-enheder tilsluttes moderne Broadcom-hardwarecontrollere på samme tid, hvilket giver dig mulighed for ikke at ændre controlleren, når du opgraderer servere: især, når du flytter fra SATA SSD til NVMe SSD, gør controllere det ikke skal ændres.

Skal jeg lave et RAID-array fra en SSD og hvilke controllere er nødvendige til dette

Faktisk, på denne note, nærmede vi os typologien for controllerne selv. Hvis der er tre tilstande, må der være nogle andre? I dette tilfælde vil svaret på dette spørgsmål være bekræftende. Afhængigt af funktioner og muligheder kan RAID-controllere opdeles i flere typer:

1. Almindelige controllere med RAID-funktion
I hele hierarkiet er dette den enkleste controller, der giver dig mulighed for at kombinere HDD og SSD til RAID-arrays på niveauerne "0", "1" eller "0 + 1". Programmatisk implementeres dette på firmwareniveau. Sådanne enheder kan dog næppe anbefales til brug i virksomhedssegmentet, fordi de mangler en cache og ikke understøtter arrays af niveauer "5", "3" osv. Men til en hjemmeserver på startniveau er de ganske velegnede.

2. Controllere parret med andre RAID-controllere
Denne type controller kan parres med integrerede bundkortcontrollere. Dette implementeres efter følgende princip: en diskret RAID-controller overtager løsningen af ​​"logiske" opgaver, og den indbyggede overtager funktionerne for dataudveksling mellem drev. Men der er en advarsel: parallel drift af sådanne controllere er kun mulig på kompatible bundkort, hvilket betyder, at deres omfang er alvorligt indsnævret.

3. Uafhængige RAID-controllere
Disse diskrete løsninger indeholder alle de nødvendige chips til at arbejde med servere i virksomhedsklassen, med deres egen BIOS'om, cachehukommelse og processor til hurtig fejlkorrektion og kontrolsumberegning. Derudover opfylder de høje standarder for pålidelighed med hensyn til fremstilling og har hukommelsesmoduler af høj kvalitet.

4. Eksterne RAID-controllere
Det er ikke svært at gætte, at alle de ovenfor nævnte controllere er interne og får strøm fra bundkortets PCIe-stik. Hvad står der? Og at fejlen på bundkortet kan føre til fejl i driften af ​​RAID-arrayet og datatab. Eksterne controllere er fri for denne misforståelse, da de er placeret i et separat etui med en uafhængig strømforsyning. Med hensyn til pålidelighed giver disse controllere det højeste niveau af datalagring.

Broadcom, Microsemi Adaptec, Intel, IBM, Dell og Cisco er blot nogle af de virksomheder, der i øjeblikket tilbyder hardware RAID-controllere.

Driftstilstande for RAID-controllere SAS/SATA/NVMe

Det primære formål med tri-mode HBA og RAID controllere (eller controllere med tri-mode funktionalitet) er at skabe NVMe-baseret hardware RAID. Broadcoms controllere i 9400-serien kan gøre dette: f.eks. MegaRAID 9460-16i. Den tilhører en uafhængig type RAID-controllere, er udstyret med fire SFF-8643-stik og giver dig, takket være Tri-Mode-understøttelse, mulighed for at tilslutte SATA/SAS- og NVMe-drev samtidigt. Derudover er det også en af ​​de mest energieffektive controllere på markedet (forbruger kun 17 watt strøm, mens det er mindre end 1,1 watt for hver af de 16 porte).

Skal jeg lave et RAID-array fra en SSD og hvilke controllere er nødvendige til dette

Tilslutningsgrænsefladen er PCI Express x8 version 3.1, som giver mulighed for en båndbredde på 64 Gb/s (controllere til PCI Express 2020 forventes i 4.0). 16-ports controlleren er baseret på en 2-core chip SAS3516 og 72-bit DDR4-2133 SDRAM (4 GB), samt muligheden for at tilslutte op til 240 SATA/SAS-drev eller op til 24 NVMe-enheder. Med hensyn til organisering af RAID-arrays understøttes niveauerne "0", "1", "5" og "6", samt "10", "50" og "60". Forresten, cachehukommelsen MegaRAID 9460-16i og andre controllere i 9400-serien er beskyttet mod strømsvigt af det valgfrie CacheVault CVPM05-modul.

Tri-mode-teknologien er baseret på SerDes-datakonverteringsfunktionen: konvertering af serielle data i SAS/SATA-grænseflader til parallel form i PCIe NVMe og omvendt. Det vil sige, at controlleren forhandler hastigheder og protokoller for at arbejde problemfrit med enhver af de tre typer lagerenheder. Dette giver en problemfri måde at skalere datacenterinfrastrukturer på: brugere kan bruge NVMe uden større ændringer i andre systemkonfigurationer.

Skal jeg lave et RAID-array fra en SSD og hvilke controllere er nødvendige til dette

Men når du planlægger konfigurationer med NVMe-drev, er det værd at overveje, at NVMe-løsninger bruger 4 PCIe-baner til at forbinde, hvilket betyder, at hvert drev bruger alle SFF-8643-portlinjerne. Det viser sig, at kun fire NVMe-drev kan tilsluttes direkte til MegaRAID 9460-16i-controlleren. Eller begrænse dig til to NVMe-løsninger, mens du tilslutter otte SAS-drev på samme tid (se tilslutningsdiagrammet nedenfor).

Skal jeg lave et RAID-array fra en SSD og hvilke controllere er nødvendige til dette

Figuren viser brugen af ​​stik "0" (C0 / stik 0) og stik "1" til NVMe-forbindelser, samt stik "2" og "3" til SAS-forbindelser. Dette arrangement kan vendes om, men hvert x4 NVMe-drev skal tilsluttes ved hjælp af nabolinjer. Controllerens driftstilstande indstilles gennem StorCLI eller Human Interface Infrastructure (HII) konfigurationsværktøjer, som kører i et UEFI-miljø.

Skal jeg lave et RAID-array fra en SSD og hvilke controllere er nødvendige til dette

Standardtilstanden er "PD64"-profilen (understøtter kun SAS/SATA). Som vi sagde ovenfor, er der tre profiler i alt: "SAS / SATA only mode" (PD240 / PD64 / PD 16), "NVMe only mode" (PCIe4) og mixed mode, hvor alle typer drev kan fungere: " PD64 -PCIe4" (understøttelse af 64 fysiske og virtuelle diske med 4 NVMe-drev). I blandet tilstand skal værdien af ​​den angivne profil være følgende - "ProfilID=13". Den valgte profil gemmes i øvrigt som en leder og nulstilles ikke, selv når du ruller tilbage til fabriksindstillingerne via kommandoen Indstil fabriksindstillinger. Det kan kun ændres manuelt.

Skal jeg oprette et RAID-array på en SSD?

Så vi har allerede forstået, at RAID-arrays er nøglen til høj ydeevne. Men er SSD RAID det værd til hjemme- og virksomhedsbrug? Mange skeptikere siger, at stigningen i hastigheden ikke er så væsentlig, at den går i stykker på NVMe-drev. Men er det virkelig sådan? Næsten. Den største begrænsning for at bruge en SSD i RAID (både hjemme og på virksomhedsniveau) er muligvis kun prisen. Kan du lide det eller ej, prisen på en gigabyte HDD-plads er meget billigere.

Tilslutning af flere solid state "drev" til en RAID-controller for at skabe en række SSD'er i visse konfigurationer kan have en enorm indflydelse på ydeevnen. Glem dog ikke, at maksimal ydeevne er begrænset af selve RAID-controllerens gennemløb. Det RAID-niveau, der giver den bedste ydeevne, er RAID 0.

Skal jeg lave et RAID-array fra en SSD og hvilke controllere er nødvendige til dette

En typisk RAID 0-opsætning med to SSD'er, som bruger en fast blokering og striping-metode mellem SSD'er, vil fordoble ydeevnen (sammenlignet med hastighederne på en enkelt SSD). Samtidig vil et RAID 0-array med fire SSD'er allerede være fire gange hurtigere end den langsomste SSD i arrayet (afhængigt af båndbreddegrænsen på SSD RAID-controller-niveau).

Baseret på simpel aritmetik er SATA SSD omkring 3 gange hurtigere end en traditionel SATA HDD. NVMe-løsninger er endnu mere effektive - 10 gange eller mere. Hvis man antager, at to HDD'er i et RAID 50-niveau fordobler ydeevnen med 6 %, er to SATA SSD'er 20x hurtigere, og to NVMe SSD'er er 2000x hurtigere. Især et enkelt Kingston KC3200 NVMe PCIe-drev kan nå sekventielle læse- og skrivehastigheder på op til 0 MB/s, hvilket i RAID 6-format vil nå op på imponerende 4 GB/s. Og læse/skrivehastigheden for tilfældige blokke på 350 KB i størrelse vil vende fra 000 IOPS til 700 IOPS. Men... på samme tid giver "nul" RAID os ikke redundans.

Det kan siges, at der i hjemmet normalt ikke kræves lagerredundans, så RAID 0 bliver faktisk den mest passende RAID-konfiguration til SSD'er. Dette er en pålidelig måde at få et markant ydelsesboost som et alternativ til at bruge teknologier som Intel Optane- baseret SSD'er. Og her er, hvordan SSD-løsninger opfører sig i de mest populære RAID-typer ("1", "5", "10", "50") - vi vil tale i vores næste artikel.

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.

Du kan finde flere oplysninger om Kingston-produkter på den officielle hjemmeside selskab.

Kilde: www.habr.com

Tilføj en kommentar