RAID arrays paNVMe

RAID arrays paNVMe
Muchikamu chino tichataura nezve nzira dzakasiyana dzekuronga RAID arrays, uye zvakare kuratidza imwe yekutanga hardware RAID controllers neNVMe rutsigiro.

Ese akasiyana-siyana ekushandisa kweRAID tekinoroji inowanikwa muchikamu cheseva. Muchikamu chemutengi, chete software RAID0 kana RAID1 pamadhisiki maviri ndiyo inonyanya kushandiswa.

Ichi chinyorwa chinopa pfupiso pfupi yeRAID tekinoroji, chidzidzo chipfupi chekuti ungagadzira sei RAID arrays uchishandisa matatu akasiyana maturusi, uye kuenzanisa kwedhisiki dhisiki kuita uchishandisa imwe neimwe nzira.

Chii chinonzi RAID?

Wikipedia inopa tsanangudzo yakazara yeRAID tekinoroji:

bvuta (eng. Yakawandisa Array yeIndependent Disks - redundant array yemadhisiki akazvimirira (akazvimirira)) - data virtualization tekinoroji yekubatanidza akati wandei emuviri dhisiki zvishandiso kuita inonzwisisika module kuwedzera kukanganisa kushivirira uye kuita.

Kugadziriswa kwedhisiki arrays uye matekinoroji anoshandiswa zvinoenderana neakasarudzwa RAID level. RAID mazinga akajairwa mune yakatarwa Yakajairika RAID Disk Data Format. Inotsanangura mazinga akawanda eRAID, asi anonyanya kuzivikanwa ndeaya RAID0, RAID1, RAID5 uye RAID6.

RAID0, kana Stripes, idanho reRAID rinobatanidza madhiraivha maviri kana anopfuura emuviri mune imwechete inonzwisisika drive. Iyo vhoriyamu ye logical disk yakaenzana nehuwandu hwehuwandu hwemadhisiki emuviri anosanganisirwa mune array. Iko hakuna kudhindwa pane iyi RAID level, uye kutadza kweimwe drive kunogona kuguma nekurasikirwa kwese data mudhisiki chaiyo.

terama RAID1, kana girazi, inogadzira makopi akafanana e data pamadhisiki maviri kana anopfuura. Saizi yedhisiki chaiyo haipfuure diki saizi yemadhisiki emuviri. Iyo data iri paRAID1 virtual disk ichave iripo sekureba imwe chete yemuviri dhisiki kubva kune array iri kushanda. Kushandisa RAID1 kunowedzera kudzokororwa, asi mhinduro inodhura, sezvo mumadhisiki maviri kana anopfuura simba reimwe chete rinowanikwa.

terama RAID5 inogadzirisa dambudziko rekudhura. Kuti ugadzire hurongwa neRAID5 level, unoda zvishoma 3 disks, uye urongwa hunorwisana nekukundikana kweimwe disk. Dhata muRAID5 inochengetwa mumabhuroko ane cheki. Iko hakuna kupatsanurwa kwakasimba pakati pe data disks uye checksum disks. Checksums muRAID5 ndiwo mugumisiro wekushanda kweXOR inoshandiswa kuN-1 zvidhinha, imwe neimwe inotorwa kubva kune imwe disk.

Kunyangwe RAID arrays achiwedzera redundancy uye achipa redundancy, haana kukodzera kuchengetedza backups.

Mushure mekufamba kwenguva pfupi mumhando dzeRAID arrays, unogona kuenda kune zvishandiso uye zvirongwa zvinokutendera kuunganidza uye kushandisa disk arrays.

Mhando dzeRAID controllers

Pane nzira mbiri dzekugadzira nekushandisa RAID arrays: Hardware uye software. Tichatarisa mhinduro dzinotevera:

  • Linux Software RAID.
  • Intel® Virtual RAID PaCPU.
  • LSI MegaRAID 9460-8i.

Ziva kuti iyo Intel® mhinduro inomhanya pane chipset, iyo inomutsa mubvunzo wekuti iri hardware kana software mhinduro. Semuenzaniso, iyo VMWare ESXi hypervisor inoona VROC software uye haitsigire zviri pamutemo.

Linux Software RAID

Software RAID arrays mumhuri yeLinux OS mhinduro yakajairwa mune ese mutengi uye masevha zvikamu. Zvese zvaunoda kuti ugadzire array ndeye mdadm utility uye mashoma block zvishandiso. Izvo chete zvinodikanwa Linux Software RAID inoisa pane madhiraivha ayo anoshandisa ndeyekuva block mudziyo unowanikwa kune system.

Kusavapo kwemitengo yemidziyo uye software iri pachena mukana weiyi nzira. Linux Software RAID inoronga dhisiki arrays pamutengo weCPU nguva. Rondedzero yemazinga anotsigirwa eRAID uye mamiriro ezvino disk arrays anogona kutariswa mune mdstat faira, iri muprocfs mudzi:

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

Tsigiro yemazinga eRAID inowedzerwa nekubatanidza yakakodzera kernel module, semuenzaniso:

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

Zvese mashandiro ane disk arrays anoitwa kuburikidza ne mdadm command line utility. Iyo disk array yakaunganidzwa mune imwe kuraira:

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

Mushure mekuita murairo uyu, iyo /dev/md0 block device ichaonekwa muhurongwa, iyo inomiririra iwe sedhisiki chaiyo.

Intel® Virtual RAID PaCPU

RAID arrays paNVMeIntel® VROC Standard Hardware Key
Intel® Virtual RAID PaCPU (VROC) ihardware uye software tekinoroji yekugadzira RAID arrays yakavakirwa paIntel® chipsets. Iyi tekinoroji inowanikwa kunyanya kumabhodhi eamai anotsigira Intel® Xeon® Scalable processors. Nekusagadzikana, VROC haisi kuwanikwa. Kuti uishandise, unofanirwa kuisa kiyi yerezinesi yeVROC hardware.

Iyo yakajairwa VROC rezinesi inokutendera iwe kuti ugadzire dhisiki arrays ane 0, 1 uye gumi RAID mazinga. Iyo premium vhezheni inowedzera iyi runyorwa neRAID10 rutsigiro.

Intel® VROC tekinoroji pamabhodhi emazuva ano anoshanda pamwe chete neIntel® Vhoriyamu Management Chishandiso (VMD), iyo inopa kupisa-kuchinjana kugona kweNVMe madhiraivha.

RAID arrays paNVMeIntel® VROC Standard License Arrays inogadziriswa kuburikidza neSetup Utility kana server bhutsu. Pa tab enderera Iyo Intel® Virtual RAID pane CPU chinhu inoonekwa, kwaunogona kugadzirisa disk arrays.

RAID arrays paNVMeKugadzira RAID1 array pane maviri madhiraivha
Intel® VROC tekinoroji ine maekisi ayo kumusoro kwayo. Madhisiki arrays akavakwa achishandisa VROC anowirirana neLinux Software RAID. Izvi zvinoreva kuti mamiriro ezvirongwa anogona kutariswa mu/proc/mdstat uye kuitiswa kuburikidza nemdadm. Ichi "chimiro" chinotsigirwa zviri pamutemo neIntel. Mushure mekuunganidza RAID1 muSetup Utility, unogona kuona kuwiriraniswa kwemadhiraivha muOS:

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>

Ziva kuti haugone kuunganidza arrays paVROC uchishandisa mdadm (iyo yakaunganidzwa arrays ichave Linux SW RAID), asi iwe unogona kushandura madhisiki mairi uye kuparadzanisa arrays.

LSI MegaRAID 9460-8i

RAID arrays paNVMeKuonekwa kweLSI MegaRAID 9460-8i controller
Iyo RAID controller ndeye yakamira-yega hardware mhinduro. Iyo controller inoshanda chete nemadhiraivha akabatana zvakananga kwairi. Uyu RAID controller anotsigira anosvika makumi maviri nemana NVMe madhiraivha. Ndiyo NVMe tsigiro inoisa iyi controller kubva kune vamwe vazhinji.

RAID arrays paNVMeMain menu ye hardware controller
Paunenge uchishandisa UEFI modhi, zvigadziriso zvemutongi zvinosanganiswa muSetup Utility. Kuenzaniswa neVROC, iyo hardware controller menyu inotaridzika zvakanyanya kuomarara.

RAID arrays paNVMeKugadzira RAID1 pamadhisiki maviri
Kutsanangura magadzirirwo edhisiki arrays pane Hardware controller inyaya yakatetepa uye inogona kuve chikonzero chechinyorwa chakazara. Pano isu tichangozvimisa isu pachedu kugadzira RAID0 uye RAID1 ine default marongero.

Madhisiki akabatanidzwa kune Hardware controller haaonekwe kune inoshanda sisitimu. Pane kudaro, mutongi "anovhara" ese RAID arrays seSAS inotyaira. Madhiraivha akabatana neanodzora, asi kwete chikamu chedhisiki array, haazosvikiki ne OS.

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.

Kunyangwe ichivharidzirwa seSAS inotyaira, NVMe arrays ichashanda paPCIe kumhanya. Nekudaro, chimiro ichi chinokutendera kuti utange kubva kuNVMe mu Legacy.

test bhenji

Imwe neimwe nzira yekuronga dhisiki arrays ine yayo yemuviri zvayakanakira nezvayakaipira. Asi pane musiyano wekuita kana uchishanda nemadhisiki arrays?

Kuti uwane kurongeka kwakanyanya, bvunzo dzese dzichaitwa pane imwechete server. Kugadziriswa kwayo:

  • 2x Intel® Xeon® 6240;
  • 12x DDR4-2666 16 GB;
  • LSI MegaRAID 9460-8i;
  • Intel® VROC Standard Hardware Key;
  • 4x Intel® SSD DC P4510 U.2 2TB;
  • 1x Samsung 970 EVO Plus M.2 500GB.

Iwo mayuniti ebvunzo iP4510, imwe hafu yakabatana nebhodhi reamai, uye imwe hafu kune RAID controller. Iyo M.2 iri kushandisa Ubuntu 20.04 uye bvunzo dzichaitwa uchishandisa fio vhezheni 3.16.

Kuedza

Chokutanga pane zvose, ngationgororei kunonoka pakushanda ne diski. Muedzo unoitwa mune imwe shinda, saizi yebhuroka ndeye 4 KB. Muedzo wega wega unotora maminitsi mashanu. Usati watanga, iyo inoenderana block mudziyo inoiswa kune imwe seI / O scheduler. Iyo fio command inoita seizvi:

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

Kubva pamigumisiro yefio tinotora clat 99.00%. Migumisiro inoratidzwa mutafura iri pasi apa.

Kuverenga zvisina tsarukano, μs
Kurekodhwa zvisina tsarukano, μs

dhisiki
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

Pamusoro pekunonoka pakuwana data, ndinoda kuona kuita kwemadhiraivha uye nekuaenzanisa nekuita kwedhisiki remuviri. Raira kumhanya fio:

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

Kuita kunoyerwa maererano nemaitiro eI/O. Mhedzisiro inoratidzwa mutafura iri pazasi.

Random kuverenga 1 thread, IOPS
Random nyora 1 thread, IOPS
Random kuverenga 128 threads, IOPS
Random nyora 128 threads, IOPS

dhisiki
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

Zviri nyore kuona kuti kushandisa Hardware controller kunokonzeresa kuwedzera latency uye kurova kwekuita zvichienzaniswa nesoftware mhinduro.

mhedziso

Kushandisa zvigadziriso zvehardware kugadzira dhisiki arrays kubva kumadhisiki maviri zvinotaridzika zvisina musoro. Nekudaro, kune mabasa uko kushandiswa kweRAID controllers kunoruramiswa. Nekuuya kwevatongi vanotsigira iyo NVMe interface, vashandisi vane mukana wekushandisa nekukurumidza SSD mumapurojekiti avo.

RAID arrays paNVMe

Vashandisi vakanyoresa chete ndivo vanogona kutora chikamu muongororo. Nyorera mu, Munogamuchirwa.

Uri kushandisa RAID mhinduro?

  • 29,6%Hongu, hardware mhinduro32

  • 50,0%Hongu, software mhinduro54

  • 16,7%No18

  • 3,7%Hapana RAID inodiwa4

108 vashandisi vakavhota. 14 vashandisi vakaramba.

Source: www.habr.com

Voeg