Hallo Habr! Yn dit artikel sille wy jo fertelle oft it wurdich is om RAID-arrays te organisearjen basearre op solid-state-oplossingen SATA SSD en NVMe SSD, en sil d'r in serieuze winst wêze fan dit? Wy besletten dit probleem te besjen troch de soarten en soarten kontrôles te beskôgjen dy't dit kinne dwaan, lykas ek it tapassingsgebiet fan sokke konfiguraasjes.
Op ien of oare manier hearde elk fan ús op syn minst ien kear yn ús libben sokke definysjes as "RAID", "RAID-array", "RAID-controller", mar it is net wierskynlik dat wy dit serieus belang hechten, om't dit alles is ûnwierskynlik foar in gewoane PC boyar Interesting. Mar elkenien wol hege snelheden fan ynterne skiven en probleemfrije operaasje. Ommers, nettsjinsteande hoe machtich de hardware fan 'e kompjûter is, wurdt de snelheid fan' e stasjon in knelpunt as it giet om de kombineare prestaasjes fan 'e PC en server.
Dit wie krekt it gefal oant tradisjonele HDD's waarden ferfongen troch moderne NVMe SSD's mei fergelykbere kapasiteiten fan 1 TB of mear. En as earder yn PC's d'r faaks kombinaasjes wiene fan SATA SSD + in pear romtlike HDD's, hjoed begjinne se te wurde ferfongen troch in oare oplossing - NVMe SSD + in pear romme SATA SSD's. As wy prate oer bedriuwsservers en "wolken", binne in protte al mei súkses ferhuze nei SATA SSD's, gewoan om't se rapper binne as konvinsjonele "tin cans" en binne by steat om in grutter oantal I / O-operaasjes tagelyk te ferwurkjen.
De fouttolerânsje fan it systeem is lykwols noch op in frij leech nivo: wy kinne net, lykas yn 'e "Battle of Psychics", mei in krektens fan sels oant in wike foarsizze wannear't in bepaalde solid-state drive sil stjerre. En as HDD's stadichoan "stjerre", wêrtroch jo de symptomen kinne fange en aksje nimme, dan "stjerre" SSD's fuortendaliks en sûnder warskôging. En no is it tiid om út te finen wêrom't dit allegear nedich is? Is it wurdich om RAID-arrays te organisearjen basearre op solid-state-oplossingen SATA SSD en NVMe SSD, en sil d'r in serieuze winst wêze fan dit?
Wêrom hawwe jo in RAID-array nedich?
It tige wurd "array" betsjut al dat ferskate skiven (HDD en SSD) wurde brûkt om it te meitsjen, dy't wurde kombineare mei in RAID-controller en erkend troch it OS as ienige gegevensopslach. De wrâldwide taak dy't RAID-arrays kinne oplosse is it minimalisearjen fan gegevenstagongstiid, it fergrutsjen fan lês- / skriuwsnelheid en betrouberens, dy't wurdt berikt troch de mooglikheid om gau te herstellen yn gefal fan in mislearring. Trouwens, it is hielendal net nedich om RAID te brûken foar backups fan hûs. Mar as jo jo eigen thússerver hawwe, dêr't jo konstante tagong 24/7 nedich hawwe, is dat in oare saak.
D'r binne mear as in tsiental nivo's fan RAID-arrays, elk fan dy ferskilt yn it oantal driuwfearren dat deryn brûkt wurdt en hat syn eigen foar- en neidielen: bygelyks RAID 0 kinne jo hege prestaasjes krije sûnder fouttolerânsje, RAID 1 kinne jo automatysk spegelje gegevens sûnder tanimmende snelheid, en RAID 10 kombinearret befettet de mooglikheden fan it boppesteande. RAID 0 en 1 binne de ienfâldichste (om't se gjin softwareberekkeningen nedich binne) en, as gefolch, de populêrste. Uteinlik hinget de kar yn it foardiel fan ien of oare RAID-nivo ôf fan 'e taken dy't oan' e skiif-array binne tawiisd en de mooglikheden fan 'e RAID-controller.
Home en Corporate RAID: wat is it ferskil?
De basis fan elk modern bedriuw is grutte voluminten gegevens dy't feilich moatte wurde opslein op bedriuwsservers. En ek, lykas wy hjirboppe opmurken, se moatte wurde foarsjoen fan konstante tagong 24/7. It is dúdlik dat, tegearre mei de hardware, it softwarediel ek wichtich is, mar yn dit gefal prate wy noch oer apparatuer dy't betroubere opslach en ferwurking fan ynformaasje soarget. Gjin software sil in bedriuw rêde fan ruïne as de hardware net foldocht oan de taken dy't har tawiisd binne.
Foar dizze taken biedt elke hardwarefabrikant saneamde bedriuwsapparaten. Kingston hat krêftige solid-state-oplossingen yn 'e foarm fan SATA-modellen
Foar de konsumintmerk (dat is, foar thús-pc's en NAS-tsjinners), skiven lykas
Soarten en soarten RAID-controllers
D'r binne trije soarten RAID-controllers basearre op de prinsipes fan ymplemintaasje fan RAID-arrays:
1. Software, dêr't array behear falt op de CPU en DRAM (dat is, programma koade wurdt útfierd op de prosessor).
2. Yntegrearre, dat is boud yn 'e moederborden fan in PC of NAS-tsjinner.
3. Hardware (modulêr), dat binne diskrete útwreiding kaarten foar PCI / PCIe Anschlüsse op Motherboards.
Wat is har fûnemintele ferskil fan elkoar? Software RAID-controllers binne ynferior foar yntegreare en hardware yn termen fan prestaasjes en fouttolerânsje, mar hawwe gjin spesjale apparatuer nedich om te operearjen. It is lykwols wichtich om te soargjen dat de prosessor fan it hostsysteem krêftich genôch is om de RAID-software út te fieren sûnder negatyf te beynfloedzjen op de prestaasjes fan applikaasjes dy't ek op de host rinne. Yntegreare controllers binne normaal foarsjoen fan har eigen cache-ûnthâld en brûke in bepaalde hoemannichte CPU-boarnen.
Mar hardware hawwe sawol har eigen cache-ûnthâld as in ynboude prosessor foar it útfieren fan softwarealgoritmen. Typysk kinne se jo alle soarten RAID-nivo's ymplementearje en ferskate soarten skiven tagelyk stypje. Bygelyks, moderne hardware-controllers fan Broadcom kinne tagelyk SATA-, SAS- en NVMe-apparaten ferbine, wêrtroch jo de controller net kinne feroarje by it opwurdearjen fan servers: benammen by it ferpleatsen fan SATA SSD nei NVMe SSD, hoege controllers net te wizigjen.
Eins komme wy op dizze noat by de typology fan 'e kontrôlers sels. As d'r trije-modus binne, moatte d'r dan wat oaren wêze? Yn dit gefal sil it antwurd op dizze fraach befêstigjend wêze. Ofhinklik fan 'e funksjes en mooglikheden kinne RAID-controllers wurde ferdield yn ferskate soarten:
1. Gewoane controllers mei RAID funksje
Yn 'e heule hiërargy is dit de ienfâldichste kontrôler wêrmei jo HDD's en SSD's kinne kombinearje yn RAID-arrays fan nivo's "0", "1" of "0+1". Dit wurdt programmatysk ymplementearre op it firmwarenivo. Sokke apparaten kinne lykwols amper wurde oanrikkemandearre foar gebrûk yn it bedriuwssegment, om't se gjin cache hawwe en gjin arrays fan nivo's "5", "3", ensfh. Mar foar in thústsjinner op yngongsnivo binne se hiel geskikt.
2. Controllers dy't wurkje yn tandem mei oare RAID controllers
Dit soarte fan controller kin wurde keppele mei yntegreare moederbord controllers. Dit wurdt útfierd neffens it folgjende prinsipe: in diskrete RAID-controller soarget foar it oplossen fan "logyske" problemen, en de ynboude nimt de funksjes fan gegevensútwikseling tusken driuwfearren oer. Mar d'r is in nuânse: parallelle operaasje fan sokke controllers is allinich mooglik op kompatibele moederborden, wat betsjut dat har tapassingsgebiet serieus beheind is.
3. Standalone RAID controllers
Dizze diskrete oplossingen befetsje oan board alle nedige chips om te wurkjen mei servers fan ûndernimmingsklasse, mei har eigen BIOS, cache-ûnthâld en prosessor foar rappe flaterkorreksje en kontrôlesumberekkeningen. Dêrneist foldogge se oan hege noarmen fan betrouberens yn termen fan fabrikaazje en hawwe hege kwaliteit ûnthâld modules.
4. Eksterne RAID controllers
It is net dreech te rieden dat alle hjirboppe neamde controllers ynterne binne en krêft krije fia de PCIe-ferbining fan it moederbord. Wat betsjut dit? En dat mislearjen fan it moederbord kin liede ta flaters yn 'e wurking fan' e RAID-array en gegevensferlies. Eksterne controllers binne befrijd fan dit misferstân, om't se binne ûnderbrocht yn in apart gefal mei in ûnôfhinklike macht oanbod. Yn termen fan betrouberens leverje sokke controllers it heechste nivo fan gegevensopslach.
Bedriuwsmodi fan RAID-controllers SAS / SATA / NVMe
It haaddoel fan tri-mode HBA- en RAID-controllers (as controllers mei Tri-Mode-funksjonaliteit) is om NVMe-basearre hardware RAID te meitsjen. Broadcom's 9400-searje-controllers kinne dit dwaan: bygelyks,
De ferbining ynterface is PCI Express x8 ferzje 3.1, dy't soarget foar in trochfier fan 64 Gbit / s (controllers foar PCI Express 2020 wurdt ferwachte te ferskine yn 4.0). De 16-poarte controller is basearre op in 2-core chip
De technology foar trije modus is basearre op de SerDes-gegevenskonverzjefunksje: it konvertearjen fan de seriële fertsjintwurdiging fan gegevens yn SAS / SATA-ynterfaces yn parallelle foarm yn PCIe NVMe en oarsom. Dat is, de controller ûnderhannelet snelheden en protokollen om naadloos te wurkjen mei ien fan 'e trije soarten opslachapparaten. Dit soarget foar in naadleaze manier om ynfrastruktuer fan datasintrum te skaaljen: brûkers kinne NVMe brûke sûnder wichtige feroaringen te meitsjen oan oare systeemkonfiguraasjes.
By it plannen fan konfiguraasjes mei NVMe-skiven is it lykwols wurdich te beskôgjen dat NVMe-oplossingen 4 PCIe-banen brûke om te ferbinen, wat betsjut dat elk stasjon alle rigels fan SFF-8643-ports brûkt. It docht bliken dat mar fjouwer NVMe-skiven direkt kinne wurde ferbûn mei de MegaRAID 9460-16i-controller. Of beheine josels ta twa NVMe-oplossingen wylst jo tagelyk acht SAS-skiven ferbine (sjoch ferbiningsdiagram hjirûnder).
De figuer toant it gebrûk fan connector "0" (C0 / Connector 0) en connector "1" foar NVMe-ferbiningen, lykas connectors "2" en "3" foar SAS-ferbiningen. Dizze regeling kin wurde omkeard, mar elk x4 NVMe-stasjon moat wurde ferbûn mei oanbuorjende banen. De bestjoeringsmodi wurde ynsteld troch de StorCLI of Human Interface Infrastructure (HII) konfiguraasjeprogramma's, dy't wurket yn 'e UEFI-omjouwing.
De standert modus is "PD64" profyl (stipe allinnich SAS / SATA). Lykas wy hjirboppe seine, binne d'r yn totaal trije profilen: de "SAS / SATA allinich modus" modus (PD240 / PD64 / PD 16), de "NVMe allinich modus" (PCIe4) modus en in mingde modus wêryn alle soarten skiven kin operearje: "PD64 -PCIe4" (stipe foar 64 fysike en firtuele skiven mei 4 NVMe-skiven). Yn mingde modus moat de wearde fan it oantsjutte profyl "ProfileID=13" wêze. Trouwens, it selekteare profyl wurdt bewarre as de master ien en wurdt net weromset, sels as jo weromgean nei de fabrykynstellingen fia it kommando Set Factory Defaults. It kin allinnich feroare wurde mei de hân.
Is it wurdich om in RAID-array op in SSD te meitsjen?
Dat, wy hawwe al begrepen dat RAID-arrays de kaai binne foar hege prestaasjes. Mar is it wurdich om RAID te bouwen fan SSD's foar thús- en bedriuwsgebrûk? In protte skeptisy sizze dat de ferheging fan snelheid net sa wichtich is om te splurge op NVMe-skiven. Mar is dit echt sa? Amper. De grutste beheining foar it brûken fan SSD's yn RAID (sawol thús as op bedriuwsnivo) kin gewoan de priis wêze. Wat men ek kin sizze, de kosten fan in gigabyte romte op in HDD binne folle goedkeaper.
Ferbining fan meardere solid state "driven" oan in RAID-controller om in SSD-array te meitsjen kin in enoarme ynfloed hawwe op prestaasjes yn bepaalde konfiguraasjes. Ferjit lykwols net dat maksimale prestaasjes wurdt beheind troch de trochfier fan 'e RAID-controller sels. It RAID-nivo dat de bêste prestaasjes biedt is RAID 0.
In konvinsjonele RAID 0 mei twa SSD's, dy't in metoade brûkt foar it splitsen fan gegevens yn fêste blokken en stripe se oer fêste steat opslach, sil resultearje yn dûbele de prestaasjes yn ferliking mei in inkele SSD. In RAID 0-array mei fjouwer SSD's sil lykwols al fjouwer kear flugger wêze as de stadichste SSD yn 'e array (ôfhinklik fan de bânbreedtebeheining op it RAID SSD-controllernivo).
Op grûn fan ienfâldige arithmetyk is in SATA SSD sawat 3 kear rapper dan in tradisjonele SATA HDD. NVMe-oplossingen binne noch effisjinter - 10 kear of mear. Op betingst dat twa hurde skiven yn in nul-nivo RAID dûbele de prestaasjes sjen litte, it ferheegjen mei 50%, sille twa SATA SSD's 6 kear rapper wêze, en twa NVMe SSD's sille 20 kear rapper wêze. Benammen in inkele Kingston KC2000 NVMe PCIe-drive kin sekwinsjele lês- en skriuwsnelheden berikke fan maksimaal 3200 MB / s, dy't yn RAID 0-formaat in yndrukwekkende 6 GB / s sil berikke. En de lês-/skriuwsnelheid fan willekeurige blokken fan 4 KB yn grutte sil feroarje fan 350 IOPS nei 000 IOPS. Mar ... tagelyk, "nul" RAID jout ús gjin redundânsje.
It kin sein wurde dat yn thúsomjouwings opslachredundânsje meastentiids net nedich is, sadat de meast geskikte RAID-konfiguraasje foar SSD's echt wurdt RAID 0. Dit is in betroubere manier om signifikante prestaasjesferbetteringen te krijen as alternatyf foar it brûken fan technologyen lykas Intel Optane-basearre SSDs. Mar wy sille prate oer hoe't SSD-oplossingen gedrage yn 'e populêrste RAID-typen ("1", "5", "10", "50") yn ús folgjende artikel.
Dit artikel is taret mei de stipe fan ús kollega's by Broadcom, dy't har controllers leverje oan Kingston-yngenieurs foar testen mei ûndernimmingsklasse SATA / SAS / NVMe-skiven. Mei tank oan dizze freonlike symbioaze hoege klanten net te twifeljen oan 'e betrouberens en stabiliteit fan Kingston-driven mei HBA- en RAID-controllers fan produksje.
Besykje asjebleaft foar mear ynformaasje oer Kingston-produkten
Boarne: www.habr.com