एक्सएफएस के साथ लिनक्स सॉफ्टवेयर RAID 5 का विस्तार करना आसान है। सर्वोत्तम प्रथाएं?


13

मैं अपनी उबंटू मशीन को विंडोज / लिनक्स / मैक क्लाइंट के लिए एक सांबा शेयर का उपयोग करते हुए फ़ाइल सर्वर के रूप में उपयोग करता हूं। मुझे यह आसानी से विस्तार करना होगा कि किसी भी डेटा को आगे और पीछे ले जाने के बिना केवल अधिक हार्ड ड्राइव जोड़कर।

ऐसा मैंने अभी तक किया है। मैंने चौथी हार्ड ड्राइव को सफलतापूर्वक जोड़ा है। अब यह जानना अच्छा होगा कि यह कैसे किया जाना चाहिए? मैं क्या गलत कर रहा हूं या क्या मैं बेहतर कर सकता हूं?

प्रारंभिक 3 ड्राइव सरणी बनाना

मैंने तीन खाली ड्राइव्स के साथ शुरुआत की: / dev / sdb, / dev / sdc और / dev / sdd।

पहले मैंने सभी ड्राइव में खाली विभाजन बनाए:

$ fdisk /dev/sdX
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc

जब खाली RAID विभाजन को तीनों डिस्क में बनाया गया है, तो मैंने एक RAID5 सरणी बनाई:

$ mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

अब RAID5 सरणी बनाई गई है, और यह पहले से ही बनाया जा रहा है। इसमें समय लगता है, लेकिन आप एक नया भौतिक LVM2 आयतन बनाकर आगे बढ़ सकते हैं:

$ pvcreate /dev/md0

अब एक नया वॉल्यूम समूह बनाते हैं:

$ vgcreate vd_raid /dev/md0

फिर हमें उस वॉल्यूम समूह के अंदर एक नया तार्किक वॉल्यूम बनाने की आवश्यकता है। पहले हमें बनाए गए वॉल्यूम समूह के सटीक आकार का पता लगाना होगा:

$ vgdisplay vg_raid

आकार को पंक्ति से देखा जा सकता है जो भौतिक विस्तार में "कुल पीई" इंगित करता है। आइए कल्पना करें कि यह 509 है। अब एक नया तार्किक आयतन बनाएं, जिसमें सभी उपलब्ध स्थान हों:

$ lvcreate -l 509 vg_raid -n lv_raid

अंत में हम उस तार्किक आयतन के ऊपर एक फाइल सिस्टम बना सकते हैं:

$ mkfs.xfs /dev/mapper/vg_raid-lv_raid

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

$ mkdir /raid
$ mount /dev/mapper/vg_raid-lv_raid /raid

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

$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf

फिर निम्नलिखित पंक्ति को / etc / fstab में जोड़ें जो आरटी सरणी को स्वचालित रूप से मापता है:

/dev/mapper/vg_raid-lv_raid /raid auto auto,noatime,nodiratime,logbufs=8 0 1

अब RAID सरणी का उपयोग करने के लिए तैयार है, और प्रत्येक बूट के बाद स्वचालित रूप से / छापे निर्देशिका के लिए मुहिम शुरू की।

सरणी में एक नई ड्राइव जोड़ना

आइए कल्पना करें कि अब आपके पास एक नया ड्राइव, / देव / sde है, जिसे आप बिना किसी डेटा को खोए पहले से बनाए गए सरणी में जोड़ना चाहते हैं।

पहले नई ड्राइव को अन्य सभी ड्राइव के रूप में विभाजित किया जाना चाहिए:

$ fdisk /dev/sde
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc

फिर इसे RAID सरणी में जोड़ा जाना चाहिए:

$ mdadm --add /dev/md0 /dev/sde1

अब RAID5 सरणी में चार ड्राइव शामिल हैं, जो वर्तमान में केवल तीन उपयोग में हैं। सभी चार ड्राइव को शामिल करने के लिए सरणी को विस्तारित करने की आवश्यकता है:

$ mdadm --grow /dev/md0 --raid-devices=4

फिर भौतिक LVM2 मात्रा का विस्तार करने की आवश्यकता है:

$ pvresize /dev/md0

अब RAID सरणी में सभी उपलब्ध स्थान को कवर करने के लिए डिफ़ॉल्ट रूप से भौतिक आयतन को आकार दिया जाता है। हमें भौतिक विस्तार में नए आकार का पता लगाने की आवश्यकता है:

$ vgdisplay vg_raid

आइए कल्पना करें कि नया आकार अब 764 है ("कुल पीई" से देखा जा सकता है)। अब इसे कवर करने के लिए तार्किक आयतन का विस्तार करें:

$ lvextend /dev/mapper/vg_raid-lv_raid -l 764

फिर XFS फ़ाइल सिस्टम का विस्तार करें। फ़ाइल सिस्टम ऑनलाइन और आरोहित होने के दौरान यह आवश्यक है:

$ xfs_grow /raid

डिफ़ॉल्ट रूप से यह सभी उपलब्ध स्थान को कवर करने के लिए विस्तारित किया जाता है। अंत में RAID सरणी ज्यामिति को अद्यतन करने की आवश्यकता है क्योंकि सरणी में अब एक नई डिस्क शामिल है। पहले जोड़े गए लाइन को /etc/mdadm/mdadm.conf से हटाएँ और फिर एक नया जोड़ें:

$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf

3
अपने डिस्क पर विभाजन न रखें। इसके लिए कोई ज़रूरत नहीं है - इन-कर्नेल RAID ऑटोडेक्ट (विभाजन प्रकार fd) पदावनत है।
जेम्स

इसलिए fdisk के साथ 'fd' पार्टिशन बनाने के बजाय, मुझे सीधे / dev / md0 एरे को / dev / sdb, / dev / sdc और / dev / sdd डिवाइसेस पर सीधे बनाना चाहिए?
टास्किनन

1
मैंने सुना है कि सभी डिस्क समान आकार की नहीं होती हैं, इसलिए यदि मैं एक नया टेराबाइट डिस्क खरीदता हूं, तो यह बिल्कुल उसी आकार का नहीं हो सकता है। कि कुछ समस्याओं का परिचय होगा?
टास्किनन

जवाबों:


5

मुझे लगता है कि आपने इसे ठीक कर लिया है। सुनिश्चित करें कि आप समझ रहे हैं और बढ़ते RAID 5 के बारे में चेतावनी दी है man 8 mdadm

व्यक्तिगत रूप से अगर मैं LVM वॉल्यूम बढ़ा रहा था, तो मैं इसे करने के लिए एक मौजूदा RAID सरणी नहीं बढ़ा रहा हूँ। मैं एक और RAID सरणी बनाऊंगा, उसमें से एक नया फिजियोल बनाऊंगा और इसे उसी वॉल्यूम समूह में जोड़ूंगा। यह एक अधिक सुरक्षित ऑपरेशन है (डिस्क के नए सेट में पूरे RAID5 सरणी को फिर से लिखना शामिल नहीं है) और आपके सरणियों के आकार को नीचे रखता है।


बिलकुल सहमत। vgextend यहाँ आपका मित्र है
डैन एंड्रीटाटा

1
सामान्य तौर पर मैं समझता हूं, लेकिन उस स्थिति के बारे में जो मैं उपरोक्त तीन डिस्क सरणी को चार डिस्क सरणी में विकसित करना चाहता हूं। मैं अकेले चौथी डिस्क से एक नया RAID सरणी नहीं बना सकता।
टास्किनन

1
मैं एक समय में एक भंडारण सर्वर के डिस्क सरणी एक डिस्क का विस्तार नहीं कर रहा हूँ। तीन डिस्क सरणी से चार डिस्क सरणी में जाने से आपको केवल 50% अधिक संग्रहण मिलेगा, क्योंकि आपको एक ही आकार के डिस्क का उपयोग करना होगा।
कामिल किसल

1
माना। जब आप अंतरिक्ष से बाहर निकलेंगे, तब तक बड़ी डिस्क ड्राइव की कीमत में कमी आ जाएगी। बड़े ड्राइव के एक नए सेट पर एक दूसरे RAID सरणी का निर्माण करें, फिर अपने पुराने डेटा को pvmove करें और pvmove किए जाने पर पुराने सेट को फिर से सेट करें। यह सब किया जा सकता है, जबकि pvmove से प्रभावित तार्किक संस्करणों में फाइल सिस्टम सक्रिय उपयोग में हैं।
flabdablet
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.