Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Linux

MDADM का उपयोग करके Linux पर सॉफ्टवेयर RAID कॉन्फ़िगर करना

MDADM एक टूल है जो Linux पर सॉफ्टवेयर RAID बनाने और प्रबंधित करने की अनुमति देता है। इस लेख में हम दिखाएंगे कि mdadm (मल्टीपल डिस्क एडमिन) का उपयोग करके RAID ऐरे स्टोरेज कैसे बनाएं, डिस्क जोड़ें और प्रबंधित करें, हॉट-स्पेयर जोड़ें और बहुत कुछ।

mdadm: सॉफ्टवेयर RAID प्रबंधन टूल कैसे इंस्टॉल करें?

mdadm इंस्टॉल करने के लिए, इंस्टॉलेशन कमांड चलाएं:

  • CentOS/Red Hat के लिए (yum/dnf उपयोग किया जाता है): yum install mdadm
  • Ubuntu/Debian के लिए: apt-get install mdadm

mdadm और निर्भर लाइब्रेरी इंस्टॉल हो जाएंगी:

Running transaction
Installing : libreport-filesystem-2.1.11-43.el7.centos.x86_64 1/2
Installing : mdadm-4.1-1.el7.x86_64 2/2
Verifying : mdadm-4.1-1.el7.x86_64 1/2
Verifying : libreport-filesystem-2.1.11-43.el7.centos.x86_64 2/2
Installed: mdadm.x86_64 0:4.1-1.el7
Dependency Installed: libreport-filesystem.x86_64 0:2.1.11-43.el7.centos
Complete!

Linux पर 2 डिस्क का उपयोग करके RAID 1 (मिरर) बनाना

मेरे Linux सर्वर पर दो अतिरिक्त डिस्क इंस्टॉल हैं, और मैं उन पर एक सॉफ्टवेयर मिरर बनाना चाहता हूं (RAID1)। ड्राइव खाली हैं। सबसे पहले, आपको RAID में जोड़ी जाने वाली डिस्क पर सभी सुपरब्लॉक को शून्य करना होगा:

# mdadm --zero-superblock --force /dev/vd{b,c}

मेरे पास दो साफ डिस्क हैं: vdb और vdc।

MDADM का उपयोग करके Linux पर सॉफ्टवेयर RAID कॉन्फ़िगर करना

mdadm: Unrecognised md component device - /dev/vdb
mdadm: Unrecognised md component device - /dev/vdc

इस लिस्टिंग का अर्थ है कि कोई भी डिस्क कभी किसी ऐरे में नहीं जोड़ा गया है।

दो डिस्क से डिवाइस /dev/md0 पर सॉफ्टवेयर RAID1 बनाने के लिए, इस कमांड का उपयोग करें:

# 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 बन जाएगा:

MDADM का उपयोग करके Linux पर सॉफ्टवेयर RAID कॉन्फ़िगर करना

यदि आप अपने डिस्क के बारे में जानकारी सूचीबद्ध करते हैं, तो आप अपना RAID md0 ड्राइव देखेंगे:

# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 20G 0 disk
├─vda1 253:1 0 512M 0 part /boot
└─vda2 253:2 0 19.5G 0 part /
vdb 253:16 0 20G 0 disk
└─md0 9:0 0 20G 0 raid1
vdc 253:32 0 20G 0 disk
└─md0 9:0 0 20G 0 raid1

अपने RAID1 ड्राइव पर ext4 फाइल सिस्टम बनाने के लिए, यह कमांड चलाएं:

# mkfs.ext4 /dev/md0

MDADM का उपयोग करके Linux पर सॉफ्टवेयर RAID कॉन्फ़िगर करना

एक बैकअप डायरेक्टरी बनाएं और RAID डिवाइस को उस पर माउंट करें:

# mkdir /backup
# mount /dev/md0 /backup/
# df -h
Filesystem Size Used Avail Use% Mounted on
............. ............. 
/dev/md0 20G 45M 19G 1% /backup

ऐरे बिना किसी त्रुटि के माउंट हो गया है। डिवाइस को हर बार मैन्युअली माउंट न करना पड़े, इसके लिए fstab में निम्न परिवर्तन करें:

# nano /etc/fstab
/dev/md0 /backup ext4 defaults 1 2

MDADM का उपयोग करके Linux पर सॉफ्टवेयर RAID कॉन्फ़िगर करना

RAID ऐरे की स्थिति कैसे देखें या अखंडता की जांच कैसे करें?

ऐरे में डेटा अखंडता की जांच करने के लिए, निम्न कमांड का उपयोग करें:

# echo 'check' > /sys/block/md0/md/sync_action

फिर निम्न फाइल का आउटपुट देखें:

# cat /sys/block/md0/md/mismatch_cnt

यदि आपको 0 मिलता है, तो आपका ऐरे ठीक है:

MDADM का उपयोग करके Linux पर सॉफ्टवेयर RAID कॉन्फ़िगर करना

चेक रोकने के लिए, निम्न चलाएं:

# echo 'idle' > /sys/block/md0/md/sync_action

सर्वर पर उपलब्ध सभी RAIDs की स्थिति जांचने के लिए, इस कमांड का उपयोग करें:

# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 vdc[1] vdb[0] 20954112 blocks super 1.2 [2/2] [UU]

आप इस कमांड का उपयोग करके विशिष्ट RAID के बारे में अधिक विस्तृत जानकारी देख सकते हैं:

# mdadm -D /dev/md0

MDADM का उपयोग करके Linux पर सॉफ्टवेयर RAID कॉन्फ़िगर करना

आइए कमांड लिस्टिंग में मुख्य आइटम पर विचार करें:

  • Version — मेटाडेटा संस्करण
  • Creation Time — RAID निर्माण की तारीख और समय
  • Raid Level — RAID ऐरे का स्तर
  • Array Size — RAID डिस्क स्थान का आकार
  • Used Dev Size — डिवाइस द्वारा उपयोग की जाने वाली स्थान का आकार
  • Raid Device — RAID में डिस्क की संख्या
  • Total Devices — RAID में जोड़े गए डिस्क की संख्या
  • State — वर्तमान स्थिति (clean — यह ठीक है)
  • Active Devices — RAID में सक्रिय डिस्क की संख्या
  • Working Devices — RAID में कार्यशील डिस्क की संख्या
  • Failed Devices — RAID में विफल डिवाइस की संख्या
  • Spare Devices — RAID में स्पेयर डिस्क की संख्या
  • Consistency Policy — वह पैरामीटर जो विफलता के बाद सिंक्रोनाइज़ेशन प्रकार सेट करता है, rsync RAID ऐरे रिकवरी के बाद पूर्ण सिंक्रोनाइज़ेशन है (bitmap, journal, ppl मोड उपलब्ध हैं)
  • UUID — RAID ऐरे पहचानकर्ता

आप fdisk का उपयोग करके संक्षिप्त जानकारी देख सकते हैं:

# fdisk -l /dev/md0
Disk /dev/md0: 21.5 GB, 21457010688 bytes, 41908224 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

RAID में डिस्क विफलता से रिकवरी, डिस्क प्रतिस्थापन

यदि RAID में डिस्क में से एक विफल या क्षतिग्रस्त हो जाती है, तो आप इसे दूसरी से बदल सकते हैं। सबसे पहले, पता करें कि डिस्क क्षतिग्रस्त है और इसे बदलने की आवश्यकता है।

# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 vdb[0] 20954112 blocks super 1.2 [2/1] [U_]

पिछले कमांड से आप देख सकते हैं कि केवल एक डिस्क सक्रिय है। [U_] का अर्थ यह भी है कि कोई समस्या मौजूद है। जब दोनों डिस्क स्वस्थ होती हैं, तो आउटपुट [UU] होता है।

RAID के बारे में विस्तृत जानकारी भी दिखाती है कि कुछ समस्याएं हैं:

# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Dec 31 12:39:22 2020
Raid Level : raid1
Array Size : 20954112 (19.98 GiB 21.46 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue Dec 31 14:41:13 2020
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
State : clean, degraded

— अंतिम लाइन दिखाती है कि RAID में एक डिस्क क्षतिग्रस्त है।

हमारे मामले में, /dev/vdc को बदला जाना चाहिए। ऐरे को पुनर्स्थापित करने के लिए, आपको क्षतिग्रस्त डिस्क को हटाना होगा और एक नई जोड़नी होगी।

विफल ड्राइव को हटाएं:

# mdadm /dev/md0 --remove /dev/vdc

ऐरे में एक नई डिस्क जोड़ें:

# mdadm /dev/md0 --add /dev/vdd

नई डिस्क जोड़ने के बाद डिस्क रिकवरी स्वचालित रूप से शुरू हो जाएगी:

# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Dec 31 12:39:22 2020
Raid Level : raid1
Array Size : 20954112 (19.98 GiB 21.46 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue Dec 31 14:50:20 2020
State : clean, degraded, recovering
Active Devices : 1
Working Devices : 2
Failed Devices : 0
Spare Devices : 1
Consistency Policy : resync
Rebuild Status : 48% complete
Name : host1:0 (local to host host1)
UUID : 9d59b1fb:7b0a7b6d:15a75459:8b1637a2
Events : 42
Number Major Minor RaidDevice State
0 253 16 0 active sync /dev/vdb
2 253 48 1 spare rebuilding /dev/vdd
rebuild Status : 48% complete shows the current array recovery state.
spare rebuilding /dev/vdd shows which disk is being added to the array.
After rebuilding the array, check its state:
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Linux पर सॉफ्टवेयर RAID में डिस्क कैसे जोड़ें या हटाएं?

यदि आपको पहले बनाए गए mdadm RAID डिवाइस को हटाने की आवश्यकता है, तो इसे अनमाउंट करें:

# umount /backup

फिर यह कमांड चलाएं:

# mdadm -S /dev/md0
mdadm: stopped /dev/md0

RAID ऐरे को नष्ट करने के बाद, इसका पता अलग डिस्क डिवाइस के रूप में नहीं लगाया जाएगा:

# mdadm -S /dev/md0
mdadm: error opening /dev/md0: No such file or directory

आप सभी कनेक्टेड ड्राइव को स्कैन कर सकते हैं और भौतिक ड्राइव पर मेटाडेटा के अनुसार पहले हटाए गए (विफल) RAID डिवाइस को पुनः बना सकते हैं। निम्न कमांड चलाएं:

# mdadm --assemble --scan

MDADM का उपयोग करके Linux पर सॉफ्टवेयर RAID कॉन्फ़िगर करना

यदि आप एक ऑपरेबल ड्राइव को ऐरे से हटाना और बदलना चाहते हैं, तो पहले ड्राइव को विफल के रूप में टैग करें:

# mdadm /dev/md0 --fail /dev/vdc

फिर आप इसे इस कमांड का उपयोग करके हटा सकते हैं:

# mdadm /dev/md0 --remove /dev/vdc

आप एक नई डिस्क जोड़ सकते हैं, ठीक वैसे ही जैसे विफल ड्राइव के मामले में:

# mdadm /dev/md0 --add /dev/vdd

MDADM ऐरे में हॉट-स्पेयर ड्राइव कैसे जोड़ें?

यदि सक्रिय डिस्क में से एक विफल होती है तो RAID ऐरे को जल्दी से पुनर्निर्माण करने के लिए आप एक अतिरिक्त हॉट-स्पेयर ड्राइव जोड़ सकते हैं। जिस md डिवाइस को आप चाहते हैं उसमें एक फ्री डिस्क जोड़ें:

# mdadm /dev/md0 --add /dev/vdc

जब आप RAID स्थिति की जांच करते हैं, तो हम डिस्क को स्पेयर के रूप में देखेंगे:

MDADM का उपयोग करके Linux पर सॉफ्टवेयर RAID कॉन्फ़िगर करना

यह सुनिश्चित करने के लिए कि हॉट-स्वैप काम करता है, किसी भी ड्राइव को विफल के रूप में चिह्नित करें और RAID स्थिति जांचें:

# mdadm /dev/md0 --fail /dev/vdb

जांच के बाद, आप देख सकते हैं कि ऐरे का पुनर्निर्माण शुरू हो गया है।

MDADM का उपयोग करके Linux पर सॉफ्टवेयर RAID कॉन्फ़िगर करना

/dev/vdb डिस्क को विफल के रूप में चिह्नित किया गया है, और हॉट-स्पेयर डिस्क RAID डिस्क में से एक सक्रिय बन गई है। तो पुनर्निर्माण प्रक्रिया शुरू हो गई है।

RAID में एक अतिरिक्त ऑपरेबल डिस्क जोड़ने के लिए, आपको इन दो चरणों का पालन करना होगा।

ऐरे में एक खाली ड्राइव जोड़ें:

# mdadm /dev/md0 --add /dev/vdb

अब यह डिस्क हॉट-स्पेयर के रूप में प्रदर्शित होगी। इसे सक्रिय बनाने के लिए, md RAID डिवाइस का विस्तार करें:

# mdadm -G /dev/md0 --raid-devices=3

फिर ऐरे का पुनर्निर्माण होगा:

MDADM का उपयोग करके Linux पर सॉफ्टवेयर RAID कॉन्फ़िगर करना

पुनर्निर्माण के बाद, सभी डिस्क सक्रिय हो जाती हैं:

Number Major Minor RaidDevice State
3 253 32 0 active sync /dev/vdc
2 253 48 1 active sync /dev/vdd
4 253 16 2 active sync /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

mdadm.conf फाइल स्वचालित रूप से नहीं बनती है। आपको इसे मैन्युअल रूप से बनाना और अपडेट करना होगा।

/etc/mdadm.conf के अंत में प्रशासक ईमेल पता जोड़ें जिस पर आप किसी भी RAID समस्या की स्थिति में सूचनाएं भेजना चाहते हैं:

MAILADDR raidadmin@woshub.com

फिर systemctl का उपयोग करके mdmonitor सेवा को रीस्टार्ट करें:

# systemctl restart mdmonitor

फिर सिस्टम आपको ईमेल द्वारा सूचित करेगा यदि कोई mdadm त्रुटि या दोषपूर्ण डिस्क हैं।

निष्क्रिय MDADM RAID

हार्डवेयर विफलताओं या आपातकालीन शटडाउन के मामले में, सॉफ्टवेयर RAID ऐरे निष्क्रिय हो सकता है। सभी ड्राइव को निष्क्रिय के रूप में चिह्नित किया जाता है, लेकिन उनमें कोई त्रुटि नहीं होती।

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive vdc[1] vdb[0] 20954112 blocks super
unused devices: <none>

इस मामले में, आपको इस कमांड का उपयोग करके ऐरे को रोकना होगा:

# mdadm --stop /dev/md0

और इसे पुनः असेंबल करें:

# mdadm --assemble --scan --force

यदि md डिवाइस /etc/fstab में पंजीकृत है, तो इसे इस कमांड का उपयोग करके रीमाउंट करें:

# mount -a

पहले से इंस्टॉल OS में सॉफ्टवेयर RAID बनाने के कुछ तरीके हैं। इस मामले में, आपको मैन्युअली सभी पार्टीशन टेबल को नई डिस्क पर कॉपी करना होगा, और सिस्टम डिस्क की सामग्री को मैन्युअली उस RAID पर ले जाना होगा जिसमें एक डिस्क होती है। फिर पहली डिस्क को साफ़ करें और इसे अपने RAID में जोड़ें, initramfs और GRUB लोडर को संपादित करें। इसलिए सर्वर डिप्लॉयमेंट के दौरान सॉफ्टवेयर RAID पर CentOS इंस्टॉलेशन मोड का चयन करना बेहतर है।

mdadm Linux पर सॉफ्टवेयर RAIDs को प्रबंधित करना आसान बनाता है। इस लेख में मैंने टूल के साथ काम करते समय मुख्य चीजों का वर्णन किया है, और mdadm का उपयोग करके RAIDs के साथ काम करते समय उत्पन्न होने वाले सामान्य प्रश्नों को कवर किया है।

  1. लिनक्स में डिस्क स्पेस खाली करने के लिए du का उपयोग कैसे करें लिनक्स में डिस्क स्पेस खाली करने के लिए du का उपयोग कैसे करें

    यदि आप लिनक्स की दुनिया में नए हैं, तो आप सोच रहे होंगे कि डिस्क स्पेस कैसे खाली करें। यह हमेशा कुछ प्रोग्राम अनइंस्टॉल करने जितना सरल नहीं होता। यह विशेष रूप से सच है यदि आपके पास आपके पूरे फाइलसिस्टम में बिखरी हुई कई फाइलें हैं जो स्पेस ले रही हैं। जबकि लिनक्स में डिस्क स्पेस खाली करने के कई अलग-अ

  1. Kali Linux का उपयोग करके Android फोन को कैसे एक्सेस करें Kali Linux का उपयोग करके Android फोन को कैसे एक्सेस करें

    एक Android स्मार्टफोन अक्सर अधिकांश कमर्शियल IoT गैजेट्स का प्रवेश द्वार होता है। एक Nest Smoke अलार्म को एक प्रासंगिक Android ऐप के माध्यम से प्रबंधित किया जाता है। वैसे ही Nest Thermostat तापमान को नियंत्रित करने के लिए। स्मार्ट लॉक, डोरबेल कैम - लगभग सभी स्मार्ट डिवाइस को Alexa या अन्य मास्टर ऐप्

  1. क्या लिनक्स पर वास्तव में एंटीवायरस सॉफ़्टवेयर की आवश्यकता है? क्या लिनक्स पर वास्तव में एंटीवायरस सॉफ़्टवेयर की आवश्यकता है?

    यह एक मिथक है कि लिनक्स में वायरस नहीं होते। लेकिन अधिकांश लोगों के लिए, यह सच है कि उन्हें लिनक्स पर एंटीवायरस की आवश्यकता नहीं होती। ये दोनों दावे कैसे सच हो सकते हैं? क्या आपको वास्तव में अपने लिनक्स मशीन पर एंटीवायरस की आवश्यकता है? हालांकि EvilGnome जैसे मामले सामने आए हैं, जो पिछले साल लिनक्स