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® மெய்நிகர் RAID.
  • LSI MegaRAID 9460-8i.

Intel® தீர்வு சிப்செட்டில் இயங்குகிறது, இது வன்பொருள் அல்லது மென்பொருள் தீர்வா என்ற கேள்வியை எழுப்புகிறது. எடுத்துக்காட்டாக, VMWare ESXi ஹைப்பர்வைசர் VROC மென்பொருளைக் கருதுகிறது மற்றும் அதை அதிகாரப்பூர்வமாக ஆதரிக்கவில்லை.

லினக்ஸ் மென்பொருள் RAID

Linux OS குடும்பத்தில் உள்ள மென்பொருள் RAID வரிசைகள் கிளையன்ட் மற்றும் சர்வர் பிரிவுகளில் மிகவும் பொதுவான தீர்வாகும். நீங்கள் ஒரு வரிசையை உருவாக்க வேண்டியது mdadm பயன்பாடு மற்றும் சில தொகுதி சாதனங்கள் மட்டுமே. லினக்ஸ் மென்பொருள் 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® மெய்நிகர் 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® Volume Management Device (VMD) உடன் இணைந்து செயல்படுகிறது, இது NVMe டிரைவ்களுக்கு ஹாட்-ஸ்வாப் திறனை வழங்குகிறது.

NVMe இல் RAID வரிசைகள்Intel® VROC நிலையான உரிமம் சேவையகம் துவங்கும் போது வரிசைகள் அமைவு பயன்பாடு மூலம் கட்டமைக்கப்படும். தாவலில் மேம்பட்ட CPU உருப்படியில் Intel® Virtual RAID தோன்றும், அங்கு நீங்கள் வட்டு வரிசைகளை கட்டமைக்கலாம்.

NVMe இல் RAID வரிசைகள்இரண்டு டிரைவ்களில் RAID1 வரிசையை உருவாக்குகிறது
Intel® VROC தொழில்நுட்பம் அதன் சொந்த ஸ்லீவ் வரை கொண்டுள்ளது. VROC ஐப் பயன்படுத்தி உருவாக்கப்பட்ட வட்டு வரிசைகள் Linux மென்பொருள் 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.

SAS டிரைவ்களாக மாறுவேடமிட்டிருந்தாலும், NVMe வரிசைகள் PCIe வேகத்தில் செயல்படும். இருப்பினும், இந்த அம்சம் உங்களை லெகசியில் NVMe இலிருந்து துவக்க அனுமதிக்கிறது.

சோதனை பெஞ்ச்

வட்டு வரிசைகளை ஒழுங்கமைக்கும் ஒவ்வொரு முறையும் அதன் சொந்த உடல் நன்மை தீமைகளைக் கொண்டுள்ளது. ஆனால் வட்டு வரிசைகளுடன் பணிபுரியும் போது செயல்திறன் வேறுபாடு உள்ளதா?

அதிகபட்ச நேர்மையை அடைய, அனைத்து சோதனைகளும் ஒரே சர்வரில் நடத்தப்படும். அதன் கட்டமைப்பு:

  • 2x Intel® Xeon® 6240;
  • 12x DDR4-2666 16 ஜிபி;
  • 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>

ஃபியோ முடிவுகளிலிருந்து நாம் கிளாட் 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 த்ரெட், ஐஓபிஎஸ்
ரேண்டம் ரைட் 1 த்ரெட், ஐஓபிஎஸ்
ரேண்டம் ரீட் 128 நூல்கள், ஐஓபிஎஸ்
ரேண்டம் ரைட் 128 இழைகள், ஐஓபிஎஸ்

வட்டு
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 இடைமுகத்தை ஆதரிக்கும் கன்ட்ரோலர்களின் வருகையுடன், பயனர்கள் தங்கள் திட்டங்களில் வேகமான SSDகளைப் பயன்படுத்துவதற்கான வாய்ப்பைப் பெற்றுள்ளனர்.

NVMe இல் RAID வரிசைகள்

பதிவு செய்த பயனர்கள் மட்டுமே கணக்கெடுப்பில் பங்கேற்க முடியும். உள்நுழையவும், தயவு செய்து.

நீங்கள் RAID தீர்வுகளைப் பயன்படுத்துகிறீர்களா?

  • 29,6%ஆம், வன்பொருள் தீர்வுகள்32

  • 50,0%ஆம், மென்பொருள் தீர்வுகள்54

  • 16,7%எண்18

  • 3,7%RAID தேவையில்லை4

108 பயனர்கள் வாக்களித்தனர். 14 பயனர்கள் வாக்களிக்கவில்லை.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்