एक nfs माउंट को अनमाउंट करें जहां nfs सर्वर गायब हो गया है


32

सर्वर A एक NFS सर्वर हुआ करता था। सर्वर B उस के निर्यात को बढ़ा रहा था। सब कुछ ठीक था। फिर ए की मृत्यु हो गई। बस बंद कर दिया। गया हुआ। गायब हो गई।

हालाँकि वह फ़ोल्डर अभी भी बी पर रखा गया है। मैं स्पष्ट रूप cdसे इसमें या कुछ भी नहीं कर सकता । हालाँकि umount /mnt/myfolderअभी लटका हुआ है और umount नहीं होगा। वैसे भी बी को पुनरारंभ किए बिना इसे umount करने के लिए है?

क्लाइंट और सर्वर दोनों ही लिनक्स मशीन हैं।


जवाबों:


45

लिनक्स मानते हुए:

umount -f -l /mnt/myfolder

समस्या को हल करने की कोशिश करेंगे:

-f फोर्स अनमाउंट (एक अगम्य एनएफएस प्रणाली के मामले में)। (कर्नेल 2.1.116 या बाद के संस्करण की आवश्यकता है।)

-l आलसी अनमना। फाइलसिस्टम पदानुक्रम से फाइल सिस्टम को अलग करें, और फाइल सिस्टम के सभी संदर्भों को जल्द से जल्द साफ करें क्योंकि यह अब व्यस्त नहीं है। (कर्नेल 2.4.11 या बाद के संस्करण की आवश्यकता है।)

-f सोलारिस और AIX पर भी मौजूद है।


1
मेरा एक ही मुद्दा था, गुगली करना और यहाँ आना। हाँ - आलसी ध्वज ने वास्तव में यहाँ मेरी मदद की ... -इस पर वह खुद ऐसा नहीं कर रहा था ...
wawawawa

हां, "-l" "-f" विकल्प SAME TIME होना चाहिए।
liuyang1

2
इसके अलावा, मुझे कभी-कभी umount के लिए स्थानीय पथ के बजाय दूरस्थ पते को निर्दिष्ट करके बेहतर सफलता मिली, जैसे। umount -f -l nfsserver:/export/thefolder
जैतून ५

18

डेविड पशले द्वारा दिए गए संकेत पर विस्तार से बताते हुए ,

जब तक "umount -l" आपकी समस्या को हल नहीं करता है, आप एक नकली सर्वर को उसी पते के साथ सेट कर सकते हैं जो चला गया है - लेकिन आपको वास्तव में एक नया गंभीर या कुछ भी सेट करने की आवश्यकता नहीं है। अवरुद्ध / त्रिशंकु उमंग स्थिति से बाहर का सबसे आसान तरीका एक स्थानीय उर्फ ​​आईपी इंटरफ़ेस स्थापित करना है , इस प्रकार है:

ifconfig eth0:nfstmp 11.22.33.44 netmask 255.255.255.255
umount -l /mnt/deadnfsmount    # -l or -f or whichever that gets the job done
ifconfig eth0:nfstmp down

(स्पष्ट रूप से 11.22.33.44 (अब मृत) एनएफएस सर्वर का पूर्व पता)


यह मेरे लिए काम करता है सिवाय मुझे एक स्थानीय nfs सर्वर चलाने के लिए।
gak

6

intrकिसी भी /etc/fstabप्रविष्टि के विकल्प को जोड़ना बुद्धिमानी हो सकती है जो लटकने या दुर्घटनाग्रस्त हो सकती है। यदि आप softया intrविकल्पों का उपयोग नहीं करते हैं, तो जब एनएफएस फ़ाइलों की मेजबानी करने वाला सर्वर नीचे जाता है, तो जिस सर्वर पर फ़ाइलें माउंट की जाती हैं (क्लाइंट) बूट होने पर लटका सकता है।

के अनुसार man 5 nfs:

सॉफ्ट / हार्ड
NFS क्लाइंट के पुनर्प्राप्ति व्यवहार को NFS के अनुरोध के बाद निर्धारित करता है। यदि कोई विकल्प निर्दिष्ट नहीं है (या यदि हार्ड विकल्प निर्दिष्ट किया गया है), तो एनएफएस अनुरोध अनिश्चित काल के लिए वापस ले लिए जाते हैं। यदि नरम विकल्प निर्दिष्ट किया गया है, तो एनएफएस क्लाइंट एक एनएफएस अनुरोध को विफल कर देता है, जिसके बाद रिट्रेन्स रिट्रेंसमिशन भेजे गए हैं, जिससे एनएफएस क्लाइंट को कॉलिंग एप्लिकेशन में त्रुटि वापस आ सकती है।

... और फिर कहा जाता है कि intrइसे पसंद किया जाता है soft, लेकिन यह फांसी को रोकने का समान प्रभाव है।


3
ध्यान दें कि एनएफ़एस के नए संस्करणों के साथ, इंट्रे को हटा दिया गया है या इसका कोई ऑपरेशन नहीं है - जिस स्थिति में नरम का उपयोग किया जाना चाहिए।
पॉल

3

umount -f /mnt/myfolderइसे हल करना चाहिए। Umount मैनपेज देखें।


2
यह एनएफएस और एक मृत सर्वर के साथ काफी नहीं है। आपको आलसी ध्वज की भी आवश्यकता होती है (या इफ़लिया जोड़ने के साथ चाल)। lsof और fuser सभी हैंग और umount -f कहते हैं "डिवाइस व्यस्त"।
वाव्वा जूल

1

एक तरफ के रूप में, ऑटोमाउंट का उपयोग करते हुए जब वे अपरिहार्य हो जाते हैं, तो वे एनएफएस शेयरों को अनमाउंट करना संभाल लेंगे, जो भविष्य में इस सीटैट्यूशन में फंसने से बचा जाता है।


2
जरुरी नहीं। इस स्थिति में आटोमाउंट माउंट भी लटका सकते हैं, यदि आप किसी भी तरह से निर्देशिका को एक्सेस करने की कोशिश करेंगे तो प्रक्रिया लटक जाएगी।
कामिल किसल

हाँ, ऑटोमोटिव कई समस्याओं का कारण बनता है क्योंकि यह हल करता है।
16:50 बजे pjc50

1

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


2
-l (आलसी) कुंजी है, जैसा कि ऊपर बताया गया है
मैट सिमंस

1

सोलारिस के लिए, एनएफएस क्लाइंट को फिर से शुरू करने से "मौत का कठिन माउंट सर्पिल" हल हो जाएगा। सोलारिस 10 के लिए कमांड "svcadm पुनरारंभ नेटवर्क / nfs / क्लाइंट" है यह लिनक्स के बॉक्स पर हाल ही में कोशिश नहीं की है (क्योंकि वे सभी "intr" ध्वज के साथ माउंट करते हैं, इसलिए उन्हें शायद ही कभी यह समस्या होती है), लेकिन यह शायद भी ठीक कर देगा समस्या।


0

मैंने अभी देखा कि कर्नेल पर 3.2.0 फोर्स NFSv4 माउंट्स के साथ हैंग हो जाता है। NFSv3 काम ठीक नहीं करता है।

$ mount [...] -o nfsvers=3

0

बस एक OS X- विशिष्ट अनुवर्ती, क्योंकि माउंट कमांड ज्यादातर * nix अज्ञेयवादी हैं: -l (आलसी) ध्वज OS X में मौजूद नहीं है, हालाँकि, -f (बल) ध्वज करता है, और पर्याप्त साबित होता है । इसके अलावा, सिस्टम-जनरेटेड माउंट पॉइंट / वॉल्यूम (/ वॉल्यूम / myserversexport) में हैं


0

मैं इसी समस्या से मिला हूँ। चूंकि एनएफएस सर्वर हटा दिया गया, इसलिए मैं क्लाइंट से एनएफएसटी नहीं कर सकता। मैंने निम्नलिखित चाल की कोशिश की, देखें कि क्या यह सहायक हो सकता है। चूंकि मूल एनएफएस सर्वर चला गया है, मैं उसी आईपी और निर्यात के साथ एक नया सर्वर बनाता हूं। फिर मैं umount -f / mnt / nfs_part आज़माता हूं। मैं आखिरकार अब nfs को umount कर सकता था।

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