NFSサーバーはどのバージョンのNFSを使用していますか?


14

マシンにNFSファイルシステムをマウントしています。サーバーが使用しているNFSプロトコルのバージョンを調べるにはどうすればよいですか?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サーバーの間で使用されているプロトコルについて何か教えてくれますか?現在NFSプロトコルのv3を使用しているということですか?NFS v4など、サーバーがサポートするNFSプロトコルのバージョンについて何か教えてくれますか?

回答:


21

nfsstat -cプログラムは、あなたに実際に使用されているNFSのバージョンが表示されます。

実行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
    ...

これは、NFSサーバー(localhostこの例では)がUDPおよびTCP全体でNFSプロトコルのバージョン2、3、および4を提供していることを示しています。


1
V4が4.2か他の何か(できればnfsを実際に実行させずに..なんらかの理由でクライアントからマウントできないので)をどのように確認できますか?
ディラン

@Dylanはなぜ新しい質問として質問しませんか?
ロアイマ

5

OSとバージョンに応じて、チェックする方法が異なる場合があります。

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を使用して(罰金だ、IPアドレスが正しいは、/ etc /輸出は結構です、nfs-server再起動されたexportfs -rav、罰金に見えるshowmount -e serverなど、クライアントのルックスの罰金から..しかし、私はマウントしようとするたびに ...それがされるまでハングmount.nfs: Connection timed out-または- mount.nfs4: Connection timed out。とてもイライラします。
ディラン

だから、私は..クライアントをマウントせずにnfsバージョン(4.2または4.1など)を取得する方法はあると思いますか?
ディラン

私は同じ問題に一生懸命取り組んでいます。すべてが問題なく、かつては機能していました。Vagrant VMを再作成しましたが、動作しなくなりました。Nfsstatは、すべての呼び出しがtyp badauthのbadcallsであることを示しています。
onknows

1
@Dylan、サーバーは複数バージョンのNFSで動作するように構成されています。サーバーの構成および/またはクライアントの能力/構成に応じて、複数の可能な答えがあります。さらに、nfsサーバーに接続するクライアントがない場合/proc/fs/nfsd/versionsは、サーバー構成ファイルを確認したり、サーバーがサポートするように構成されているバージョンを確認したりできます。
ILMostro_7

-2

/etc/nfsmount.confデフォルトのバージョンとサポートされているバージョンに関する情報を開いて取得できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.