Array RAID ing NVMe

Array RAID ing NVMe
Ing artikel iki kita bakal pirembagan bab macem-macem cara kanggo ngatur susunan RAID, lan uga nuduhake salah siji saka pengontrol RAID hardware pisanan karo support NVMe.

Kabeh macem-macem aplikasi teknologi RAID ditemokake ing segmen server. Ing segmen klien, mung piranti lunak RAID0 utawa RAID1 ing rong disk sing paling kerep digunakake.

Artikel iki bakal menehi ringkesan ringkes babagan teknologi RAID, tutorial singkat babagan carane nggawe array RAID nggunakake telung alat sing beda, lan mbandhingake kinerja disk virtual nggunakake saben metode.

Apa RAID?

Wikipedia menehi definisi lengkap teknologi RAID:

RAID (eng. Array keluwih saka disk independen - Uploaded keluwih saka sawijining (independen) disk) - teknologi virtualisasi data kanggo nggabungake sawetara piranti disk fisik menyang modul logis kanggo nambah toleransi fault lan kinerja.

Konfigurasi susunan disk lan teknologi sing digunakake gumantung saka sing dipilih tingkat RAID. Tingkat RAID standar ing spesifikasi Format Data Disk RAID Umum. Iki nggambarake akeh tingkat RAID, nanging sing paling umum yaiku RAID0, RAID1, RAID5 lan RAID6.

RAID0, utawa Stripes, minangka tingkat RAID sing nggabungake loro utawa luwih drive fisik dadi siji drive logis. Volume disk logis padha karo jumlah volume disk fisik sing kalebu ing array. Ora ana redundansi ing tingkat RAID iki, lan kegagalan siji drive bisa nyebabake ilang kabeh data ing disk virtual.

Tingkat RAID1, utawa mirror, nggawe salinan data sing padha ing rong disk utawa luwih. Ukuran disk virtual ora ngluwihi ukuran minimal disk fisik. Data ing disk virtual RAID1 bakal kasedhiya anggere paling ora siji disk fisik saka array wis operasional. Nggunakake RAID1 nambah redundansi, nanging solusi sing rada larang, amarga ing susunan loro utawa luwih disk kapasitas mung siji kasedhiya.

Tingkat RAID5 ngatasi masalah biaya dhuwur. Kanggo nggawe array karo tingkat RAID5, sampeyan kudu paling 3 disk, lan Uploaded tahan kanggo Gagal siji disk. Data ing RAID5 disimpen ing blok kanthi checksum. Ora ana divisi sing ketat antarane disk data lan disk checksum. Checksums ing RAID5 minangka asil saka operasi XOR sing ditrapake ing blok N-1, saben dijupuk saka disk sing beda.

Senajan susunan RAID nambah redundansi lan nyedhiyani redundansi, padha ora cocok kanggo nyimpen serep.

Sawise dolan singkat menyang jinis RAID susunan, sampeyan bisa pindhah menyang piranti lan program sing ngijini sampeyan kanggo ngumpul lan nggunakake susunan disk.

Jinis pengontrol RAID

Ana rong cara kanggo nggawe lan nggunakake RAID array: hardware lan software. Kita bakal nimbang solusi ing ngisor iki:

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

Elinga yen solusi Intel® mlaku ing chipset, sing ndadékaké pitakonan apa iku solusi hardware utawa software. Contone, hypervisor VMWare ESXi nganggep piranti lunak VROC lan ora ndhukung kanthi resmi.

Linux Software RAID

Array RAID piranti lunak ing kulawarga OS Linux minangka solusi sing cukup umum ing segmen klien lan server. Kabeh sing dibutuhake kanggo nggawe array yaiku sarana mdadm lan sawetara piranti blok. Siji-sijine syarat Linux Software RAID ing drive sing digunakake yaiku dadi piranti blok sing bisa diakses dening sistem.

Ora ana biaya kanggo peralatan lan piranti lunak minangka kauntungan sing jelas saka metode iki. Linux Software RAID ngatur susunan disk kanthi biaya wektu CPU. Dhaptar tingkat RAID sing didhukung lan status susunan disk saiki bisa dideleng ing file mdstat, sing ana ing procfs root:

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

Dhukungan kanggo tingkat RAID ditambahake kanthi nyambungake modul kernel sing cocog, contone:

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

Kabeh operasi karo susunan disk dileksanakake liwat sarana baris printah mdadm. Array disk dirakit ing siji printah:

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

Sawise nglakokake printah iki, piranti blok / dev/md0 bakal katon ing sistem, sing makili sampeyan minangka disk virtual.

Intel® Virtual RAID Ing CPU

Array RAID ing NVMeKunci Hardware Standar Intel® VROC
Intel® Virtual RAID On CPU (VROC) minangka teknologi hardware lan piranti lunak kanggo nggawe array RAID adhedhasar chipset Intel®. Teknologi iki kasedhiya utamane kanggo motherboard sing ndhukung prosesor Intel® Xeon® Scalable. Kanthi gawan, VROC ora kasedhiya. Kanggo ngaktifake, sampeyan kudu nginstal kunci lisensi hardware VROC.

Lisensi VROC standar ngidini sampeyan nggawe susunan disk kanthi tingkat RAID 0, 1 lan 10. Versi premium ngembangake dhaptar iki kanthi dhukungan RAID5.

Teknologi Intel® VROC ing motherboard modern dianggo bebarengan karo Intel® Volume Management Device (VMD), sing nyedhiyakake kemampuan hot-swap kanggo drive NVMe.

Array RAID ing NVMeLisensi Standar Intel® VROC Array dikonfigurasi liwat Utilitas Setup nalika server boot. Ing tab Linuwih Item Intel® Virtual RAID ing CPU katon, ing ngendi sampeyan bisa ngatur susunan disk.

Array RAID ing NVMeNggawe array RAID1 ing rong drive
Teknologi Intel® VROC duwe ace dhewe. Array disk sing dibangun nggunakake VROC kompatibel karo Linux Software RAID. Iki tegese status array bisa dipantau ing /proc/mdstat lan dikelola liwat mdadm. "Fitur" iki resmi didhukung dening Intel. Sawise ngrakit RAID1 ing Setup Utility, sampeyan bisa mirsani sinkronisasi drive ing 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>

Elinga yen sampeyan ora bisa ngumpulake array ing VROC nggunakake mdadm (arrays diklumpukake bakal Linux SW RAID), nanging sampeyan bisa ngganti disk ing lan mbongkar array.

LSI MegaRAID 9460-8i

Array RAID ing NVMeKaton saka LSI MegaRAID 9460-8i controller
Pengontrol RAID minangka solusi hardware sing mandiri. Controller mung dianggo karo drive disambungake langsung menyang. Kontrol RAID iki ndhukung nganti 24 drive NVMe. Iki minangka dhukungan NVMe sing mbedakake pengontrol iki saka akeh liyane.

Array RAID ing NVMeMenu utama pengontrol hardware
Nalika nggunakake mode UEFI, setelan pengontrol digabungake menyang Setup Utility. Dibandhingake karo VROC, menu controller hardware katon luwih rumit.

Array RAID ing NVMeNggawe RAID1 ing rong disk
Nerangake carane ngatur susunan disk ing controller hardware iku topik rada alus lan bisa dadi alesan kanggo artikel lengkap. Ing kene kita mung bakal mbatesi awake dhewe kanggo nggawe RAID0 lan RAID1 kanthi setelan gawan.

Disk sing disambungake menyang pengontrol hardware ora katon ing sistem operasi. Nanging, controller "topeng" kabeh RAID arrays minangka drive SAS. Drive disambungake menyang controller, nanging ora bagean saka susunan disk, ora bakal bisa diakses dening 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.

Sanajan disamar minangka drive SAS, susunan NVMe bakal beroperasi kanthi kecepatan PCIe. Nanging, fitur iki ngidini sampeyan boot saka NVMe ing Warisan.

bangku test

Saben cara ngatur susunan disk nduweni pro lan kontra fisik dhewe. Nanging ana prabédan kinerja nalika nggarap susunan disk?

Kanggo entuk keadilan maksimal, kabeh tes bakal ditindakake ing server sing padha. Konfigurasi kasebut:

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

Unit test sing P4510, siji setengah kang disambungake menyang motherboard, lan setengah liyane kanggo RAID controller. M.2 nganggo Ubuntu 20.04 lan tes bakal ditindakake nggunakake versi fio 3.16.

Tes

Kaping pisanan, ayo mriksa wektu tundha nalika nggarap disk. Tes ditindakake ing siji utas, ukuran blok 4 KB. Saben tes suwene 5 menit. Sadurunge miwiti, piranti pamblokiran sing cocog ora disetel minangka panjadwal I/O. Perintah fio katon kaya iki:

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

Saka asil fio kita njupuk clat 99.00%. Asil ditampilake ing tabel ing ngisor iki.

Wacan acak, μs
Rekaman acak, μ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

Saliyane wektu tundha nalika ngakses data, aku pengin ndeleng kinerja drive virtual lan mbandhingake karo kinerja disk fisik. Perintah kanggo mbukak fio:

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

Kinerja diukur miturut operasi I/O. Asil kasebut ditampilake ing tabel ing ngisor iki.

Waca acak 1 utas, IOPS
Tulis acak 1 utas, IOPS
Waca acak 128 utas, IOPS
Tulis acak 128 utas, 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

Gampang kanggo ndeleng manawa nggunakake pengontrol hardware nyebabake latensi lan kinerja sing luwih dhuwur dibandhingake karo solusi piranti lunak.

kesimpulan

Nggunakake solusi hardware kanggo nggawe susunan disk saka rong disk katon ora rasional. Nanging, ana tugas sing nggunakake pengontrol RAID dibenerake. Kanthi tekane pengontrol sing ndhukung antarmuka NVMe, pangguna duwe kesempatan kanggo nggunakake SSD sing luwih cepet ing proyeke.

Array RAID ing NVMe

Mung pangguna pangguna sing bisa melu survey. mlebunggih.

Apa sampeyan nggunakake solusi RAID?

  • 29,6%Ya, solusi hardware32

  • 50,0%Ya, solusi piranti lunak54

  • 16,7%No18

  • 3,7%Ora perlu RAID4

108 pangguna milih. 14 kedhaftar abstained.

Source: www.habr.com

Add a comment