RAID fylki á NVMe

RAID fylki á NVMe
Í þessari grein munum við tala um mismunandi leiðir til að skipuleggja RAID fylki, og einnig sýna einn af fyrstu vélbúnaðar RAID stýringar með NVMe stuðning.

Öll fjölbreytt forrit RAID tækni er að finna í miðlarahlutanum. Í biðlarahlutanum er aðeins hugbúnaður RAID0 eða RAID1 á tveimur diskum oftast notaður.

Þessi grein mun veita stutt yfirlit yfir RAID tækni, stutt kennsluefni um hvernig á að búa til RAID fylki með því að nota þrjú mismunandi verkfæri, og samanburð á frammistöðu sýndardisks með hverri aðferð.

Hvað er RAID?

Wikipedia gefur yfirgripsmikla skilgreiningu á RAID tækni:

RAID (English Óþarfi Array af óháðum diskum - óþarfi fylki óháðra (óháðra) diska) - sýndarvæðingartækni gagna til að sameina nokkur líkamleg diskatæki í rökrétta einingu til að auka bilanaþol og afköst.

Uppsetning diskafylkja og tæknin sem notuð er fer eftir því sem valið er RAID stig. RAID stig eru staðlað í forskriftinni Algengt RAID Disk Data Format. Það lýsir mörgum RAID stigum, en algengustu eru RAID0, RAID1, RAID5 og RAID6.

RAID0Eða Rendur, er RAID-stig sem sameinar tvö eða fleiri líkamleg drif í eitt rökrétt drif. Rúmmál rökræna disksins er jafnt og summa rúmmáls líkamlegra diskanna sem eru í fylkinu. Það er engin offramboð á þessu RAID-stigi og bilun í einu drifi getur leitt til taps á öllum gögnum á sýndardisknum.

Level RAID1Eða Mirror, býr til eins afrit af gögnum á tveimur eða fleiri diskum. Stærð sýndardisksins fer ekki yfir lágmarksstærð líkamlegra diskanna. Gögnin á RAID1 sýndardiskinum verða tiltæk svo lengi sem að minnsta kosti einn líkamlegur diskur úr fylkinu er í notkun. Notkun RAID1 bætir við offramboði, en er frekar dýr lausn, þar sem í fylki með tveimur eða fleiri diskum er aðeins einn tiltækur.

Level RAID5 leysir vandamálið um háan kostnað. Til að búa til fylki með RAID5 stigi þarftu að minnsta kosti 3 diska og fylkið er ónæmt fyrir bilun á einum diski. Gögn í RAID5 eru geymd í blokkum með eftirlitssummum. Það er engin ströng skipting á milli gagnadiska og checksum diska. Athugunarsummur í RAID5 eru afleiðing af XOR-aðgerð sem er beitt á N-1 blokkir, hver tekin af öðrum diski.

Þó að RAID fylki auki offramboð og veiti offramboð, þá henta þau ekki til að geyma afrit.

Eftir stutta skoðunarferð um tegundir RAID fylkja geturðu farið yfir í tæki og forrit sem gera þér kleift að setja saman og nota diskafylki.

Tegundir RAID stýringa

Það eru tvær leiðir til að búa til og nota RAID fylki: vélbúnað og hugbúnað. Við munum íhuga eftirfarandi lausnir:

  • Linux hugbúnaður RAID.
  • Intel® Virtual RAID á örgjörva.
  • LSI MegaRAID 9460-8i.

Athugið að Intel® lausnin keyrir á kubbasetti, sem vekur upp spurningu um hvort um sé að ræða vélbúnaðar- eða hugbúnaðarlausn. Til dæmis, VMWare ESXi hypervisor lítur á VROC hugbúnað og styður hann ekki opinberlega.

Linux hugbúnaður RAID

Hugbúnaðar RAID fylki í Linux OS fjölskyldunni eru nokkuð algeng lausn í bæði biðlara og netþjónahluta. Allt sem þú þarft til að búa til fylki er mdadm tólið og nokkur blokkartæki. Eina krafan sem Linux Software RAID setur á drifunum sem það notar er að vera blokkbúnaður sem er aðgengilegur fyrir kerfið.

Skortur á kostnaði við búnað og hugbúnað er augljós kostur þessarar aðferðar. Linux Software RAID skipuleggur diska fylki á kostnað CPU tíma. Lista yfir studd RAID stig og stöðu núverandi diskafylkja er hægt að skoða í mdstat skránni, sem er staðsett í procfs rótinni:

root@grindelwald:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid10] 
unused devices: <none>

Stuðningur við RAID stigum er bætt við með því að tengja viðeigandi kjarnaeiningu, til dæmis:

root@grindelwald:~# modprobe raid456
root@grindelwald:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
unused devices: <none>

Allar aðgerðir með diskafylki eru framkvæmdar í gegnum mdadm skipanalínuforritið. Diskararrayið er sett saman í einni skipun:

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1

Eftir að þessi skipun hefur verið framkvæmd mun /dev/md0 blokkartækið birtast í kerfinu, sem táknar þig sem sýndardisk.

Intel® Virtual RAID á örgjörva

RAID fylki á NVMeIntel® VROC staðall vélbúnaðarlykill
Intel® Virtual RAID On CPU (VROC) er vél- og hugbúnaðartækni til að búa til RAID fylki sem byggjast á Intel® kubbasettum. Þessi tækni er fyrst og fremst fáanleg fyrir móðurborð sem styðja Intel® Xeon® Scalable örgjörva. Sjálfgefið er VROC ekki tiltækt. Til að virkja það verður þú að setja upp VROC vélbúnaðarleyfislykil.

Staðlað VROC leyfi gerir þér kleift að búa til diskafylki með 0, 1 og 10 RAID stigum. Úrvalsútgáfan stækkar þennan lista með RAID5 stuðningi.

Intel® VROC tækni á nútíma móðurborðum virkar í tengslum við Intel® Volume Management Device (VMD), sem veitir heita skiptamöguleika fyrir NVMe drif.

RAID fylki á NVMeIntel® VROC staðalleyfi Fylki eru stillt í gegnum uppsetningarforritið þegar þjónninn ræsir. Á flipanum Ítarlegri Intel® Virtual RAID on CPU atriðið birtist, þar sem þú getur stillt diskafylki.

RAID fylki á NVMeAð búa til RAID1 fylki á tveimur drifum
Intel® VROC tæknin hefur sína eigin ása uppi í erminni. Diskafylki byggð með VROC eru samhæf við Linux Software RAID. Þetta þýðir að hægt er að fylgjast með stöðu fylkanna í /proc/mdstat og stjórna þeim í gegnum mdadm. Þessi „eiginleiki“ er opinberlega studdur af Intel. Eftir að RAID1 hefur verið sett saman í Setup Utility geturðu fylgst með samstillingu drifa í stýrikerfinu:

root@grindelwald:~# cat /proc/mdstat 
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : active raid1 nvme2n1[1] nvme1n1[0]
      1855832064 blocks super external:/md127/0 [2/2] [UU]
      [>....................]  resync =  1.3% (24207232/1855832064) finish=148.2min speed=205933K/sec
      
md127 : inactive nvme1n1[1](S) nvme2n1[0](S)
      10402 blocks super external:imsm
       
unused devices: <none>

Athugaðu að þú getur ekki sett saman fylki á VROC með mdadm (samsettu fylkin verða Linux SW RAID), en þú getur skipt um diska í þeim og tekið fylkin í sundur.

LSI MegaRAID 9460-8i

RAID fylki á NVMeÚtlit LSI MegaRAID 9460-8i stjórnandans
RAID stjórnandi er sjálfstæð vélbúnaðarlausn. Stýringin virkar aðeins með drifum sem eru tengdir beint við hann. Þessi RAID stjórnandi styður allt að 24 NVMe drif. Það er NVMe stuðningurinn sem aðgreinir þennan stjórnanda frá mörgum öðrum.

RAID fylki á NVMeAðalvalmynd vélbúnaðarstýringar
Þegar UEFI-stilling er notuð eru stillingar stjórnanda samþættar í uppsetningarforritinu. Í samanburði við VROC lítur vélbúnaðarstýringarvalmyndin miklu flóknari út.

RAID fylki á NVMeAð búa til RAID1 á tveimur diskum
Það er frekar viðkvæmt umræðuefni að útskýra hvernig á að stilla diskafylki á vélbúnaðarstýringu og gæti verið ástæðan fyrir fullri grein. Hér munum við einfaldlega takmarka okkur við að búa til RAID0 og RAID1 með sjálfgefnum stillingum.

Diskar sem tengdir eru vélbúnaðarstýringunni eru ekki sýnilegir stýrikerfinu. Þess í stað „maskar“ stjórnandinn öll RAID fylki sem SAS drif. Drif sem eru tengd við stjórnandann, en ekki hluti af diskafylki, verða ekki aðgengileg fyrir stýrikerfið.

root@grindelwald:~# smartctl -i /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-48-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               AVAGO
Product:              MR9460-8i
Revision:             5.14
Compliance:           SPC-3
User Capacity:        1,999,844,147,200 bytes [1.99 TB]
Logical block size:   512 bytes
Rotation Rate:        Solid State Device
Logical Unit id:      0x000000000000000000000000000000
Serial number:        00000000000000000000000000000000
Device type:          disk
Local Time is:        Sun Oct 11 16:27:59 2020 MSK
SMART support is:     Unavailable - device lacks SMART capability.

Þrátt fyrir að vera dulbúin sem SAS drif munu NVMe fylki starfa á PCIe hraða. Hins vegar gerir þessi eiginleiki þér kleift að ræsa frá NVMe í Legacy.

Prófstandur

Hver aðferð til að skipuleggja diskafylki hefur sína líkamlegu kosti og galla. En er frammistöðumunur þegar unnið er með diskafylki?

Til að ná hámarks sanngirni verða öll próf gerð á sama netþjóni. Stilling þess:

  • 2x Intel® Xeon® 6240;
  • 12x DDR4-2666 16 GB;
  • LSI MegaRAID 9460-8i;
  • Intel® VROC staðall vélbúnaðarlykill;
  • 4x Intel® SSD DC P4510 U.2 2TB;
  • 1x Samsung 970 EVO Plus M.2 500GB.

Prófunareiningarnar eru P4510, annar helmingurinn er tengdur við móðurborðið og hinn helmingurinn við RAID stjórnandi. M.2 keyrir Ubuntu 20.04 og prófin verða keyrð með fio útgáfu 3.16.

Prófun

Fyrst af öllu skulum við athuga tafir þegar unnið er með diskinn. Prófið er framkvæmt í einum þræði, blokkastærðin er 4 KB. Hvert próf tekur 5 mínútur. Áður en byrjað er, er samsvarandi blokkartæki stillt á ekkert sem I/O tímaáætlun. Fio skipunin lítur svona út:

fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio  --iodepth=1 --loops=1000 --runtime=300  --rw=<mode> --filename=<blkdev>

Af fio niðurstöðum tökum við clat 99.00%. Niðurstöðurnar eru sýndar í töflunni hér að neðan.

Tilviljunarkennd lestur, μs
Handahófskennd upptaka, μs

diskur
112
78

Linux SW RAID, RAID0
113
45

VROC, RAID0
112
46

LSI, RAID0
122
63

Linux SW RAID, RAID1
113
48

VROC, RAID1
113
45

LSI, RAID1
128
89

Auk tafa við aðgang að gögnum langar mig að sjá frammistöðu sýndardrifa og bera saman við frammistöðu líkamlegs disks. Skipun til að keyra fio:

fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio  --loops=1000 --runtime=300  --iodepth=<threads> --rw=<mode> --filename=<blkdev>

Afköst eru mæld með tilliti til I/O aðgerða. Niðurstöðurnar eru sýndar í töflunni hér að neðan.

Af handahófi lesinn 1 þráður, IOPS
Skrifaðu af handahófi 1 þráð, IOPS
Lestu 128 þræði af handahófi, IOPS
Skrifaðu af handahófi 128 þræði, IOPS

diskur
11300
40700
453000
105000

Linux SW RAID, RAID0
11200
52000
429000
232000

VROC, RAID0
11200
52300
441000
162000

LSI, RAID0
10900
44200
311000
160000

Linux SW RAID, RAID1
10000
48600
395000
147000

VROC, RAID1
10000
54400
378000
244000

LSI, RAID1
11000
34300
229000
248000

Það er auðvelt að sjá að notkun vélbúnaðarstýringar hefur í för með sér aukna leynd og árangurshögg samanborið við hugbúnaðarlausnir.

Ályktun

Að nota vélbúnaðarlausnir til að búa til diskafylki úr tveimur diskum lítur út fyrir að vera óskynsamlegt. Hins vegar eru verkefni þar sem notkun RAID stýringa er réttlætanleg. Með tilkomu stýringa sem styðja NVMe viðmótið hafa notendur tækifæri til að nota hraðari SSD í verkefnum sínum.

RAID fylki á NVMe

Aðeins skráðir notendur geta tekið þátt í könnuninni. Skráðu þig inn, takk.

Ertu að nota RAID lausnir?

  • 29,6%Já, vélbúnaðarlausnir32

  • 50,0%Já, hugbúnaðarlausnir54

  • 16,7%No18

  • 3,7%Engin RAID þörf4

108 notendur kusu. 14 notendur sátu hjá.

Heimild: www.habr.com

Bæta við athugasemd