Izinhlaka ze-RAID ku-NVMe

Izinhlaka ze-RAID ku-NVMe
Kulesi sihloko sizokhuluma ngezindlela ezahlukene zokuhlela ama-RAID array, futhi sibonise enye yabalawuli bokuqala be-hardware RAID ngokusekelwa kwe-NVMe.

Zonke izinhlobo zezicelo zobuchwepheshe be-RAID zitholakala engxenyeni yeseva. Esigabeni seklayenti, isoftware kuphela i-RAID0 noma i-RAID1 kumadiski amabili esetshenziswa kakhulu.

Lesi sihloko sizonikeza ukubuka okufushane kobuchwepheshe be-RAID, isifundo esifushane sendlela yokudala ama-RAID array usebenzisa amathuluzi amathathu ahlukene, kanye nokuqhathanisa ukusebenza kwediski ebonakalayo usebenzisa indlela ngayinye.

Yini i-RAID?

I-Wikipedia inikeza incazelo ephelele yobuchwepheshe be-RAID:

Raid (eng. Uhlu Olungafuneki Lwamadiski Azimele - uhlu olungasadingeki lwamadiski azimele (azimele) - ubuchwepheshe bokusebenzisa idatha ukuze kuhlanganiswe amadivaysi amaningana ediski ebonakalayo abe module enengqondo ukuze kwandiswe ukubekezelelana kwamaphutha nokusebenza.

Ukucushwa kwama-disk array kanye nobuchwepheshe obusetshenzisiwe kuncike kokukhethiwe Ileveli ye-RAID. Amaleveli e-RAID amisiwe ekucacisweni Ifomethi yedatha yediski ye-RAID evamile. Ichaza amazinga amaningi e-RAID, kodwa avame kakhulu i-RAID0, i-RAID1, i-RAID5 ne-RAID6.

RAID0, noma stripes, izinga le-RAID elihlanganisa amadrayivu aphathekayo amabili noma ngaphezulu abe yidrayivu eyodwa enengqondo. Ivolumu yediski enengqondo ilingana nesamba samavolumu amadiski aphathekayo afakwe kuhlu. Akukho ukuphindaphindeka kuleli zinga le-RAID, futhi ukwehluleka kwedrayivu eyodwa kungaholela ekulahlekeni kwayo yonke idatha kudiski ebonakalayo.

Ileveli RAID1, noma Mirror, idala amakhophi edatha afanayo kumadiski amabili noma ngaphezulu. Usayizi wediski ebonakalayo aweqi usayizi omncane wamadiski aphathekayo. Idatha ekudiski ebonakalayo ye-RAID1 izotholakala inqobo nje uma okungenani idiski eliphathekayo elilodwa elivela ohlwini lisebenza. Ukusebenzisa i-RAID1 kwengeza ukuphindaphindeka, kodwa kuyisixazululo esibiza kakhulu, njengoba ezinhlelweni zamadiski amabili noma ngaphezulu umthamo weyodwa kuphela uyatholakala.

Ileveli RAID5 ixazulula inkinga yezindleko eziphezulu. Ukuze udale uhlu olunezinga le-RAID5, udinga okungenani amadiski angu-3, ​​futhi i-array imelana nokwehluleka kwediski eyodwa. Idatha ku-RAID5 igcinwa kumabhulokhi anamasheke. Akukho ukwehlukana okuqinile phakathi kwama-data disks nama-checksum disks. Amasheke ku-RAID5 awumphumela wokusebenza kwe-XOR okusetshenziswe kumabhulokhi we-N-1, ngalinye lithathwe kudiski ehlukile.

Nakuba izinhlu ze-RAID zikhulisa ukungasasebenzi futhi zinikeza ukuphinda zisebenze, azifaneleki ukugcina izipele.

Ngemva kohambo olufushane ezinhlotsheni zezinhlaka ze-RAID, ungadlulela kumadivayisi nezinhlelo ezikuvumela ukuthi uhlanganise futhi usebenzise ama-disk array.

Izinhlobo zezilawuli ze-RAID

Kunezindlela ezimbili zokudala nokusebenzisa izinhlelo ze-RAID: ihadiwe nesoftware. Sizocabangela izixazululo ezilandelayo:

  • I-Linux Software RAID.
  • I-Intel® Virtual RAID Ku-CPU.
  • I-LSI MegaRAID 9460-8i.

Qaphela ukuthi isisombululo se-Intel® sisebenza ku-chipset, okuphakamisa umbuzo wokuthi ingabe i-hardware noma isixazululo sesofthiwe. Isibonelo, i-VMWare ESXi hypervisor icabangela isofthiwe ye-VROC futhi ayisekeli ngokusemthethweni.

I-Linux Software RAID

Amalungu afanayo e-Software RAID emndenini we-Linux OS ayisixazululo esivame kakhulu kuzo zombili izingxenye zeklayenti neseva. Okudingayo ukuze udale uhlu olusetshenziswayo lwe-mdadm kanye namadivayisi ambalwa we-block. Okuwukuphela kwesidingo se-Linux Software RAID ebeka kumadrayivu ewasebenzisayo ukuba idivayisi evinjiwe efinyeleleka ohlelweni.

Ukungabikho kwezindleko zemishini nesofthiwe kuyinzuzo esobala yale ndlela. I-Linux Software RAID ihlela ama-disk array ngezindleko zesikhathi se-CPU. Uhlu lwamazinga e-RAID asekelwayo kanye nesimo sezinhlaka zediski zamanje zingabukwa kufayela le-mdstat, elitholakala kumsuka we-procfs:

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

Ukusekelwa kwamazinga e-RAID kwengezwa ngokuxhuma imojula ye-kernel efanelekile, isibonelo:

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

Yonke imisebenzi enama-disk array yenziwa ngomugqa womyalo we-mdadm. Uhlu lwediski luhlanganiswe ngomyalo owodwa:

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

Ngemva kokwenza lo myalo, idivayisi ye-block/dev/md0 izovela ohlelweni, emele wena njengediski ebonakalayo.

I-Intel® Virtual RAID Ku-CPU

Izinhlaka ze-RAID ku-NVMeI-Intel® VROC Standard Hardware Key
I-Intel® Virtual RAID On CPU (VROC) iyihadiwe kanye nobuchwepheshe besofthiwe bokudala amalungu afanayo e-RAID asekelwe kuma-chipset e-Intel®. Lobu buchwepheshe butholakala ngokuyinhloko kumabhodi omama asekela ama-Intel® Xeon® Scalable processors. Ngokuzenzakalelayo, i-VROC ayitholakali. Ukuze uyisebenzise, ​​kufanele ufake ukhiye welayisense yezingxenyekazi zekhompyutha ye-VROC.

Ilayisensi ejwayelekile ye-VROC ikuvumela ukuthi udale ama-disk array anamazinga we-RAID angu-0, 1 no-10. Inguqulo ye-premium inweba lolu hlu ngosekelo lwe-RAID5.

Ubuchwepheshe be-Intel® VROC kuma-motherboards esimanje busebenza ngokuhambisana ne-Intel® Volume Management Device (VMD), enikeza amandla okushintshashintsha okushisayo kumadrayivu e-NVMe.

Izinhlaka ze-RAID ku-NVMeIntel® VROC Standard License Ama-arrays alungiswa ngohlelo lokusebenza lokusetha lapho iseva iqala. Kuthebhu Advanced I-Intel® Virtual RAID entweni ye-CPU iyavela, lapho ungalungisa khona ama-disk array.

Izinhlaka ze-RAID ku-NVMeUkudala uhlu lwe-RAID1 kumadrayivu amabili
Ubuchwepheshe be-Intel® VROC bunama-aces abo phezulu. Amaqoqo ediski akhiwe kusetshenziswa i-VROC ahambisana ne-Linux Software RAID. Lokhu kusho ukuthi isimo samalungu afanayo singagadwa ku-/proc/mdstat futhi siqondiswe nge-mdadm. Lesi "sici" sisekelwa ngokusemthethweni yi-Intel. Ngemuva kokuhlanganisa i-RAID1 ku-Setup Utility, ungabona ukuvumelanisa kwamadrayivu ku-OS:

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>

Qaphela ukuthi awukwazi ukuhlanganisa amalungu afanayo ku-VROC usebenzisa i-mdadm (amalungu afanayo ahlanganisiwe azoba yi-Linux SW RAID), kodwa ungashintsha amadiski kuwo futhi uhlukanise ama-array.

I-LSI MegaRAID 9460-8i

Izinhlaka ze-RAID ku-NVMeUkubukeka kwesilawuli se-LSI MegaRAID 9460-8i
Isilawuli se-RAID yisisombululo sehadiwe esizimele sodwa. Isilawuli sisebenza kuphela ngamadrayivu axhunywe kuwo ngqo. Lesi silawuli se-RAID sisekela amadrayivu angama-24 e-NVMe. Ukusekelwa kwe-NVMe okwenza lesi silawuli sihluke kwabanye abaningi.

Izinhlaka ze-RAID ku-NVMeImenyu enkulu yesilawuli sehadiwe
Uma usebenzisa imodi ye-UEFI, izilungiselelo zesilawuli zihlanganiswa kokuthi Setup Utility. Uma kuqhathaniswa ne-VROC, imenyu yesilawuli sezingxenyekazi zekhompuyutha ibukeka iyinkimbinkimbi kakhulu.

Izinhlaka ze-RAID ku-NVMeIdala i-RAID1 kumadiski amabili
Ukuchaza indlela yokulungisa ama-disk array kusilawuli sehadiwe kuyisihloko esibucayi futhi kungaba isizathu sendatshana egcwele. Lapha sizomane sizikhawulele ekudaleni i-RAID0 ne-RAID1 ngezilungiselelo ezizenzakalelayo.

Amadiski axhunywe kusilawuli sezingxenyekazi zekhompuyutha awabonakali ohlelweni lokusebenza. Esikhundleni salokho, isilawuli “sivala imaski” wonke ama-RAID afanayo njengokushayela kwe-SAS. Amadrayivu axhunywe kusilawuli, kodwa engeyona ingxenye yohlu lwediski, ngeke afinyeleleke yi-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.

Naphezu kokufihlwa njengokushayela kwe-SAS, ama-NVMe arrays azosebenza ngesivinini se-PCIe. Kodwa-ke, lesi sici sikuvumela ukuthi uvule i-NVMe ku-Legacy.

Isitendi sokuhlola

Indlela ngayinye yokuhlela ama-disk array inezinzuzo zayo zomzimba kanye nezingozi. Kodwa ingabe kukhona umehluko wokusebenza lapho usebenza ngama-disk arrays?

Ukuze uthole ukulunga okuphezulu, zonke izivivinyo zizokwenziwa kuseva efanayo. Ukucushwa kwayo:

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

Amayunithi okuhlola ayi-P4510, ingxenye yawo eyodwa ixhunywe ebhodini lomama, kanti enye ingxenye kusilawuli se-RAID. I-M.2 isebenzisa Ubuntu 20.04 futhi izivivinyo zizokwenziwa kusetshenziswa inguqulo ye-fio 3.16.

Ukuhlola

Okokuqala, ake sihlole ukubambezeleka lapho sisebenza ngediski. Ukuhlolwa kwenziwa ngochungechunge olulodwa, usayizi webhulokhi ngu-4 KB. Ukuhlolwa ngakunye kuthatha imizuzu emi-5. Ngaphambi kokuqala, idivayisi ehambisanayo yokuvimba isethwe ukuthi ingabi bikho njengesihleli se-I/O. Umyalo we-fio ubukeka kanje:

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

Kumiphumela ye-fio sithatha i-clat 99.00%. Imiphumela ikhonjiswe kuthebula elingezansi.

Ukufunda ngokungahleliwe, μs
Ukurekhoda okungahleliwe, μs

idiski
112
78

I-Linux SW RAID, i-RAID0
113
45

I-VROC, i-RAID0
112
46

LSI, RAID0
122
63

I-Linux SW RAID, i-RAID1
113
48

I-VROC, i-RAID1
113
45

LSI, RAID1
128
89

Ngaphezu kokulibaziseka lapho ufinyelela idatha, ngingathanda ukubona ukusebenza kwamadrayivu abonakalayo futhi ngiwaqhathanise nokusebenza kwediski ebonakalayo. Umyalo wokuqalisa:

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

Ukusebenza kukalwa ngokwemisebenzi ye-I/O. Imiphumela yethulwa kuthebula elingezansi.

Kufundwe ngokungahleliwe uchungechunge olu-1, i-IOPS
Bhala ngokungahleliwe intambo engu-1, IOPS
Funda ngokungahleliwe imicu engu-128, IOPS
Bhala ngokungahleliwe imicu engu-128, i-IOPS

idiski
11300
40700
453000
105000

I-Linux SW RAID, i-RAID0
11200
52000
429000
232000

I-VROC, i-RAID0
11200
52300
441000
162000

LSI, RAID0
10900
44200
311000
160000

I-Linux SW RAID, i-RAID1
10000
48600
395000
147000

I-VROC, i-RAID1
10000
54400
378000
244000

LSI, RAID1
11000
34300
229000
248000

Kulula ukubona ukuthi ukusebenzisa isilawuli sezingxenyekazi zekhompuyutha kubangela ukubambezeleka okwandisiwe kanye nokushaya kokusebenza uma kuqhathaniswa nezixazululo zesofthiwe.

isiphetho

Ukusebenzisa izixazululo zehadiwe ukudala ama-disk array kusuka kumadiski amabili kubukeka kungenangqondo. Kodwa-ke, kunemisebenzi lapho ukusetshenziswa kwezilawuli ze-RAID kufaneleka khona. Ngokufika kwabalawuli abasekela isixhumi esibonakalayo se-NVMe, abasebenzisi banethuba lokusebenzisa ama-SSD asheshayo kumaphrojekthi abo.

Izinhlaka ze-RAID ku-NVMe

Abasebenzisi ababhalisiwe kuphela abangabamba iqhaza kuhlolovo. Ngena ngemvume, wamukelekile.

Ingabe usebenzisa izixazululo ze-RAID?

  • 29,6%Yebo, izixazululo zehadiwe32

  • 50,0%Yebo, izixazululo zesoftware54

  • 16,7%No18

  • 3,7%Ayikho i-RAID edingekayo4

Bangu-108 abasebenzisi abavotile. Abasebenzisi abangu-14 bagobile.

Source: www.habr.com

Engeza amazwana