बड़े फाइल सिस्टम पर स्मृति रनिंग fsck से बाहर चल रहा है


13

मैं केवल 512 एमबी रैम के साथ एक पुराने डेबियन लिनक्स बॉक्स (ईचिंग) चलाता हूं, लेकिन बहुत सारे बाहरी भंडारण संलग्न हैं। एक ext3 फाइलसिस्टम 2.7 टीबी आकार में है, और fsck इसकी जांच नहीं कर सकता, क्योंकि यह मेमोरी से बाहर चलाता है, जैसे कि एक त्रुटि:

   निर्देशिका ब्लॉक सरणी आवंटित करने में त्रुटि: मेमोरी आवंटन विफल रहा
   e2fsck: निरस्त

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

64-बिट कर्नेल में बूट करने के अलावा, क्या इसकी जाँच पूरी करने के लिए fsck प्राप्त करने के अन्य तरीके हैं?

जवाबों:


12

एक 64 बिट कर्नेल और बड़ी मात्रा में रैम fsck को अच्छा और तेज खत्म करने की अनुमति देगा। वैकल्पिक रूप से, e2fsck में अब एक विकल्प है जो इसे रैम के बजाय एक निर्देशिका में इसके सभी मध्यवर्ती परिणामों को संग्रहीत करने के लिए बताएगा, जो बेहद मदद करता है। /etc/e2fsck.confनिम्नलिखित सामग्री के साथ बनाएँ :

[scratch_files]
directory = /var/cache/e2fsck

(और, स्पष्ट रूप से, सुनिश्चित करें कि निर्देशिका मौजूद है, और एक अच्छे जीबी के साथ एक विभाजन पर है)। e2fsck SLLOOOOWWWWWWW चलेगी, लेकिन कम से कम इसे पूरा करेगी।

बेशक, यह रूट FS के साथ काम नहीं करेगा, लेकिन अगर आप स्वैप कर चुके हैं तो आप रूट FS को वैसे भी माउंट कर रहे हैं।


6

मैंने कोशिश की कि क्या उल्टी का सुझाव दिया; यहाँ कुछ और विवरण हैं जो उपयोगी हो सकते हैं यदि, मेरी तरह, आपने इस नई कार्यक्षमता को पहले e2fsck में नहीं देखा है।

E2fsck के लिए "scratch_files" कॉन्फ़िगरेशन विकल्प संस्करण 1.40.x अवधि में कुछ समय में उपलब्ध हो गया। (हमारे मामले में, हमें यह कार्यक्षमता प्राप्त करने के लिए नवीनतम डेबियन वितरण में अपग्रेड करना पड़ा।)

साथ ही "निर्देशिका = / var / cache / e2fsk" विकल्प का सुझाव दिया गया था, वहाँ कुछ आगे विन्यास विकल्प हैं कि कैसे ठीक करने के लिए खरोंच फ़ाइलें भंडारण का उपयोग किया जाता है। मैंने "dirinfo = false" का उपयोग किया, क्योंकि फाइलसिस्टम के पास बड़ी संख्या में फाइलें थीं, लेकिन इतनी बड़ी संख्या में निर्देशिका नहीं। यदि स्थिति को उलट दिया गया था, तो "आइकन" विकल्प उपयुक्त होगा। ये विकल्प e2fsck.conf के मैन पेज में सभी दस्तावेज थे।

BTW, टेड टीओ ने इस धागे में इन विकल्पों के बारे में लिखा है ।

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


मुझे आश्चर्य है कि अगर btrfs उस पर कोई बेहतर है। ext4 उपकरण स्पष्ट रूप से पैमाने पर नहीं बनाए गए थे। मैंने हाल ही में 2GB RAM
user1133275
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.