लिनक्स - सहायता, मैं इनोड से बाहर चला रहा हूँ!


16

मेरे पास एक फाइलसिस्टम है जिसमें बहुत सारी छोटी फाइलें हैं। वर्तमान में लगभग 80% इनोड का उपयोग किया जाता है (मैंने जांच की df -i), हालांकि डिस्क स्थान का केवल 60% उपयोग किया जाता है। मैं इनोड की संख्या को 'बढ़ा' कैसे सकता हूं? यदि यह सिर्फ डिस्क स्थान था, तो मुझे पता है कि मैं सिर्फ डिस्क का आकार बढ़ा सकता हूं (यह डिस्क LVM पर है)। यदि मैं डिस्क के आकार को बढ़ाता हूं, तो क्या इससे मुझे अधिक इनकोड होंगे?

अगर यह मदद करेगा, तो मैं इस डिस्क पर फाइल सिस्टम विकसित करने के लिए तैयार हूं।

जवाबों:


14

आदमी mke2fs

आप संख्याओं की संख्या के लिए -N देखेंगे

जब आप एक नया विभाजन प्रारूपित करते हैं, तो आप इसे निर्दिष्ट कर सकते हैं। अभी इतना उपयोगी नहीं, हुह?

ट्यून 2 एफएएस, जो फाइलसिस्टम को ट्यून करता है, में अधिक इनोड जोड़ने का तरीका नहीं है।

लेकिन शायद ext3 या 4 ऐसा करता है, और कोई और जानता है ....?

तो अब आपके पास एक विकल्प है: बैकअप, रिफॉर्मैट विभाजन, रिस्टोर।


1
हाँ, यह अच्छा है, लेकिन यह नहीं है क्योंकि यह reiserfs है, लेकिन क्योंकि यह गतिशील इनकोड आवंटन का समर्थन करता है (हर शालीनता से नए फाइल सिस्टम द्वारा समर्थित)

1
छोटी छोटी फ़ाइलों के टन के लिए रेसर उत्कृष्ट है। मैं उसके साथ जाऊँगा।
Xorlev

मैं फिर भी यह सुनिश्चित करूंगा कि आपके पास Reiser का उपयोग करते समय बैकअप हो। मैं (खुद) और अन्य पहले के वर्षों में reiserFS के कारण डेटा खो चुके हैं। मुझे अब इस पर भरोसा नहीं है।
QUIT -

ext3 को इसके लिए कोई रास्ता नहीं लगता है
कगली-सान

15

मूल प्रश्न का उत्तर देने के लिए, भले ही यह प्रश्नकर्ता के लिए देर हो चुकी है - हाँ, LVM2 पर EXT2 / 3 को बढ़ाने से इनोड्स सीमा भी बढ़ जाएगी।

बस 65k इनकोड सीमा के साथ 1G आकार का एक विभाजन था। उपरांत

lvextend -L+1G /dev/vg/var
umount /var
resize2fs /dev/vg/var
mount /var

... मेरी इनकोड सीमा अब 128k है।


1
वाह, मैं लगभग हताश था, लेकिन आपका जवाब मिल गया और कोशिश करने का फैसला किया, और यह काम किया। यह निश्चित रूप से स्वीकृत उत्तर होना चाहिए! LVM के साथ-साथ वर्चुअल मशीनों के लिए काम करता है :)
vadipp

12

यदि आप जान रहे थे कि छोटी फाइलें आपके डिस्क स्थान को खा जाएंगी, तो आपको EXT2 / 3/4 (जो मुझे लगता है कि आप उपयोग कर रहे हैं, के बजाय डायनेमिक इनोड आवंटन के साथ FS का उपयोग करना चाहिए, जैसे ReiserFS या कोई नया आधुनिक FS (XFS, JFS)। , आपने ऐसा नहीं कहा)।

एक फाइलसिस्टम माइग्रेशन संभवतः आपकी स्थिति में एक अच्छा विकल्प है।


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

3

एक स्टॉपगैप के रूप में, एक नया फाइलसिस्टम माउंट करें, और cp / rm / ln-s आपके कुछ fs पदानुक्रम वहाँ। अब आपके पास कुछ अतिरिक्त इनोड है! आप दो चरणों के बीच फ़ाइलों को mv नहीं कर सकते हैं, इसलिए उन चीजों को तोड़ना चाहिए जो ऐसा करने की आवश्यकता है, लेकिन कई ऐप्स के लिए यह पारदर्शी हो सकता है।

फिर पॉल की सलाह के अनुसार एक नया fs बनाएं और उस पर माइग्रेट करें।


1
बेशक आप दो filesystems के बीच फ़ाइलें एमवी कर सकते हैं - एक एमवी प्रभावी रूप से cp + rm के लिए सिमेंटिक चीनी है। आप दो फाइल सिस्टम के बीच हार्डलिंक नहीं कर सकते। क्या आपका मतलब कुछ और था?
डैनियल लॉसन

@ डैनियल: मेरा मतलब है कि नाम बदलने () सिस्टम कॉल, और मुझे लगता है कि सीवी / आरएम के लिए चीनी के रूप में एमवी का उपयोग करने के लिए यह मैला करना प्रथा है, क्योंकि सिम्बलिंक के आसपास शब्दार्थ के साथ मुद्दा है। मुझे इस उत्तर को संपादित करना चाहिए - कुछ जगहें हैं जो खूबसूरती से स्पष्ट नहीं हैं।
चार्ल्स स्टीवर्ट

2

Ext4 एक ही समस्या से ग्रस्त है, यदि आप एक छोटा सा विभाजन बनाते हैं और आपके पास एक छोटी फाइल होती है तो आप इनोड से बाहर निकल जाएंगे, और यदि आपके पास flex_bgऐसी सुविधाएँ हैं जो आप tune2fsइनोड को बढ़ाने के लिए उपयोग नहीं कर सकते हैं ।

व्यक्तिगत रूप से मैं rieserfs के किसी भी संस्करण पर ext4 के साथ जाऊंगा, बस फॉर्मेट करते समय निम्नलिखित कार्य करूंगा:

mkfs.ext4 -I 512 /dev/foo
tune2fs -i0 -c0 -o journal_data_writeback /dev/foo

इस तरह से स्वरूपण आपको 512M बूट विभाजन पर 33160 इनसाइड देगा।

मैं यह कहता हूं कि कोई ऐसा व्यक्ति जो सालों से reiserfs का उपयोग करता था, कर्नेल सपोर्ट * के रूप में उतना अच्छा नहीं है, और फाइलसिस्टम समय के साथ खंडित हो जाता है और धीमा हो जाता है।


-1

इनसाइड सीमा के साथ रेससर्फर या किसी अन्य एफएस के लिए जाएं। लॉग फ़ाइलों के बारे में विशेष रूप से, शायद आप इनसाइड की बहुत अधिक मात्रा को मुक्त करने के लिए एक बड़ी टार फाइल में कुछ अप्रयुक्त फाइलों के कुछ टन पैक कर सकते हैं))

$ find /path -iname "pattern" | xargs tar rvf output_file.tar
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.