NVMe تي RAID صفون

NVMe تي RAID صفون
هن آرٽيڪل ۾ اسين RAID arrays کي منظم ڪرڻ جي مختلف طريقن بابت ڳالهائينداسين، ۽ پڻ ڏيکارينداسين هڪ پهريون هارڊويئر RAID ڪنٽرولر NVMe سپورٽ سان.

RAID ٽيڪنالاجي جي سڀني قسمن جي ايپليڪيشنن کي سرور جي حصي ۾ ملي ٿو. ڪلائنٽ جي حصي ۾، صرف سافٽ ويئر RAID0 يا RAID1 ٻن ڊسڪ تي اڪثر استعمال ڪيو ويندو آهي.

هي آرٽيڪل RAID ٽيڪنالاجي جو هڪ مختصر جائزو مهيا ڪندو، هڪ مختصر ٽيوٽوريل ڪيئن ٺاهيو RAID arrays کي ٽن مختلف اوزارن کي استعمال ڪندي، ۽ هر طريقي سان استعمال ڪندي ورچوئل ڊسڪ ڪارڪردگي جو مقابلو.

RAID ڇا آهي؟

وڪيپيڊيا RAID ٽيڪنالاجي جي هڪ جامع تعريف ڏئي ٿو:

ڪيئي (eng. آزاد ڊسڪ جي ريڊرنٽ آرري - آزاد (آزاد) ڊسڪ جي بيڪار صف) - ڊيٽا ورچوئلائيزيشن ٽيڪنالاجي ڪيترن ئي فزيڪل ڊسڪ ڊوائيسز کي گڏ ڪرڻ لاء منطقي ماڊل ۾ غلطي رواداري ۽ ڪارڪردگي کي وڌائڻ لاء.

ڊسڪ جي ترتيب جي ترتيب ۽ استعمال ٿيل ٽيڪنالاجيون چونڊيل تي منحصر آهن RAID سطح. RAID سطحن جي وضاحت ۾ معياري آهن عام RAID ڊسڪ ڊيٽا فارميٽ. اهو ڪيترن ئي RAID سطحن کي بيان ڪري ٿو، پر سڀ کان وڌيڪ عام آهن RAID0، RAID1، RAID5 ۽ RAID6.

RAID0يا اسڪرين، هڪ RAID سطح آهي جيڪا ٻه يا وڌيڪ جسماني ڊرائيو کي هڪ منطقي ڊرائيو ۾ گڏ ڪري ٿي. منطقي ڊسڪ جو حجم صف ۾ شامل فزيڪل ڊسڪ جي مقدار جي رقم جي برابر آهي. هن RAID سطح تي ڪا به بيڪار نه آهي، ۽ هڪ ڊرائيو جي ناڪامي جي نتيجي ۾ مجازي ڊسڪ ۾ سڀني ڊيٽا جي نقصان جي نتيجي ۾ ٿي سگهي ٿي.

سطح RAID1يا ائين, ٻن يا وڌيڪ ڊسڪ تي ڊيٽا جي هڪجهڙائي ڪاپي ٺاهي ٿو. مجازي ڊسڪ جي ماپ جسماني ڊسڪ جي گھٽ ۾ گھٽ سائيز کان وڌيڪ نه آهي. RAID1 ورچوئل ڊسڪ تي ڊيٽا موجود هوندي جيستائين صفن مان گهٽ ۾ گهٽ هڪ فزيڪل ڊسڪ هلندڙ آهي. RAID1 استعمال ڪرڻ سان بيڪار اضافو ٿئي ٿو، پر اھو ھڪڙو قيمتي حل آھي، ڇاڪاڻ⁠تہ ٻن يا وڌيڪ ڊسڪ جي صفن ۾ صرف ھڪڙي جي گنجائش موجود آھي.

سطح RAID5 اعلي قيمت جو مسئلو حل ڪري ٿو. RAID5 سطح سان هڪ صف ٺاهڻ لاءِ، توهان کي گهٽ ۾ گهٽ 3 ڊسڪ جي ضرورت آهي، ۽ صف هڪ ڊسڪ جي ناڪاميءَ جي مزاحمتي آهي. ڊيٽا RAID5 ۾ محفوظ ٿيل آهي بلاڪ ۾ چيڪسم سان. ڊيٽا ڊسڪ ۽ چيڪسم ڊسڪ جي وچ ۾ ڪابه سخت تقسيم ناهي. RAID5 ۾ چيڪسم N-1 بلاڪ تي لاڳو ڪيل XOR آپريشن جو نتيجو آهن، هر هڪ مختلف ڊسڪ مان ورتو ويو آهي.

جيتوڻيڪ RAID arrays فالتوت وڌائين ٿا ۽ بيڪار مهيا ڪن ٿا، اھي بيڪ اپ رکڻ لاءِ مناسب نه آھن.

RAID arrays جي قسمن ۾ هڪ مختصر گهمڻ کان پوء، توهان ڊوائيسز ۽ پروگرامن ڏانهن منتقل ڪري سگهو ٿا جيڪي توهان کي ڊسڪ صفن کي گڏ ڪرڻ ۽ استعمال ڪرڻ جي اجازت ڏين ٿا.

RAID ڪنٽرولرز جا قسم

RAID arrays ٺاهڻ ۽ استعمال ڪرڻ جا ٻه طريقا آهن: هارڊويئر ۽ سافٽ ويئر. اسان هيٺ ڏنل حل تي غور ڪنداسين:

  • لينڪس سافٽ ويئر RAID.
  • Intel® Virtual RAID CPU تي.
  • LSI MegaRAID 9460-8i.

نوٽ ڪريو ته Intel® حل هڪ چپس تي هلندو آهي، جيڪو سوال پيدا ڪري ٿو ته ڇا اهو هارڊويئر يا سافٽ ويئر حل آهي. مثال طور، VMWare ESXi hypervisor سمجهي ٿو VROC سافٽ ويئر ۽ سرڪاري طور تي ان جي حمايت نٿو ڪري.

لينڪس سافٽ ويئر RAID

لينڪس او ايس فيملي ۾ سافٽ ويئر RAID صفون هڪ عام عام حل آهن ٻنهي ڪلائنٽ ۽ سرور حصن ۾. توهان کي هڪ صف ٺاهڻ جي ضرورت آهي mdadm افاديت ۽ ڪجهه بلاڪ ڊوائيسز. لينڪس سافٽ ويئر RAID جڳهن جي صرف ضرورت آهي ڊرائيوز تي اهو استعمال ڪري ٿو هڪ بلاڪ ڊيوائس هجڻ گهرجي سسٽم تائين رسائي.

سامان ۽ سافٽ ويئر جي خرچ جي غير موجودگيء هن طريقي جو هڪ واضح فائدو آهي. لينڪس سافٽ ويئر RAID سي پي يو جي وقت جي قيمت تي ڊسڪ صفن کي منظم ڪري ٿو. سپورٽ ٿيل 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® Virtual RAID CPU تي

NVMe تي RAID صفونIntel® VROC معياري هارڊويئر ڪي
Intel® Virtual RAID On CPU (VROC) هڪ هارڊويئر ۽ سافٽ ويئر ٽيڪنالاجي آهي جيڪا Intel® chipsets تي ٻڌل RAID arrays ٺاهي ٿي. هي ٽيڪنالاجي بنيادي طور تي مدر بورڊز لاءِ موجود آهي جيڪي سپورٽ ڪن ٿيون Intel® Xeon® Scalable پروسيسرز. ڊفالٽ طور، VROC دستياب ناهي. ان کي چالو ڪرڻ لاءِ، توھان کي انسٽال ڪرڻ گھرجي VROC هارڊويئر لائسنس چيڪ.

معياري VROC لائسنس توهان کي 0، 1 ۽ 10 RAID سطحن سان ڊسڪ صفن ٺاهڻ جي اجازت ڏئي ٿو. پريميئم ورزن هن لسٽ کي RAID5 سپورٽ سان وڌائي ٿو.

جديد مدر بورڊز تي Intel® VROC ٽيڪنالاجي Intel® Volume Management Device (VMD) سان گڏ ڪم ڪري ٿي، جيڪا NVMe ڊرائيوز لاءِ گرم ادل جي صلاحيت مهيا ڪري ٿي.

NVMe تي RAID صفونIntel® VROC معياري لائسنس سيٽ اپ يوٽيلٽي ذريعي ترتيب ڏنل آهن جڏهن سرور بوٽ ڪندو آهي. ٽيب تي اعلي درجي Intel® Virtual RAID سي پي يو آئٽم تي ظاهر ٿئي ٿو، جتي توهان ڊسڪ صفن کي ترتيب ڏئي سگهو ٿا.

NVMe تي RAID صفونٻن ڊرائيو تي RAID1 صف ٺاهڻ
Intel® VROC ٽيڪنالاجي کي پنهنجي آستين تي پنهنجو ايز آهي. VROC استعمال ڪندي ٺاهيل ڊسڪ صفون لينڪس سافٽ ويئر RAID سان مطابقت رکن ٿيون. هن جو مطلب آهي ته arrays جي حالت مانيٽر ڪري سگهجي ٿو /proc/mdstat ۾ ۽ انتظام ڪري سگهجي ٿو mdadm ذريعي. هي "خصوصيت" سرڪاري طور تي Intel جي حمايت ڪئي وئي آهي. سيٽ اپ يوٽيلٽي ۾ RAID1 کي گڏ ڪرڻ کان پوء، توهان او ايس ۾ ڊرائيو جي هم وقت سازي جو مشاهدو ڪري سگهو ٿا:

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 تي صفن کي گڏ نه ٿا ڪري سگهو (جمع ٿيل صفون لينڪس SW RAID هونديون)، پر توهان انهن ۾ ڊسڪ تبديل ڪري سگهو ٿا ۽ صفن کي ڌار ڪري سگهو ٿا.

LSI MegaRAID 9460-8i

NVMe تي RAID صفونLSI MegaRAID 9460-8i ڪنٽرولر جي ظاهر
RAID ڪنٽرولر هڪ اسٽينڊ اڪيلو هارڊويئر حل آهي. ڪنٽرولر صرف ان سان ڳنڍيل ڊرائيو سان ڪم ڪري ٿو. هي RAID ڪنٽرولر 24 NVMe ڊرائيو تائين سپورٽ ڪري ٿو. اهو NVMe سپورٽ آهي جيڪو هن ڪنٽرولر کي ڪيترن ئي ٻين کان ڌار ڪري ٿو.

NVMe تي RAID صفونهارڊويئر ڪنٽرولر جو مکيه مينيو
جڏهن UEFI موڊ استعمال ڪندي، ڪنٽرولر سيٽنگون سيٽ اپ يوٽيليٽ ۾ ضم ٿي ويا آهن. VROC جي مقابلي ۾، هارڊويئر سنڀاليندڙ مينيو وڌيڪ پيچيده نظر اچي ٿو.

NVMe تي RAID صفونٻن ڊسڪ تي RAID1 ٺاهڻ
وضاحت ڪرڻ ته هارڊويئر سنڀاليندڙ تي ڊسڪ صفن کي ڪيئن ترتيب ڏيڻ هڪ تمام نازڪ موضوع آهي ۽ هڪ مڪمل مضمون جو سبب ٿي سگهي ٿو. هتي اسان صرف پنهنجو پاڻ کي ڊفالٽ سيٽنگن سان RAID0 ۽ RAID1 ٺاهڻ تائين محدود ڪنداسين.

هارڊويئر ڪنٽرولر سان ڳنڍيل ڊسڪ آپريٽنگ سسٽم کي نظر نه اينديون آهن. ان جي بدران، ڪنٽرولر "ماسڪ" سڀني RAID صفن کي SAS ڊرائيو وانگر. ڊرائيوز ڪنٽرولر سان ڳنڍيل آهن، پر ڊسڪ صف جو حصو نه آهن، او ايس طرفان رسائي نه هوندي.

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 arrays PCIe جي رفتار تي ڪم ڪندو. بهرحال، هي خصوصيت توهان کي اجازت ڏئي ٿي ته بوٽ ڪرڻ جي NVMe مان ورثي ۾.

ٽيسٽ اسٽينڊ

ڊسڪ آرين کي منظم ڪرڻ جو هر طريقو پنهنجي جسماني نفعو ۽ نقصان آهي. پر ڇا ڪارڪردگي جو فرق آهي جڏهن ڊسڪ صفن سان ڪم ڪري رهيو آهي؟

وڌ ۾ وڌ انصاف حاصل ڪرڻ لاءِ، سڀ ٽيسٽون ساڳئي سرور تي ڪيون وينديون. ان جي تشڪيل:

  • 2x Intel® Xeon® 6240؛
  • 12x DDR4-2666 16 GB؛
  • LSI MegaRAID 9460-8i؛
  • Intel® VROC معياري هارڊويئر ڪي؛
  • 4x Intel® SSD DC P4510 U.2 2TB؛
  • 1x Samsung 970 EVO Plus M.2 500GB.

ٽيسٽ يونٽ P4510 آهن، جن مان هڪ اڌ ماء بورڊ سان ڳنڍيل آهي، ۽ ٻيو اڌ RAID ڪنٽرولر سان. M.2 هلائي رهيو آهي Ubuntu 20.04 ۽ ٽيسٽ هلائي ويندي fio ورجن 3.16 استعمال ڪندي.

جاچ

سڀ کان پهريان، اچو ته دير جي چڪاس ڪريو جڏهن ڊسڪ سان ڪم ڪري رهيا آهيو. ٽيسٽ هڪ سلسلي ۾ جاري آهي، بلاڪ سائيز 4 KB آهي. هر ٽيسٽ 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>

فيو نتيجن مان اسان ڪلٽ 99.00٪ وٺون ٿا. نتيجا ھيٺ ڏنل جدول ۾ ڏيکاريل آھن.

بي ترتيب پڙهڻ، μs
بي ترتيب رڪارڊنگ، μs

ڊسڪ
112
78

لينڪس SW RAID، RAID0
113
45

VROC، RAID0
112
46

LSI، RAID0
122
63

لينڪس SW RAID، RAID1
113
48

VROC، RAID1
113
45

LSI، RAID1
128
89

ڊيٽا تائين پهچڻ ۾ دير جي اضافي ۾، مان چاهيان ٿو ته مجازي ڊرائيو جي ڪارڪردگي کي ڏسڻ ۽ انهن کي جسماني ڊسڪ جي ڪارڪردگي سان مقابلو ڪرڻ. فيو هلائڻ لاءِ حڪم:

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

ڪارڪردگي I/O عملن جي لحاظ کان ماپي ويندي آهي. نتيجا ھيٺ ڏنل جدول ۾ پيش ڪيا ويا آھن.

بي ترتيب پڙهڻ 1 موضوع، IOPS
بي ترتيب لکڻ 1 موضوع، IOPS
بي ترتيب پڙهڻ 128 موضوع، IOPS
بي ترتيب لکڻ 128 موضوع، IOPS

ڊسڪ
11300
40700
453000
105000

لينڪس SW RAID، RAID0
11200
52000
429000
232000

VROC، RAID0
11200
52300
441000
162000

LSI، RAID0
10900
44200
311000
160000

لينڪس SW RAID، RAID1
10000
48600
395000
147000

VROC، RAID1
10000
54400
378000
244000

LSI، RAID1
11000
34300
229000
248000

اهو ڏسڻ لاءِ آسان آهي ته هارڊويئر ڪنٽرولر استعمال ڪرڻ سان سافٽ ويئر حلن جي مقابلي ۾ ويڪرائي وڌندي ۽ هڪ ڪارڪردگي هٽي ٿي.

ٿڪل

هارڊويئر حلن کي استعمال ڪرڻ لاءِ ٻن ڊسڪ مان ڊسڪ آري ٺاهڻ غير معقول نظر اچي ٿو. بهرحال، اهڙا ڪم آهن جتي RAID ڪنٽرولرز جو استعمال جائز آهي. ڪنٽرولرز جي اچڻ سان جيڪي NVMe انٽرفيس کي سپورٽ ڪن ٿا، صارفين کي انهن جي منصوبن ۾ تيز ايس ايس ڊي استعمال ڪرڻ جو موقعو آهي.

NVMe تي RAID صفون

صرف رجسٽرڊ استعمال ڪندڙ سروي ۾ حصو وٺي سگهن ٿا. سائن ان ڪريو، توهان جي مهرباني.

ڇا توهان RAID حل استعمال ڪري رهيا آهيو؟

  • 29,6٪ها، هارڊويئر حل 32

  • 50,0٪ها، سافٽ ويئر حل 54

  • 16,7٪نمبر 18

  • 3,7٪RAID جي ضرورت ناهي 4

108 صارفين ووٽ ڏنو. 14 استعمال ڪندڙن کي روڪيو ويو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو