आपकी टिप्पणी के आधार पर उत्तर के रूप में जोड़ना।
समाधान lookupcache=none
आपके nfs आरोह विकल्पों में जोड़ने का है।
क्या होता है कि पहली बार आपका क्लाइंट उस फाइल को पढ़ता है जिसे वह एनएफएस फाइल करने के लिए एनएफएस लुकअप करता है। यह तब एनएफएस फाइलिड को कैश करता है, और जब आप फाइल को खोलने के लिए वापस जाते हैं, तो यह कैश का उपयोग करता है। आम तौर पर यह एक समस्या नहीं है जब फ़ाइल को अपडेट किया जाता है तो इसका फाइलिड वही रहता है। लेकिन किसी कारण से पुरानी फ़ाइल को हटाया जा रहा है, और एक नया बनाया गया है (या नाम बदला गया है, या जहां इसकी कोई फ़ाइल नहीं है)।
अब आमतौर पर यह एक समस्या के रूप में या तो जब आपके ग्राहक एक फ़ाइल फ़ाइल को खोलने की कोशिश करता है जो वहाँ नहीं है, तो यह सर्वर से एक त्रुटि प्राप्त करेगा और नया फाइलिड प्राप्त करने के लिए एक और लुकअप करेगा। लेकिन किसी कारण से एनएफएस सर्वर क्लाइंट को उस पुरानी फाइल को खोलने दे रहा है। शायद किसी अन्य क्लाइंट के पास फ़ाइल खुली है और इसलिए अभी तक इसे हटाया नहीं जा रहा है, मुझे नहीं पता।
किसी भी मामले में इसे हल करने का तरीका यह है कि क्लाइंट को हमेशा एनएफएसई माउंट विकल्प का उपयोग करके फ़ाइल खोलने से पहले एक nfslookup करने के लिए कहा जाए lookupcache=none
। इसका नकारात्मक पक्ष यह है कि यह महंगा हो सकता है यदि आप अक्सर फाइलें खोल रहे हैं क्योंकि यह एनएफएस सर्वर में अधिक ट्रैफ़िक जोड़ता है।
ls -i
सर्वर पर फ़ाइल को संपादित करने से पहले क्लाइंट पर करें, फिर बाद में। देखें कि क्या नंबर बदलते हैं। यदि वे ऐसा करते हैं क्योंकि सर्वर फ़ाइल को बदल रहा है और क्लाइंट इसे तब तक नोटिस नहीं करता है जब तक कि यह निर्देशिका को बचाता नहीं है। यदि ऐसा है तो माउंट विकल्प सेट करने का प्रयास करेंlookupcache=none
और देखें कि क्या व्यवहार बदलता है।