NVMe वर RAID अॅरे

NVMe वर RAID अॅरे
या लेखात आम्ही RAID अॅरे व्यवस्थापित करण्याच्या विविध मार्गांबद्दल बोलू, आणि NVMe समर्थनासह प्रथम हार्डवेअर RAID नियंत्रकांपैकी एक देखील दर्शवू.

RAID तंत्रज्ञानाचे सर्व प्रकार सर्व्हर विभागात आढळतात. क्लायंट विभागात, दोन डिस्कवरील फक्त सॉफ्टवेअर RAID0 किंवा RAID1 बहुतेकदा वापरले जातात.

हा लेख RAID तंत्रज्ञानाचे संक्षिप्त विहंगावलोकन, तीन भिन्न साधनांचा वापर करून RAID अॅरे कसे तयार करावे यावरील एक लहान ट्यूटोरियल आणि प्रत्येक पद्धतीचा वापर करून व्हर्च्युअल डिस्क कार्यक्षमतेची तुलना प्रदान करेल.

RAID म्हणजे काय?

विकिपीडिया RAID तंत्रज्ञानाची व्यापक व्याख्या देते:

RAID (इंग्लिश. स्वतंत्र डिस्क्सचा रिडंडंट अ‍ॅरे - स्वतंत्र (स्वतंत्र) डिस्क्सचा निरर्थक अॅरे) - दोष सहिष्णुता आणि कार्यप्रदर्शन वाढविण्यासाठी अनेक भौतिक डिस्क उपकरणे तार्किक मॉड्यूलमध्ये एकत्रित करण्यासाठी डेटा आभासीकरण तंत्रज्ञान.

डिस्क अॅरेचे कॉन्फिगरेशन आणि वापरलेले तंत्रज्ञान निवडलेल्यांवर अवलंबून असते RAID पातळी. स्पेसिफिकेशनमध्ये RAID पातळी प्रमाणित आहेत सामान्य RAID डिस्क डेटा स्वरूप. हे अनेक RAID स्तरांचे वर्णन करते, परंतु सर्वात सामान्य RAID0, RAID1, RAID5 आणि RAID6 आहेत.

RAID0, किंवा पट्ट्या, ही एक RAID पातळी आहे जी दोन किंवा अधिक भौतिक ड्राइव्ह एका लॉजिकल ड्राइव्हमध्ये एकत्र करते. लॉजिकल डिस्कचे व्हॉल्यूम अॅरेमध्ये समाविष्ट केलेल्या फिजिकल डिस्कच्या व्हॉल्यूमच्या बेरजेइतके आहे. या RAID स्तरावर कोणतीही रिडंडंसी नाही आणि एका ड्राइव्हच्या अपयशामुळे व्हर्च्युअल डिस्कमधील सर्व डेटा नष्ट होऊ शकतो.

पातळी RAID1, किंवा मिरर, दोन किंवा अधिक डिस्कवर डेटाच्या समान प्रती तयार करते. व्हर्च्युअल डिस्कचा आकार भौतिक डिस्कच्या किमान आकारापेक्षा जास्त नाही. RAID1 वर्च्युअल डिस्कवरील डेटा जोपर्यंत अॅरेमधील किमान एक भौतिक डिस्क कार्यरत आहे तोपर्यंत उपलब्ध असेल. RAID1 वापरल्याने रिडंडंसी वाढते, परंतु एक महाग उपाय आहे, कारण दोन किंवा अधिक डिस्कच्या अॅरेमध्ये फक्त एकाची क्षमता उपलब्ध आहे.

पातळी RAID5 उच्च किमतीची समस्या सोडवते. RAID5 स्तरासह अॅरे तयार करण्यासाठी, तुम्हाला किमान 3 डिस्कची आवश्यकता आहे आणि अॅरे एका डिस्कच्या अपयशास प्रतिरोधक आहे. RAID5 मधील डेटा चेकसमसह ब्लॉकमध्ये संग्रहित केला जातो. डेटा डिस्क्स आणि चेकसम डिस्क्समध्ये कोणतेही कठोर विभाजन नाही. RAID5 मधील चेकसम हे N-1 ब्लॉक्सवर लागू केलेल्या XOR ऑपरेशनचे परिणाम आहेत, प्रत्येक वेगळ्या डिस्कवरून घेतले आहेत.

जरी RAID अॅरे रिडंडंसी वाढवतात आणि रिडंडंसी देतात, तरी ते बॅकअप साठवण्यासाठी योग्य नाहीत.

RAID अ‍ॅरेच्या प्रकारांमध्‍ये थोडक्‍या सहलीनंतर, तुम्ही डिव्‍हाइसेस आणि प्रोग्रॅम्सकडे जाऊ शकता जे तुम्हाला डिस्क अॅरे एकत्र करण्यास आणि वापरण्याची परवानगी देतात.

RAID नियंत्रकांचे प्रकार

RAID अॅरे तयार करण्याचे आणि वापरण्याचे दोन मार्ग आहेत: हार्डवेअर आणि सॉफ्टवेअर. आम्ही खालील उपायांचा विचार करू:

  • लिनक्स सॉफ्टवेअर RAID.
  • CPU वर Intel® Virtual RAID.
  • LSI MegaRAID 9460-8i.

लक्षात घ्या की Intel® सोल्यूशन चिपसेटवर चालते, जे हार्डवेअर किंवा सॉफ्टवेअर सोल्यूशन आहे की नाही असा प्रश्न निर्माण करते. उदाहरणार्थ, VMWare ESXi हायपरवाइजर VROC सॉफ्टवेअर मानतो आणि अधिकृतपणे त्याचे समर्थन करत नाही.

लिनक्स सॉफ्टवेअर RAID

लिनक्स ओएस फॅमिलीमधील सॉफ्टवेअर RAID अॅरे हे क्लायंट आणि सर्व्हर या दोन्ही विभागांमध्ये एक सामान्य समाधान आहे. अ‍ॅरे तयार करण्यासाठी तुम्हाला फक्त mdadm युटिलिटी आणि काही ब्लॉक साधने हवी आहेत. Linux Software RAID ने वापरत असलेल्या ड्राइव्हस्वर ठेवण्याची एकमेव आवश्यकता म्हणजे सिस्टीमसाठी प्रवेशयोग्य ब्लॉक साधन असणे.

उपकरणे आणि सॉफ्टवेअरसाठी खर्चाची अनुपस्थिती हा या पद्धतीचा एक स्पष्ट फायदा आहे. लिनक्स सॉफ्टवेअर 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 ब्लॉक साधन दिसून येईल, जे आभासी डिस्कचे प्रतिनिधित्व करते.

CPU वर Intel® Virtual RAID

NVMe वर RAID अॅरेIntel® VROC मानक हार्डवेअर की
Intel® Virtual RAID On CPU (VROC) हे Intel® चिपसेटवर आधारित RAID अॅरे तयार करण्यासाठी हार्डवेअर आणि सॉफ्टवेअर तंत्रज्ञान आहे. हे तंत्रज्ञान प्रामुख्याने Intel® Xeon® स्केलेबल प्रोसेसरला सपोर्ट करणाऱ्या मदरबोर्डसाठी उपलब्ध आहे. डीफॉल्टनुसार, VROC उपलब्ध नाही. ते सक्रिय करण्यासाठी, तुम्ही VROC हार्डवेअर परवाना की स्थापित करणे आवश्यक आहे.

मानक VROC परवाना तुम्हाला 0, 1 आणि 10 RAID स्तरांसह डिस्क अॅरे तयार करण्याची परवानगी देतो. प्रीमियम आवृत्ती ही सूची RAID5 समर्थनासह विस्तृत करते.

आधुनिक मदरबोर्डवरील Intel® VROC तंत्रज्ञान Intel® व्हॉल्यूम मॅनेजमेंट डिव्हाइस (VMD) च्या संयोगाने कार्य करते, जे NVMe ड्राइव्हसाठी हॉट-स्वॅप क्षमता प्रदान करते.

NVMe वर RAID अॅरेIntel® VROC मानक परवाना सर्व्हर बूट झाल्यावर अॅरे सेटअप युटिलिटीद्वारे कॉन्फिगर केले जातात. टॅबवर प्रगत CPU आयटमवर Intel® Virtual RAID दिसते, जिथे तुम्ही डिस्क अॅरे कॉन्फिगर करू शकता.

NVMe वर RAID अॅरेदोन ड्राइव्हवर RAID1 अॅरे तयार करणे
Intel® VROC तंत्रज्ञानाची स्वतःची एसेस आहे. VROC वापरून तयार केलेले डिस्क अॅरे लिनक्स सॉफ्टवेअर RAID शी सुसंगत आहेत. याचा अर्थ असा की अॅरेच्या स्थितीचे /proc/mdstat मध्ये निरीक्षण केले जाऊ शकते आणि mdadm द्वारे प्रशासित केले जाऊ शकते. हे "वैशिष्ट्य" अधिकृतपणे इंटेलद्वारे समर्थित आहे. सेटअप युटिलिटीमध्ये RAID1 एकत्र केल्यानंतर, तुम्ही 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>

लक्षात घ्या की तुम्ही mdadm वापरून VROC वर अॅरे एकत्र करू शकत नाही (असेम्बल केलेले अॅरे Linux 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 ड्राइव्हस् म्हणून “मास्क” करतो. कंट्रोलरशी कनेक्ट केलेले ड्राइव्ह, परंतु डिस्क अॅरेचा भाग नसलेले, 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.

एसएएस ड्राईव्हच्या वेशात असूनही, NVMe अॅरे 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 उबंटू 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>

fio परिणामांमधून आम्ही क्लॅट 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 चालवण्याची आज्ञा:

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 इंटरफेसला समर्थन देणार्‍या नियंत्रकांच्या आगमनाने, वापरकर्त्यांना त्यांच्या प्रकल्पांमध्ये वेगवान SSDs वापरण्याची संधी मिळते.

NVMe वर RAID अॅरे

केवळ नोंदणीकृत वापरकर्तेच सर्वेक्षणात भाग घेऊ शकतात. साइन इन करा, आपले स्वागत आहे.

तुम्ही RAID उपाय वापरत आहात?

  • 29,6%होय, हार्डवेअर उपाय32

  • 50,0%होय, सॉफ्टवेअर सोल्यूशन्स54

  • 16,7%क्रमांक २४४

  • 3,7%RAID आवश्यक नाही4

108 वापरकर्त्यांनी मतदान केले. 14 वापरकर्ते दूर राहिले.

स्त्रोत: www.habr.com

एक टिप्पणी जोडा