マシンに 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 プロトコルのバージョン (NFS v4 など) について何か教えてくれますか?
答え1
プログラム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 を提供していることを示しています。
答え2
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
。
答え3
開いて/etc/nfsmount.conf
、デフォルト バージョンとサポートされているバージョンに関する情報を取得できます。