विज्ञापन
यदि आपके लिनक्स सिस्टम में कई हार्ड ड्राइव हैं, तो आपको उन सभी को अलग-अलग स्टोरेज डिवाइस के रूप में नहीं देखना होगा। Btrfs के साथ, आप बहुत ही आसानी से उन हार्ड ड्राइव से स्टोरेज पूल बना सकते हैं।
कुछ शर्तों के तहत, आप मिररिंग को भी सक्षम कर सकते हैं ताकि आप हार्ड ड्राइव की विफलता के कारण अपना डेटा न खोएं। सब कुछ सेट अप करने के साथ, आप बस पूल में जो भी चाहें फेंक सकते हैं और आपके पास भंडारण स्थान का सबसे अधिक उपयोग कर सकते हैं।
कोई GUI कॉन्फ़िगरेशन सुविधा नहीं है जो यह सब (अभी तक) आसान बना सकती है, लेकिन कमांड लाइन के साथ करना अभी भी बहुत आसान है। मैं आपको एक साथ कई हार्ड ड्राइव का उपयोग करने के लिए एक साधारण सेटअप के माध्यम से चलता हूँ।
क्या है Btrfs?
Btrfs (जिसे बी-ट्री फाइलसिस्टम कहा जाता है, "बटर एफएस", या "बेटर एफएस") एक आगामी फाइल सिस्टम एक्सट 4 बनाम Btrfs: हम स्विच क्यों बना रहे हैं [लिनक्स]पूरी ईमानदारी से, आखिरी चीजों में से एक जो लोग देखते हैं, वह है जो फ़ाइल सिस्टम का उपयोग किया जा रहा है। Windows और Mac OS X उपयोगकर्ताओं के पास देखने के लिए और भी कम कारण हैं, क्योंकि उनके पास वास्तव में केवल एक ही है ... अधिक पढ़ें
यह सामान्य रूप से अलग सॉफ्टवेयर पैकेज के रूप में उपलब्ध फाइल सिस्टम स्तर पर कई अलग-अलग सुविधाओं को शामिल करता है। जबकि Btrfs में कई उल्लेखनीय विशेषताएं हैं (जैसे कि फाइलसिस्टम स्नैपशॉट), इस लेख में हम जिन दो चीजों पर विचार करने जा रहे हैं, वे भंडारण पूलिंग और मिररिंग हैं।यदि आप सुनिश्चित नहीं हैं कि फाइलसिस्टम क्या है, तो इस स्पष्टीकरण पर एक नज़र डालें विंडोज के लिए कुछ फाइलसिस्टम एक फ़ाइल सिस्टम क्या है और आप कैसे अपने ड्राइव पर पता लगा सकते हैंफाइल सिस्टम क्या है और वे क्यों मायने रखते हैं? FAT32, NTFS, HPS +, EXT, और अधिक के बीच अंतर जानें। अधिक पढ़ें . आप इस अच्छे को भी देख सकते हैं विभिन्न फाइल सिस्टम की तुलना एनएएफएस से एफटीएस से जेडएफएस: फाइल सिस्टम डिमिस्टिफाईविभिन्न हार्ड ड्राइव और ऑपरेटिंग सिस्टम अलग फाइल सिस्टम का उपयोग कर सकते हैं। यहां इसका क्या मतलब है और आपको क्या जानना है। अधिक पढ़ें मौजूदा फाइल सिस्टम के बीच के अंतर का बेहतर विचार प्राप्त करने के लिए।
Btrfs को अभी भी कई लोगों द्वारा "स्थिर नहीं" माना जाता है, लेकिन अधिकांश सुविधाएँ पहले से ही व्यक्तिगत उपयोग के लिए पर्याप्त स्थिर हैं - यह केवल कुछ चुनिंदा सुविधाएँ हैं जहाँ आप कुछ अनपेक्षित परिणामों का सामना कर सकते हैं।
जबकि Btrfs का लक्ष्य भविष्य में किसी समय लिनक्स के लिए डिफ़ॉल्ट फाइल सिस्टम होना है, यह अभी भी सबसे अच्छा है एकल हार्ड ड्राइव सेटअप या सेटअप के लिए ext4 का उपयोग करने के लिए जो भंडारण पूलिंग और मिररिंग की आवश्यकता नहीं है।
अपने ड्राइव पूलिंग
इस उदाहरण के लिए, हम चार हार्ड ड्राइव सेटअप का उपयोग करने जा रहे हैं। 1TB के साथ दो हार्ड ड्राइव (/ dev / sdb और / dev / sdc) हैं, और दो अन्य हार्ड ड्राइव (/ dev / sdd और / dev / sde) 500GB के साथ कुल 4T के साथ चार हार्ड ड्राइव हैं। भंडारण की।
आप यह भी मान सकते हैं कि आपके पास कुछ मनमाने आकार का एक और हार्ड ड्राइव (/ dev / sda) है जिसमें आपका बूटलोडर और ऑपरेटिंग सिस्टम है। हम स्वयं के बारे में / देव / sda के बारे में नहीं जानते हैं और अतिरिक्त भंडारण उद्देश्यों के लिए केवल अन्य चार हार्ड ड्राइव को जोड़ रहे हैं।
एक फाइलसिस्टम बनाना
अपनी हार्ड ड्राइव में से एक Btrfs फाइल सिस्टम बनाने के लिए, आप कमांड का उपयोग कर सकते हैं:
सुडो mkfs.btrfs / dev / sdb
बेशक, आप वास्तविक हार्ड ड्राइव के साथ / dev / sdb को बदल सकते हैं जिसका आप उपयोग करना चाहते हैं। यहां से, आप Btrfs सिस्टम में अन्य हार्ड ड्राइव जोड़ सकते हैं ताकि यह एक एकल विभाजन बना सके जो आपके द्वारा जोड़े गए सभी हार्ड ड्राइवों में फैला हो। सबसे पहले, कमांड का उपयोग करके पहले Btrfs हार्ड ड्राइव को माउंट करें:
सुडो माउंट / देव / sdb / mnt
फिर, कमांड चलाएँ:
sudo mkfs.btrfs / dev / sdc mkfs.btrfs / dev / sdd mkfs.btrfs / dev / sde
अब, आप उन्हें कमांड्स का उपयोग करके पहली हार्ड ड्राइव में जोड़ सकते हैं:
sudo btrfs डिवाइस जोड़ें / dev / sdc / mnt btrfs डिवाइस जोड़ें / dev / sdd / mnt btrfs डिवाइस जोड़ें / dev / sde / mnt
यदि आपके पास पहले हार्ड ड्राइव पर कुछ डेटा संग्रहीत था, तो आप चाहते हैं कि फ़ाइल सिस्टम इसे सभी नए जोड़े गए हार्ड ड्राइव के बीच संतुलित कर सके। आप कमांड के साथ ऐसा कर सकते हैं:
sudo btrfs फाइल सिस्टम बैलेंस / mnt
वैकल्पिक रूप से, यदि आप जानते हैं कि इससे पहले कि आप शुरू करें कि आप सभी हार्ड ड्राइवों के बीच एक Btrfs फाइल सिस्टम चाहते हैं, तो आप बस इसे व्यवस्थित कर सकते हैं:
sudo mkfs.btrfs -d सिंगल / देव / sdb / देव / sdc / dev / sdd / देव / sde
बेशक यह बहुत आसान है, लेकिन आपको उपरोक्त विधि का उपयोग करने की आवश्यकता है यदि आप उन सभी को एक बार में नहीं जोड़ते हैं।
आप देखेंगे कि मैंने एक ध्वज का उपयोग किया था: "-d सिंगल"। यह आवश्यक है क्योंकि मैं एक RAID 0 कॉन्फ़िगरेशन चाहता था (जहां डेटा सभी हार्ड के बीच विभाजित है ड्राइव लेकिन कोई मिररिंग नहीं होती है), लेकिन हार्ड ड्राइव अलग होने पर "सिंगल" प्रोफाइल की जरूरत होती है आकार। यदि सभी हार्ड ड्राइव समान आकार के थे, तो मैं ध्वज का उपयोग कर सकता था "-d raid0"। वैसे, "-d" ध्वज, डेटा के लिए खड़ा है और आपको इच्छित डेटा कॉन्फ़िगरेशन निर्दिष्ट करने की अनुमति देता है। "एम" झंडा भी है जो मेटाडेटा के लिए सटीक काम करता है।
इसके अलावा, आप "-d raid1" का उपयोग करके RAID 1 को भी सक्षम कर सकते हैं, जो सभी डिवाइसों में डेटा को डुप्लिकेट करेगा, इसलिए निर्माण के दौरान इस ध्वज का उपयोग करना सभी हार्ड ड्राइव्स को फैलाने वाले Btrfs फाइलसिस्टम का मतलब होगा कि आपको केवल 500GB का प्रयोग करने योग्य स्थान मिलेगा, क्योंकि मिररिंग के लिए तीन अन्य हार्ड ड्राइव का उपयोग किया जाता है।
अंत में, आप "-D raid10" का उपयोग करके RAID 10 को सक्षम कर सकते हैं। यह RAID 0 और RAID 1 दोनों का मिश्रण करेगा, इसलिए यह आपको 1.5TB का उपयोग करने योग्य स्थान देगा क्योंकि दो 1TB हार्ड ड्राइव मिररिंग में जोड़े जाते हैं और दो 500GB हार्ड ड्राइव मिररिंग में जोड़े जाते हैं।
एक फ़ाइल सिस्टम परिवर्तित
यदि आपके पास एक Btrfs फाइल सिस्टम है जिसे आप एक अलग RAID विन्यास में बदलना चाहते हैं, तो यह आसानी से हो जाता है। सबसे पहले, कमांड का उपयोग करके फाइल सिस्टम को माउंट करें (यदि यह पहले से ही नहीं है):
sudo आरोह / देव / sdb1 / mnt
फिर, कमांड चलाएँ:
sudo btrfs बैलेंस स्टार्ट -dconvert = raid1 -mconvert = raid1 / mnt
यह कॉन्फ़िगरेशन को RAID 1 में बदल देगा, लेकिन आप इसे जो चाहें कॉन्फ़िगरेशन के साथ बदल सकते हैं (इसलिए जब तक इसकी वास्तव में अनुमति है - उदाहरण के लिए, यदि आप कम से कम चार कठिन नहीं हैं, तो आप RAID 10 पर नहीं जा सकते ड्राइव)। इसके अतिरिक्त, यदि आप केवल डेटा के बारे में चिंतित हैं तो मेटा-फ़्लैट ध्वज वैकल्पिक है, लेकिन मेटाडेटा नहीं।
अगर हार्ड ड्राइव में विफलता होती है
यदि कोई हार्ड ड्राइव विफल हो जाता है, तो आपको उसे फ़ाइल सिस्टम से निकालने की आवश्यकता होगी, ताकि बाकी के पूल ड्राइव ठीक से काम करें। कमांड के साथ फाइल सिस्टम माउंट करें:
सुडो माउंट -o अपमानित / देव / sdb / mnt
उसके बाद फाइल सिस्टम को ठीक करें:
sudo btrfs उपकरण लापता / mnt को हटाता है
यदि आपके पास RAID 1 या RAID 10 सक्षम नहीं है, तो विफल हार्ड ड्राइव पर मौजूद कोई भी डेटा अब खो गया है।
फाइलसिस्टम से एक हार्ड ड्राइव को हटाना
अंत में, यदि आप Btrfs फाइल सिस्टम से कोई डिवाइस निकालना चाहते हैं, और फाइलसिस्टम / mnt पर आरोहित है, तो आप कमांड के साथ ऐसा कर सकते हैं:
sudo btrfs डिवाइस डिलीट / dev / sdc / mnt
बेशक, उस हार्ड ड्राइव के साथ / dev / sdc को बदलें जिसे आप हटाना चाहते हैं। इस आदेश में कुछ समय लगेगा क्योंकि इसे हटाए जा रहे हार्ड ड्राइव से सभी डेटा को स्थानांतरित करने की आवश्यकता होती है, और इसी तरह विफल रहेगा यदि अन्य शेष हार्ड ड्राइव पर पर्याप्त जगह नहीं है।
स्वचालित बढ़ते
यदि आप चाहते हैं कि Btrfs फाइल सिस्टम अपने आप माउंट हो जाए, तो आप इसे अपने / etc / fstab फाइल आदि में रख सकते हैं:
सुडो / देव / sdb / mnt btrfs डिवाइस = / dev / sdb, डिवाइस = / dev / sdc, डिवाइस = / dev / sdd, डिवाइस = / dev / sd 0
माउंट विकल्प
एक और बोनस टिप! आप Btrfs फ़ाइल सिस्टम के लिए माउंट विकल्पों के तहत अपनी / etc / fstab फ़ाइल में Btrfs के प्रदर्शन को अनुकूलित कर सकते हैं। बड़े भंडारण सरणियों के लिए, ये विकल्प सर्वोत्तम हैं: संपीडन-बल = zlib, autodefrag, nospace_cache
. विशेष रूप से, संक्षिप्त करें = zlib सभी डेटा को संपीड़ित करेगा ताकि आप अपने पास मौजूद संग्रहण स्थान का अधिकतम उपयोग कर सकें। रिकॉर्ड के लिए, SSD उपयोगकर्ता इन विकल्पों का उपयोग कर सकते हैं: noatime, सेक = lzo, ssd, त्याग, space_cache, autodefrag, inode_cache
. ये विकल्प डिवाइस विनिर्देशों के साथ-साथ सही जाते हैं, इसलिए SSD उपयोगकर्ताओं के लिए / etc / fstab में एक पूरी लाइन इस तरह दिखाई देगी:
sudo / dev / sdb / mnt btrfs डिवाइस = / dev / sdb, डिवाइस = / dev / sdc, डिवाइस = / dev / sdd, डिवाइस = / dev / sde
noatime, सेक = lzo, ssd, त्याग, space_cache, autodefrag, inode_cache 0 0
आपका भंडारण पूल कितना बड़ा है?
स्टोरेज पूलिंग और मिररिंग के लिए Btrfs एक शानदार विकल्प है जो एक बार पूरी तरह से स्थिर समझे जाने के बाद अधिक लोकप्रिय हो जाता है। यह भी आसान नहीं होगा कि कॉन्फ़िगरेशन को आसान बनाने के लिए GUI होना चाहिए (कुछ वितरण इंस्टॉलर के अलावा), लेकिन टर्मिनल में आपको जिन आदेशों का उपयोग करना है, वे आसानी से समझ और लागू होते हैं।
सबसे बड़ा स्टोरेज पूल आप क्या बना सकते हैं? क्या आपको लगता है कि भंडारण पूल सार्थक हैं? हमें टिप्पणियों में बताएं!
छवि क्रेडिट: विलियम हुक
डैनी उत्तरी टेक्सास विश्वविद्यालय में एक वरिष्ठ हैं, जो ओपन सोर्स सॉफ्टवेयर और लिनक्स के सभी पहलुओं का आनंद लेते हैं।