Arrays RAID fuq NVMe

Arrays RAID fuq NVMe
F'dan l-artikolu ser nitkellmu dwar modi differenti kif torganizza arrays RAID, u nuru wkoll wieħed mill-ewwel kontrolluri RAID tal-ħardwer b'appoġġ NVMe.

Il-varjetà kollha ta 'applikazzjonijiet tat-teknoloġija RAID tinsab fis-segment tas-server. Fis-segment tal-klijenti, is-software RAID0 jew RAID1 biss fuq żewġ diski jintuża l-aktar spiss.

Dan l-artikolu se jipprovdi ħarsa ġenerali qasira tat-teknoloġija RAID, tutorja qasira dwar kif toħloq arrays RAID bl-użu ta 'tliet għodod differenti, u paragun tal-prestazzjoni tad-disk virtwali bl-użu ta' kull metodu.

X'inhu RAID?

Wikipedija jagħti definizzjoni komprensiva tat-teknoloġija RAID:

RAID (Ingliż Arranġament żejjed ta 'Diski Indipendenti - firxa żejda ta' diski indipendenti (indipendenti) - teknoloġija tal-virtwalizzazzjoni tad-dejta biex tgħaqqad diversi tagħmir tad-disk fiżiċi f'modulu loġiku biex tiżdied it-tolleranza tal-ħsarat u l-prestazzjoni.

Il-konfigurazzjoni tal-arrays tad-disk u t-teknoloġiji użati jiddependu fuq dak magħżul livell RAID. Il-livelli RAID huma standardizzati fl-ispeċifikazzjoni Format Komuni tad-Data tad-Disk RAID. Jiddeskrivi ħafna livelli RAID, iżda l-aktar komuni huma RAID0, RAID1, RAID5 u RAID6.

RAID0Jew Strixxi, huwa livell RAID li jgħaqqad żewġ drives fiżiċi jew aktar f'drive loġika waħda. Il-volum tad-disk loġiku huwa ugwali għas-somma tal-volumi tad-diski fiżiċi inklużi fil-firxa. M'hemm l-ebda redundancy f'dan il-livell RAID, u l-falliment ta 'drive wieħed jista' jirriżulta fit-telf tad-data kollha fid-disk virtwali.

Livell RAID1Jew Mirror, toħloq kopji identiċi ta' data fuq żewġ diski jew aktar. Id-daqs tad-disk virtwali ma jaqbiżx id-daqs minimu tad-diski fiżiċi. Id-dejta fuq id-diska virtwali RAID1 tkun disponibbli sakemm tal-inqas diska fiżika waħda mill-firxa tkun operattiva. L-użu ta 'RAID1 iżid redundancy, iżda huwa soluzzjoni pjuttost għalja, peress li f'arrays ta' żewġ diski jew aktar il-kapaċità ta 'wieħed biss hija disponibbli.

Livell RAID5 issolvi l-problema tal-ispiża għolja. Biex toħloq firxa b'livell RAID5, għandek bżonn mill-inqas 3 diski, u l-firxa hija reżistenti għall-falliment ta 'diska waħda. Id-dejta f'RAID5 hija maħżuna fi blokki bi checksums. M'hemm l-ebda diviżjoni stretta bejn diski tad-data u diski ta 'checksum. Checksums f'RAID5 huma r-riżultat ta' operazzjoni XOR applikata għal blokki N-1, kull waħda meħuda minn disk differenti.

Għalkemm l-arrays RAID iżidu s-sensja u jipprovdu redundancy, mhumiex adattati għall-ħażna ta 'backups.

Wara eskursjoni qasira fit-tipi ta 'arrays RAID, tista' timxi fuq apparati u programmi li jippermettulek tiġbor u tuża arrays ta 'disk.

Tipi ta' kontrolluri RAID

Hemm żewġ modi kif toħloq u tuża arrays RAID: ħardwer u software. Aħna se nikkunsidraw is-soluzzjonijiet li ġejjin:

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

Innota li s-soluzzjoni Intel® taħdem fuq chipset, li tqajjem il-mistoqsija dwar jekk hijiex soluzzjoni ta 'hardware jew software. Pereżempju, l-hypervisor VMWare ESXi iqis is-softwer VROC u ma jappoġġjahx uffiċjalment.

Linux Software RAID

Arrays RAID tas-softwer fil-familja tal-Linux OS huma soluzzjoni pjuttost komuni kemm fis-segmenti tal-klijent kif ukoll tas-server. Kulma għandek bżonn biex toħloq firxa hija l-utilità mdadm u ftit apparati blokk. L-uniku rekwiżit Linux Software RAID li jqiegħed fuq id-drajvs li juża huwa li jkun apparat blokk aċċessibbli għas-sistema.

In-nuqqas ta 'spejjeż għat-tagħmir u s-softwer huwa vantaġġ ovvju ta' dan il-metodu. Linux Software RAID jorganizza arrays ta 'disk għall-ispiża tal-ħin tas-CPU. Il-lista tal-livelli RAID appoġġjati u l-istatus tal-arrays tad-disk attwali jistgħu jitqiesu fil-fajl mdstat, li jinsab fl-għerq tal-procfs:

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

L-appoġġ għal-livelli RAID huwa miżjud billi tikkonnettja l-modulu tal-kernel xieraq, pereżempju:

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

L-operazzjonijiet kollha b'arrays tad-disk jitwettqu permezz tal-utilità tal-linja tal-kmand mdadm. Il-firxa tad-disk hija mmuntata fi kmand wieħed:

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

Wara li tesegwixxi dan il-kmand, l-apparat tal-blokk / dev/md0 se jidher fis-sistema, li tirrappreżentak bħala disk virtwali.

Intel® Virtual RAID Fuq CPU

Arrays RAID fuq NVMeIntel® VROC Standard Hardware Key
Intel® Virtual RAID On CPU (VROC) hija teknoloġija ta 'ħardwer u softwer għall-ħolqien ta' arrays RAID ibbażati fuq chipsets Intel®. Din it-teknoloġija hija disponibbli primarjament għal motherboards li jappoġġjaw proċessuri Intel® Xeon® Scalable. B'mod awtomatiku, VROC mhux disponibbli. Biex tattivaha, trid tinstalla ċavetta tal-liċenzja tal-ħardwer VROC.

Il-liċenzja VROC standard tippermettilek toħloq arrays ta' disk b'livelli RAID ta' 0, 1 u 10. Il-verżjoni premium tespandi din il-lista bl-appoġġ RAID5.

It-teknoloġija Intel® VROC fuq motherboards moderni taħdem flimkien mal-Intel® Volume Management Device (VMD), li jipprovdi kapaċità hot-swap għal drives NVMe.

Arrays RAID fuq NVMeLiċenzja Standard Intel® VROC Arrays huma kkonfigurati permezz tal-Utilità Setup meta s-server jibda. Fuq it-tab Avvanzata Jidher l-oġġett Intel® Virtual RAID on CPU, fejn tista' tikkonfigura arrays tad-disk.

Arrays RAID fuq NVMeĦolqien ta 'firxa RAID1 fuq żewġ drives
It-teknoloġija Intel® VROC għandha l-ass tagħha stess fil-kmiem tagħha. Arrays ta' diski mibnija bl-użu ta' VROC huma kompatibbli mal-Linux Software RAID. Dan ifisser li l-istat tal-arrays jista 'jiġi mmonitorjat f'/proc/mdstat u amministrat permezz ta' mdadm. Din il-"karatteristika" hija appoġġjata uffiċjalment minn Intel. Wara li tgħaqqad RAID1 f'Setup Utility, tista' tosserva s-sinkronizzazzjoni tad-drajvs fl-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>

Innota li ma tistax tiġbor arrays fuq VROC billi tuża mdadm (l-arrays immuntati se jkunu Linux SW RAID), iżda tista 'tbiddel id-diski fihom u żarma l-arrays.

LSI MegaRAID 9460-8i

Arrays RAID fuq NVMeDehra tal-kontrollur LSI MegaRAID 9460-8i
Il-kontrollur RAID huwa soluzzjoni ta 'hardware waħedha. Il-kontrollur jaħdem biss bi drives konnessi direttament miegħu. Dan il-kontrollur RAID jappoġġja sa 24 drive NVMe. Huwa l-appoġġ NVMe li jiddistingwi dan il-kontrollur minn ħafna oħrajn.

Arrays RAID fuq NVMeMenu prinċipali tal-kontrollur tal-ħardwer
Meta tuża l-mod UEFI, is-settings tal-kontrollur huma integrati fis-Setup Utility. Meta mqabbel ma 'VROC, il-menu tal-kontrollur tal-ħardwer jidher ħafna aktar kumpless.

Arrays RAID fuq NVMeĦolqien RAID1 fuq żewġ diski
Li tispjega kif tikkonfigura arrays tad-disk fuq kontrollur tal-ħardwer hija suġġett pjuttost delikat u jista 'jkun ir-raġuni għal artikolu sħiħ. Hawnhekk aħna sempliċiment nillimitaw lilna nfusna biex noħolqu RAID0 u RAID1 b'settings default.

Diski konnessi mal-kontrollur tal-ħardwer mhumiex viżibbli għas-sistema operattiva. Minflok, il-kontrollur "maskra" l-arrays RAID kollha bħala drives SAS. Drives konnessi mal-kontrollur, iżda mhux parti mill-firxa tad-disk, mhux se jkunu aċċessibbli mill-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.

Minkejja li huma moħbija bħala drives SAS, l-arrays NVMe se joperaw b'veloċitajiet PCIe. Madankollu, din il-karatteristika tippermettilek li tibbutja minn NVMe f'Legacy.

Stand tat-test

Kull metodu ta 'organizzazzjoni ta' arrays tad-disk għandu l-vantaġġi u l-iżvantaġġi fiżiċi tiegħu stess. Imma hemm differenza fil-prestazzjoni meta taħdem ma 'arrays ta' diski?

Biex tinkiseb il-ġustizzja massima, it-testijiet kollha se jsiru fuq l-istess server. Il-konfigurazzjoni tiegħu:

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

L-unitajiet tat-test huma P4510, li nofshom huwa konness mal-motherboard, u n-nofs l-ieħor mal-kontrollur RAID. L-M.2 qed jaħdem Ubuntu 20.04 u t-testijiet se jsiru bl-użu tal-verżjoni fio 3.16.

Ittestjar

L-ewwelnett, ejja niċċekkjaw id-dewmien meta taħdem mad-diska. It-test jitwettaq f'ħajt wieħed, id-daqs tal-blokka huwa 4 KB. Kull test idum 5 minuti. Qabel ma tibda, l-apparat tal-blokk korrispondenti huwa ssettjat għal xejn bħala l-I/O scheduler. Il-kmand fio jidher bħal dan:

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

Mir-riżultati tal-fio nieħdu clat 99.00%. Ir-riżultati huma murija fit-tabella hawn taħt.

Qari każwali, μs
Reġistrazzjoni każwali, μs

Drive
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

Minbarra dewmien meta jaċċessa d-dejta, nixtieq nara l-prestazzjoni ta 'drives virtwali u nqabbelhom mal-prestazzjoni ta' disk fiżiku. Kmand biex tmexxi fio:

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

Il-prestazzjoni hija mkejla f'termini ta 'operazzjonijiet I/O. Ir-riżultati huma ppreżentati fit-tabella hawn taħt.

Aqra bl-addoċċ ħajt 1, IOPS
Ikteb bl-addoċċ ħajt 1, IOPS
Aqra bl-addoċċ 128 ħajt, IOPS
Ikteb bl-addoċċ 128 ħajt, IOPS

Drive
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

Huwa faċli li wieħed jara li l-użu ta 'kontrollur tal-ħardwer jirriżulta f'latenza akbar u suċċess fil-prestazzjoni meta mqabbel mas-soluzzjonijiet tas-softwer.

Konklużjoni

L-użu ta 'soluzzjonijiet ta' hardware biex jinħolqu arrays ta 'disk minn żewġ diski jidher irrazzjonali. Madankollu, hemm kompiti fejn l-użu ta 'kontrolluri RAID huwa ġġustifikat. Bil-miġja ta 'kontrolluri li jappoġġjaw l-interface NVMe, l-utenti għandhom l-opportunità li jużaw SSDs aktar mgħaġġla fil-proġetti tagħhom.

Arrays RAID fuq NVMe

Utenti reġistrati biss jistgħu jipparteċipaw fl-istħarriġ. Idħol, ta 'xejn.

Qed tuża soluzzjonijiet RAID?

  • 29,6%Iva, soluzzjonijiet tal-ħardwer32

  • 50,0%Iva, soluzzjonijiet tas-softwer54

  • 16,7%Nru18

  • 3,7%Ebda RAID meħtieġ4

Ivvutaw 108 utent. 14 utenti astjenew.

Sors: www.habr.com

Żid kumment