अनाथ इनोड क्या है? [बन्द है]


16

मैं समझता हूं कि एक आईनोड क्या है लेकिन अनाथ इनोड की सटीक परिभाषा क्या है? मुझे वास्तव में इसका मतलब नहीं है।

अपडेट करें

एक समय था कि मैं जिस सर्वर को प्रबंधित कर रहा था वह इनोड से बाहर चला गया था, लेकिन जब मैं एक df -h करूंगा, तो मुझे पता चला कि सर्वर में केवल 60% स्थान का उपयोग किया गया था। मुझे लगता है कि यह अनाथ इनोड के कारण है। सभी इनोड का उपयोग कैसे किया जा सकता है लेकिन सर्वर पर अभी भी "स्पेस" बाकी है? क्या आप इसे अपने उत्तरों में संबोधित कर सकते हैं?


1
आपका अपडेट वास्तव में एक अलग सवाल है, जो फाइलसिस्टम की स्टोरेज क्षमता और इसमें मौजूद इनोड की संख्या के बीच अंतर के साथ कर सकता है; आपको इसे एक अलग प्रश्न के रूप में पूछना चाहिए।
स्टीफन किट

रनिंग df -iइनोड के लिए संबंधित जानकारी दिखाएगा।
Kusalananda

डिस्क मुक्त / प्रयुक्त स्थान केवल मुक्त / उपयोग किए गए इनोड्स के साथ थोड़ा सहसंबद्ध है। अंतरिक्ष से बाहर चलने से पहले कई छोटी फ़ाइलों वाली डिस्क इनोड से बाहर चलेगी।
Kusalananda

जवाबों:


17

एक अनाथ इनोड एक इनोड है, जो फाइलसिस्टम में निर्देशिका प्रविष्टि से जुड़ा नहीं है, जिसका अर्थ है कि उस तक नहीं पहुंचा जा सकता है।

अनाथ इनकोड कई कारणों से प्रकट हो सकते हैं:

  • अस्थायी फ़ाइलें जो हटा दी जाती हैं, लेकिन खुली रखी जाती हैं (एक सामान्य अभ्यास) फाइल सिस्टम पर इनोड पर कब्जा कर लेती हैं; यदि सिस्टम ठीक से बंद किए बिना रिबूट होता है, तो ये इनोड बने रहते हैं और अनाथ हो जाते हैं
  • फाइलसिस्टम भ्रष्टाचार निर्देशिका को सम्‍मिलित फाइलों के इनोड्स को प्रभावित किए बिना डायरेक्टरी को दूषित कर सकता है; इन आयतों को फिर अनाथ कर दिया जाता है

fsckअनाथ इनोड के लिए नई निर्देशिका प्रविष्टियाँ बनाता है lost+found


आपके उत्तर के लिए धन्यवाद @ स्टीफन-किट। एक समय था कि मैं जिस सर्वर को प्रबंधित कर रहा था वह इनोड से बाहर चला गया था, लेकिन जब मैं ऐसा करूंगा तो df -hमुझे पता चला कि सर्वर में केवल 60% स्थान का उपयोग किया गया था। मुझे लगता है कि यह अनाथ इनोड के कारण है। सभी इनोड का उपयोग कैसे किया जा सकता है लेकिन सर्वर पर अभी भी "स्पेस" बाकी है?
निनजाकरोड

3

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

एक अनाथ इनकोड फ़ाइल को संग्रहीत करने के लिए एक इनकोड और डिस्क स्थान दोनों का उपयोग करता है, इसलिए दोनों dfऔर df -iइसे उपयोग के रूप में गिना जाता है। इस प्रकार, यदि डिस्क पूर्ण के रूप में रिपोर्ट की गई है, लेकिन dfकुछ स्थान बचा हुआ है, तो यह अनाथ इनोड्स से संबंधित नहीं हो सकता है। अनाथ इनोड एक कारण हैं, जिनके द्वारा रिपोर्ट की गई फाइलसिस्टम का उपयोग dfऔर द्वारा बताई गई कुल फ़ाइल आकार में duअंतर हो सकता है; देखें कि डिस्क उपयोग को मापने के लिए कई अलग-अलग तरीके क्यों हैं? इस विषय पर अधिक जानकारी के लिए।

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

कर्नेल अनुप्रयोगों के लिए एक ही त्रुटि की रिपोर्ट करता है कि क्या डेटा स्थान की कमी के कारण एक फाइलसिस्टम भरा हुआ है या किसी इनोड की कमी के कारण। तो अगर आप कुछ डेटा स्पेस छोड़ चुके हैं, तो भी आपको "डिस्क फुल" एरर मिल सकता है, अगर ऑपरेशन के लिए नया इनकोड चाहिए और इनकोड टेबल फुल हो। भागो df -iपता है कि कैसे अधिक आईनोड उपयोग किया जाता है और कितने बचे हैं।


1
  • एक अनाथ इनोड वह है जिसे अनलिंक किया गया है लेकिन अभी भी दूसरी प्रक्रिया में खुला है। उदाहरण के लिए tail -f {file}एक शेल में चलने के बाद rm {file}दूसरे में। फाइलसिस्टम इन पर नज़र रखता है ताकि प्रक्रिया समाप्त होने पर उन्हें साफ़ किया जा सके।

  • जब भी आप अशुद्ध हैं, यह पूरी तरह से सामान्य है। वे बस ऐसी फाइलें हैं जिन्हें हटा दिया गया था, लेकिन अभी भी खुले थे जब एफएस केवल पढ़ी गई थी। वे कारण नहीं हैं, लेकिन केवल एक लक्षण हैं।


इनकोड समस्या के लिए, इस क्वेरी को सभी निर्देशिकाओं में उपयोग किए जा रहे इनोड्स की सूची प्राप्त करने के लिए चलाएं

for i in `find . -type d `; do echo `ls -a $i | wc -l` $i; done | sort -n

जांच के लिए और अधिक विधि के लिए आप इसे और इसे संदर्भित कर सकते हैं ।


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