एक अप्रकाशित अनाथ इनोड सूची को कैसे साफ करें?


17

मैं एक पूर्व माउंट करने की कोशिश की केवल पढ़ने के लिए घुड़सवार फाइल सिस्टम -पढ़ने लिखने योग्य :

mount -o remount,rw /mountpoint

दुर्भाग्य से यह काम नहीं किया:

mount: /mountpoint not mounted already, or bad option

dmesg रिपोर्ट:

[2570543.520449] EXT4-fs (dm-0): Couldn't remount RDWR because of unprocessed orphan inode list.  Please umount/remount instead

A umountकाम नहीं करता है:

umount /mountpoint
umount: /mountpoint: device is busy.
    (In some cases useful info about processes that use
     the device is found by lsof(8) or fuser(1))

दुर्भाग्य से न lsofकी fuserकिसी भी प्रक्रिया तक पहुँचने कुछ बिंदु माउंट के अंतर्गत स्थित नहीं दिखाते।

तो - मैं कंप्यूटर को रिबूट किए बिना फाइल सिस्टम को फिर से माउंट करने में सक्षम होने के लिए इस अनप्रोसेस्ड अनाथ सूची को कैसे साफ कर सकता हूं ?


1
क्या आपने fuser -km /mountpointअभी तक कोशिश की है? हालांकि, खबरदार -k ध्वज उस निर्देशिका तक पहुँचने वाली सभी प्रक्रियाओं को मार देगा।
रिचर्ड केलर

क्या आप dm-0 से थोड़ी अधिक जानकारी प्रदान कर सकते हैं?
पतला

मुझे लग रहा है कि मुझे पता है कि व्हाट्स अप है, लेकिन क्या आप मुझे बता सकते हैं, क्या फाइल सिस्टम मूल रूप से आरडब्ल्यू, रिमाउंटेड (अता त्रुटि या जो भी हो) आरओ था, और अब आप फिर से आरडब्ल्यू करने की कोशिश कर रहे हैं?
मैथ्यू इफ

@Mlfe: फाइलसिस्टम पूर्व roउद्देश्य से प्राप्त किया गया था । यह एक LVM पर एक फाइलसिस्टम है जो एक दैनिक बैकअप स्नैपशॉट रखता है rwजो बैकअप ऑपरेशन के दौरान और roबैकअप खत्म करने के बाद सेट किया जाएगा ।
bmk

जवाबों:


6

आप फ़ाइल सिस्टम को अनमाउंट और रिमाउंट करके अनप्रोसेस्ड ऑर्फ़न इनोड सूची को साफ़ करते हैं।

Linux-ext4 मेलिंग सूची से एक विस्तारित चर्चा के बारे में अधिक जानकारी है कि यह संदेश क्या है और यह क्यों दिखाई दे सकता है। संक्षेप में, दो चीजों में से एक हुआ है: या तो आप कर्नेल बग में चले गए हैं, या बहुत अधिक संभावना है, कुछ फाइल सिस्टम भ्रष्टाचार पिछली बार जब आपने फाइल सिस्टम को आसानी से लिखा था, तब हुआ था। शायद यही कारण है कि सिस्टम को लगता है कि कुछ अभी भी फाइलसिस्टम का उपयोग कर रहा है जब वहाँ नहीं है।

यदि यह एक वर्ष हो गया है और आपने अभी भी मशीन को रिबूट नहीं किया है, तो बस एक रखरखाव विंडो को छोड़ दें और शेड्यूल करें।


इस बीच मैंने एक रखरखाव खिड़की निर्धारित की और मशीन को रिबूट किया। यह समस्या हल हो गई (मुझे कुछ और उम्मीद नहीं थी ...)। मैं आपके उत्तर को स्वीकार करूंगा। संभवतः आप सही कह रहे हैं कि कुछ फाइल सिस्टम भ्रष्टाचार था - हालांकि मैं यह साबित नहीं कर सकता।
12 bmk

25

यदि आप ext2 / ext3 / ext4 का उपयोग कर रहे हैं, तो आपको e2fsckअनाथ इनोड को साफ करने में सक्षम होना चाहिए :

e2fsck -f

Reiserfs के लिए, आप उपयोग कर सकते हैं reiserfsckजो अनाथ इनोड्स को भी साफ करेगा।


निश्चित नहीं है कि इसे क्यों डाउनवोट किया गया था, शायद डाउनवोट के लिए एक कारण प्रदान करें? रनिंग e2fsck अनाथ इनोड को साफ करता है, जिसे आप कंसोल आउटपुट में देखेंगे clearing orphaned inode XXXXजहां XXXX एक इनोड नंबर है। आप आसानी से सिस्टम को रिबूट किए बिना e2fsck चला सकते हैं। E2fsck चलाने के बाद आपको विभाजन को रिमूव करने में सक्षम होना चाहिए।
रिचर्ड केलर

2
धन्यवाद बहुत बहुत धन्यवाद .. मैं त्रुटि का पता लगाने में घंटों बिताता हूं। 'E2fsck -f / dev / sda1' करने से कुछ अन्य सुधारों के साथ मेरे लिए अनाथ नोड्स तय हो गए। मैंने अभी सभी को हां कहा और अब ठीक काम करता हूं :)
व्हाइटहैट

1
बहुत बहुत धन्यवाद!!। आपके आदेशों को निश्चित रूप से अनचाहे ही नए वर्चुअलबॉक्स संस्करण स्थापित करने के बाद आसानी से VirtualBox VM डिस्क को निर्धारित किया जाता है: sudo e2fsck -f / dev / sda1
नौ

2
बिल्कुल सही, मेरे लिए रूट विभाजन पर काम किया। स्वीकृत उत्तर (रिबूट) अकेले काम नहीं करता था। मुझे e2fsck के बाद रिबूट करना पड़ा, इसलिए ऐसा लगता है कि आपको अभी भी एक रखरखाव विंडो की आवश्यकता है।
एडम्स

1
स्वीकार किए गए से बेहतर उत्तर। यह पूरी तरह से मेरे VPS के लिए काम किया। बहुत सी त्रुटियां मिलीं और इसे ठीक कर दिया, रिबूट की तुलना में और सब कुछ फिर से चल रहा है। मेरा दिन बचाया।
ब्रेन फू लॉन्ग

6

e2fsck -f <mount point> काम नहीं करेगा।

पहले माउंट बिंदुओं के साथ पता लगाएं

sudo mount -l

फिर ड्राइव को सीधे fsck करें।

मेरे लिए उदाहरण के लिए

sudo e2fsck -f /dev/xvda2

जब आप एक समस्या का सामना करते हैं और स्टैकओवरफ़्लो पर अपने स्वयं के समाधान पर पहुंचते हैं। मेरा जीवन अब पूर्ण है।
गणेश कृष्णन

1

मैं पहले विभाजन को बलपूर्वक अनमाउंट करने की सलाह दूंगा, अर्थात -f विकल्प का उपयोग करना, और फ़ाइल सिस्टम का उपयोग करके fsck का उपयोग करना।


1
दुर्भाग्य से umount -fभी सफल नहीं हुआ। त्रुटि संदेश एक सादे के साथ के रूप में ही है umount
बीएमके

1

तुम शायद एक आलसी unmount कोशिश करनी चाहिए, यानी:

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