सवाल आप घुड़सवार विभाजन क्यों नहीं कर सकते?


यह अच्छी तरह से ज्ञात है कि आपको कभी भी घुड़सवार विभाजन को फेंकना नहीं चाहिए। मैं समझ सकता हूं कि फाइल सिस्टम अगर यह आसानी से भ्रष्टाचार का कारण बन सकता है को लिखा fsck द्वारा (उदा।, -a विकल्प का उपयोग किया जाता है), लेकिन क्यों नहीं पढ़ा जा सकता है केवल घुड़सवार डिस्क पर चेक चलाया जा सकता है?


38
2018-06-22 18:06


मूल




जवाब:


से:

http://linux.die.net/man/8/fsck.ext3

"ध्यान दें कि सामान्य रूप से आरोहित फाइल सिस्टम पर e2fsck चलाने के लिए सुरक्षित नहीं है। केवल अपवाद है कि -n विकल्प निर्दिष्ट है, और -c, -l, या -L विकल्प निर्दिष्ट नहीं हैं। हालांकि, भले ही यह सुरक्षित है ऐसा करने के लिए, e2fsck द्वारा मुद्रित परिणाम वैध नहीं हैं यदि फाइल सिस्टम को आरोहित किया गया है। यदि e2fsck पूछता है कि आपको फाइल सिस्टम को जांचना चाहिए या नहीं, तो केवल सही उत्तर '' नहीं 'है। केवल विशेषज्ञ जो वास्तव में जानते हैं वे इस प्रश्न का उत्तर किसी अन्य तरीके से जवाब देने पर विचार कर रहे हैं। "


25
2018-06-22 18:20



एक अपवाद: यदि फाइल सिस्टम केवल पढ़ने के लिए आरोहित है, और fsck केवल-पढ़ने योग्य मोड में है, तो चीजें ठीक हैं - Demi


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

चेकर्स वाले कुछ फाइल सिस्टम हैं जिन्हें स्पष्ट रूप से "ऑनलाइन" चलाने के लिए डिज़ाइन किया गया है (यानी, जबकि फ़ाइल सिस्टम सक्रिय है)। एफएफएस / यूएफएस के नए संस्करण फाइल सिस्टम के हालिया स्नैपशॉट (केवल पढ़ने के लिए, पॉइंट-इन-टाइम, कॉपी-ऑन-राइट प्रतिकृति) के खिलाफ fsck चलाकर ऐसा करते हैं। अगर इसे समस्याएं मिलती हैं, जैसे कि आवंटन बिट-मैप्स में असंगतता, यह कच्चे डिस्क को लिखकर, सिस्टम कॉल के माध्यम से उन्हें सुधारती है। यह सक्रिय फ़ाइल सिस्टम के साथ समन्वय करने देता है।

नेटएप के डब्ल्यूएएफएल में ऑनलाइन जांच उपकरण भी है। शायद अन्य लोग हैं।


28
2018-06-22 21:39





एक विभाजन पर चलने वाले fsck को पढ़ना-लिखना मूर्खतापूर्ण होगा, यहां तक ​​कि केवल पढ़ने के लिए मोड में fsck के साथ। फाइल सिस्टम fsck के तहत बदल जाएगा, और इन-मेमोरी डेटा जो फाइल सिस्टम से कैश fsck अमान्य हो जाएगा (और इस प्रकार fsck असंगतता देखेंगे)। आप केवल पढ़ने के लिए मोड में केवल पढ़ने के लिए प्रक्षेपित फाइल सिस्टम पर fsck चला सकते हैं और वैध परिणाम प्राप्त कर सकते हैं। केवल पढ़ने-योग्य घुड़सवार फाइल सिस्टम पर पढ़ने / लिखने के तरीके में fsck चलाना कर्नेल को फाइल सिस्टम संरचनाओं को अप्रत्याशित रूप से नीचे बदलना होगा, और यह भी बुरा होगा।


10
2018-06-22 18:19





इस तथ्य के अलावा कि यह संभवतः आपके आई / ओ थ्रूपुट को मार देगा, अगर फ़ाइल सिस्टम को संशोधित किया जा रहा है, तो एफएसएसी परिवर्तनों और रिपोर्ट की असुविधाओं का ट्रैक रखने का कोई तरीका नहीं है।

एक्सएफएस जैसे कुछ फाइल सिस्टम आपको स्थिरता के लिए चेक करने देते हैं जबकि फाइल सिस्टम को रीड-राइट पर रखा जाता है, जिसमें चेतावनी दी जाती है कि नकली त्रुटियों की सूचना दी जाएगी। xfs_checkजांच करने से पहले फ़ाइल सिस्टम को अनमाउंट या माउंट किया गया केवल पढ़ने के लिए अनुशंसा करता है।


8
2018-06-22 18:17





खैर, fsck का बिंदु फाइल सिस्टम असंगतताओं की रिपोर्ट करना है, जो इनवेरिएंट का उल्लंघन है।

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


5
2018-06-22 18:34





ठीक है, आप कर सकते हैं। fsck -n / dev / sda1 कम से कम ext3 पर, ठीक से करेगा। मैंने अभी इसका परीक्षण किया :)


2
2018-06-22 18:16





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

लेकिन आप अपनी मृत्यु दर का परीक्षण करने के अलावा क्यों? चूंकि आपका बॉस निश्चित रूप से फिर से परीक्षण करने जा रहा है जब उसे पता चलता है कि मेल सर्वर अब रूट ड्राइव को क्यों नहीं पहचान पाएगा।


-3
2018-06-22 22:35



दरअसल, मुझे लगता है कि एक बेहतर संयोजन एक चलती ब्लेंडर, या एक लंबी इमारत के किनारे पर नज़र देखना होगा। सिफ़ पढ़िये। - mike