Å ajÄ rakstÄ mÄs runÄsim par dažÄdiem RAID masÄ«vu organizÄÅ”anas veidiem, kÄ arÄ« parÄdÄ«sim vienu no pirmajiem aparatÅ«ras RAID kontrolleriem ar NVMe atbalstu.
Serveru segmentÄ ir atrodami visi RAID tehnoloÄ£ijas pielietojumi. Klientu segmentÄ visbiežÄk tiek izmantota tikai programmatÅ«ra RAID0 vai RAID1 divos diskos.
Å ajÄ rakstÄ tiks sniegts Ä«ss pÄrskats par RAID tehnoloÄ£iju, Ä«sa apmÄcÄ«ba par to, kÄ izveidot RAID masÄ«vus, izmantojot trÄ«s dažÄdus rÄ«kus, un virtuÄlÄ diska veiktspÄjas salÄ«dzinÄjums, izmantojot katru metodi.
Kas ir RAID?
RAID (Angļu NeatkarÄ«go disku liekais masÄ«vs - redundants neatkarÄ«gu (neatkarÄ«gu) disku masÄ«vs) - datu virtualizÄcijas tehnoloÄ£ija vairÄku fizisko disku ierÄ«Äu apvienoÅ”anai loÄ£iskÄ modulÄ«, lai palielinÄtu kļūdu toleranci un veiktspÄju.
Disku masÄ«vu konfigurÄcija un izmantotÄs tehnoloÄ£ijas ir atkarÄ«gas no izvÄlÄtÄ RAID lÄ«menis. RAID lÄ«meÅi ir standartizÄti specifikÄcijÄ
RAID0Vai Stripes, ir RAID lÄ«menis, kas apvieno divus vai vairÄkus fiziskos diskus vienÄ loÄ£iskÄ diskdzinÄ«. LoÄ£iskÄ diska apjoms ir vienÄds ar masÄ«vÄ iekļauto fizisko disku apjomu summu. Å ajÄ RAID lÄ«menÄ« nav dublÄÅ”anas, un viena diskdziÅa kļūme var izraisÄ«t visu virtuÄlÄ diska datu zudumu.
LÄ«menis RAID1Vai spogulis, izveido identiskas datu kopijas divos vai vairÄkos diskos. VirtuÄlÄ diska izmÄrs nepÄrsniedz fizisko disku minimÄlo izmÄru. Dati RAID1 virtuÄlajÄ diskÄ bÅ«s pieejami tik ilgi, kamÄr darbosies vismaz viens fiziskais disks no masÄ«va. RAID1 izmantoÅ”ana palielina dublÄÅ”anos, taÄu ir diezgan dÄrgs risinÄjums, jo divu vai vairÄku disku masÄ«vos ir pieejama tikai viena diska ietilpÄ«ba.
LÄ«menis RAID5 atrisina augsto izmaksu problÄmu. Lai izveidotu masÄ«vu ar RAID5 lÄ«meni, ir nepiecieÅ”ami vismaz 3 diski, un masÄ«vs ir izturÄ«gs pret viena diska atteici. Dati RAID5 tiek glabÄti blokos ar kontrolsummÄm. Nav stingra dalÄ«juma starp datu diskiem un kontrolsummas diskiem. Kontrolsummas RAID5 ir XOR darbÄ«bas rezultÄts, kas tiek lietots N-1 blokiem, katrs Åemts no cita diska.
Lai gan RAID masÄ«vi palielina dublÄÅ”anu un nodroÅ”ina dublÄÅ”anu, tie nav piemÄroti dublÄjumu glabÄÅ”anai.
PÄc Ä«sas iepazÄ«Å”anÄs ar RAID masÄ«vu veidiem varat pÄriet uz ierÄ«cÄm un programmÄm, kas ļauj apkopot un izmantot disku masÄ«vus.
RAID kontrolleru veidi
Ir divi veidi, kÄ izveidot un izmantot RAID masÄ«vus: aparatÅ«ru un programmatÅ«ru. MÄs apsvÄrsim Å”Ädus risinÄjumus:
- Linux programmatūras RAID.
- IntelĀ® virtuÄlais RAID CPU.
- LSI MegaRAID 9460-8i.
Å emiet vÄrÄ, ka IntelĀ® risinÄjums darbojas ar mikroshÄmojumu, kas rada jautÄjumu, vai tas ir aparatÅ«ras vai programmatÅ«ras risinÄjums. PiemÄram, VMWare ESXi hipervizors Åem vÄrÄ VROC programmatÅ«ru un oficiÄli to neatbalsta.
Linux programmatūras RAID
ProgrammatÅ«ras RAID masÄ«vi Linux OS saimÄ ir diezgan izplatÄ«ts risinÄjums gan klienta, gan servera segmentÄ. Viss, kas jums nepiecieÅ”ams, lai izveidotu masÄ«vu, ir mdadm utilÄ«ta un dažas bloku ierÄ«ces. VienÄ«gÄ prasÄ«ba, ko Linux programmatÅ«ras RAID izvirza izmantotajiem diskdziÅiem, ir sistÄmai pieejama blokierÄ«ce.
IekÄrtas un programmatÅ«ras izmaksu neesamÄ«ba ir acÄ«mredzama Ŕīs metodes priekÅ”rocÄ«ba. Linux programmatÅ«ras RAID organizÄ disku masÄ«vus uz CPU laika rÄÄ·ina. AtbalstÄ«to RAID lÄ«meÅu sarakstu un paÅ”reizÄjo disku masÄ«vu statusu var skatÄ«t mdstat failÄ, kas atrodas procfs saknÄ:
root@grindelwald:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid10]
unused devices: <none>
RAID lÄ«meÅu atbalsts tiek pievienots, pievienojot atbilstoÅ”o kodola moduli, piemÄram:
root@grindelwald:~# modprobe raid456
root@grindelwald:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
unused devices: <none>
Visas darbÄ«bas ar disku masÄ«viem tiek veiktas, izmantojot komandrindas utilÄ«tu mdadm. Diska masÄ«vs ir salikts vienÄ komandÄ:
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1
PÄc Ŕīs komandas izpildes sistÄmÄ parÄdÄ«sies /dev/md0 bloka ierÄ«ce, kas apzÄ«mÄ virtuÄlo disku.
IntelĀ® virtuÄlais RAID CPU
IntelĀ® VROC standarta aparatÅ«ras atslÄga
IntelĀ® Virtual RAID On CPU (VROC) ir aparatÅ«ras un programmatÅ«ras tehnoloÄ£ija RAID masÄ«vu izveidei, pamatojoties uz IntelĀ® mikroshÄmojumiem. Å Ä« tehnoloÄ£ija galvenokÄrt ir pieejama mÄtesplatÄm, kas atbalsta IntelĀ® XeonĀ® Scalable procesorus. PÄc noklusÄjuma VROC nav pieejams. Lai to aktivizÄtu, jÄinstalÄ VROC aparatÅ«ras licences atslÄga.
Standarta VROC licence ļauj izveidot disku masÄ«vus ar 0, 1 un 10 RAID lÄ«meÅiem. Premium versija paplaÅ”ina Å”o sarakstu ar RAID5 atbalstu.
IntelĀ® VROC tehnoloÄ£ija mÅ«sdienu mÄtesplatÄs darbojas kopÄ ar IntelĀ® Volume Management Device (VMD), kas nodroÅ”ina karstÄs maiÅas iespÄju NVMe diskdziÅiem.
IntelĀ® VROC standarta licence MasÄ«vi tiek konfigurÄti, izmantojot iestatÄ«Å”anas utilÄ«tu, kad serveris sÄk sÄknÄties. Uz cilnes uzlabots Tiek parÄdÄ«ts vienums IntelĀ® Virtual RAID uz CPU, kurÄ varat konfigurÄt disku masÄ«vus.
RAID1 masÄ«va izveide uz diviem diskdziÅiem
IntelĀ® VROC tehnoloÄ£ijai ir savi dūži. Disku masÄ«vi, kas izveidoti, izmantojot VROC, ir saderÄ«gi ar Linux programmatÅ«ras RAID. Tas nozÄ«mÄ, ka masÄ«vu stÄvokli var pÄrraudzÄ«t mapÄ /proc/mdstat un pÄrvaldÄ«t, izmantojot mdadm. Å o "funkciju" oficiÄli atbalsta Intel. PÄc RAID1 montÄžas iestatÄ«Å”anas utilÄ«tprogrammÄ varat novÄrot disku sinhronizÄciju operÄtÄjsistÄmÄ:
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>
Å emiet vÄrÄ, ka jÅ«s nevarat salikt masÄ«vus uz VROC, izmantojot mdadm (samontÄtie masÄ«vi bÅ«s Linux SW RAID), taÄu jÅ«s varat mainÄ«t tajos esoÅ”os diskus un izjaukt masÄ«vus.
LSI MegaRAID 9460-8i
LSI MegaRAID 9460-8i kontrollera izskats
RAID kontrolieris ir atseviŔķs aparatÅ«ras risinÄjums. Kontrolieris darbojas tikai ar diskdziÅiem, kas tam ir tieÅ”i pievienoti. Å is RAID kontrolleris atbalsta lÄ«dz 24 NVMe diskdziÅiem. Tas ir NVMe atbalsts, kas izceļ Å”o kontrolieri no daudziem citiem.
AparatÅ«ras kontrollera galvenÄ izvÄlne
Izmantojot UEFI režīmu, kontrollera iestatÄ«jumi ir integrÄti iestatÄ«Å”anas utilÄ«tprogrammÄ. SalÄ«dzinot ar VROC, aparatÅ«ras kontrollera izvÄlne izskatÄs daudz sarežģītÄka.
RAID1 izveide divos diskos
Paskaidrojums, kÄ konfigurÄt disku masÄ«vus aparatÅ«ras kontrollerÄ«, ir diezgan delikÄts temats, un tas varÄtu bÅ«t iemesls pilnvÄrtÄ«gam rakstam. Å eit mÄs vienkÄrÅ”i aprobežosimies ar RAID0 un RAID1 izveidi ar noklusÄjuma iestatÄ«jumiem.
AparatÅ«ras kontrollerim pievienotie diski operÄtÄjsistÄmai nav redzami. TÄ vietÄ kontrolieris "maskÄ" visus RAID masÄ«vus kÄ SAS diskus. DiskdziÅi, kas savienoti ar kontrolieri, bet nav daļa no disku masÄ«va, OS nebÅ«s pieejami.
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.
Neskatoties uz to, ka NVMe masÄ«vi ir maskÄti kÄ SAS diskdziÅi, tie darbosies ar PCIe Ätrumu. TomÄr Ŕī funkcija ļauj sÄknÄt no NVMe mantojumÄ.
Testa stends
Katrai disku masÄ«vu organizÄÅ”anas metodei ir savi fiziski plusi un mÄ«nusi. Bet vai pastÄv veiktspÄjas atŔķirÄ«ba, strÄdÄjot ar disku masÄ«viem?
Lai panÄktu maksimÄlu godÄ«gumu, visi testi tiks veikti vienÄ serverÄ«. TÄs konfigurÄcija:
- 2x IntelĀ® XeonĀ® 6240;
- 12x DDR4-2666 16 GB;
- LSI MegaRAID 9460-8i;
- IntelĀ® VROC standarta aparatÅ«ras atslÄga;
- 4x IntelĀ® SSD DC P4510 U.2 2TB;
- 1x Samsung 970 EVO Plus M.2 500GB.
Testa vienÄ«bas ir P4510, no kurÄm viena puse ir savienota ar mÄtesplati, bet otra puse ar RAID kontrolieri. M.2 darbojas Ubuntu 20.04, un testi tiks palaisti, izmantojot fio versiju 3.16.
TestÄÅ”ana
PirmkÄrt, pÄrbaudÄ«sim aizkaves, strÄdÄjot ar disku. Tests tiek izpildÄ«ts vienÄ pavedienÄ, bloka izmÄrs ir 4 KB. Katrs tests ilgst 5 minÅ«tes. Pirms palaiÅ”anas atbilstoÅ”Ä bloka ierÄ«ce kÄ I/O plÄnotÄjs ir iestatÄ«ta uz None. Komanda fio izskatÄs Å”Ädi:
fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio --iodepth=1 --loops=1000 --runtime=300 --rw=<mode> --filename=<blkdev>
No fio rezultÄtiem Åemam clat 99.00%. RezultÄti ir parÄdÄ«ti tabulÄ zemÄk.
Izlases nolasÄ«Å”ana, Ī¼s
NejauÅ”s ieraksts, Ī¼s
disks
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
Papildus aizkavei, piekļūstot datiem, es vÄlÄtos redzÄt virtuÄlo disku veiktspÄju un salÄ«dzinÄt tos ar fiziskÄ diska veiktspÄju. Komanda, lai palaistu fio:
fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio --loops=1000 --runtime=300 --iodepth=<threads> --rw=<mode> --filename=<blkdev>
VeiktspÄju mÄra I/O darbÄ«bu izteiksmÄ. RezultÄti ir parÄdÄ«ti zemÄk esoÅ”ajÄ tabulÄ.
NejauŔi nolasīts 1 pavediens, IOPS
NejauŔi ierakstiet 1 pavedienu, IOPS
NejauŔi nolasīti 128 pavedieni, IOPS
NejauŔi rakstiet 128 pavedienus, IOPS
disks
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
Ir viegli saprast, ka aparatÅ«ras kontrollera izmantoÅ”ana palielina latentumu un samazina veiktspÄju salÄ«dzinÄjumÄ ar programmatÅ«ras risinÄjumiem.
SecinÄjums
AparatÅ«ras risinÄjumu izmantoÅ”ana, lai izveidotu disku masÄ«vus no diviem diskiem, izskatÄs neracionÄli. TomÄr ir uzdevumi, kuros RAID kontrolleru izmantoÅ”ana ir pamatota. LÄ«dz ar kontrolieru parÄdÄ«Å”anos, kas atbalsta NVMe saskarni, lietotÄjiem ir iespÄja savos projektos izmantot ÄtrÄkus SSD.
AptaujÄ var piedalÄ«ties tikai reÄ£istrÄti lietotÄji.
Vai izmantojat RAID risinÄjumus?
-
29,6%JÄ, aparatÅ«ras risinÄjumi32
-
50,0%JÄ, programmatÅ«ras risinÄjumi54
-
16,7%Nr.18
-
3,7%Nav nepiecieŔams RAID4
Nobalsoja 108 lietotÄji. 14 lietotÄji atturÄjÄs.
Avots: www.habr.com