NFS का कौन सा संस्करण मेरे NFS सर्वर का उपयोग कर रहा है?


14

मैं अपनी मशीन पर एक NFS फाइल सिस्टम बढ़ रहा हूँ। मैं यह कैसे पता लगाऊं कि सर्वर किस NFS प्रोटोकॉल का उपयोग करता है? मेरे पास एनएफएस सर्वर मशीन तक पहुंच नहीं है, लेकिन मेरे पास मेरे क्लाइंट मशीन पर रूट है।

सर्वर द्वारा एनएफएस प्रोटोकॉल के किस संस्करण का उपयोग किया जा रहा है या यह किस संस्करण का समर्थन करता है, इसकी पहचान करने के लिए मैं अपने क्लाइंट मशीन पर कुछ भी चला सकता हूं?

मैं /var/log/messagesया कर्नेल डिबगिंग आउटपुट ( dmesg) में कोई उपयोगी जानकारी नहीं पा रहा था ।

मैंने दौड़ने की कोशिश की है nfsstat, लेकिन मुझे यकीन नहीं है कि यह मुझे कोई उपयोगी जानकारी दे रहा है। हालाँकि, जब मैं nfsstat -sसर्वर के बारे में जानकारी का अनुरोध करने के लिए दौड़ता हूं, तो मुझे कुछ उपयोगी नहीं दिखता है:

# nfsstat -s
Server rpc stats:
calls      badcalls   badfmt     badauth    badclnt
0          0          0          0          0       

जब मैं nfsstat -cक्लाइंट के बारे में जानकारी का अनुरोध करने के लिए दौड़ता हूं , तो मुझे इसके बारे में कुछ जानकारी दिखाई देती है Client nfs v3, लेकिन मुझे यकीन नहीं है कि इसकी व्याख्या कैसे करें। क्या यह मुझे मेरे क्लाइंट मशीन और NFS सर्वर के बीच उपयोग किए जा रहे प्रोटोकॉल के बारे में कुछ बताता है? क्या इसका मतलब है कि मैं वर्तमान में एनएफएस प्रोटोकॉल के v3 का उपयोग कर रहा हूं? क्या यह मुझे कुछ भी बताता है कि सर्वर एनएफएस प्रोटोकॉल के किन संस्करणों का समर्थन करता है, उदाहरण के लिए, एनएफएस v4?

जवाबों:


21

nfsstat -cकार्यक्रम आप वास्तव में इस्तेमाल किया जा रहा एनएफएस संस्करण दिखाएगा।

यदि आप चलाते हैं, rpcinfo -p {server}तो आप सभी RPC प्रोग्राम के सभी संस्करण देखेंगे जो सर्वर का समर्थन करता है। अपने सिस्टम पर मुझे यह आउटपुट मिलता है:

$ rpcinfo -p localhost
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    ...
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    ...

यह मुझे दिखाता है कि मेरा एनएफएस सर्वर ( localhostइस उदाहरण में) एनडीएस प्रोटोकॉल के 2, 3 और 4 संस्करणों को यूडीपी और टीसीपी पर प्रदान करता है।


1
आप कैसे बता सकते हैं कि V4 4.2 या कुछ और है (अधिमानतः बिना nfs के वास्तव में चल रहा है .. क्योंकि मैं क्लाइंट से किसी कारण से माउंट नहीं कर सकता हूं)?
डायलन

@ डायलन एक नए प्रश्न के रूप में क्यों नहीं पूछते?
रोजिमा

5

आपके ओएस और संस्करण के आधार पर इसे जांचने के विभिन्न तरीके हो सकते हैं।

nfsstat:

# nfsstat -m
/mnt/share from 10.0.0.1:/mnt/share
Flags:  rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.0.0.1,mountvers=3,mountport=30924,mountproto=udp,local_lock=none,addr=10.0.0.1

लेकिन आप सुनिश्चित कर सकते हैं

# grep nfs /proc/mounts
10.0.0.1:/mnt/share /mnt/share nfs rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.0.0.1,mountvers=3,mountport=30924,mountproto=udp,local_lock=none,addr=10.0.0.1

जो स्पष्ट रूप से एक ही आउटपुट है।

यह vers=3सर्वर पर दिखाता है, और mountvers=3


2
grep nfs /proc/mounts(सर्वर पर मेरे लिए) केवल प्रदर्शित करता है nfsd /proc/nfsd nfsd rw,realtime 0 0। मेरे पास ग्राहक वास्तव में मुहिम नहीं है (मुझे यह काम करने के लिए नहीं मिल सकता है)। सब कुछ ठीक लगता है (दोनों पर nfs4 का उपयोग करते हुए, आईपी पते सही हैं, / आदि / निर्यात ठीक है, nfs-serverपुनः आरंभ किया गया है, exportfs -ravठीक दिखता है, showmount -e serverक्लाइंट से ठीक लगता है, आदि।) लेकिन जब मैं हर समय माउंट करने की कोशिश करता हूं .. तब तक यह लटका रहता है। mount.nfs: Connection timed out--or-- mount.nfs4: Connection timed out। तो निराशा होती है। (मेरे शेख़ी के लिए क्षमा करें जो शायद अप्रभावित हो जाएगा)।
डायलन

इसलिए, मुझे लगता है .. वहाँ nfs संस्करण प्राप्त करने का एक तरीका है (जैसे 4.2 या 4.1 या आपके पास क्या है) क्लाइंट को माउंट किए बिना?
डायलन

मैं उसी मुद्दे पर कड़ी मेहनत कर रहा हूं। सब ठीक है और यह काम करता था। मैंने अपने Vagrant VM को फिर से बनाया और फिर इसने काम करना बंद कर दिया। Nfsstat से पता चलता है कि सभी कॉल प्रकार के बदायूं के बैडकॉल हैं।
onknows

1
@ डायलन, सर्वर NFS के w / कई संस्करणों को संचालित करने के लिए कॉन्फ़िगर किया गया है। सर्वर कॉन्फ़िगरेशन और / या क्लाइंट क्षमताओं / कॉन्फ़िगरेशन के आधार पर, कई संभावित उत्तर हैं। इसके अलावा, यदि आपके पास nfs सर्वर से जुड़ने वाला कोई क्लाइंट नहीं है, तो आप अपने सर्वर की कॉन्फिग फाइलों और / या /proc/fs/nfsd/versionsयह पता लगाने के लिए कि सर्वर किन संस्करणों को सपोर्ट करने के लिए कॉन्फ़िगर किया गया है।
ILMostro_7

-2

कोई /etc/nfsmount.confडिफ़ॉल्ट संस्करण और समर्थित संस्करण के बारे में जानकारी खोल और प्राप्त कर सकता है ।

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