एक फाइल सिस्टम पर रूट के लिए आरक्षित स्थान - क्यों?


105

मैं समझता हूं कि डिफ़ॉल्ट रूप से, नए बनाए गए फाइल सिस्टम को रूट के लिए आवंटित 5% स्थान के साथ बनाया जाएगा। मुझे यह भी पता है कि आप परिभाषित स्थान को बदल सकते हैं:

tune2fs -m 1 /dev/sdXY

हालांकि मैं इसके बारे में उत्सुक हूं, इस आरक्षित स्थान का वास्तविक उद्देश्य क्या है। क्या यह किसी भी व्यावहारिक उद्देश्य की सेवा करता है जो कुछ परिस्थितियों में 5% से अधिक स्थान प्राप्त करेगा?

इस प्रश्न पर अचेत होने का कारण यह है कि हमने हाल ही में 1TB फाइलस्टोर का निर्माण किया है, और यह पता नहीं लगा सका कि एक df -h ने हमें अपनी क्षमता का 5% भाग क्यों नहीं छोड़ा।


1
ठीक है, अब वह 'अनुपलब्ध' अंतरिक्ष का एक बड़ा कचरा है। हो सकता है कि 5% एक्स से छोटे आकार के ड्राइव तक सीमित होना चाहिए (उदाहरण के लिए डिस्क स्पेस का 5% अधिकतम 100 एमबी)।
11:24 पर tshepang

3
मेरे 8 टीबी फाइल सिस्टम पर 400 जीबी बस चली गई - यह अंतरिक्ष की असली बर्बादी है !! :)
इलिया रोस्तोवत्से

जवाबों:


101

महत्वपूर्ण मूल प्रक्रियाओं (और संभावित बचाव कार्यों) के लिए स्थान बचाना एक कारण है।

लेकिन एक और है। फ़ाइल सिस्टम विखंडन से बचने के लिए Ext3 बहुत अच्छा है, लेकिन एक बार जब आप लगभग 95% पूर्ण हो जाते हैं, तो यह व्यवहार चट्टान से गिर जाता है, और अचानक फाइल सिस्टम प्रदर्शन गड़बड़ हो जाता है। तो 5% आरक्षित छोड़ना आपको इसके खिलाफ एक बफर देता है।

लिनक्स फाइल सिस्टम डेवलपर / गुरु थियोडोर त्सो द्वारा समझाया गया एक्सटी 4 इस पर बेहतर होना चाहिए :

यदि आप आरक्षित ब्लॉक की संख्या को शून्य पर सेट करते हैं, तो यह प्रदर्शन को बहुत प्रभावित नहीं करेगा सिवाय अगर आप लंबे समय तक चलते हैं (बहुत सारी फ़ाइल बनाता है और हटाता है) जबकि फाइल सिस्टम लगभग पूर्ण है (यानी, 95% से ऊपर) किस बिंदु पर आप विखंडन समस्याओं के अधीन होंगे। Ext4 का मल्टी-ब्लॉक एलोकेशन अधिक विखंडन प्रतिरोधी है, क्योंकि यह सन्निहित ब्लॉकों को खोजने के लिए बहुत कठिन प्रयास करता है, इसलिए यदि आप अन्य ext4 विशेषताओं को सक्षम नहीं करते हैं, तो आप बेहतर परिणाम देखेंगे, फाइल सिस्टम से पहले ext4 का उपयोग करके एक ext3 फाइल सिस्टम को बढ़ाना पूरी तरह से भर जाता है।

यदि आप लंबे समय तक संग्रह के लिए फाइलसिस्टम का उपयोग कर रहे हैं, जहां फाइलें बहुत बार नहीं बदल रही हैं (यानी, एक विशाल एमपी 3 या वीडियो स्टोर), तो यह स्पष्ट रूप से मायने नहीं रखेगा।


3
जैसा कि superuser.com/a/1257550/38062 पर बताया गया है , ये "90%" और "95%" आंकड़े 1980 के दशक में किए गए बर्कले FFS के खिलाफ माप में अपने मूल हैं। दशकों के बाद से, अन्य लोगों ने इस बार-बार प्राप्त ज्ञान को चुनौती दी है।
जेडीबीपी

1
इस आरक्षित स्थान के साथ सामान्य उपयोगकर्ताओं के लिए कोई प्रदर्शन शमन नहीं है। उन्हें बस उम्मीद से पहले डिवाइस पर कोई जगह नहीं मिलेगी। हालांकि जो भी समस्या डिस्क को भर रही थी उसे ठीक करने के लिए जड़ में पर्याप्त जगह होगी।
संकटमोचन

44

यदि आप दूसरों को अपने सिस्टम पर, ssh के माध्यम से लॉग ऑन करने की अनुमति देते हैं, तो इन 5% ब्लॉकों को आरक्षित रखने से यह सुनिश्चित होता है कि बाहरी उपयोगकर्ता डिस्क को नहीं भर सकते। यहां तक ​​कि अगर आप दूसरों को अपने सिस्टम में लॉग इन करने की अनुमति नहीं देते हैं, तो आरक्षित ब्लॉक प्रोग्राम को आपके डिस्क को भरने से रूट के रूप में नहीं चलने से रोकता है।


इसके लिए धन्यवाद, वास्तव में संघर्ष के साथ जो सही के रूप में चिह्नित करने के लिए उत्तर - उत्तर के रूप में यह पहली और जगह पर उत्कीर्ण है, Mattdm अतिरिक्त पृष्ठभूमि और विस्तार के कारण सही के रूप में चिह्नित है जो मुझे "क्यों" को समझने में मदद करता है।
अनुगूंज

22

ब्लॉक के साथ आपके उपयोगकर्ता, और सेवाएं जो रूट के रूप में चलने के बजाय विशिष्ट उपयोगकर्ताओं के रूप में चल रही हैं, एक फाइलस्टेम नहीं भर सकते हैं और अन्य चीजों को संभावित रूप से तोड़ सकते हैं जिन्हें उक्त फाइलसिस्टम को लिखने की आवश्यकता है - हालांकि रूट के रूप में चलने वाली सेवाएं अभी भी इसे पूरी तरह से बना सकती हैं। जरूर भरा है।

यह आपको काम करने के लिए कुछ स्थान भी देता है जब उपयोगकर्ता शिकायत करते हैं कि डिस्क भरी हुई है, या सेवाएं विफल हो रही हैं क्योंकि फाइल सिस्टम भरा हुआ है। उदाहरण के लिए आप कुछ फाइलों को जिप / gz / 7zip अभिलेखागार में निकालने से पहले उन्हें संग्रहित कर सकते हैं (हालाँकि यदि फ़ाइल सिस्टम पूरी तरह से भरा हुआ था, तो संभावना है कि आपके पास कुछ अन्य फाइल सिस्टम उपलब्ध हैं जो आप इसके बजाय संग्रह फ़ाइल बना सकते हैं)।

5% एक लंबे समय के लिए डिफ़ॉल्ट रहा है , जब से डिस्क छोटे थे (मेगाबाइट के दसियों बल्कि तब सैकड़ों गीगाबाइट थे) तो 5% इतना सब नहीं था। सौभाग्य से यह आसानी से बहुत कम प्रतिशत के लिए नीचे देखते जा सकता है के रूप में आप कहते हैं, या ब्लॉक की एक विशिष्ट संख्या के लिए सेट करता है, तो आप उपयोग tune2fsके -rबजाय विकल्प -m। मैं के लिए ऐसा नहीं होगा - दोनों ही मामलों में आप आरक्षण चालू करने के लिए पूरी तरह से बंद 0 से पैरामीटर दे सकते हैं /, /tmp, /varएक वैश्विक फ़ाइल और बहुत आगे है, लेकिन आप एक फाइल सिस्टम है कि केवल उपयोगकर्ता भंडारण के रूप में कार्य के लिए करना चाह सकते हैं (जैसे कि शेयर) या एक जो केवल निश्चित आकार की फाइलें (जैसे निश्चित आकार के वीएम) रखता है जो केवल तब बढ़ेगा जब आप एक नया निर्माण करेंगे।


22

5% का डिफ़ॉल्ट सिस्टम विभाजन के लिए है। उदाहरण के लिए, यदि आपका डिस्क स्थान भर जाता है, तो सिस्टम लॉग ( /var/log) और रूट का मेलबॉक्स ( /var/mail/root) अभी भी महत्वपूर्ण जानकारी प्राप्त कर सकता है। एक के लिए /homeया सामान्य डेटा भंडारण विभाजन, वहाँ जड़ के लिए किसी भी स्थान छोड़ने की आवश्यकता नहीं है। विशेष आवश्यकताओं के लिए, आप उस उपयोगकर्ता को बदल सकते हैं जिसे आपातकालीन स्थान मिलता है ( tune2fs -u 1234)।

एक और कारण [234] फाइलसिस्टम को पूर्ण न होने देने का एक और कारण है, जो है विखंडन

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