Är det nödvändigt att skapa en RAID-array från en SSD och vilka kontroller behövs för detta?

Hej Habr! I den här artikeln kommer vi att berätta om det är värt att organisera RAID-arrayer baserade på solid-state-lösningar SATA SSD och NVMe SSD, och kommer det att bli en seriös vinst på detta? Vi bestämde oss för att undersöka denna fråga genom att överväga de typer och typer av styrenheter som tillåter detta att göras, såväl som tillämpningsområdet för sådana konfigurationer.

Är det nödvändigt att skapa en RAID-array från en SSD och vilka kontroller behövs för detta?

På ett eller annat sätt hörde var och en av oss åtminstone en gång i våra liv sådana definitioner som "RAID", "RAID-array", "RAID-kontroller", men det är osannolikt att vi fäste stor vikt vid detta, eftersom allt detta är osannolikt för en vanlig PC-boyar Intressant. Men alla vill ha höga hastigheter från interna enheter och problemfri drift. Trots allt, oavsett hur kraftfull datorns hårdvara är, blir hastigheten på enheten en flaskhals när det kommer till den kombinerade prestandan för PC och server.

Detta var exakt fallet tills traditionella hårddiskar ersattes av moderna NVMe SSD:er med jämförbar kapacitet på 1 TB eller mer. Och om det tidigare i datorer ofta fanns kombinationer av SATA SSD + ett par rymliga hårddiskar, börjar de idag ersättas av en annan lösning - NVMe SSD + ett par rymliga SATA SSD:er. Om vi ​​pratar om företagsservrar och "moln" har många redan framgångsrikt flyttat till SATA SSD, helt enkelt för att de är snabbare än konventionella "plåtburkar" och kan behandla ett större antal I/O-operationer samtidigt.

Är det nödvändigt att skapa en RAID-array från en SSD och vilka kontroller behövs för detta?

Systemets feltolerans är dock fortfarande på en ganska låg nivå: vi kan inte, som i "Battle of Psychics", förutsäga med en noggrannhet på upp till en vecka när en viss solid-state-enhet kommer att dö. Och om hårddiskar "dör" gradvis, så att du kan fånga symptomen och vidta åtgärder, så "dör" SSD:er omedelbart och utan förvarning. Och nu är det dags att ta reda på varför allt detta överhuvudtaget behövs? Är det värt att organisera RAID-arrayer baserade på solid-state-lösningar SATA SSD och NVMe SSD, och kommer det att bli en seriös vinst på detta?

Varför behöver du en RAID-array?

Själva ordet "array" antyder redan att flera enheter (HDD och SSD) används för att skapa det, som kombineras med en RAID-kontroller och känns igen av operativsystemet som en enda datalagring. Den globala uppgiften som RAID-arrayer kan lösa är att minimera dataåtkomsttiden, öka läs/skrivhastigheten och tillförlitligheten, vilket uppnås tack vare möjligheten att snabbt återställa i händelse av ett fel. Förresten, det är inte alls nödvändigt att använda RAID för hemsäkerhetskopiering. Men om du har din egen hemmaserver, som du behöver konstant åtkomst till dygnet runt, är det en annan sak.

Det finns över ett dussin nivåer av RAID-arrayer, som var och en skiljer sig åt i antalet enheter som används i den och har sina egna för- och nackdelar: till exempel låter RAID 0 dig få hög prestanda utan feltolerans, RAID 1 låter dig speglar automatiskt data utan att öka hastigheten, och RAID 10-kombinationer innehåller möjligheterna ovan. RAID 0 och 1 är de enklaste (eftersom de inte kräver programvaruberäkningar) och, som ett resultat, de mest populära. I slutändan beror valet till förmån för en eller annan RAID-nivå på de uppgifter som tilldelats diskarrayen och RAID-styrenhetens funktioner.

Hem och företag RAID: vad är skillnaden?

Grunden för alla moderna företag är stora mängder data som måste lagras säkert på företagets servrar. Och också, som vi noterade ovan, måste de vara försedda med konstant åtkomst 24/7. Det är klart att, tillsammans med hårdvaran, även mjukvarudelen är viktig, men i det här fallet talar vi fortfarande om utrustning som säkerställer tillförlitlig lagring och bearbetning av information. Ingen programvara kommer att rädda ett företag från undergång om hårdvaran inte uppfyller de uppgifter som den har tilldelats.

Är det nödvändigt att skapa en RAID-array från en SSD och vilka kontroller behövs för detta?

För dessa uppgifter erbjuder alla hårdvarutillverkare så kallade företagsenheter. Kingston har kraftfulla solid state-lösningar i form av SATA-modeller Kingston 450R (DC450R) и DC500-serien, samt NVMe-modellerna DC1000M U.2 NVMe, DCU1000 U.2 NVMe och DCP-1000 PCI-e, avsedda för användning i datacenter och superdatorer. Matriser av sådana enheter används vanligtvis tillsammans med hårdvarukontroller.

Är det nödvändigt att skapa en RAID-array från en SSD och vilka kontroller behövs för detta?

För konsumentmarknaden (det vill säga för hemdatorer och NAS-servrar) finns det diskar som t.ex Kingston KC2000 NVMe PCIe, men i det här fallet är det inte nödvändigt att köpa en hårdvarukontroller. Du kan begränsa dig till en PC eller NAS-server inbyggd i moderkortet, såvida du inte självklart planerar att montera en hemmaserver själv för atypiska uppgifter (att starta ett litet hemvärdskap för vänner till exempel). Dessutom kräver hem-RAID-arrayer som regel inte hundratals eller tusentals enheter, eftersom de är begränsade till två, fyra och åtta enheter (vanligtvis SATA).

Typer och typer av RAID-kontroller

Det finns tre typer av RAID-kontroller baserade på principerna för implementering av RAID-arrayer:

1. Programvara, där arrayhantering faller på CPU och DRAM (det vill säga programkod exekveras på processorn).

2. Integrerat, det vill säga inbyggt i moderkorten på en PC eller NAS-server.

3. Hårdvara (modulär), som är diskreta expansionskort för PCI/PCIe-kontakter på moderkort.

Vad är deras grundläggande skillnad från varandra? Programvaru-RAID-styrenheter är sämre än integrerade och hårdvarukontroller när det gäller prestanda och feltolerans, men kräver ingen speciell utrustning för att fungera. Det är dock viktigt att se till att värdsystemets processor är tillräckligt kraftfull för att köra RAID-programvaran utan att negativt påverka prestandan för applikationer som också körs på värden. Integrerade kontroller är vanligtvis utrustade med ett eget cacheminne och använder en viss mängd CPU-resurser.

Men hårdvaran har både ett eget cacheminne och en inbyggd processor för exekvering av mjukvarualgoritmer. Vanligtvis låter de dig implementera alla typer av RAID-nivåer och stödja flera typer av enheter samtidigt. Till exempel kan moderna hårdvarukontroller från Broadcom samtidigt ansluta SATA-, SAS- och NVMe-enheter, vilket gör att du inte kan byta kontrollenhet när du uppgraderar servrar: i synnerhet när du flyttar från SATA SSD till NVMe SSD behöver kontrollerna inte bytas.

Är det nödvändigt att skapa en RAID-array från en SSD och vilka kontroller behövs för detta?

Egentligen kommer vi på denna anteckning till typologin för styrenheterna själva. Om det finns trelägen, borde det finnas några andra? I det här fallet kommer svaret på denna fråga att vara jakande. Beroende på funktioner och möjligheter kan RAID-kontroller delas in i flera typer:

1. Vanliga kontroller med RAID-funktion
I hela hierarkin är detta den enklaste kontrollern som låter dig kombinera hårddisk och SSD till RAID-arrayer på nivåerna "0", "1" eller "0+1". Detta implementeras programmatiskt på firmwarenivå. Sådana enheter kan dock knappast rekommenderas för användning i företagssegmentet, eftersom de inte har en cache och inte stöder uppsättningar av nivåer "5", "3" etc. Men för en hemserver på ingångsnivå är de ganska lämpliga.

2. Styrenheter som fungerar tillsammans med andra RAID-kontroller
Denna typ av kontroller kan paras ihop med integrerade moderkortskontroller. Detta implementeras enligt följande princip: en diskret RAID-styrenhet tar hand om att lösa "logiska" problem, och den inbyggda tar över funktionerna för datautbyte mellan enheter. Men det finns en nyans: parallell drift av sådana kontroller är endast möjlig på kompatibla moderkort, vilket innebär att deras tillämpningsområde är allvarligt begränsat.

3. Fristående RAID-kontroller
Dessa diskreta lösningar innehåller ombord alla nödvändiga chips för att fungera med servrar i företagsklass, med eget BIOS, cacheminne och processor för snabb felkorrigering och kontrollsummaberäkningar. Dessutom uppfyller de höga krav på tillförlitlighet när det gäller tillverkning och har högkvalitativa minnesmoduler.

4. Externa RAID-kontroller
Det är inte svårt att gissa att alla styrenheter som listas ovan är interna och får ström via PCIe-kontakten på moderkortet. Vad betyder det här? Och det felet på moderkortet kan leda till fel i driften av RAID-arrayen och dataförlust. Externa styrenheter är befriade från detta missförstånd, eftersom de är inrymda i ett separat hölje med en oberoende strömförsörjning. När det gäller tillförlitlighet ger sådana kontroller den högsta nivån av datalagring.

Broadcom, Microsemi Adaptec, Intel, IBM, Dell och Cisco är bara några av de företag som för närvarande erbjuder hårdvaru-RAID-kontroller.

Driftlägen för RAID-kontroller SAS/SATA/NVMe

Huvudsyftet med tri-mode HBA- och RAID-kontroller (eller kontroller med Tri-Mode-funktionalitet) är att skapa NVMe-baserad hårdvaru-RAID. Broadcoms kontroller i 9400-serien kan göra detta: t.ex. MegaRAID 9460-16i. Den tillhör en oberoende typ av RAID-kontroller, är utrustad med fyra SFF-8643-kontakter och låter dig tack vare Tri-Mode-stöd ansluta SATA/SAS- och NVMe-enheter samtidigt. Dessutom är det också en av de mest energieffektiva kontrollerna på marknaden (förbrukar endast 17 watt energi, med mindre än 1,1 watt för var och en av de 16 portarna).

Är det nödvändigt att skapa en RAID-array från en SSD och vilka kontroller behövs för detta?

Anslutningsgränssnittet är PCI Express x8 version 3.1, vilket möjliggör en genomströmning på 64 Gbit/s (kontroller för PCI Express 2020 förväntas dyka upp 4.0). Styrenheten med 16 portar är baserad på ett 2-kärnigt chip SAS3516 och 72-bitars DDR4-2133 SDRAM (4 GB), samt möjligheten att ansluta upp till 240 SATA/SAS-enheter, eller upp till 24 NVMe-enheter. När det gäller att organisera RAID-arrayer stöds nivåerna "0", "1", "5" och "6", såväl som "10", "50" och "60". Förresten, cacheminne MegaRAID 9460-16i och andra styrenheter i 9400-serien är skyddade från spänningsfel av den valfria CacheVault CVPM05-modulen.

Tekniken med tre lägen är baserad på SerDes-datakonverteringsfunktionen: omvandling av serierepresentationen av data i SAS/SATA-gränssnitt till parallell form i PCIe NVMe och vice versa. Det vill säga att styrenheten förhandlar fram hastigheter och protokoll för att fungera sömlöst med någon av de tre typerna av lagringsenheter. Detta ger ett sömlöst sätt att skala datacenterinfrastrukturer: användare kan använda NVMe utan att göra betydande ändringar i andra systemkonfigurationer.

Är det nödvändigt att skapa en RAID-array från en SSD och vilka kontroller behövs för detta?

Men när du planerar konfigurationer med NVMe-enheter är det värt att tänka på att NVMe-lösningar använder 4 PCIe-banor för anslutning, vilket innebär att varje enhet använder alla linjer med SFF-8643-portar. Det visar sig att endast fyra NVMe-enheter kan anslutas direkt till kontrollenheten MegaRAID 9460-16i. Eller begränsa dig till två NVMe-lösningar samtidigt som du ansluter åtta SAS-enheter (se anslutningsdiagram nedan).

Är det nödvändigt att skapa en RAID-array från en SSD och vilka kontroller behövs för detta?

Bilden visar användningen av kontakt “0” (C0 / Connector 0) och kontakt “1” för NVMe-anslutningar, samt kontakterna “2” och “3” för SAS-anslutningar. Detta arrangemang kan vändas, men varje x4 NVMe-enhet måste anslutas med angränsande körfält. Styrenhetens driftlägen ställs in via StorCLI eller Human Interface Infrastructure (HII) konfigurationsverktyg, som fungerar i UEFI-miljön.

Är det nödvändigt att skapa en RAID-array från en SSD och vilka kontroller behövs för detta?

Standardläget är "PD64"-profilen (stöder endast SAS/SATA). Som vi sa ovan finns det tre profiler totalt: läget "SAS/SATA only mode" (PD240 / PD64 / PD 16), läget "NVMe only mode" (PCIe4) och ett blandat läge där alla typer av enheter kan fungera: "PD64 -PCIe4" (stöd för 64 fysiska och virtuella diskar med 4 NVMe-enheter). I blandat läge bör värdet på den angivna profilen vara "ProfileID=13". Förresten, den valda profilen sparas som huvudprofilen och återställs inte ens när man återgår till fabriksinställningarna via kommandot Set Factory Defaults. Det kan bara ändras manuellt.

Är det värt att skapa en RAID-array på en SSD?

Så vi har redan förstått att RAID-arrayer är nyckeln till hög prestanda. Men är det värt att bygga RAID från SSD:er för hem- och företagsbruk? Många skeptiker säger att ökningen av hastigheten inte är så betydande att den kostar på NVMe-enheter. Men är det verkligen så? Knappast. Den största begränsningen för att använda SSD i RAID (både hemma och på företagsnivå) kan bara vara priset. Vad man än kan säga är kostnaden för en gigabyte utrymme på en hårddisk mycket billigare.

Att ansluta flera solid state "enheter" till en RAID-kontroller för att skapa en SSD-array kan ha en enorm inverkan på prestanda i vissa konfigurationer. Glöm dock inte att maximal prestanda begränsas av genomströmningen av själva RAID-styrenheten. Den RAID-nivå som ger bäst prestanda är RAID 0.

Är det nödvändigt att skapa en RAID-array från en SSD och vilka kontroller behövs för detta?

En konventionell RAID 0 med två SSD:er, som använder en metod för att dela upp data i fasta block och strippa dem över solid state-lagring, kommer att resultera i dubbel prestanda jämfört med en enda SSD. En RAID 0-array med fyra SSD-enheter kommer dock redan att vara fyra gånger snabbare än den långsammaste SSD-enheten i arrayen (beroende på bandbreddsbegränsningen på RAID SSD-kontrollernivån).

Baserat på enkel aritmetik är en SATA SSD cirka 3 gånger snabbare än en traditionell SATA HDD. NVMe-lösningar är ännu effektivare – 10 gånger eller mer. Förutsatt att två hårddiskar i en RAID på nollnivå visar dubbel prestanda, vilket ökar den med 50 %, kommer två SATA SSD:er att vara 6 gånger snabbare och två NVMe SSD:er 20 gånger snabbare. I synnerhet kan en enda Kingston KC2000 NVMe PCIe-enhet uppnå sekventiella läs- och skrivhastigheter på upp till 3200 MB/s, vilket i RAID 0-format kommer att nå imponerande 6 GB/s. Och läs/skrivhastigheten för slumpmässiga block med en storlek på 4 KB kommer att växla från 350 000 IOPS till 700 000 IOPS. Men ... samtidigt ger "noll" RAID oss inte redundans.

Man kan säga att i hemmiljöer behövs vanligtvis inte lagringsredundans, så den mest lämpliga RAID-konfigurationen för SSD:er blir verkligen RAID 0. Detta är ett tillförlitligt sätt att få betydande prestandaförbättringar som ett alternativ till att använda tekniker som Intel Optane-baserad SSD:er. Men vi kommer att prata om hur SSD-lösningar beter sig i de mest populära RAID-typerna ("1", "5", "10", "50") i vår nästa artikel.

Den här artikeln förbereddes med stöd av våra kollegor på Broadcom, som tillhandahåller sina kontroller till Kingstons ingenjörer för testning med SATA/SAS/NVMe-enheter i företagsklass. Tack vare denna vänliga symbios behöver kunderna inte tvivla på tillförlitligheten och stabiliteten hos Kingston-diskar med HBA- och RAID-kontroller från produktion. Broadcom.

För mer information om Kingstons produkter, besök på den officiella webbplatsen företaget.

Källa: will.com

Lägg en kommentar