Tere, Habr! Selles artiklis räägime, kas on mõtet organiseerida RAID-massiive, kasutades SATA SSD ja NVMe SSD lahendusi, ja kas sellest on tõeliselt kasu? Oleme otsustanud arutada seda teemat, vaadates üle kontrollerite tüübid ja tüübid, mis võimaldavad seda teha, samuti nende konfiguratsioonide rakendusalad.

Nii või naa, on igaüks meist vähemalt korra elus kuulenud selliseid mõisted nagu “RAID”, “RAID-massiiv”, “RAID-kontroller”, kuid tõenäoliselt ei ole sellele tõsiselt tähelepanu pööratud, sest tavalisele arvutikasutajale on see vähese huvi allikas. Kuid kiiret toimimist sisemiste mäluseadmete kaudu ja nende töökindlust soovib igaüks. Sest ükskõik kui võimas ka pole arvuti riistvara, jääb mäluseadmete töös kiirus kitsaskohaks, kui rääkida arvuti ja serveri üldisest jõudlusest.
See oli tõsi seni, kuni traditsioonilised HDD-d asendasid kaasaegsed NVMe SSD-d, mille maht on 1 TB ja rohkem. Kui varem kasutati arvutites sageli SATA SSD-d koos paariga mahuka HDD-ga, siis nüüd asendab neid teine lahendus — NVMe SSD koos paariga mahuka SATA SSD-ga. Mis puudutab ettevõtte servereid ja 'pilvi', siis paljud on juba edukalt üle läinud SATA SSD-dele, kuna need on kiiremad kui tavalised 'kõvakettad' ja suudavad samaaegselt töötleda suuremat hulka sisend-/väljundoperatsioone.

Kuid süsteemi töökindlus on siiski piisavalt madal: me ei saa nagu 'Selgeltnägijate tuleproovis' täpselt ette ennustada, millal üks või teine tahkete andmekandjate seade elu lõpetab. Kui HDD-d 'surevad' järk-järgult, võimaldades märgata sümptomeid ja meetmeid võtta, siis SSD-d 'surevad' kohe ja ilma hoiatuseta. Ja nüüd on õige aeg selgitada, miks seda kõike üldse vaja on? Kas on mõttekas organiseerida RAID-mahuteid tahkete lahenduste SATA SSD-de ja NVMe SSD-de põhjal ning kas sellest on tõsiselt kasu?
Miks on RAID-maht vajalik?
Sõna "massiiv" viitab juba sellele, et selle loomiseks kasutatakse mitut salvestusseadet (HDD ja SSD), mis ühendatakse RAID-kontrolleri kaudu ja tunnustatakse operatsioonisüsteemi poolt kui ühtset andmehoidlat. RAID-massiivide peamine ülesanne on andmete juurde pääsemise aja minimeerimine, lugemise/kirjutamise kiiruse suurendamine ja usaldusväärsuse tagamine, mis saavutatakse võimalusega kiireks taastamiseks ebaõnnestumise korral. Ütlematagi selge, et koduste varukoopiate tegemiseks ei ole RAID-i kasutamine sugugi kohustuslik. Kui aga teil on kodune server, millele on vajalik pidev juurdepääs 24/7 — siis on see juba teine lugu.
RAID-massiividel on rohkem kui kümme taset, millest igaüks erineb kasutatavate kettaseente arvu ja omaduste poolest: näiteks RAID 0 pakub kõrget jõudlust ilma rikkekindluseta, RAID 1 korraldab automaatse andmete peegeldamise ilma kiiruseta, ja RAID 10 ühendab endas nende võimalusi. RAID 0 ja 1 on kõige lihtsamad (sest need ei vaja programmeerimise arvutusi) ja seega ka kõige populaarsemad. Lõpuks sõltub RAID-taseme valik ketta massiivi ülesannetest ja RAID-kontrolleri võimalustest.
Kodune ja ettevõtte RAID: mis vahe on?
Iga kaasaegse äri alus on suurte andmemahtude usaldusväärne säilitamine ettevõtte serverites. Lisaks, nagu me juba eelnevalt mainisime, peab nendele kootud olema pidev juurdepääs 24/7. Loomulikult on sama oluline ka tarkvara komponent, kuid antud juhul räägime siiski riistvarast, mis tagab usaldusväärse andmete salvestamise ja töötlemise. Ükski tarkvara ei päästa ettevõtet pankrotist, kui riistvaraline varustus ei vasta sellele seatud nõudmistele.

Need ülesanded lahendavad kõik riistvara tootjad, pakkudes nn ettevõtte seadmeid. Kingston pakub selles osas võimsaid tahkisdrive, nagu SATA-mudelid ja , samuti NVMe-mudeleid nagu DC1000M U.2 NVMe, DCU1000 U.2 NVMe ja DCP-1000 PCI-e, mis on mõeldud andmekeskustes (ADC) ja superarvutites kasutamiseks. Selliseid mäluseadeid kasutatakse tavaliselt koos riistvarakontrolleritega.

Kuid tarbijaturul (st kodustega arvutite ja NAS-serverite jaoks) on saadaval sellised mäluseadmed nagu NVMe PCIe, kuid sel juhul ei ole vajalik osta eraldi riistvarakontrollerit. Võib piirduda emaplaadi või NAS-serveri sisseehitatud lahendusega, kui te ei plaani ise ehitada kodu-serverit ebatavalisteks ülesanneteks (näiteks väikese koduhostingu loomiseks sõpradele). Lisaks selle, kodused RAID-massiivid ei taga tavaliselt sadu ja tuhandeid salvestusseadmeid, piirdudes kahe, nelja ja kaheksa seadmega (enamasti SATA).
RAID-kontrollerite liigid ja tüübid
On olemas kolm tüüpi RAID-kontrolle, mis põhinevad RAID-massiivide rakendamise põhimõtetel:
1. Tarkvarakontrollerid, kus massiivi juhtimine on CPU ja DRAM-i õlul (st tarkvarakoodi täitmine toimub protsessoris).
2. Integreeritud, st emaplaatidesse või NAS-serveritesse sisseehitatud.
3. Riistvaraline (modulaarsed), mis on eraldi PCI/PCIe laiendusplaadid emaplaatide jaoks.
Milles seisneb nende põhimõtteline erinevus? Tarkvara RAID-kontrollerid jäävad integreeritud ja riistvaralistele alla jõudluse ja tõrkeohutuse poolest, kuid need ei vaja töötamiseks spetsiaalset riistvara. Siiski on oluline veenduda, et host-süsteemi protsessor on piisavalt võimas, et käitada RAID-tarkvara, mõjutamata negatiivselt ka hostis töötavate rakenduste jõudlust. Integreeritud kontrollerid on tavaliselt varustatud oma puhvrimäluga ja kasutavad teatud hulga CPU ressursse.
Riistvaralised kontrollerid omavad nii oma puhvrimälu kui ka sisseehitatud protsessorit programmialgoritmide täitmiseks. Need võimaldavad tavaliselt rakendada kõiki RAID-massiivi tasemeid ja toetavad mitut tüüpi salvestusseadmeid. Näiteks saab tänapäevase Broadcomi riistvaralise kontrolleriga samal ajal ühendada SATA-, SAS- ja NVMe-seadmeid, võimaldades kontrollerit mitte vahetada serverite uuendamisel: näiteks, kui kolitakse SATA SSD-lt NVMe SSD-le, ei pea kontrollerit vahetama.

Nii, selle märkuse järel liigume edasi kontrollerite tüpoloogiale. Kui on olemas kolmerežiimilisi, siis peaks olema ka teistsuguseid? Antud juhul on sellele küsimusele vastus jaatav. RAID-kontrollereid saab jagada mitmeks tüübiks, sõltuvalt funktsioonidest ja võimalustest:
1. Tavalised kontrollerid RAID-funktsiooniga
Kogu hierarhias on see kõige lihtsam kontroller, mis võimaldab HDD ja SSD kombinatsioonidega moodustada RAID-massiive tasemetel "0", "1" või "0+1". See on tarkvaraliselt realiseeritud püsivara tasemel. Siiski, selliseid seadmeid on raske soovitada kasutamiseks ettevõtte segmentides, kuna neil puudub vahemälu ja nad ei toeta massiive tasemetel "5", "3" jne. Kuid algtaseme koduserveri jaoks sobivad nad hästi.
2. Kontrollerid, mis töötavad koos teiste RAID-kontrolleritega
Selle tüüpi kontrollerid saavad töötada koos emaplaatide integreeritud kontrolleritega. See teostatakse järgmisel põhimõttel: diskreetne RAID-kontroller lahendab "loogilisi" ülesandeid, samas kui integreeritud tegeleb andmevahetuse funktsioonidega salvestite vahel. Kuid on üks nüanss: selliste kontrollerite paralleelne töö on võimalik ainult ühilduvates süsteemide plaatides, mis tähendab, et nende kasutusala on tõsiselt piiratud.
3. Iseseisvad RAID-kontrollerid
Need diskreetSED lahendused sisaldavad kõiki vajalikke kiipe ettevõtte tasemel serveritega töötamiseks, omades oma BIOS'i, vahemälu ja protsessorit, mis tagab kiire vigade parandamise ja kontrollsummade arvutamise. Lisaks vastavad need kõrgetele usaldusväärsuse standarditele valmistamise osas ja nende mälu moodulid on kõrge kvaliteediga.
4. Välimised RAID-kontrollerid
On lihtne arvata, et kõik ülalnimetatud kontrollerid on sise-ja saavad toite emaplaadi PCIe pistikust. Mis see tähendab? See tähendab, et emaplaadi rike võib põhjustada RAID-massiivi talitlushäireid ja andmete kadu. Välised kontrollerid aga on sellest probleemist vabad, kuna need asuvad eraldi korpuses koos sõltumatu toiteplokiga. Usaldusväärsuse osas pakuvad sellised kontrollerid kõige kõrgemat andmete säilitamise taset.
, Microsemi Adaptec, Intel, IBM, Dell ja Cisco on vaid mõned ettevõtted, kes pakuvad praegu riistvara RAID-kontrolle.
RAID kontrollerite töörežiimid SAS/SATA/NVMe
Kolmerežiimsete HBA- ja RAID-kontrollerite (või Tri-Mode funktsiooniga kontrollerite) peamine ülesanne on luua riistvaraline RAID NVMe põhjal. Broadcomil oskavad seda teha 9400 seeria kontrollerid: näiteks, . See on iseseisev RAID-kontroller, millel on neli SFF-8643 pesat, ja tänu Tri-Mode toele võimaldab samal ajal ühenduda SATA/SAS- ja NVMe-mäluseadmetega. Lisaks on see üks energiatõhusamaid kontrollerid turul (tarbib vaid 17 Vatti energiat, olles alla 1,1 Vatti iga 16 pordi kohta).

Ühendamiseks kasutatakse PCI Express x8 versiooni 3.1, mis võimaldab saavutada ribalaiuse kuni 64 Gbit/s (2020. aastal oodatakse PCI Express 4.0 kontrollerite turuletulekut). 16-pordilise kontrolleri põhiolemuseks on 2-tuumaline kiip ja 72-bitine DDR4-2133 SDRAM (4 GB), samuti on võimalik ühendada kuni 240 SATA/SAS-seadet või kuni 24 NVMe-seadet. RAID-mahuti korraldamisel toetatakse tasemeid “0”, “1”, “5” ja “6”, samuti “10”, “50” ja “60”. Muide, vahemälu ja teiste kontrollerite seerias 9400 on kaitstud pingekõikumiste eest lisamooduli CacheVault CVPM05 abil.
Kolme režiimi tehnoloogia aluseks on SerDes andmete muundamise funktsioon: andmete järjestikuse esitusviisi konverteerimine SAS/SATA liidesetes paralleelseks vormiks PCIe NVMe-s ja vastupidi. See tähendab, et kontroller synchroniseerib kiirus ja protokollid, et sujuvalt töötada igat tüüpi salvestusseadmetega. See tagab sujuva viisi andmekeskuse infrastruktuuri skaleerimiseks: kasutajad saavad kasutada NVMe-d ilma oluliste muudatusteta muu süsteemi konfiguratsioonis.

Siiski, kui planeerida konfiguratsioone NVMe-kandjate kasutamisega, tuleks meeles pidada, et NVMe-lahendused kasutavad ühendamiseks 4 PCIe rida, seega iga seadme puhul kasutatakse kõiki SFF-8643 portide reasid. See tähendab, et MegaRAID 9460-16i kontrollerile saab otse ühendada vaid neli NVMe-kandjat. Või jääda kahe NVMe-lahenduse juurde, samal ajal ühendades kaheksa SAS-kandjat (vt ühendusskeemi allpool).

Pildil on näidatud, kuidas kasutada pesasid «0» (C0 / Connector 0) ja «1» NVMe ühendusteks ning pesasid «2» ja «3» SAS ühendusteks. Seda paigutust saab muuta vastupidiseks, kuid iga x4 NVMe draiv tuleb ühendada kasutades külgnevaid liinide. Kontrolleri töörežiimid seadistatakse através конфигурационных утилит StorCLI või Human Interface Infrastructure (HII), mis töötab UEFI keskkonnas.

Vaikerežiim on «PD64» profiil (toetab ainult SAS/SATA). Nagu varem mainitud, on kokku kolm profiili: «SAS/SATA only mode» (PD240 / PD64 / PD16), «NVMe only mode» (PCIe4) ja segarežiim, kus saavad töötada kõik draivitüübid: «PD64-PCIe4» (toetab 64 füüsilist ja virtuaalset ketast koos 4 NVMe draiviga). Segarežiimis peab määratud profiili väärtus olema - «ProfileID=13». Muide, valitud profiil salvestatakse peamiseks ja seda ei lähtestata isegi tehase seadete taastamise korral käsuga Set Factory Defaults. Selle muutmine on võimalik ainult käsitsi.
Kas tasub luua RAID-massiiv SSD-l?
Nii, oleme juba aru saanud, et RAID-massiivid on kõrge jõudluse tagajad. Kuid kas tasub kodu- ja ettevõttete jaoks RAID kokku panna tahkete kinnitustega? Paljud skeptikud ütlevad, et kiirusetõus ei ole piisavalt oluline, et investeerida NVMe-kinnitustesse. Kuid kas see on tõesti nii? Tõenäoliselt mitte. Suurim piirang SSD-de kasutamisel RAID-is (nii kodus kui ka ettevõtluses) võib olla ainult hind. Mida iganes sa ütled, on HDD-i gigabaidi hind oluliselt odavam.
Mitme tahke “kettaga” RAID-kontrollerisse ühendamine SSD-massiivi loomiseks teatud konfiguratsioonides võib jõudlusele tohutult mõju avaldada. Siiski ei tohi unustada, et maksimaalne jõudlus on piiratud RAID-kontrolleri enda läbilaskevõimega. RAID-tase, mis pakub parimat töökiirust, on RAID 0.

Kahte SSD-salvestit kasutava tavalise RAID 0 seadistamine, kus andmed jagatakse fikseeritud blokksuurustega ja vahelduvad SSD-de vahel, toob kaasa kahekordse jõudluse võrreldes ühe SSD kiirusetega. Samuti on RAID 0, millel on neli tahkisketast, neli korda kiiremini kui aeglaseim SSD kogumis (sõltuvalt RAID-kontrolleri läbilaskevõime piirangutest).
Kui lähtuda lihtsast arvutusest, on SATA SSD umbes 3 korda kiirem kui traditsiooniline SATA HDD. NVMe lahendused on veelgi tõhusamad — 10 korda või rohkem. Eeldades, et kaks kõvaketast null-tasemel RAID'is näitavad kahekordset jõudlust, suurendades seda 50%, on kaks SATA SSD kuus korda kiirem ning kaks NVMe SSD kakskümmend korda kiirem. Eelkõige võib üks Kingston KC2000 NVMe PCIe salvesti saavutada järjestikuse lugemise ja kirjutamise kiiruseni kuni 3200 MB/s, mis RAID 0 vormingus saavutab muljetavaldavad 6 GB/s. Ja 4 KB juhuslike plokkide lugemise kirjutamise kiirus tõuseb 350 000 IOPS-ilt 700 000 IOPS-ini. Kuid… samal ajal ei paku 'null' RAID meile üleliigsust.
Kodune ülevaade näitab, et kodustes tingimustes ei ole andmete üleliigne säilitamine tavaliselt vajalik, mistõttu on SSD-de jaoks parim RAID-konfiguratsioon tõepoolest RAID 0. See on usaldusväärne viis saavutada märkimisväärset jõudluse tõusu, alternatiivina sellistele tehnoloogiatele nagu Intel Optane SSD-d. Kuidas toimivad SSD-lahendused kõige populaarsimates RAID-tüüpides (“1”, “5”, “10”, “50”) — seda arutame meie järgmises artiklis.
See artikkel on koostatud koostöös meie kolleegidega Broadcom-ist, kes pakuvad oma kontrollerid Kingston-i inseneridele testimiseks ettevõtte klassi SATA/SAS/NVMe salvestusseadmete puhul. Tänu sellele sõbralikule sümbioosile ei pea klientidele muretsema Kingston-i salvestusseadmete usaldusväaruse ja stabiilsuse pärast HBA- ja RAID-kontrollerite puhul. .
Lisainfot Kingston-i toodete kohta leiate ettevõttest.
Allikas: habr.com
