Uluhlu lweRAID kwiNVMe

Uluhlu lweRAID kwiNVMe
Kweli nqaku siza kuthetha ngeendlela ezahlukeneyo zokucwangcisa i-RAID arrays, kwaye sibonise enye yabalawuli bokuqala be-RAID ye-hardware kunye nenkxaso ye-NVMe.

Zonke iindidi zezicelo zetekhnoloji ye-RAID zifumaneka kwicandelo leseva. Kwicandelo lomxhasi, kuphela isoftware ye-RAID0 okanye i-RAID1 kwiidiski ezimbini isetyenziswa rhoqo.

Eli nqaku liza kunika inkcazo emfutshane yeteknoloji ye-RAID, isifundo esifutshane malunga nendlela yokwenza i-RAID arrays usebenzisa izixhobo ezintathu ezahlukeneyo, kunye nokuthelekisa ukusebenza kwediski ebonakalayo usebenzisa indlela nganye.

Yintoni iRAID?

Wikipedia inika inkcazo ebanzi yetekhnoloji yeRAID:

RAID (eng. Uluhlu olungafunekiyo lweeDiski ezizimeleyo - Uluhlu olungafunekiyo lweediski ezizimeleyo (ezizimeleyo) - itekhnoloji yedatha yedatha yokudibanisa izixhobo ezininzi zedisk ebonakalayo kwimodyuli enengqiqo ukunyusa ukunyamezelana kwempazamo kunye nokusebenza.

Uqwalaselo loluhlu lwediski kunye nobuchwepheshe obusetyenziswayo buxhomekeke kokukhethiweyo Inqanaba le-RAID. Amanqanaba e-RAID asemgangathweni kwinkcazo IFomathi yeDatha yeDiski eqhelekileyo yeRAID. Ichaza amanqanaba amaninzi e-RAID, kodwa awona aqhelekileyo yi-RAID0, i-RAID1, i-RAID5 kunye ne-RAID6.

UQHAGAMBO0okanye Izithintelo, linqanaba le-RAID elidibanisa ezimbini okanye ngaphezulu iidrive ezibonakalayo kwidrive enye enengqiqo. Umthamo wediski enengqondo ulingana nenani lemiqulu yeediski eziphathekayo ezibandakanyiweyo kuluhlu. Akukho mfuneko yokuphindaphinda kweli nqanaba le-RAID, kwaye ukungaphumeleli kwedrive enye kunokubangela ukulahleka kwayo yonke idatha kwidiski ebonakalayo.

kwinqanaba UQHAGAMBO1okanye isipili, yenza iikopi ezifanayo zedatha kwiidiski ezimbini okanye ngaphezulu. Ubungakanani bediski yenyani abugqithi kubungakanani obuncinci beediski ezibonakalayo. Idatha kwidiski yenyani yeRAID1 iya kufumaneka ukuba nje enye idiski ebonakalayo evela kuluhlu isebenza. Ukusebenzisa i-RAID1 yongeza i-redundancy, kodwa sisisombululo esibiza kakhulu, kuba kuluhlu lweediski ezimbini okanye ngaphezulu umthamo wenye kuphela ukhoyo.

kwinqanaba UQHAGAMBO5 isombulula ingxaki yeendleko eziphezulu. Ukwenza uluhlu kunye nenqanaba le-RAID5, udinga ubuncinane iidiski ezi-3, kwaye uluhlu luchasene nokungaphumeleli kwediski enye. Idatha kwi-RAID5 igcinwe kwiibhloko ezineetshekhi. Akukho ulwahlulo olungqongqo phakathi kweediski zedatha kunye neediski ze-checksum. Iitshekhi kwi-RAID5 zisiphumo somsebenzi we-XOR osetyenziswe kwiibhloko ze-N-1, nganye ithathwe kwidiski eyahlukileyo.

Nangona i-RAID i-arrays ikwandisa ukuphindaphinda kwaye ibonelele ngokuphindaphindiweyo, ayifanelekanga ukugcina ii-backups.

Emva kohambo olufutshane kwiindidi ze-RAID zoluhlu, ungaqhubela phambili kwizixhobo kunye neenkqubo ezikuvumela ukuba uhlanganise kwaye usebenzise uluhlu lwediski.

Iindidi zabalawuli be-RAID

Kukho iindlela ezimbini zokwenza nokusebenzisa ii-RAID arrays: hardware kunye nesoftware. Siza kuqwalasela ezi zisombululo zilandelayo:

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

Qaphela ukuba isisombululo se-Intel® sisebenza kwi-chipset, ephakamisa umbuzo wokuba ingaba i-hardware okanye isisombululo sesofthiwe. Umzekelo, i-VMWare ESXi hypervisor iqwalasela isoftware yeVROC kwaye ayiyixhasi ngokusemthethweni.

Linux Software RAID

Uluhlu lwesoftware yeRAID kusapho lweLinux OS sisisombululo esiqhelekileyo kubo bobabini abaxumi kunye namacandelo omncedisi. Konke okudingayo ukwenza uluhlu lusetyenziso lwe-mdadm kunye nezixhobo ezimbalwa zebhloko. Ekuphela kwemfuno yeLinux Software RAID ibeka kwiidrive ezisebenzisayo kukuba sisixhobo sebhloko esifikelelekayo kwisixokelelwano.

Ukungabikho kweendleko zezixhobo kunye nesofthiwe yinzuzo ebonakalayo yale ndlela. I-Linux Software RAID icwangcisa uluhlu lwediski ngexabiso lexesha le-CPU. Uluhlu lwamanqanaba eRAID axhaswayo kunye nobume benkqubo yangoku yediski inokujongwa kwifayile ye mdstat, ebekwe kwingcambu yeprocfs:

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

Inkxaso yamanqanaba e-RAID yongezwa ngokudibanisa imodyuli efanelekileyo ye-kernel, umzekelo:

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

Yonke imisebenzi enoluhlu lwediski lwenziwa ngosetyenziso lwelayini yomyalelo we-mdadm. Uluhlu lwediski ludityaniswe kumyalelo omnye:

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

Emva kokuphumeza lo myalelo, i/dev/md0 isixhobo sebhloko siya kuvela kwisixokelelwano, esimele wena njengediski yenyani.

I-Intel® Virtual RAID kwi-CPU

Uluhlu lweRAID kwiNVMeI-Intel® VROC Standard Hardware Key
I-Intel® Virtual RAID kwi-CPU (VROC) yi-hardware kunye neteknoloji yesofthiwe yokudala ii-RAID ezisekelwe kwii-chipset ze-Intel®. Le teknoloji ifumaneka ikakhulu kwiibhodi zemotherboards ezixhasa i-Intel® Xeon® Scalable processors. Ngokungagqibekanga, iVROC ayifumaneki. Ukuyivula, kufuneka ufakele iqhosha lelayisenisi yehardware yeVROC.

Ilayisensi esemgangathweni ye-VROC ikuvumela ukuba wenze uluhlu lwediski kunye namanqanaba e-RAID angama-0, 1 kunye ne-10. I-premium version yandisa olu luhlu ngenkxaso ye-RAID5.

Itekhnoloji ye-Intel® VROC kwiibhodi zale mihla zisebenza ngokubambisana ne-Intel® Volume Management Device (VMD), ebonelela ngesakhono sokutshintsha okushushu kwii-NVMe drives.

Uluhlu lweRAID kwiNVMeIntel® VROC ilayisensi Standard Uluhlu luqwalaselwe ngoSeto oluSebenzisayo xa umncedisi eqala. Kwisithuba Advanced I-Intel® Virtual RAID kwizinto ze-CPU ziyavela, apho unokuqwalasela uluhlu lwediski.

Uluhlu lweRAID kwiNVMeUkwenza uluhlu lwe-RAID1 kwiidrive ezimbini
Itekhnoloji ye-Intel® VROC inee-aces zayo phezulu. Uluhlu lwediski olwakhiwe kusetyenziswa iVROC luyahambelana neLinux Software RAID. Oku kuthetha ukuba imeko ye-arrays inokujongwa kwi-/proc/mdstat kwaye ilawulwe nge-mdadm. Olu "phawu" luxhaswa ngokusemthethweni yi-Intel. Emva kokudibanisa i-RAID1 kuSeto oluSebenzisayo, unokujonga ulungelelwaniso lweedrive kwi-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 ukuba awukwazi ukudibanisa uluhlu kwi-VROC usebenzisa i-mdadm (uluhlu oludityanisiweyo luyakuba yi Linux SW RAID), kodwa ungatshintsha iidiski kuzo kwaye uqhawule uluhlu.

LSI MegaRAID 9460-8i

Uluhlu lweRAID kwiNVMeUkubonakala komlawuli we-LSI MegaRAID 9460-8i
Umlawuli we-RAID sisisombululo se-hardware esizimeleyo. Umlawuli usebenza kuphela ngeedrive eziqhagamshelwe ngqo kuyo. Lo mlawuli we-RAID uxhasa ukuya kuthi ga kwiidrive zeNVMe ezingama-24. Yinkxaso ye-NVMe eyenza lo mlawuli ahluke kwabanye abaninzi.

Uluhlu lweRAID kwiNVMeImenyu engundoqo yomlawuli we-hardware
Xa usebenzisa imowudi ye-UEFI, iisetingi zomlawuli zidityaniswe kwi-Setup Utility. Xa kuthelekiswa neVROC, imenyu yesilawuli se-hardware ibonakala inzima kakhulu.

Uluhlu lweRAID kwiNVMeUkwenza i-RAID1 kwiidiski ezimbini
Ukucacisa indlela yokuqwalasela uluhlu lwedisk kumlawuli wehardware sisihloko esiethe-ethe kwaye inokuba sisizathu senqaku elipheleleyo. Apha siza kuzikhawulela ngokulula ekudaleni i-RAID0 kunye ne-RAID1 ngoseto olungagqibekanga.

Iidiski eziqhagamshelwe kwisilawuli se-hardware azibonakali kwinkqubo yokusebenza. Endaweni yoko, umlawuli "imaski" zonke ii-RAID ii-arrays njenge-SAS drives. Iidrive eziqhagamshelwe kumlawuli, kodwa zingeyonxalenye yoluhlu lwediski, aziyi kufumaneka 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.

Ngaphandle kokufihlwa njenge-SAS drives, ii-NVMe arrays ziya kusebenza ngezantya zePCIe. Nangona kunjalo, eli nqaku likuvumela ukuba uqalise kwi-NVMe kwiLifa.

ibhentshi yovavanyo

Indlela nganye yokulungelelanisa iidisks inezinto zayo ezilungileyo kunye neengxaki. Kodwa ngaba kukho umahluko wokusebenza xa usebenza ngeediski zoluhlu?

Ukufezekisa ukulunga okuphezulu, zonke iimvavanyo ziya kuqhutywa kwiseva enye. Ubumbeko bayo:

  • 2x Intel® Xeon® 6240;
  • 12x DDR4-2666 16 GB;
  • 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.

Iiyunithi zovavanyo ziyi-P4510, esinye isiqingatha saso siqhagamshelwe kwi-motherboard, kunye nesiqingatha kumlawuli we-RAID. I-M.2 isebenzisa Ubuntu 20.04 kwaye iimvavanyo ziya kuqhutywa kusetyenziswa i-fio version 3.16.

Ukuvavanywa

Okokuqala, makhe sijonge ukulibaziseka xa usebenza nediski. Uvavanyo lwenziwa kumsonto omnye, ubungakanani bebhloko yi-4 KB. Uvavanyo ngalunye luthatha imizuzu emi-5. Ngaphambi kokuqala, isixhobo esihambelanayo sebhloko sisetelwe nanye njengomcwangcisi we-I/O. Umyalelo we-fio ujongeka ngolu hlobo:

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

Kwiziphumo zefio sithatha i-clat 99.00%. Iziphumo ziboniswe kwitheyibhile engezantsi.

Ukufunda ngokungacwangciswanga, μs
Ukurekhodwa okungacwangciswanga, μs

Drive
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

Ukongeza kokulibaziseka xa ufikelela kwidatha, ndingathanda ukubona ukusebenza kweedrives ezibonakalayo kwaye ndithelekise kunye nokusebenza kwediski yomzimba. Umyalelo wokuqhuba i-fio:

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

Ukusebenza kulinganiswa ngokwemigaqo yemisebenzi ye-I/O. Iziphumo zinikwe kule theyibhile ingezantsi.

Funda ngokungacwangciswanga 1 umsonto, IOPS
Ngokuzenzekelayo bhala umsonto om-1, IOPS
Funda ngokungacwangciswanga 128 imisonto, IOPS
Random bhala 128 imisonto, IOPS

Drive
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 ukuba ukusebenzisa isilawuli se-hardware kukhokelela ekwandeni kwe-latency kunye nokusebenza kakuhle xa kuthelekiswa nezisombululo zesoftware.

isiphelo

Ukusebenzisa izisombululo zehardware ukwenza uluhlu lwedisk ukusuka kwiidiski ezimbini kujongeka kungenangqondo. Nangona kunjalo, kukho imisebenzi apho ukusetyenziswa kwabalawuli be-RAID kufanelekile. Ngokufika kwabalawuli abaxhasa i-interface ye-NVMe, abasebenzisi banethuba lokusebenzisa ii-SSD ngokukhawuleza kwiiprojekthi zabo.

Uluhlu lweRAID kwiNVMe

Ngabasebenzisi ababhalisiweyo kuphela abanokuthatha inxaxheba kuphando. Ngena, ndiyacela.

Ngaba usebenzisa izisombululo ze-RAID?

  • 29,6%Ewe, izisombululo zehardware32

  • 50,0%Ewe, izisombululo zesoftware54

  • 16,7%No18

  • 3,7%Akukho RAID efunekayo4

Bali-108 abasebenzisi abavotileyo. Abasebenzisi abasi-14 abakhange.

umthombo: www.habr.com

Yongeza izimvo