UNIX में हार्ड बनाम सॉफ्ट माउंट के फायदे / नुकसान क्या हैं?


23

यह प्रश्न डिस्ट्रोस के बीच भिन्न हो सकता है, लेकिन सामान्य तौर पर, UNIX दुनिया में हार्ड या सॉफ्ट माउंट का उपयोग करने के क्या फायदे / नुकसान हैं?

क्या कुछ ऐसी स्थितियाँ हैं जहाँ कोई अधिक लाभकारी है या उपयोग सर्वत्र व्यापक है?

जवाबों:


21

एक हार्ड माउंट आमतौर पर स्थानीय डिस्क या SAN जैसे ब्लॉक संसाधनों के लिए उपयोग किया जाता है। एक सॉफ्ट माउंट आमतौर पर एनएफएस या सीआईएफएस जैसे नेटवर्क फ़ाइल प्रोटोकॉल के लिए उपयोग किया जाता है।

एक नरम माउंट का लाभ यह है कि यदि आपका एनएफएस सर्वर अनुपलब्ध है, तो कर्नेल पूर्व-कॉन्फ़िगर अवधि के बाद आई / ओ ऑपरेशन को समाप्त कर देगा। नुकसान यह है कि यदि आपका एनएफएस चालक डेटा और सॉफ्ट माउंट बार बाहर निकालता है, तो आपके एप्लिकेशन को यह पता नहीं चल सकता है कि एनएफएस वॉल्यूम के लिए कौन लिखता है वास्तव में डिस्क के लिए प्रतिबद्ध था।


8

हार्ड माउंट और "इंट्र" (रुकावट) एक अच्छा समझौता है (2.6.25 से पहले गुठली के लिए, रयान होरिसबर्गर द्वारा टिप्पणी देखें)। आवेदन सफल लिखने के बारे में मूर्ख नहीं है, फिर भी आप उन्हें मार सकते हैं अगर कुछ नलियों को बंद कर देता है।


8
intr विकल्प को linux पर हाल के संस्करणों में पदावनत और अनदेखा किया गया है: linux.die.net/man/5/nfs : intr / nointr माउंट विकल्प कर्नेल 2.6.25 के बाद पदावनत किया जाता है। केवल SIGKILL इन कर्नेल पर लंबित NFS ऑपरेशन को बाधित कर सकता है, और यदि निर्दिष्ट किया जाता है, तो इस माउंट विकल्प को पुराने कर्नेल के साथ पश्चगामी संगतता प्रदान करने के लिए अनदेखा किया जाता है।
रयान हॉरिसबर्गर

5

किसी प्रकार के नेटवर्क फ़ाइल सिस्टम (nfs या फ़्यूज़) का उपयोग करके हार्ड माउंट एक टूटे हुए कनेक्शन को फिर से स्थापित करने की कोशिश करते हुए हमेशा के लिए (कभी-कभी) ब्लॉक हो सकता है। इसका मतलब है, उस माउंट तक पहुंचने की कोशिश करने वाली हर प्रक्रिया डिस्क स्लीप (डी) में चली जाती है जब तक कि डिवाइस फिर से उपलब्ध न हो या सिस्टम रिबूट न ​​हो जाए।

डिस्क नींद बाधित या मारा नहीं जा सकता। यह ज़ोंबी प्रक्रियाओं के ज़ोंबी की तरह है।

संक्षेप में, कभी नेटवर्क फ़ाइल सिस्टम के लिए हार्ड माउंट का उपयोग न करें। आप चाहते हैं कि फ़ाइल सिस्टम फेल हो जाए (तुरंत, syscalls का उपयोग करके प्रोसेस करने के लिए) यदि I / O संभव नहीं है। अन्यथा, स्मृति जो वे दावा करते हैं कि एफएस विफल होने पर भी लीक हो सकती है।


मैं आपकी सामान्य अनुशंसा के साथ सहमत हूं कि कठिन आरोह। हालांकि, कुछ लोग जो एनएफएस पर वीएमवेयर की तैनाती करते हैं, वे हार्ड माउंट का उपयोग करने की सलाह देते हैं। मैं 100% परिचित नहीं हूं कि वे ऐसा क्यों करते हैं, लेकिन इसे लागू करने से पहले बारीकी से विचार करने और अनुसंधान करने के लिए कुछ है।
duffbeer703

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

@ मायके ऐसे कई सेटअप हैं जो खुशी से चल रहे हैं। आप कभी नहीं जानते हैं कि आप प्रयोगशालाओं या कारखानों में भाग लेंगे जहां दशक पुरानी मशीनें अभी भी खुशी से उपकरण नियंत्रित कर रही हैं। यह आधुनिक सामान पर काम करने वाले लोगों के लिए इतना मुद्दा नहीं है। लेकिन हाँ, हार्ड माउंट आपको डेटा खर्च कर सकते हैं (लेकिन सॉफ्ट माउंट भी कर सकते हैं!) - लेकिन कोई भी नेटवर्क फाइल सिस्टम जो बैटरी-समर्थित कैशिंग I / O का उपयोग नहीं करता है, उस समस्या के लिए समान क्षमता है। जब यह पता लगाना और पुनर्प्राप्ति को स्वचालित करने की बात आती है, तो हार्ड माउंट केवल इसे अतिरिक्त भयानक बनाते हैं।
टिम पोस्ट

2

नरम केवल उन लोगों द्वारा उपयोग किया जाता है जो एनएफ़एस के प्रमुख को नहीं समझते हैं। सॉफ्ट / हार्ड फाइलसिस्टम के उपयोग पर निर्भर करता है। मिशन क्रिटिकल एप्लिकेशन के लिए फ़ाइल भ्रष्टाचार को रोकने के लिए हमेशा कठिन माउंट का उपयोग करें (यही कारण है कि यह अधिकांश प्रणालियों के लिए डिफ़ॉल्ट है)। आरओ फाइलसिस्टम के लिए यह नरम और थैरेपी का उपयोग करने के लिए सुरक्षित है। वैसे nfsv4 अब नरम समर्थन नहीं करता है ...।


nfsv4 अब सॉफ्ट को सपोर्ट नहीं करता है? मैन पेज के अनुसार, "सभी संस्करणों द्वारा समर्थित विकल्प। ये विकल्प किसी भी एनएफएस संस्करण के साथ उपयोग करने के लिए वैध हैं। सॉफ्ट / हार्ड एक एनएफएस अनुरोध के बाद एनएफएस क्लाइंट के पुनर्प्राप्ति व्यवहार को निर्धारित करता है। यदि कोई विकल्प निर्दिष्ट नहीं है (या यदि है तो) हार्ड विकल्प निर्दिष्ट किया गया है), एनएफएस अनुरोध अनिश्चित काल के लिए वापस ले लिए जाते हैं। यदि नरम विकल्प निर्दिष्ट किया जाता है, तो एनएफएस क्लाइंट एनएफएस अनुरोध को फिर से जारी करने के बाद विफल रहता है, क्योंकि एनएफएस क्लाइंट कॉलिंग एप्लिकेशन में एक त्रुटि वापस करता है। " Linux.die.net/man/5/nfs
माइक एस

मुझे लगता है कि आप अपने आप से विरोधाभास कर रहे हैं ... "सॉफ्ट केवल उन लोगों द्वारा उपयोग किया जाता है जो समझ में नहीं आते हैं ..." और "आरओ फाइलसिस्टम के लिए यह सॉफ्ट का उपयोग करना सुरक्षित है ..." इसके अलावा, @ पोस्ट पोस्ट देखें, ऊपर ।
माइक एस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.