एमडीएडीएम एक उपकरण है जो Linux पर सॉफ़्टवेयर RAID बनाने और प्रबंधित करने की अनुमति देता है। इस लेख में हम दिखाएंगे कि RAID सरणी भंडारण बनाने, डिस्क जोड़ने और प्रबंधित करने, एक हॉट-स्पेयर और अधिक जोड़ने के लिए mdadm (एकाधिक डिस्क व्यवस्थापक) का उपयोग कैसे करें।
mdadm:सॉफ़्टवेयर रेड मैनेजमेंट टूल कैसे स्थापित करें?
Mdadm इंस्टाल करने के लिए, इंस्टालेशन कमांड चलाएँ:
- CentOS/Red Hat के लिए (yum/dnf का उपयोग किया जाता है):
yum install mdadm
- उबंटू/डेबियन के लिए:
apt-get install mdadm
mdadm और आश्रित पुस्तकालय स्थापित किए जाएंगे:
लेन-देन चलाना स्थापित करना:libreport-filesystem-2.1.11-43.el7.centos.x86_64 1/2स्थापित करना:mdadm-4.1-1.el7.x86_64 2/2सत्यापन:mdadm-4.1-1.el7.x86_64 1/2सत्यापन करना :libreport-filesystem-2.1.11-43.el7.centos.x86_64 2/2 स्थापित:mdadm.x86_64 0:4.1-1.el7निर्भरता स्थापित:libreport-filesystem.x86_64 0:2.1.11-43.el7.centosComplete!पूर्व>Linux पर 2 डिस्क का उपयोग करके RAID 1 (मिरर) बनाना
मेरे पास मेरे लिनक्स सर्वर पर दो अतिरिक्त डिस्क स्थापित हैं, और मैं उन पर एक सॉफ्टवेयर मिरर बनाना चाहता हूं (RAID1)। ड्राइव खाली हैं। सबसे पहले, आपको RAID में जोड़े जाने वाले डिस्क पर सभी सुपरब्लॉक को शून्य करना होगा:
# mdadm --zero-superblock --force /dev/vd{b,c}
मेरे पास दो साफ डिस्क हैं:vdb और vdc ।
mdadm:अपरिचित md कंपोनेंट डिवाइस - /dev/vdbmdadm:अपरिचित md कंपोनेंट डिवाइस - /dev/vdcइस लिस्टिंग का मतलब है कि किसी भी डिस्क को कभी भी किसी ऐरे में नहीं जोड़ा गया है।
सॉफ़्टवेयर बनाने के लिए RAID1 दो डिस्क से डिवाइस /dev/md0 में, इस कमांड का उपयोग करें:
# mdadm --create --verbose /dev/md0 -l 1 -n 2 /dev/vd{b,c}
जहां '-l 1 ' सरणी प्रकार है (RAID1, हमारे मामले में,
और '-n 2 ' सरणी में जोड़े गए डिस्क की संख्या है।
अगर आप RAID0 बनाना चाहते हैं (स्ट्राइप) कई भौतिक डिस्क के बीच समानांतर कमांड के कारण पढ़ने / लिखने की गति में सुधार करने के लिए, इस कमांड का उपयोग करें:
# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/vdb /dev/vdc
RAID 5 . के लिए तीन या अधिक ड्राइव में से:
# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/vdb /dev/ vdc /dev/vdd
आपके द्वारा आदेश दर्ज करने के बाद, क्रियाओं की पुष्टि करें और सॉफ़्टवेयर RAID बनाया जाएगा:
यदि आप अपने डिस्क के बारे में जानकारी सूचीबद्ध करते हैं, तो आप अपनी RAID md0 ड्राइव देखेंगे:
# lsblk
नाम MAJ:न्यूनतम RM आकार RO प्रकार माउंटपॉइंटvda 253:0 0 20G 0 डिस्क├─vda1 253:1 0 512M 0 भाग /boot└─vda2 253:2 0 19.5G 0 भाग /vdb 253:16 0 20G 0 डिस्क└─md0 9:0 0 20G 0 RAID1vdc 253:32 0 20G 0 डिस्क└─md0 9:0 0 20G 0 RAID1अपने RAID1 ड्राइव पर एक ext4 फ़ाइल सिस्टम बनाने के लिए, यह कमांड चलाएँ:
# mkfs.ext4 /dev/md0
एक बैकअप निर्देशिका बनाएं और उस पर RAID डिवाइस माउंट करें:
# mkdir /backup
# mount /dev/md0 /backup/
# df -hफाइल सिस्टम का आकार उपयोग किया गया उपयोग करें पूर्व>सरणी को बिना किसी त्रुटि के माउंट किया गया है। डिवाइस को हर बार मैन्युअल रूप से माउंट न करने के लिए, fstab . में निम्न परिवर्तन करें :
# nano /etc/fstab
/dev/md0 /बैकअप ext4 डिफ़ॉल्ट 1 2
किसी RAID सरणी की स्थिति कैसे देखें या सत्यनिष्ठा कैसे जांचें?
सरणी में डेटा अखंडता की जांच करने के लिए, निम्न आदेश का उपयोग करें:
#echo 'check' > /sys/block/md0/md/sync_action
फिर निम्न फ़ाइल का आउटपुट देखें:
#cat /sys/block/md0/md/mismatch_cnt
अगर आपको
0
मिलता है , आपकी सरणी ठीक है:
चेक रोकने के लिए, निम्नलिखित चलाएँ:
#echo 'idle' > /sys/block/md0/md/sync_action
सर्वर पर उपलब्ध सभी RAID की स्थिति की जाँच करने के लिए, इस कमांड का उपयोग करें:
# cat /proc/mdstat
व्यक्तित्व:[raid1]md0 :सक्रिय RAID1 vdc[1] vdb[0]20954112 सुपर 1.2 [2/2] [UU]को ब्लॉक करता हैआप इस आदेश का उपयोग करके विशिष्ट RAID के बारे में अधिक विस्तृत जानकारी देख सकते हैं:
# mdadm -D /dev/md0
आइए कमांड लिस्टिंग में मुख्य मदों पर विचार करें:
- संस्करण - मेटाडेटा संस्करण
- निर्माण का समय - RAID निर्माण की तिथि और समय
- छापे का स्तर - RAID सरणी का स्तर
- सरणी आकार - RAID डिस्क स्थान का आकार
- देव आकार का इस्तेमाल किया - उपकरणों द्वारा उपयोग किए जाने वाले स्थान का आकार
- छापे का उपकरण - RAID में डिस्क की संख्या
- कुल डिवाइस - RAID में जोड़ी गई डिस्क की संख्या है
- राज्य – वर्तमान स्थिति है (साफ - यह ठीक है)
- सक्रिय डिवाइस - RAID में सक्रिय डिस्क की संख्या
- कार्य करने वाले उपकरण - RAID में कार्यशील डिस्क की संख्या
- विफल डिवाइस - RAID में विफल उपकरणों की संख्या
- अतिरिक्त उपकरण - RAID में अतिरिक्त डिस्क की संख्या
- संगति नीति - वह पैरामीटर है जो विफलता के बाद सिंक्रनाइज़ेशन प्रकार सेट करता है, rsync RAID सरणी पुनर्प्राप्ति के बाद एक पूर्ण सिंक्रनाइज़ेशन है (बिटमैप, जर्नल, पीपीएल मोड उपलब्ध हैं)
- यूयूआईडी - छापे सरणी पहचानकर्ता
आप fdisk . का उपयोग करके संक्षिप्त जानकारी देख सकते हैं :
# fdisk -l /dev/md0
डिस्क /dev/md0:21.5 जीबी, 21457010688 बाइट्स, 41908224 सेक्टरइकाइयाँ =1 * 512 =512 बाइट्स के सेक्टर्स (तार्किक/भौतिक):512 बाइट्स / 512 बाइट्सI/O आकार (न्यूनतम/इष्टतम):512 बाइट्स / 512 बाइट्स
RAID, डिस्क प्रतिस्थापन में डिस्क विफलता से पुनर्प्राप्त करना
यदि RAID में से एक डिस्क विफल या क्षतिग्रस्त हो जाती है, तो आप इसे दूसरे के साथ बदल सकते हैं। सबसे पहले, पता करें कि क्या डिस्क क्षतिग्रस्त है और उसे बदलने की आवश्यकता है।
# cat /proc/mdstat
व्यक्तित्व :[raid1]md0 :सक्रिय RAID1 vdb[0]20954112 सुपर 1.2 [2/1] [U_]को ब्लॉक करता है
पिछली कमांड से आप देख सकते हैं कि केवल एक डिस्क सक्रिय है। [यू_ ] का अर्थ यह भी है कि कोई समस्या मौजूद है। जब दोनों डिस्क स्वस्थ होते हैं, तो आउटपुट [UU . होता है ].
RAID के बारे में विस्तृत जानकारी यह भी दर्शाती है कि कुछ समस्याएं हैं:
# mdadm -D /dev/md0
/dev/md0:संस्करण :1.2 निर्माण समय :मंगल दिसंबर 31 12:39:22 2020छापे का स्तर:RAID1Array आकार:20954112 (19.98 GiB 21.46 GB) प्रयुक्त देव आकार:20954112 (19.98 GiB 21.46 GB) छापे उपकरण:2कुल डिवाइस:2दृढ़ता:सुपरब्लॉक लगातार हैअपडेट का समय:मंगल दिसंबर 31 14:41:13 2020राज्य:साफ, नीचा सक्रिय उपकरण:1कार्यशील उपकरण:1विफल उपकरण:1राज्य:साफ, खराब
- अंतिम पंक्ति दर्शाती है कि RAID में एक डिस्क क्षतिग्रस्त है।
हमारे मामले में, /dev/vdc प्रतिस्थापित किया जाना चाहिए। सरणी को पुनर्स्थापित करने के लिए, आपको क्षतिग्रस्त डिस्क को निकालना होगा और एक नया जोड़ना होगा।
विफल ड्राइव निकालें:
# mdadm /dev/md0 --remove /dev/vdc
सरणी में एक नई डिस्क जोड़ें:
# mdadm /dev/md0 --add /dev/vdd
आपके द्वारा नई डिस्क जोड़ने के बाद डिस्क पुनर्प्राप्ति स्वचालित रूप से प्रारंभ हो जाएगी:
# mdadm -D /dev/md0
/dev/md0:संस्करण :1.2 निर्माण समय :मंगल दिसंबर 31 12:39:22 2020छापे का स्तर:RAID1Array आकार:20954112 (19.98 GiB 21.46 GB) प्रयुक्त देव आकार:20954112 (19.98 GiB 21.46 GB) छापे उपकरण:2कुल डिवाइस:2दृढ़ता:सुपरब्लॉक लगातार हैअपडेट का समय:मंगल दिसंबर 31 14:50:20 2020राज्य:साफ, खराब, पुनर्प्राप्त सक्रिय उपकरण:1कार्यशील उपकरण:2विफल उपकरण:0अतिरिक्त उपकरण:1संगतता नीति:पुन:समन्वयनपुनर्निर्माण स्थिति:48% पूर्णनाम:होस्ट1:0 (स्थानीय) होस्ट करने के लिए1)यूयूआईडी:9d59b1fb:7b0a7b6d:15a75459:8b1637a2ईवेंट्स:42नंबर मेजर माइनर रेडडिवाइस स्टेट0 253 16 0 एक्टिव सिंक /dev/vdb2 253 48 1 अतिरिक्त पुनर्निर्माण /dev/vddrebuild स्थिति:48% पूर्ण वर्तमान सरणी पुनर्प्राप्ति स्थिति दिखाता है। पुनर्निर्माण /dev/vdd दिखाता है कि सरणी में कौन सी डिस्क जोड़ी जा रही है। सरणी के पुनर्निर्माण के बाद, इसकी स्थिति जांचें:राज्य:क्लीनएक्टिव डिवाइस:2 कार्यशील डिवाइस:2 विफल डिवाइस:0 अतिरिक्त डिवाइस:0
लिनक्स पर सॉफ़्टवेयर RAID में डिस्क कैसे जोड़ें या निकालें?
यदि आपको पहले बनाए गए mdadm RAID उपकरण को निकालने की आवश्यकता है, तो इसे अनमाउंट करें:
# umount /backup
फिर यह कमांड चलाएँ:
# mdadm -S /dev/md0
mdadm:रुका हुआ /dev/md0
RAID सरणी को नष्ट करने के बाद, इसे एक अलग डिस्क डिवाइस के रूप में नहीं पहचाना जाएगा:
# mdadm -S /dev/md0
mdadm:खोलने में त्रुटि /dev/md0:ऐसी कोई फ़ाइल या निर्देशिका नहीं है
आप सभी कनेक्टेड ड्राइव को स्कैन कर सकते हैं और भौतिक ड्राइव पर मेटाडेटा के अनुसार पहले से हटाए गए (विफल) RAID डिवाइस को फिर से बना सकते हैं। निम्न आदेश चलाएँ:
# mdadm --assemble —scan
यदि आप किसी सरणी से संचालित ड्राइव को हटाना चाहते हैं और उसे बदलना चाहते हैं, तो पहले ड्राइव को विफल के रूप में टैग करें:
# mdadm /dev/md0 --fail /dev/vdc
फिर आप इस कमांड का उपयोग करके इसे हटा सकते हैं:
# mdadm /dev/md0 --remove /dev/vdc
आप एक नई डिस्क जोड़ सकते हैं, ठीक उसी तरह जैसे एक विफल ड्राइव के मामले में:
# mdadm /dev/md0 --add /dev/vdd
एमडीएडीएम एरे में हॉट-स्पेयर ड्राइव कैसे जोड़ें?
आप एक अतिरिक्त हॉट-स्पेयर जोड़ सकते हैं यदि सक्रिय डिस्क में से कोई एक विफल हो जाता है तो RAID सरणी को जल्दी से पुनर्निर्माण के लिए ड्राइव करें। अपने इच्छित md डिवाइस में एक निःशुल्क डिस्क जोड़ें:
# mdadm /dev/md0 --add /dev/vdc
जब आप RAID स्थिति की जांच करते हैं, तो हम डिस्क को एक अतिरिक्त के रूप में देखेंगे:
यह सुनिश्चित करने के लिए कि हॉट-स्वैप काम करता है, किसी भी ड्राइव को विफल के रूप में चिह्नित करें और RAID स्थिति जांचें:
# mdadm /dev/md0 --fail /dev/vdb
जाँच करने के बाद, आप देख सकते हैं कि सरणी का पुनर्निर्माण शुरू हो गया है।
/dev/vdb डिस्क को विफल के रूप में चिह्नित किया गया है, और हॉट-स्पेयर डिस्क सक्रिय RAID डिस्क में से एक बन गई है। इसलिए पुनर्निर्माण की प्रक्रिया शुरू हो गई है।
RAID में एक अतिरिक्त संचालन योग्य डिस्क जोड़ने के लिए, आपको इन दो चरणों का पालन करना होगा।
सरणी में एक खाली ड्राइव जोड़ें:
# mdadm /dev/md0 --add /dev/vdb
अब यह डिस्क हॉट-स्पेयर के रूप में प्रदर्शित होगी। इसे सक्रिय करने के लिए, md RAID डिवाइस का विस्तार करें:
# mdadm -G /dev/md0 —raid-devices=3
फिर सरणी को फिर से बनाया जाएगा:
पुनर्निर्माण के बाद, सभी डिस्क सक्रिय हो जाती हैं:
नंबर मेजर माइनर रेडडिवाइस स्टेट3 253 32 0 सक्रिय सिंक /dev/vdc2 253 48 1 सक्रिय सिंक /dev/vdd4 253 16 2 सक्रिय सिंक /dev/vdb
MDADM RAID सरणी कैसे निकालें?
यदि आप अपने सॉफ़्टवेयर RAID ड्राइव को स्थायी रूप से हटाना चाहते हैं, तो निम्न योजना का उपयोग करें:
# umount /backup
- निर्देशिका से सरणी को अनमाउंट करें
# mdadm -S /dev/md0
— RAID डिवाइस बंद करें
फिर उस डिस्क पर सभी सुपरब्लॉक साफ़ करें जिनसे इसे बनाया गया था:
# mdadm --zero-superblock /dev/vdb
# mdadm --zero-superblock /dev/vdc
Mdmonitor:RAID राज्य निगरानी और ईमेल सूचनाएं
mdmonitor डेमॉन का उपयोग RAID की स्थिति की निगरानी के लिए किया जा सकता है। सबसे पहले, आपको /etc/mdadm.conf . बनाना होगा वर्तमान सरणी कॉन्फ़िगरेशन वाली फ़ाइल:
# mdadm –detail –scan > /etc/mdadm.conf
/etc/mdadm.conf उस व्यवस्थापक ईमेल पते के अंत में जोड़ें, जिस पर आप किसी भी RAID समस्या के मामले में सूचनाएं भेजना चाहते हैं:
MAILADDR [email protected]
फिर systemctl का उपयोग करके mdmonitor सेवा को पुनरारंभ करें:
# systemctl restart mdmonitor
फिर सिस्टम आपको ई-मेल द्वारा सूचित करेगा यदि कोई mdadm त्रुटियाँ या दोषपूर्ण डिस्क हैं।
निष्क्रिय एमडीएडीएम RAID
हार्डवेयर विफलता या आपातकालीन शटडाउन के मामले में, सॉफ़्टवेयर RAID सरणी निष्क्रिय . हो सकती है . सभी ड्राइव निष्क्रिय के रूप में चिह्नित हैं, लेकिन उनमें कोई त्रुटि नहीं है।
# cat /proc/mdstat
व्यक्तित्व :[रैखिक] [मल्टीपाथ] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]md0:इनएक्टिव vdc[1] vdb[0]20954112 सुपरयूज्ड डिवाइस को ब्लॉक करता है:पूर्व> इस मामले में, आपको इस आदेश का उपयोग करके सरणी को रोकने की आवश्यकता है:
# mdadm --stop /dev/md0
और इसे फिर से इकट्ठा करें:
# mdadm --assemble --scan –force
यदि md डिवाइस /etc/fstab में पंजीकृत है, तो इस कमांड का उपयोग करके इसे रिमाउंट करें:
OS में सॉफ़्टवेयर RAID बनाने के कुछ तरीके हैं जो पहले से स्थापित हैं। इस स्थिति में, आपको सभी विभाजन तालिकाओं को एक नई डिस्क पर मैन्युअल रूप से कॉपी करना होगा, और मैन्युअल रूप से सिस्टम डिस्क की सामग्री को RAID में ले जाना होगा जिसमें एक डिस्क शामिल है। फिर पहली डिस्क को साफ करें और इसे अपने RAID में जोड़ें, initramfs और GRUB लोडर को संपादित करें। इसलिए सर्वर परिनियोजन के दौरान सॉफ़्टवेयर RAID पर CentOS स्थापना के मोड का चयन करना बेहतर है।
# mount -a
मैडडम Linux पर सॉफ़्टवेयर RAID प्रबंधित करना आसान बनाता है. इस लेख में मैंने टूल के साथ काम करते समय मुख्य बातों का वर्णन किया है, और mdadm का उपयोग करके RAID के साथ काम करते समय उठने वाले विशिष्ट प्रश्नों को कवर किया है।