මෙම ලිපියෙන් අපි RAID අරා සංවිධානය කිරීමට විවිධ ක්රම ගැන කතා කරමු, තවද NVMe සහාය ඇති පළමු දෘඪාංග RAID පාලකයන්ගෙන් එකක් ද පෙන්වමු.
RAID තාක්ෂණයේ සියලුම විවිධ යෙදුම් සේවාදායක කොටසෙහි දක්නට ලැබේ. සේවාදායක කොටසෙහි, තැටි දෙකක මෘදුකාංග RAID0 හෝ RAID1 පමණක් බොහෝ විට භාවිතා වේ.
මෙම ලිපිය RAID තාක්ෂණය පිළිබඳ කෙටි දළ විශ්ලේෂණයක්, විවිධ මෙවලම් තුනක් භාවිතා කර RAID අරා නිර්මාණය කරන්නේ කෙසේද යන්න පිළිබඳ කෙටි නිබන්ධනයක් සහ එක් එක් ක්රමය භාවිතා කරමින් අතථ්ය තැටි ක්රියාකාරීත්වය සංසන්දනය කරනු ඇත.
RAID යනු කුමක්ද?
RAID (Eng. ස්වාධීන තැටිවල අතිරික්ත අරාව - අතිරික්ත ස්වාධීන (ස්වාධීන) තැටි) - දෝෂ ඉවසීම සහ කාර්ය සාධනය වැඩි කිරීම සඳහා භෞතික තැටි උපාංග කිහිපයක් තාර්කික මොඩියුලයකට ඒකාබද්ධ කිරීම සඳහා දත්ත අථත්යකරණ තාක්ෂණය.
තැටි අරා වල වින්යාසය සහ භාවිතා කරන තාක්ෂණයන් තෝරාගත් දේ මත රඳා පවතී RAID මට්ටම. RAID මට්ටම් පිරිවිතරයේ ප්රමිතිගත කර ඇත
RAID0, හෝ ස්ටප්ස්, යනු භෞතික ධාවකයන් දෙකක් හෝ වැඩි ගණනක් එක් තාර්කික ධාවකයකට ඒකාබද්ධ කරන RAID මට්ටමකි. තාර්කික තැටියේ පරිමාව අරාවට ඇතුළත් කර ඇති භෞතික තැටිවල පරිමාවේ එකතුවට සමාන වේ. මෙම RAID මට්ටමේ අතිරික්තයක් නොමැති අතර, එක් ධාවකයක් අසාර්ථක වීමෙන් අථත්ය තැටියේ ඇති සියලුම දත්ත අහිමි විය හැක.
මට්ටම RAID1, හෝ මිරර්, තැටි දෙකක හෝ වැඩි ගණනක දත්තවල සමාන පිටපත් නිර්මාණය කරයි. අතථ්ය තැටියේ ප්රමාණය භෞතික තැටිවල අවම ප්රමාණයට වඩා වැඩි නොවේ. RAID1 අතථ්ය තැටියේ දත්ත අරාවෙන් අවම වශයෙන් එක් භෞතික තැටියක් ක්රියාත්මක වන තාක් කල් පවතිනු ඇත. RAID1 භාවිතා කිරීම අතිරික්තයක් එකතු කරයි, නමුත් එය තරමක් මිල අධික විසඳුමකි, මන්ද තැටි දෙකක හෝ වැඩි ගණනක අරාවක එකක ධාරිතාව පමණක් පවතී.
මට්ටම RAID5 අධික පිරිවැය පිළිබඳ ගැටළුව විසඳයි. RAID5 මට්ටම සමඟ අරාවක් නිර්මාණය කිරීම සඳහා, ඔබට අවම වශයෙන් තැටි 3 ක් අවශ්ය වන අතර, එක් තැටියක අසාර්ථකත්වයට අරාව ප්රතිරෝධී වේ. RAID5 හි දත්ත චෙක්සම් සහිත බ්ලොක් වල ගබඩා කර ඇත. දත්ත තැටි සහ චෙක්සම් තැටි අතර දැඩි බෙදීමක් නොමැත. RAID5 හි චෙක්සම් යනු XOR මෙහෙයුමක ප්රතිඵලයක් ලෙස N-1 බ්ලොක් වලට යොදන අතර, ඒ සෑම එකක්ම වෙනස් තැටියකින් ලබා ගනී.
RAID arrays අතිරික්තතාව වැඩි කර අතිරික්තයක් ලබා දුන්නද, ඒවා උපස්ථ ගබඩා කිරීම සඳහා සුදුසු නොවේ.
RAID අරා වර්ග පිළිබඳ කෙටි විනෝද චාරිකාවකින් පසු, ඔබට තැටි අරා එකලස් කිරීමට සහ භාවිතා කිරීමට ඉඩ සලසන උපාංග සහ වැඩසටහන් වෙත යා හැක.
RAID පාලක වර්ග
RAID අරා සෑදීමට සහ භාවිතා කිරීමට ක්රම දෙකක් තිබේ: දෘඪාංග සහ මෘදුකාංග. අපි පහත විසඳුම් සලකා බලමු:
- ලිනක්ස් මෘදුකාංග RAID.
- CPU මත Intel® Virtual RAID.
- LSI MegaRAID 9460-8i.
Intel® විසඳුම චිප්සෙට් එකක් මත ක්රියාත්මක වන බව සලකන්න, එය දෘඪාංග හෝ මෘදුකාංග විසඳුමක්ද යන ප්රශ්නය මතු කරයි. උදාහරණයක් ලෙස, VMWare ESXi හයිපර්වයිසර් VROC මෘදුකාංගය සලකන අතර නිල වශයෙන් එයට සහාය නොදක්වයි.
ලිනක්ස් මෘදුකාංග RAID
Linux OS පවුලේ මෘදුකාංග RAID අරා සේවාදායක සහ සේවාදායක කොටස් දෙකෙහිම තරමක් පොදු විසඳුමකි. ඔබට අරාවක් සෑදීමට අවශ්ය වන්නේ mdadm උපයෝගීතාව සහ බ්ලොක් උපාංග කිහිපයක් පමණි. Linux Software RAID එය භාවිතා කරන ඩ්රයිව් මත තැබීමේ එකම අවශ්යතාවය වන්නේ පද්ධතියට ප්රවේශ විය හැකි බ්ලොක් උපාංගයක් වීමයි.
උපකරණ සහ මෘදුකාංග සඳහා පිරිවැය නොමැතිකම මෙම ක්රමයේ පැහැදිලි වාසියකි. Linux මෘදුකාංග RAID CPU වේලාවේ වියදමින් තැටි අරා සංවිධානය කරයි. සහාය දක්වන RAID මට්ටම් ලැයිස්තුව සහ වත්මන් තැටි අරා වල තත්ත්වය procfs root හි පිහිටා ඇති mdstat ගොනුවෙහි දැකිය හැක:
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 block උපාංගය අථත්ය තැටියක් නියෝජනය කරන පද්ධතිය තුළ දිස්වනු ඇත.
CPU මත Intel® Virtual RAID
Intel® VROC සම්මත දෘඪාංග යතුර
Intel® Virtual RAID On CPU (VROC) යනු Intel® චිප්සෙට් මත පදනම්ව RAID අරා සෑදීම සඳහා දෘඪාංග සහ මෘදුකාංග තාක්ෂණයකි. මෙම තාක්ෂණය මූලික වශයෙන් Intel® Xeon® Scalable processors සඳහා සහය දක්වන මවු පුවරු සඳහා ලබා ගත හැකිය. පෙරනිමියෙන්, VROC නොමැත. එය සක්රිය කිරීමට, ඔබ VROC දෘඪාංග බලපත්ර යතුරක් ස්ථාපනය කළ යුතුය.
සම්මත VROC බලපත්රය ඔබට 0, 1 සහ 10 RAID මට්ටම් සහිත තැටි අරා සෑදීමට ඉඩ සලසයි. වාරික අනුවාදය RAID5 සහාය ඇතිව මෙම ලැයිස්තුව පුළුල් කරයි.
නවීන මවු පුවරු මත Intel® VROC තාක්ෂණය NVMe ධාවක සඳහා hot-swap හැකියාව සපයන Intel® Volume Management Device (VMD) සමඟ එක්ව ක්රියා කරයි.
Intel® VROC සම්මත බලපත්රය සේවාදායකය ආරම්භ වන විට Setup Utility හරහා Arrays වින්යාස කෙරේ. ටැබ් එක මත උසස් CPU අයිතමයේ Intel® Virtual RAID දිස්වේ, එහිදී ඔබට තැටි අරා වින්යාස කළ හැක.
ධාවකයන් දෙකක RAID1 අරාවක් නිර්මාණය කිරීම
Intel® VROC තාක්ෂණයට තමන්ගේම aces up එහි ඇත. VROC භාවිතයෙන් තැනූ තැටි අරා ලිනක්ස් මෘදුකාංග RAID සමඟ අනුකූල වේ. මෙයින් අදහස් කරන්නේ අරා වල තත්වය /proc/mdstat හි නිරීක්ෂණය කළ හැකි අතර mdadm හරහා පරිපාලනය කළ හැකි බවයි. මෙම "විශේෂාංගය" නිල වශයෙන් Intel විසින් සහාය දක්වයි. Setup Utility තුළ 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
LSI MegaRAID 9460-8i පාලකයේ පෙනුම
RAID පාලකය යනු ස්වාධීන දෘඪාංග විසඳුමකි. පාලකය ක්රියා කරන්නේ එයට සෘජුවම සම්බන්ධ ධාවක සමඟ පමණි. මෙම RAID පාලකය NVMe ධාවක 24ක් දක්වා සහය දක්වයි. NVMe සහාය මෙම පාලකය වෙනත් බොහෝ අයගෙන් වෙන් කරයි.
දෘඪාංග පාලකයේ ප්රධාන මෙනුව
UEFI මාදිලිය භාවිතා කරන විට, පාලක සැකසුම් Setup Utility වෙත ඒකාබද්ධ වේ. VROC හා සසඳන විට, දෘඪාංග පාලක මෙනුව වඩාත් සංකීර්ණ බව පෙනේ.
තැටි දෙකක 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 වේගයෙන් ක්රියා කරයි. කෙසේ වෙතත්, මෙම විශේෂාංගය ඔබට Legacy හි 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>
fio ප්රතිඵල වලින් අපි clat 99.00% ගන්නවා. ප්රතිඵල පහත වගුවේ දැක්වේ.
අහඹු කියවීම, μs
අහඹු පටිගත කිරීම, μ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>
I/O මෙහෙයුම් අනුව කාර්ය සාධනය මනිනු ලැබේ. ප්රතිඵල පහත වගුවේ දක්වා ඇත.
අහඹු ලෙස 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 විසඳුම් භාවිතා කරන්නේද?
-
29,6%ඔව්, දෘඪාංග විසඳුම්32
-
50,0%ඔව්, මෘදුකාංග විසඳුම්54
-
16,7%18
-
3,7%RAID අවශ්ය නැත4
පරිශීලකයින් 108 දෙනෙක් ඡන්දය දුන්හ. පරිශීලකයින් 14 දෙනෙක් ඡන්දය දීමෙන් වැළකී සිටියහ.
මූලාශ්රය: www.habr.com