_Netdev माउंट विकल्प / etc / fstab में कैसे काम करता है?


24

मैं जानना चाहता हूं कि नेटवर्क इंटरफेस के उठने के बाद तक सटीक तंत्र (कार्यान्वयन) का क्या उपयोग किया जाता है जब कोई _netdevविकल्प का उपयोग करता है /etc/fstab?
करता है systemdयह व्यवहार में परिवर्तन?
इसके अलावा, delay_connectsshfs क्या विकल्प प्रदान _netdevकरता है जो नहीं करता है?

से mount आदमी पेज :

_netdev
फाइलसिस्टम एक ऐसे उपकरण पर रहता है जिसे नेटवर्क एक्सेस की आवश्यकता होती है (सिस्टम को सिस्टम पर नेटवर्क सक्षम होने तक इन फाइल सिस्टम को माउंट करने के प्रयास से रोकने के लिए उपयोग किया जाता है)।

से sshfs आदमी पेज :

-o delay_connect
सर्वर से कनेक्शन में देरी

जवाबों:


25

SysV Init

/etc/init.d/mountall.shInit स्क्रिप्ट स्थानीय फ़ाइल सिस्टम केवल mounts:

mount -a -t nonfs,nfs4,smbfs,cifs,ncp,ncpfs,coda,ocfs2,gfs,gfs2,ceph -O no_netdev

अन्य फाइलसिस्टम अलग-अलग init स्क्रिप्ट द्वारा माउंट किए जाते हैं, उदाहरण के लिए /etc/init.d/mountnfs.sh, जो (एलएसबी हेडर के माध्यम से) अपनी निर्भरता की घोषणा करते हैं $network। इस प्रकार ये नेटवर्क के लाए जाने के बाद बाद में शेड्यूल किए जाते हैं, जबकि mountall.shबहुत पहले चल सकते हैं।

systemd

स्थानीय माउंट इकाइयों द्वारा local-fs.target, दूरदराज के लोगों द्वारा खींचा जाता है remote-fs.targetsystemd-fstab-generatorस्कैन /etc/fstab, माउंट इकाइयों को उत्पन्न करता है और उपरोक्त के समान शर्तों के आधार पर इन्हें उपरोक्त लक्ष्यों को सौंपता है।

delay_connect

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


तो, आप कह रहे हैं कि _netdevइस प्रक्रिया के लिए एक तर्क पारित करने का मतलब नहीं है जो माउंट करता है (और जो माउंट के प्रकार के लिए विशिष्ट है ext4/btrfs/cifs/fuse) लेकिन इसका मतलब है कि इस प्रक्रिया के आधार पर अन्य प्रक्रियाओं / लिपियों द्वारा पढ़ा जाना चाहिए बूट प्रक्रिया के दौरान इन माउंट को निष्पादित किया जाना चाहिए। हाँ? यदि ऐसा है तो मुझे संदेह है कि यही कारण है कि यह तर्क अंडरस्कोर से शुरू होता है ताकि इसे अन्य औपचारिक तर्कों से अलग किया जा सके ।
पायोत्र डोब्रोगोस्ट

हाँ। यदि आप कमांड _netdevको विकल्प पास करते हैं mount, तो यह दृश्यमान होगा, /proc/mountsलेकिन इसका कोई अन्य प्रभाव नहीं है।
फेरेंक वेगनर

बोनस प्रश्न; क्या यह कहीं दस्तावेज है?
पियोत्र डोब्रोगोस्ट

1
माउंट मैनुअल शामिल हैं: "फाइल सिस्टम स्वतंत्र आरोह विकल्प - इनमें से कुछ विकल्प ही उपयोगी हैं, जब वे में दिखाई देते हैं /etc/fstab। फ़ाइल" खैर, _netdev(कुछ समय बाद प्रलेखित) इसके लिए एक अच्छा उदाहरण है।
फेरेंक वेगनर

2
_Netdev विकल्प को डिफ़ॉल्ट रूप से माउंट (8) में अनदेखा किया जाता है। विकल्प केवल इनस्क्रिप्ट द्वारा उपयोग किया जाता है। - Bugzilla.redhat.com/show_bug.cgi?id=607309#c4
पिओटर डोब्रोगोस्ट

18

से man systemd.mountsystemd के संस्करण 231 के लिए:

स्थानीय और नेटवर्क फ़ाइल सिस्टम का जिक्र करने वाली माउंट इकाइयाँ उनके फ़ाइल सिस्टम प्रकार के विनिर्देश द्वारा प्रतिष्ठित होती हैं। कुछ मामलों में यह पर्याप्त नहीं है (उदाहरण के लिए नेटवर्क ब्लॉक डिवाइस आधारित माउंट, जैसे कि iSCSI), जिस स्थिति में _netdev को यूनिट के माउंट विकल्प स्ट्रिंग में जोड़ा जा सकता है , जो सिस्टम को माउंट यूनिट को नेटवर्क माउंट मानने के लिए मजबूर करता है।


Awsome! पता नहीं क्यों इस जवाब को अभी तक वोट नहीं दिया गया है।
वैलेंटाइन बजरमी

1

Upstart/Udev

के लिए upstartऔर / या udevआधारित सिस्टम यह थोड़ा अलग है।

ऐसा लगता है udevकि अभी भी एनएफएस फाइलसिस्टम को माउंट करने की कोशिश की जाएगी और netfsजब वह विफल होता है तो एक सुरक्षा जाल होता है।

कृपया मुझे सुधारें अगर मैं गलत हूं। किसी भी तरह से, यह उत्तर कुछ हालिया विरासत प्रणालियों (Ubuntu 14.04 LTS, RHEL6) के लिए ही प्रासंगिक है।

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