RAID arrays sa NVMe

RAID arrays sa NVMe
Niini nga artikulo maghisgot kami bahin sa lainlaing mga paagi aron maorganisar ang mga arrays sa RAID, ug ipakita usab ang usa sa una nga mga tigkontrol sa RAID sa hardware nga adunay suporta sa NVMe.

Ang tanan nga lainlain nga aplikasyon sa teknolohiya sa RAID makita sa bahin sa server. Sa bahin sa kliyente, ang software lamang nga RAID0 o RAID1 sa duha ka mga disk ang kasagarang gigamit.

Kini nga artikulo maghatag usa ka mubo nga kinatibuk-ang panan-aw sa teknolohiya sa RAID, usa ka mubo nga panudlo kung giunsa paghimo ang mga arrays sa RAID gamit ang tulo nga lainlaing mga himan, ug usa ka pagtandi sa performance sa virtual disk gamit ang matag pamaagi.

Unsa ang RAID?

Wikipedia naghatag usa ka komprehensibo nga kahulugan sa teknolohiya sa RAID:

raid (Eng. Kalabisan nga Array sa Independent Disks - sobra nga han-ay sa mga independente (independente) nga mga disk) - teknolohiya sa data virtualization alang sa paghiusa sa daghang mga pisikal nga disk device ngadto sa usa ka lohikal nga module aron madugangan ang pagtugot sa sayup ug pasundayag.

Ang configuration sa disk arrays ug ang mga teknolohiya nga gigamit nagdepende sa pinili RAID nga lebel. Ang lebel sa RAID gi-standardize sa espesipikasyon Kasagarang RAID Disk Data Format. Gihubit niini ang daghang lebel sa RAID, apan ang labing kasagaran mao ang RAID0, RAID1, RAID5 ug RAID6.

RAID0, o Gisupak, usa ka lebel sa RAID nga naghiusa sa duha o daghan pa nga pisikal nga pagmaneho sa usa ka lohikal nga drive. Ang gidaghanon sa lohikal nga disk parehas sa gidaghanon sa mga volume sa pisikal nga mga disk nga gilakip sa array. Walay redundancy niini nga RAID nga lebel, ug ang kapakyasan sa usa ka drive mahimong moresulta sa pagkawala sa tanang data sa virtual disk.

nga ang-ang RAID1, o Mirror, nagmugna og parehas nga mga kopya sa datos sa duha o daghan pa nga mga disk. Ang gidak-on sa virtual disk dili molapas sa minimum nga gidak-on sa pisikal nga mga disk. Ang datos sa RAID1 virtual disk mahimong magamit basta labing menos usa ka pisikal nga disk gikan sa array ang magamit. Ang paggamit sa RAID1 makadugang sa redundancy, apan kini usa ka medyo mahal nga solusyon, tungod kay sa mga arrays sa duha o daghan pa nga mga disk ang kapasidad sa usa ra ang magamit.

nga ang-ang RAID5 makasulbad sa problema sa taas nga gasto. Aron makahimo og usa ka laray nga adunay RAID5 nga lebel, kinahanglan nimo ang labing menos 3 nga mga disk, ug ang laray dili makasugakod sa pagkapakyas sa usa ka disk. Ang datos sa RAID5 gitipigan sa mga bloke nga adunay mga checksum. Walay estrikto nga dibisyon tali sa data disks ug checksum disks. Ang mga checksum sa RAID5 mao ang resulta sa usa ka XOR nga operasyon nga gigamit sa N-1 blocks, ang matag usa gikuha gikan sa lain-laing disk.

Bisan kung ang mga arrays sa RAID nagdugang sa redundancy ug naghatag ug redundancy, dili kini angay alang sa pagtipig sa mga backup.

Pagkahuman sa usa ka mubo nga ekskursiyon sa mga tipo sa RAID arrays, mahimo ka nga magpadayon sa mga aparato ug programa nga nagtugot kanimo sa pag-assemble ug paggamit sa mga arrays sa disk.

Mga tipo sa RAID controllers

Adunay duha ka paagi sa paghimo ug paggamit sa RAID arrays: hardware ug software. Atong tagdon ang mosunod nga mga solusyon:

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

Timan-i nga ang Intel® nga solusyon nagdagan sa usa ka chipset, nga nagpatunghag pangutana kung kini usa ka solusyon sa hardware o software. Pananglitan, ang VMWare ESXi hypervisor nag-isip sa VROC software ug dili opisyal nga nagsuporta niini.

Linux Software RAID

Ang software RAID arrays sa Linux OS nga pamilya usa ka komon nga solusyon sa mga bahin sa kliyente ug server. Ang tanan nga imong gikinahanglan sa paghimo sa usa ka array mao ang mdadm utility ug pipila ka mga block device. Ang bugtong kinahanglanon nga gibutang sa Linux Software RAID sa mga drive nga gigamit niini mao ang usa ka block device nga ma-access sa sistema.

Ang pagkawala sa mga gasto alang sa kagamitan ug software usa ka dayag nga bentaha sa kini nga pamaagi. Ang Linux Software RAID nag-organisar sa mga disk array sa gasto sa oras sa CPU. Ang lista sa gisuportahan nga lebel sa RAID ug ang kahimtang sa karon nga mga array sa disk mahimong makita sa mdstat file, nga nahimutang sa procfs root:

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

Ang suporta alang sa lebel sa RAID gidugang pinaagi sa pagkonektar sa angay nga kernel module, pananglitan:

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

Ang tanan nga mga operasyon nga adunay disk arrays gihimo pinaagi sa mdadm command line utility. Ang disk array gitigum sa usa ka sugo:

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

Human sa pagpatuman niini nga sugo, ang /dev/md0 block device makita sa sistema, nga nagrepresentar kanimo isip usa ka virtual disk.

Intel® Virtual RAID Sa CPU

RAID arrays sa NVMeIntel® VROC Standard Hardware Key
Ang Intel® Virtual RAID On CPU (VROC) usa ka teknolohiya sa hardware ug software alang sa pagmugna og RAID arrays base sa Intel® chipsets. Kini nga teknolohiya kay para sa mga motherboards nga nagsuporta sa Intel® Xeon® Scalable processors. Sa kasagaran, ang VROC dili magamit. Aron ma-aktibo kini, kinahanglan nimo nga i-install ang yawe sa lisensya sa hardware sa VROC.

Ang standard nga lisensya sa VROC nagtugot kanimo sa paghimo sa mga array sa disk nga adunay 0, 1 ug 10 nga lebel sa RAID. Ang premium nga bersyon nagpalapad niini nga lista nga adunay suporta sa RAID5.

Ang teknolohiya sa Intel® VROC sa modernong mga motherboards nagtrabaho kauban ang Intel® Volume Management Device (VMD), nga naghatag og kapabilidad sa hot-swap alang sa mga NVMe drive.

RAID arrays sa NVMeIntel® VROC Standard License Ang mga arrays gi-configure pinaagi sa Setup Utility kung ang server nag-boot. Sa tab advanced Ang Intel® Virtual RAID sa CPU nga butang makita, diin mahimo nimong i-configure ang mga arrays sa disk.

RAID arrays sa NVMePaghimo og RAID1 array sa duha ka drive
Ang teknolohiya sa Intel® VROC adunay kaugalingong mga ace sa iyang manggas. Ang mga disk arrays nga gihimo gamit ang VROC kay compatible sa Linux Software RAID. Kini nagpasabot nga ang kahimtang sa mga arrays mahimong mamonitor sa /proc/mdstat ug ipangalagad pinaagi sa mdadm. Kini nga "feature" opisyal nga gisuportahan sa Intel. Pagkahuman sa pag-assemble sa RAID1 sa Setup Utility, mahimo nimong maobserbahan ang pag-synchronize sa mga drive sa 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>

Timan-i nga dili nimo mahimo ang pag-assemble sa mga arrays sa VROC gamit ang mdadm (ang mga assembled arrays mao ang Linux SW RAID), apan mahimo nimong usbon ang mga disk niini ug i-disassemble ang mga arrays.

LSI MegaRAID 9460-8i

RAID arrays sa NVMePanagway sa LSI MegaRAID 9460-8i controller
Ang RAID controller usa ka stand-alone nga solusyon sa hardware. Ang controller nagtrabaho lamang sa mga drive nga direktang konektado niini. Kini nga RAID controller nagsuporta hangtod sa 24 NVMe drive. Kini ang suporta sa NVMe nga nagpalahi sa kini nga controller gikan sa daghang uban pa.

RAID arrays sa NVMeMain menu sa hardware controller
Kung gigamit ang UEFI mode, ang mga setting sa controller gisagol sa Setup Utility. Kung itandi sa VROC, ang menu sa hardware controller mas komplikado.

RAID arrays sa NVMePaghimo RAID1 sa duha ka mga disk
Ang pagpatin-aw kung giunsa ang pag-configure sa mga disk arrays sa usa ka hardware controller usa ka labi ka delikado nga hilisgutan ug mahimong hinungdan sa usa ka hingpit nga artikulo. Dinhi among limitahan ang among kaugalingon sa paghimo sa RAID0 ug RAID1 nga adunay mga default nga setting.

Ang mga disk nga konektado sa hardware controller dili makita sa operating system. Hinuon, ang controller "nagmaskara" sa tanan nga RAID arrays isip SAS drives. Ang mga drive nga konektado sa controller, apan dili bahin sa disk array, dili ma-access sa 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.

Bisan pa nga nagtakuban ingon mga SAS drive, ang mga arrays sa NVMe molihok sa katulin sa PCIe. Bisan pa, kini nga bahin nagtugot kanimo sa pag-boot gikan sa NVMe sa Legacy.

pagsulay stand

Ang matag pamaagi sa pag-organisar sa mga disk arrays adunay kaugalingon nga pisikal nga mga bentaha ug disbentaha. Apan aduna bay kalainan sa pasundayag kung nagtrabaho sa mga arrays sa disk?

Aron makab-ot ang labing taas nga kaangayan, ang tanan nga mga pagsulay himuon sa parehas nga server. Ang configuration niini:

  • 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.

Ang mga yunit sa pagsulay kay P4510, ang katunga niini konektado sa motherboard, ug ang laing katunga sa RAID controller. Ang M.2 nagpadagan sa Ubuntu 20.04 ug ang mga pagsulay ipadagan gamit ang fio version 3.16.

Pagsulay

Una sa tanan, atong susihon ang mga paglangan sa pagtrabaho uban sa disk. Ang pagsulay gipatuman sa usa ka hilo, ang gidak-on sa block 4 KB. Ang matag pagsulay molungtad og 5 ka minuto. Sa wala pa magsugod, ang katugbang nga block device gitakda sa wala isip I/O scheduler. Ang fio command ingon niini:

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

Gikan sa fio nga mga resulta atong gikuha ang clat 99.00%. Ang mga resulta gipakita sa lamesa sa ubos.

Random nga pagbasa, μs
Random nga pagrekord, μs

disk
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

Dugang sa mga paglangan sa pag-access sa datos, gusto nakong makita ang performance sa virtual drives ug itandi kini sa performance sa usa ka physical disk. Sugo sa pagdagan fio:

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

Ang performance gisukod sa termino sa I/O operations. Ang mga resulta gipresentar sa lamesa sa ubos.

Random nga pagbasa sa 1 nga thread, IOPS
Random pagsulat 1 thread, IOPS
Random nga pagbasa sa 128 ka mga hilo, IOPS
Random nga pagsulat 128 ka mga hilo, IOPS

disk
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

Sayon nga makita nga ang paggamit sa usa ka hardware controller moresulta sa dugang nga latency ug usa ka performance hit kumpara sa software solutions.

konklusyon

Ang paggamit sa mga solusyon sa hardware sa paghimo sa mga arrays sa disk gikan sa duha ka mga disk morag dili makatarunganon. Bisan pa, adunay mga buluhaton diin ang paggamit sa RAID controllers makatarunganon. Uban sa pag-abut sa mga controllers nga nagsuporta sa NVMe interface, ang mga tiggamit adunay oportunidad sa paggamit sa mas paspas nga SSDs sa ilang mga proyekto.

RAID arrays sa NVMe

Ang mga rehistradong tiggamit lamang ang makaapil sa survey. Sign in, walay sapayan.

Gigamit ba nimo ang mga solusyon sa RAID?

  • 29,6%Oo, mga solusyon sa hardware32

  • 50,0%Oo, software solutions54

  • 16,7%Dili18

  • 3,7%Walay RAID gikinahanglan4

108 ka tiggamit ang nagboto. 14 ka tiggamit ang nag-abstain.

Source: www.habr.com

Idugang sa usa ka comment