सबसे पहले: उन लोगों के लिए, जो अभी भी "RAID0 में कोई गर्म स्पेयर नहीं है" मानते हैं। यह मानव द्वारा किया जाने वाला मैनुअल स्पेयर हो सकता है, जो RAID स्तर और mdadm को समझता है। mdadm सॉफ्टवेयर RAID है, इसलिए यह बहुत सारी दिलचस्प चीजें कर सकता है।
विचार के लिए Zoredache को श्रेय !
तो, स्थिति:
- आपके पास दो डिस्क की RAID0 सरणी है
- आप सरणी डाउनटाइम के बिना उनमें से एक को बदलना चाहेंगे
यदि डाउनटाइम स्वीकार्य है, तो आप हमेशा dd के साथ डिस्क की एक ब्लॉक कॉपी बना सकते हैं और सरणी को पुन: इकट्ठा कर सकते हैं, mdadm ठीक करेगा।
समाधान: मध्यवर्ती समाधान के रूप में RAID4 का उपयोग करें
RAID0 -> RAID4 -> RAID0
इसलिए, यदि आपको RAID4 याद नहीं है, तो यह सरल है। इसमें एक समता खंड है, लेकिन RAID5 के विपरीत यह सरणी में वितरित नहीं है, लेकिन वन डिस्क पर रहता है। यह मुद्दा है, यह महत्वपूर्ण है और यही कारण है कि RAID5 काम नहीं करेगा।
आपको क्या चाहिए: एक ही आकार के दो और डिस्क, जिस डिस्क को आप बदलना चाहते हैं।
वातावरण:
- उबंटू 14.04 थ्रस्टरी थार
- mdadm - v3.2.5 - 18 मई 2012
- / dev / sdb - इसके साथ शुरू करें, इसे बदल देगा
- / dev / sdc - इसके साथ शुरू करें
- / dev / sdd - अस्थायी रूप से उपयोग किया जाएगा
- / dev / sde - sdb के बजाय उपयोग किया जाएगा
अंतिम RAID0 हॉट-स्पेयर mdadm गाइड;)
sudo mdadm -C /dev/md0 -l 0 -n 2 /dev/sd[bc]
md0 : active raid0 sdc[1] sdb[0]
2096128 blocks super 1.2 512k chunks
हमने raid0 सरणी बनाई है, यह मीठा लगता है।
sudo md5sum /dev/md0
b422ba644a3c83cdf28adfa94cb658f3 /dev/md0
यह हमारा चेक पॉइंट है - यदि एक बिट भी परिणाम में भिन्न होगा /dev/md0
- हम विफल रहे हैं।
sudo mdadm /dev/md0 --grow --level=4
md0 : active raid4 sdc[1] sdb[0]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
इसलिए, हमने RAID4 होने के लिए अपनी सरणी बढ़ाई है। हमने अभी तक पैरिटी डिस्क नहीं जोड़ी है, तो चलिए इसे करते हैं। विकास तुरंत होगा - पुनर्मूल्यांकन या पुनर्गणना के लिए कुछ भी नहीं है।
sudo mdadm /dev/md0 -a /dev/sdd
md0 : active raid4 sdd[3] sdc[1] sdb[0]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
[===>.................] recovery = 19.7% (207784/1048064) finish=0.2min speed=51946K/sec
हमने sdd
समता डिस्क के रूप में जोड़ा है । यह याद रखना महत्वपूर्ण है - पहली पंक्ति में डिस्क के क्रम को दूसरी पंक्ति में चित्र के साथ संरेखित नहीं किया गया है! [तुम तुम_]
sdd
पहले प्रदर्शित किया जाता है, लेकिन वास्तव में यह अंतिम है, और डेटा नहीं, बल्कि समता है।
sudo mdadm /dev/md0 -f /dev/sdb
md0 : active raid4 sdd[3] sdc[1] sdb[0](F)
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [_UU]
हमने अपनी डिस्क sdb को दोषपूर्ण बना दिया है, इसे अगले चरणों में हटाने के लिए।
sudo mdadm --detail /dev/md0
State : clean, degraded
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 32 1 active sync /dev/sdc
3 8 48 2 active sync /dev/sdd
0 8 16 - faulty spare /dev/sdb
विवरण हमें पहली डिस्क को हटाने को दिखाता है और यहां हम सरणी में डिस्क का सही क्रम देख सकते हैं। यह समता के साथ डिस्क को ट्रैक करना महत्वपूर्ण है, हमें RAID0 पर वापस जाने पर इसे सरणी में नहीं छोड़ना चाहिए।
sudo mdadm /dev/md0 -r /dev/sdb
md0 : active raid4 sdd[3] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [_UU]
sdb
पूरी तरह से हटा दिया है, दूर ले जाया जा सकता है।
sudo mdadm /dev/md0 -a /dev/sde
md0 : active raid4 sde[4] sdd[3] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [_UU]
[==>..................] recovery = 14.8% (156648/1048064) finish=0.2min speed=52216K/sec
हमने अपनी sdb डिस्क के लिए प्रतिस्थापन जोड़ा है। और यहां हम चलते हैं: अब समानता का उपयोग करके एसडीबी के डेटा को पुनर्प्राप्त किया जा रहा है। Sweeeeet।
md0 : active raid4 sde[4] sdd[3] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/3] [UUU]
किया हुआ। अभी हम पूरी तरह से सुरक्षित हैं - sdb से सभी डेटा रिकवर हो गए हैं, और अब हमें sdd को हटाना होगा (याद रखें, यह समता रखता है)।
sudo mdadm /dev/md0 -f /dev/sdd
md0 : active raid4 sde[4] sdd[3](F) sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
खराबी बना दी।
sudo mdadm /dev/md0 -r /dev/sdd
md0 : active raid4 sde[4] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
हमारे सरणी से sdd निकाला गया। हम फिर से RAID0 बनने के लिए तैयार हैं।
sudo mdadm /dev/md0 --grow --level=0 --backup-file=backup
md0 : active raid4 sde[4] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
[=>...................] reshape = 7.0% (73728/1048064) finish=1.5min speed=10532K/sec
आआआआआआआआआआआआआआआआआआआआआआआआआआआआअः- आअहह आआआआआआआआआआआआआआआआआआन्न्न्ह और हमे आअहह आआआआआआआआआआआआआआआआआन्चंद और फिर आआआआआआआआआआआआआआआन्!
md0 : active raid0 sde[4] sdc[1]
2096128 blocks super 1.2 512k chunks
किया हुआ। Md5 चेकसम पर नजर डालते हैं।
sudo md5sum /dev/md0
b422ba644a3c83cdf28adfa94cb658f3 /dev/md0
कोई और प्रश्न? तो RAID0 एक गर्म अतिरिक्त हो सकता है। इसे "उपयोगकर्ता" कहा जाता है;)