Массивҳои RAID дар NVMe

Массивҳои RAID дар NVMe
Дар ин мақола мо дар бораи роҳҳои гуногуни ташкили массивҳои RAID сӯҳбат мекунем ва инчунин яке аз аввалин контроллерҳои сахтафзори RAID-ро бо дастгирии NVMe нишон медиҳем.

Ҳама намудҳои гуногуни замимаҳои технологияи RAID дар сегменти сервер мавҷуданд. Дар сегменти муштарӣ, аксар вақт танҳо нармафзори RAID0 ё RAID1 дар ду диск истифода мешавад.

Ин мақола шарҳи мухтасари технологияи RAID, як дастури кӯтоҳ дар бораи чӣ гуна сохтани массивҳои RAID бо истифода аз се асбоби гуногун ва муқоисаи кори диски виртуалӣ бо истифода аз ҳар як усулро пешкаш мекунад.

RAID чист?

Википедия таърифи мукаммали технологияи RAID медиҳад:

паридан (Eng. Массиви зиёдатии дискҳои мустақил - массиви зиёдатии дискҳои мустақил (мустақил)) - технологияи виртуализатсияи додаҳо барои муттаҳид кардани якчанд дастгоҳҳои диски физикӣ ба модули мантиқӣ барои баланд бардоштани таҳаммулпазирӣ ва иҷроиш.

Конфигуратсияи массивҳои дискҳо ва технологияҳои истифодашуда аз интихобшуда вобаста аст Сатҳи RAID. Сатҳи RAID дар мушаххасот стандартизатсия карда шудааст Формати умумии маълумотҳои диски RAID. Он бисёр сатҳҳои RAID-ро тавсиф мекунад, аммо маъмултаринашон RAID0, RAID1, RAID5 ва RAID6 мебошанд.

RAID0ё Шабакаҳо, сатҳи RAID аст, ки ду ё зиёда дискҳои физикиро дар як диски мантиқӣ муттаҳид мекунад. Ҳаҷми диски мантиқӣ ба ҷамъи ҳаҷми дискҳои физикии ба массив дохилшуда баробар аст. Дар ин сатҳи RAID зиёдатӣ вуҷуд надорад ва нокомии як диск метавонад боиси гум шудани ҳама маълумот дар диски виртуалӣ гардад.

Сатҳи RAID1ё оина, нусхаҳои якхелаи маълумотро дар ду ё зиёда дискҳо эҷод мекунад. Андозаи диски виртуалӣ аз андозаи минималии дискҳои физикӣ зиёд нест. Маълумот дар диски виртуалии RAID1 то он даме, ки ҳадди аққал як диски физикӣ аз массив кор мекунад, дастрас хоҳад буд. Истифодаи RAID1 изофӣ медиҳад, аммо ҳалли хеле гаронбаҳост, зеро дар массивҳои ду ё зиёда дискҳо иқтидори танҳо як диск мавҷуд аст.

Сатҳи RAID5 масъалаи харочоти зиёдро хал мекунад. Барои сохтани массив бо сатҳи RAID5, ба шумо ҳадди аққал 3 диск лозим аст ва массив ба шикасти як диск тобовар аст. Маълумот дар RAID5 дар блокҳо бо маблағи чек нигоҳ дошта мешавад. Дар байни дискҳои додаҳо ва дискҳои чек тақсимоти қатъӣ вуҷуд надорад. Маблағҳои санҷишӣ дар RAID5 натиҷаи амалиёти XOR мебошанд, ки ба блокҳои N-1 истифода мешаванд, ки ҳар кадоме аз диски дигар гирифта шудааст.

Гарчанде ки массивҳои RAID изофиятро зиёд мекунанд ва зиёдатӣ таъмин мекунанд, онҳо барои нигоҳ доштани нусхаҳои эҳтиётӣ мувофиқ нестанд.

Пас аз як экскурсияи мухтасар ба намудҳои массивҳои RAID, шумо метавонед ба дастгоҳҳо ва барномаҳое гузаред, ки ба шумо имкон медиҳанд массивҳои дискҳоро ҷамъ ва истифода баред.

Намудҳои контроллерҳои RAID

Ду роҳи эҷод ва истифодаи массивҳои RAID вуҷуд дорад: сахтафзор ва нармафзор. Мо роҳҳои ҳалли зеринро баррасӣ хоҳем кард:

  • RAID нармафзори Linux.
  • Intel® RAID виртуалӣ дар CPU.
  • LSI MegaRAID 9460-8i.

Аҳамият диҳед, ки ҳалли Intel® дар чипсет кор мекунад, ки саволеро ба миён меорад, ки оё он ҳалли сахтафзор ё нармафзор аст. Масалан, гипервизори VMWare ESXi нармафзори VROC-ро баррасӣ мекунад ва онро расман дастгирӣ намекунад.

RAID нармафзори Linux

Массивҳои нармафзори RAID дар оилаи Linux OS як ҳалли хеле маъмул дар сегментҳои муштарӣ ва сервер мебошанд. Барои сохтани массив ба шумо танҳо як утилитаи mdadm ва чанд дастгоҳи блок лозим аст. Ягона талаботе, ки Linux Software RAID дар дискҳои истифода мебарад, ин аст, ки дастгоҳи блоки барои система дастрас бошад.

Набудани хароҷот барои таҷҳизот ва нармафзор бартарии ошкори ин усул аст. Linux Software RAID массивҳои дискҳоро бо арзиши вақти CPU ташкил мекунад. Рӯйхати сатҳҳои дастгирӣшавандаи RAID ва ҳолати массивҳои дискҳои ҷорӣро дар файли mdstat, ки дар решаи procfs ҷойгир аст, дидан мумкин аст:

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

Дастгирии сатҳҳои RAID тавассути пайваст кардани модули ядрои мувофиқ илова карда мешавад, масалан:

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

Ҳама амалиётҳо бо массивҳои дискҳо тавассути утилитаи сатри фармони mdadm иҷро карда мешаванд. Массиви диск дар як фармон ҷамъ карда мешавад:

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

Пас аз иҷрои ин фармон, дар система дастгоҳи блоки /dev/md0 пайдо мешавад, ки шуморо ҳамчун диски виртуалӣ муаррифӣ мекунад.

Intel® RAID виртуалӣ дар CPU

Массивҳои RAID дар NVMeКалиди сахтафзори стандартии Intel® VROC
Intel® Virtual RAID On CPU (VROC) як технологияи сахтафзор ва нармафзор барои эҷоди массивҳои RAID дар асоси чипсетҳои Intel® мебошад. Ин технология асосан барои motherboards, ки протсессори Scalable Intel® Xeon®-ро дастгирӣ мекунанд, дастрас аст. Бо нобаёнӣ, VROC дастрас нест. Барои фаъол кардани он, шумо бояд калиди литсензияи сахтафзори VROC -ро насб кунед.

Литсензияи стандартии VROC ба шумо имкон медиҳад, ки массивҳои дискҳоро бо сатҳҳои 0, 1 ва 10 RAID эҷод кунед. Версияи премиум ин рӯйхатро бо дастгирии RAID5 васеъ мекунад.

Технологияи Intel® VROC дар motherboards муосир дар якҷоягӣ бо Intel® Volume Management Device (VMD) кор мекунад, ки қобилияти мубодилаи гармро барои дискҳои NVMe таъмин мекунад.

Массивҳои RAID дар NVMeИҷозатномаи стандартии Intel® VROC Массивҳо тавассути утилитаи Setup ҳангоми боркунии сервер танзим карда мешаванд. Дар лавҳа Advanced Унсури Intel® Virtual RAID дар CPU пайдо мешавад, ки дар он шумо метавонед массивҳои дискҳоро танзим кунед.

Массивҳои RAID дар NVMeЭҷоди массиви RAID1 дар ду диск
Технологияи Intel® VROC дорои асои худро дорад. Массивҳои дискҳои бо истифода аз VROC сохташуда бо Linux Software RAID мувофиқанд. Ин маънои онро дорад, ки ҳолати массивҳоро дар /proc/mdstat назорат кардан мумкин аст ва тавассути mdadm идора карда мешавад. Ин "хусусият" аз ҷониби Intel расман дастгирӣ карда мешавад. Пас аз васл кардани RAID1 дар Utility Setup, шумо метавонед ҳамоҳангсозии дискҳоро дар ОС мушоҳида кунед:

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>

Дар хотир доред, ки шумо бо истифода аз mdadm массивҳоро дар VROC ҷамъ карда наметавонед (массивҳои ҷамъшуда Linux SW RAID хоҳанд буд), аммо шумо метавонед дискҳоро дар онҳо иваз кунед ва массивҳоро ҷудо кунед.

LSI MegaRAID 9460-8i

Массивҳои RAID дар NVMeНамуди зоҳирии контроллер LSI MegaRAID 9460-8i
Назоратчии RAID як ҳалли сахтафзори мустақил аст. Контроллер танҳо бо дискҳое кор мекунад, ки мустақиман ба он пайвастанд. Ин контролери RAID то 24 диски NVMe -ро дастгирӣ мекунад. Маҳз дастгирии NVMe аст, ки ин контроллерро аз бисёр дигарон фарқ мекунад.

Массивҳои RAID дар NVMeМенюи асосии контролери сахтафзор
Ҳангоми истифодаи режими UEFI, танзимоти контроллер ба Utility Setup дохил карда мешаванд. Дар муқоиса бо VROC, менюи контролери сахтафзор хеле мураккабтар аст.

Массивҳои RAID дар NVMeЭҷоди RAID1 дар ду диск
Шарҳ додани тарзи конфигуратсияи массивҳои дискҳо дар контролери сахтафзор як мавзӯи хеле нозук аст ва метавонад сабаби мақолаи мукаммал бошад. Дар ин ҷо мо танҳо худро бо эҷоди RAID0 ва RAID1 бо танзимоти пешфарз маҳдуд мекунем.

Дискҳое, ки ба контроллери сахтафзор пайвастанд, ба системаи оператсионӣ намоён нестанд. Ба ҷои ин, контроллер ҳама массивҳои RAID-ро ҳамчун дискҳои SAS "ниқоб" мекунад. Дискҳое, ки ба контроллер пайвастанд, аммо қисми массиви дискҳо нестанд, аз ҷониби 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.

Бо вуҷуди пинҳон кардани дискҳои SAS, массивҳои NVMe бо суръати PCIe кор хоҳанд кард. Аммо, ин хусусият ба шумо имкон медиҳад, ки аз NVMe дар Legacy пурбор кунед.

Пойгоҳи санҷишӣ

Ҳар як усули ташкили массивҳои дискҳо ҷиҳатҳои мусбат ва манфии физикии худро дорад. Аммо оё фарқияти иҷроиш ҳангоми кор бо массивҳои диск вуҷуд дорад?

Барои ноил шудан ба адолат, ҳама санҷишҳо дар як сервер гузаронида мешаванд. Конфигуратсияи он:

  • 2х Intel® Xeon® 6240;
  • 12x DDR4-2666 16 ГБ;
  • LSI MegaRAID 9460-8i;
  • Калиди сахтафзори стандартии Intel® VROC;
  • 4x Intel® SSD DC P4510 U.2 2TB;
  • 1х Samsung 970 EVO Plus M.2 500GB.

Воҳидҳои санҷишӣ P4510 мебошанд, ки нисфи он ба motherboard ва нисфи дигараш ба контроллери RAID пайваст аст. M.2 Ubuntu 20.04-ро иҷро мекунад ва санҷишҳо бо версияи fio 3.16 гузаронида мешаванд.

санҷиши

Пеш аз хама, дар вакти кор бо диск таъхирхоро тафтиш мекунем. Санҷиш дар як ришта иҷро карда мешавад, андозаи блок 4 КБ аст. Ҳар як санҷиш 5 дақиқа давом мекунад. Пеш аз оғоз, дастгоҳи блоки мувофиқ ба ҳеҷ ваҷҳ ҳамчун нақшаи I/O муқаррар карда мешавад. Фармони fio чунин менамояд:

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

Аз натиҷаҳои fio мо clat 99.00% мегирем. Натиҷаҳо дар ҷадвали зер нишон дода шудаанд.

Хониши тасодуфӣ, μs
Сабти тасодуфӣ, мкс

диск
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

Илова ба таъхирҳо ҳангоми дастрасӣ ба маълумот, ман мехоҳам кори дискҳои виртуалиро бубинам ва онҳоро бо кори диски физикӣ муқоиса кунам. Фармони иҷро кардани fio:

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

Самаранокӣ аз рӯи амалиёти воридот / баромад чен карда мешавад. Натиҷаҳо дар ҷадвали зер оварда шудаанд.

Хониши тасодуфӣ 1 ришта, IOPS
Навиштани тасодуфӣ 1 ришта, IOPS
Хониши тасодуфӣ 128 ришта, IOPS
Навиштани тасодуфӣ 128 ришта, IOPS

диск
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

Фаҳмидани он осон аст, ки истифодаи контролери сахтафзор дар муқоиса бо қарорҳои нармафзор боиси зиёд шудани таъхир ва зарбаи кор мегардад.

хулоса

Истифодаи ҳалли сахтафзор барои эҷоди массивҳои дискҳо аз ду диск ғайриоддӣ менамояд. Аммо, вазифаҳое ҳастанд, ки истифодаи контроллерҳои RAID асоснок аст. Бо пайдоиши контроллерҳо, ки интерфейси NVMe-ро дастгирӣ мекунанд, корбарон имкон доранд, ки SSD-ҳои тезтарро дар лоиҳаҳои худ истифода баранд.

Массивҳои RAID дар NVMe

Танҳо корбарони сабтиномшуда метавонанд дар пурсиш иштирок кунанд. даромад, Лутфан.

Оё шумо ҳалли RAID-ро истифода мебаред?

  • 29,6%Бале, ҳалли сахтафзор32

  • 50,0%Бале, ҳалли нармафзор54

  • 16,7%№18

  • 3,7%RAID лозим нест4

108 корбар овоз доданд. 14 корбар худдорӣ карданд.

Манбаъ: will.com

Илова Эзоҳ