मैं अपनी उबंटू मशीन को विंडोज / लिनक्स / मैक क्लाइंट के लिए एक सांबा शेयर का उपयोग करते हुए फ़ाइल सर्वर के रूप में उपयोग करता हूं। मुझे यह आसानी से विस्तार करना होगा कि किसी भी डेटा को आगे और पीछे ले जाने के बिना केवल अधिक हार्ड ड्राइव जोड़कर।
ऐसा मैंने अभी तक किया है। मैंने चौथी हार्ड ड्राइव को सफलतापूर्वक जोड़ा है। अब यह जानना अच्छा होगा कि यह कैसे किया जाना चाहिए? मैं क्या गलत कर रहा हूं या क्या मैं बेहतर कर सकता हूं?
प्रारंभिक 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