इष्टतम UNIX फ़ाइल सिस्टम विभाजन + सेटअप रणनीति


16

UNIX के लिए एक नई सिस्टम डिस्क को विभाजित करते समय, डेस्कटॉप और / या सर्वर दोनों के लिए आपकी पसंदीदा रणनीति क्या है?

कृपया डिस्क विभाजन लेआउट, फ़ाइल सिस्टम प्रारूप (ओं) और विकल्प, आरोह बिंदु, RAID स्तर (ओं), LVM समूहों और संस्करणों, एन्क्रिप्शन, और किसी भी अन्य प्रासंगिक सेटिंग्स को शामिल करें।


यह प्रश्न लगभग इस के डुप्लिकेट की तरह लगता है ( serverfault.com/questions/1145/… )।
ज़ॉडेचेस

क्या यह वर्कस्टेशन, टेस्ट-सर्वर या पूरी तरह से परिपक्व ऑनलाइन सर्वर के लिए है?
djangofan

जवाबों:


9

मैं इस तरह की समस्याओं के लिए LVM का प्रशंसक हूं। आपको बस / बूट के लिए कुछ स्थान की आवश्यकता है (मैं लगभग 100 एमबी का उपयोग करता हूं)। फाइलसिस्टम के साथ संयुक्त जो गतिशील रूप से विकसित हो सकता है और सिकुड़ सकता है (या कम से कम विकसित हो सकता है) आपको फिर से छोटे विभाजन के बारे में कभी नहीं सोचना है।

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


7

यदि यह लिनक्स है, एक अलग / बूट है।

अन्य यूनिक्स वेरिएंट के लिए, आमतौर पर, मैंने / और / var के लिए विभाजन की सिफारिश की है, डेटा आमतौर पर / u001, / 00002 आदि पर मुहिम शुरू की जाती है।

पहले, डिस्क स्थान सीमित होने के कारण भारी विभाजन की आवश्यकता थी और आप नहीं चाहते थे कि संपूर्ण सिस्टम को नीचे लाने के लिए एक भी भरा हुआ विभाजन हो। आज बहुत अधिक संग्रहण उपलब्ध होने के साथ-साथ भरपूर मात्रा में आकार बदलने और वर्चुअलाइजेशन के विकल्प उपलब्ध होने के कारण, कई विभाजन आईएमओ की आवश्यकता कम हो गई है। यह इस तथ्य के साथ युग्मित है कि जब आपके पास कई विभाजन हैं, तो चीजों को स्थानांतरित करने का एक झंझट है इसका मतलब है कि यदि आप कम से दूर निकल सकते हैं, तो यह करें।

2xRAM के रूप में स्वैप करने का मतलब यह नहीं है कि जब आप 32GB मेमोरी कहते हैं। तो याद रखें, "नियम" वास्तव में दिशानिर्देश हैं और कुछ बस अब उपलब्ध नए हार्डवेयर के प्रकाश में समझ में नहीं आते हैं।


2
+1 के विभाजन को कम करने की आवश्यकता का उल्लेख करने के अलावा, यदि आपको / घर में अधिक स्थान की आवश्यकता है, तो आप हमेशा एक नया हार्डड्राइव माउंट कर सकते हैं।
स्पोइक

1
+1 - मैं सहमत हूं कि अधिकांश प्रणालियों पर क्रेजी विभाजन खेलों की आवश्यकता को कम करने के लिए मैं w / downplaying करता हूं। यदि आप जानते हैं कि आपको कुछ एप्लिकेशन की वजह से फास्ट डिस्क पर होना चाहिए / तो, ऐसा ही होना चाहिए। अधिक बार नहीं, जब मैंने उत्पादन प्रणालियों में पागल विभाजन के खेल में भाग लिया है, तो यह एक एकल हार्डवेयर RAID-1 वॉल्यूम है जिसे छोटे विभाजन के एक समूह में तराशा गया है, सभी को भरने के लिए इंतजार करना पड़ता है और इसे आकार देने की आवश्यकता होती है (काम करने के लिए) व्यवस्थापक, जाहिरा तौर पर)। यदि आप जानते हैं कि आपके पास किसी प्रकार की जटिल विभाजन योजना के लिए एक आवेदन है, तो इसके लिए जाएं। यदि आप नहीं करते हैं, तो आप नहीं करते हैं।
इवान एंडरसन

5

एक अच्छी विभाजन संरचना की योजना बनाना वास्तव में इस बात पर निर्भर करता है कि आप सिस्टम का उपयोग कैसे करने जा रहे हैं। कोई भी यादृच्छिक सलाह जो इस बात को ध्यान में नहीं रखती है कि सिस्टम क्या कर रहा है विशेष रूप से उपयोगी नहीं है।

सभी फैंसी फाइल सिस्टम मौके पर उपयोगी हो सकते हैं, लेकिन यदि आप एक स्थिर प्रणाली चाहते हैं, तो यह 'मानक' फाइलसिस्टम (यानी एक्स 3) के साथ चिपके रहने के लिए बेहतर विचार हो सकता है, जब तक कि आपके पास किसी और चीज का उपयोग करने का बहुत अच्छा कारण न हो।

RAID अच्छा है, मैं हमेशा अपने सभी पर्सनल कंप्यूटरों पर RAID1 चलाता हूं क्योंकि मेरे पास बहुत सारे हार्ड ड्राइव फेल हैं।

यदि आपका सिस्टम एक पोर्टेबल डिवाइस है, तो उच्च-मूल्य डेटा, या आपके बस पैरानॉइड जैसे dm-crypt के साथ कुछ एन्क्रिप्शन अच्छा है।

जैसा कि आप अपने विभाजन की योजना बना रहे हैं, तो फाइलसिस्टम पदानुक्रम मानक जैसी चीजों की अच्छी समझ होना बहुत सहायक है और यदि आपके चुने हुए यूनिक्स मानक से भटक जाते हैं।

LVM का उपयोग करने से भविष्य में आपके दिमाग को बदलने और रिबूट किए बिना अपने विभाजन को समायोजित करने में बहुत आसान हो सकता है। और स्नैपशॉट बनाने की इसकी क्षमता बहुत अच्छा बैकअप बनाने में आसान हो सकती है। LVM का उपयोग करें, और अपने सभी स्थान को तुरंत आवंटित न करें।


5

एफएस प्रकार के अलावा विभाजन के दो बहुत अच्छे कारण हैं:

  1. सिस्टम की कार्यक्षमता को प्रभावित करने वाले एक आवेदन से ओवरस्पील को रोकें। यदि आपका ऐप भरता है /usr, तो /varसिस्टम को जारी रखने के लिए और लॉग रिकॉर्ड करने के लिए अनुमति देने के लिए कुछ स्थान बचा होना उपयोगी है ।

    Jauder ने कहा कि यह आज हार्ड डिस्क के आकार से नकारात्मक है - मुझे नहीं लगता कि यह कड़ाई से सच है। हमारी ड्राइव बड़ी हो सकती है, लेकिन जो डेटा हम बदल रहे हैं, वह लगातार बढ़ रहा है। आत्मसंतुष्ट होने की कोई आवश्यकता नहीं है।

  2. माउंट विकल्प। आप अधिक सावधानी से परिभाषित कर सकते हैं कि प्रत्येक विभाजन को क्या अनुमतियाँ अपनानी चाहिए। उदाहरण के लिए, यह अच्छा अभ्यास है कि फाइलों को निष्पादित करने की अनुमति न दें, विशेष रूप से सुसाइड, /tmpक्योंकि यह वेब अनुप्रयोगों की सेवा करने वाली मशीनों के लिए एक सामान्य हमला वेक्टर है। जब तक आप जेल नहीं चला रहे हैं, आपको कहीं भी डिवाइस नोड्स देखने की उम्मीद नहीं करनी चाहिए /dev। और इसी तरह।

जैसे।

/ noatime  
/tmp noatime,nodev,nosuid,noexec  
/var noatime,nodev,nosuid  
/usr noatime,nodev  
/home noatime,nodev,nosuid  

4


2 डिस्क्स के साथ शुरू होने वाली भौतिक डिस्क विभाजन न्यूनतम:

# 100 एमबी, आईडी = 83 (लिनक्स), बूट फ्लैग ऑन
# 2 शेष, आईडी = एफडी (लिनक्स रेड ऑटो)

100MB पार्टीशन / बूट वॉल्यूम के लिए है। मैं अपने सभी ड्राइव (यहां तक ​​कि गैर-बूट) पर लचीलेपन के लिए अनुमति देता हूं ताकि किसी भी ड्राइव को बाद में बूट करने के लिए सक्षम किया जा सके। यदि डिस्क आकार में मेल नहीं खाते हैं, या आपके पास एक विषम संख्या (500GB, 250GBx2) है, तो छोटे डिस्क से मिलान करने के लिए 500GB ड्राइव के विभाजन को विभाजित करें।

RAID
100MB विभाजन का उपयोग करके sdaऔर के sdbलिए एक RAID1 (दर्पण) वॉल्यूम बनाएँ /boot। यह बन जाता है md0

md0 / बूट 100MB Ext2

/ बूट पर एक विदेशी FS का उपयोग करके परेशान न करें, यह इसके लायक नहीं है।

शेष स्थान को विभिन्न तरीकों से स्थापित किया जा सकता है। मैं 64K विखंडू और गति के लिए "2 दूर-प्रतियों" का उपयोग करके एक RAID10 (दर्पण / पट्टी) का विकल्प चुनता हूं। यह आपको लाइन को बढ़ाने के लिए बहुत अधिक लचीलापन देता है। अन्य विकल्प RAID5 / 6 करना है। हालांकि प्रयोग करने योग्य स्थान सबसे छोटे विभाजन तक सीमित होगा, और समान उपकरणों से विभाजनों का उपयोग न करें। नाम नया RAID सरणियों md1, md2, और पर इतना।

LVM
RAID सरणियों को छोड़कर सभी को लें md0, और उन्हें एक एकल LVM मात्रा समूह नाम दें lvm_vg0। यदि आपके पास RAID5 और RAID10 वॉल्यूम हैं, तो संभवतः उन्हें संयोजित करना सबसे अच्छा नहीं है, लेकिन मुझे लगता है कि यह चोट नहीं पहुंचाएगा।

शेष सिस्टम आरोह के लिए VG0 से विभाजन। याद रखें कि ज़रूरत पड़ने पर अधिक स्थान जोड़ना अपेक्षाकृत आसान है, इसलिए ये संख्या कुछ रूढ़िवादी हो सकती है।

lvm_vg0-root / 8GB Ext3 / ReiserFS (कोर डिस्ट्रो फाइलें)
lvm_vg0-home / home 20 + GB Ext3 / ReiserFS (उपयोगकर्ता डेटा, दस्तावेज़)
lvm_vg0-data / data 60 + GB XFS (मीडिया, बड़ी फ़ाइलें, vm)

XFS फाइल सिस्टम सिकुड़ नहीं सकता है, इसलिए इसे ध्यान में रखें। इसके अलावा, ऑनलाइन रूट वॉल्यूम को सिकोड़ना संभवत: समर्थित नहीं है।

उन्नयन यदि आप कभी भी बड़े आकार के लिए डिस्क स्वैप करना चाहते हैं तो आपके पास कुछ विकल्प हैं। सबसे आसान जोड़े या अधिक में ड्राइव जोड़ रहा है, और नए LV सरणियों को वर्तमान LVM VG में जोड़ें।

एक अन्य विकल्प एकल ड्राइव को जोड़ रहा है जो वर्तमान स्थान के योग में> = है। उदाहरण के लिए, यदि आपके पास RAID10 में दो 100GB डिवाइस हैं, तो आप दो पुराने डिवाइसों का उपयोग करके एक नया 200GB डिवाइस जोड़ सकते हैं और इसे मिरर कर सकते हैं। यह अधिक त्रुटि प्रवण है, लेकिन काम करेगा।

यदि आवश्यक हो, तो md#डिवाइस को डेटा खोए बिना LVM VG से हटाया जा सकता है। यह तब किया जा सकता है जब md#डिवाइस से अन्य सभी इस्तेमाल किए गए एलवीएम ब्लॉकों को अन्य में स्थानांतरित करने के लिए पर्याप्त मुफ्त एलवीएम स्थान हो । LVM केवल उस स्थान का उपयोग कर सकता है जिसे LV को नहीं सौंपा गया है, इसलिए एक खाली फ़ाइल सिस्टम को "मुक्त" स्थान के रूप में नहीं गिना जाता है।


1
मैं बूट / पर विदेशी फाइल-सिस्टम के डर से आश्वस्त नहीं हूँ। ext3 और XFS अब 2009 में विदेशी नहीं रहे। यह एक चिंता का विषय था जब liveCDs को उनके लिए ड्राइवरों के साथ पैक नहीं किया गया था, लेकिन लगभग सभी इन दिनों हैं।
डैन कार्ली

@ कैसी, आप एक एक्सट्रीम 3 वॉल्यूम "लाइव" सिकोड़ सकते हैं, बशर्ते आपके पास सामान को स्थानांतरित करने के लिए पर्याप्त खाली स्थान हो। हां, यह एक नाखून काटने वाला अनुभव है, लेकिन मैंने इसे किया है, और यह विज्ञापित के रूप में काम करता है। बस मापदंडों के साथ बहुत सावधान रहना चाहिए।
पेने

2

मैं सिर्फ लिनक्स वर्कस्टेशन चलाता हूं। मैं ext3 फ़ाइल सिस्टम का उपयोग करता हूं और आकार कुछ हद तक डिस्क के आकार पर निर्भर करते हैं, बड़े डिस्क पर विभाजन के साथ अधिक उदार होते हैं। ये विभाजन तालिका में दिखाई देने वाले क्रम में मोटे तौर पर हैं:

  • / बूट - 100 एमबी
  • स्वैप स्पेस - 2xRAM
  • / usr - 10-20 जीबी
  • / - 5-10 जीबी
  • / var - 1-2 जीबी
  • / tmp - 1-2 GB
  • / usr / स्थानीय - 10-20 जीबी
  • / घर - सब कुछ।

विश्वविद्यालय में मेरी पत्नी के कार्यस्थानों पर, जिनमें दो 750 जीबी ड्राइव हैं, हमने उपरोक्त के अलावा, एक दर्जन ~ 100 जीबी विभाजन विभिन्न ड्राइव्स में आरोहित किए हैं जो सभी डेटा / एन / एन में हैं जहां एन 1 से 12 तक की संख्या थी। वह अपने विभिन्न अनुसंधान परियोजनाओं के लिए डेटा को धारण करने के लिए इनका उपयोग करता है।


मैं व्यक्तिगत रूप से / var, / usr अलग-अलग विभाजन से अलग होने का लाभ नहीं देखता। जबकि / usr / स्थानीय एक अच्छा विचार हो सकता है यदि आपके पास कस्टम इंस्टॉल सॉफ़्टवेयर (= पैकेट प्रबंधन के माध्यम से स्थापित नहीं है), दो उल्लेख imho बहुत बेकार हैं। इसके अलावा स्वैप के रूप में 2xRAM imho अनावश्यक है। यदि आपका सिस्टम स्वैप करना शुरू कर देता है तो सब कुछ धीमा हो जाता है, इसलिए आप शुरुआत में इससे बचना चाहते हैं। मैं व्यक्तिगत रूप से केवल Ramsize + X के साथ एक स्वैप विभाजन हवलदार करता हूं क्योंकि मैं कभी-कभी सस्पेंड-डिस्क का उपयोग करता हूं।
मार्टिन

2
@ मर्टिन, एक चमकदार कैश के रूप में काम करने वाले लिनक्स बॉक्स पर आप अपनी स्पूल डायर चाहते हैं, और डीर को एक तेज़ डिस्क पर होना चाहते हैं, और आपको आमतौर पर उस डिस्क को विश्वसनीय होने की आवश्यकता नहीं है। कोई एक RAID0 (स्ट्राइप) पर अपना स्पूल (/ var) रख सकता है, और बाकी सब कुछ धीमे ड्राइव में छोड़ सकता है।
Zoredache

@ मॉर्टिन - तुम सही हो, बंटवारा / usr शायद अनावश्यक है और मैं हमेशा ऐसा नहीं करता। स्वैप = 2xRAM उन दिनों से पुरानी आदत है, जब मैं सिस्टम को केवल 256 एमबी रैम या उससे कम में कॉन्फ़िगर कर रहा था।
डेगोरिम

1
वास्तव में, विभाजन / usr और / var आपको एक पर जर्नलिंग को सक्षम करने की अनुमति देता है और दूसरे को नहीं।
स्कॉट

1
और एक अलग विभाजन पर / var डालने से यह सुनिश्चित होता है कि केवल / var लॉग फ़ाइलों के साथ भर सकता है, जो अन्यथा आपके सिस्टम को घुटनों पर ला सकता है।
जज

1

सभी डिस्क्स पर नोएटाइम का उपयोग करें (जब तक कि आपके पास कोई कारण नहीं है) मैं tmpfs में माउंट / tmp करता हूं, हालांकि यह सर्वर पर इतना अच्छा नहीं हो सकता है, मुझे यकीन है कि यह एक अलग विभाजन है और इसे nvv, nosuid, nootec, noatime माउंट करेगा । मैं हमेशा / बूट के लिए ext2 का उपयोग करता हूं, इसलिए मुझे f / w को बूट करने की क्षमता को खराब करने वाले fs सामान को बदलने के बारे में चिंता करने की आवश्यकता नहीं है। ext4 बाकी सब पर, मैं जर्नल / डेटा का उपयोग करता हूं / घर पर जो शायद चीजों को थोड़ा धीमा कर देता है (क्योंकि इसमें डीललोक नहीं है) लेकिन मैंने जर्नल = डेटा के साथ डेटा कभी नहीं खोया है, और नवीनतम / महान होने का थोड़ा सा वेश्या, कभी-कभी मेरा सिस्टम लॉक हो जाता है और मुझे इसे रीसेट करना पड़ता है (क्योंकि मैंने किमी की तरह कुछ आज़माया और बग पाया)।


1
'Nodiratime' का उपयोग करना न भूलें, अन्यथा आप अपने vfs_cache_pressure पर टन के साथ धक्का देंगे (साथ ही डिस्क पर वास्तविक लिखते हैं!)।
गज़ोनीक्स

0

वाह, अच्छा सवाल है। Yonks के लिए इस के लिए एकदम सही जवाब के लिए सर्फिंग किया गया।

मेरे पास व्यक्तिगत रूप से 50Mb / बूट ~ 8GB / है और बाकी पूर्ण से दूर / घर थॉट्स की ओर जाता है। मुझे वैकल्पिक फाइल सिस्टम की जांच करने की आवश्यकता है, वर्तमान में मैं ext3 का उपयोग करता हूं, लेकिन मैंने उदाहरण के लिए एक्सएफएस के लिए अन्य फाइल सिस्टम की महान चीजें सुनी हैं।

मैं आमतौर पर शुद्ध रूप से / tmp के लिए एक फ़ाइल कंटेनर बनाता हूं ताकि मैं भविष्य में इसके साथ अधिक लचीला हो सकूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.