LoginSignup
20
16

More than 5 years have passed since last update.

[Linux] NFSのバージョンについて調べたことのメモ

Last updated at Posted at 2016-08-02

NFSバージョンの違い

NFSv2

  • 昔のバージョン。最近のNFSDではデフォルトで無効にされている

NFSv3

  • 完全な非同期書き込みに対応
  • エラー処理機能強化
  • 64ビットのファイルサイズ対応 (2GBを超えるファイルを扱える)

NFSv4

  • インターネット上で動作可能
  • rpcbindが不要となった
  • ACLに対応

参考
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/7/html/Storage_Administration_Guide/ch-nfs.html

サーバーが対応するバージョンを確認するには

rpcinfoコマンドに p オプションを付けて実行する


# rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  39325  status
    100024    1   tcp  39688  status
    100011    1   udp    703  rquotad
    100011    2   udp    703  rquotad
    100011    1   tcp    706  rquotad
    100011    2   tcp    706  rquotad
    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
    100021    1   udp  41793  nlockmgr
    100021    3   udp  41793  nlockmgr
    100021    4   udp  41793  nlockmgr
    100021    1   tcp  38927  nlockmgr
    100021    3   tcp  38927  nlockmgr
    100021    4   tcp  38927  nlockmgr
    100005    1   udp  35020  mountd
    100005    1   tcp  38999  mountd
    100005    2   udp  47400  mountd
    100005    2   tcp  33395  mountd
    100005    3   udp  51781  mountd
    100005    3   tcp  48243  mountd

上の場合 nfs サービスの vers に 2、3、4 があるので、NFSv2、NFSv3、NFSv4 がサポートされる

NFSサーバーでNFSv2をサポートするには

デフォルトではバージョン3と4しかサポートされない。バージョン2でマウントできるようにするには rpc.nfsd の -V オプションで2を指定する

# /usr/sbin/rpc.nfsd -V 2

※ RedHat7ではNFSv2をサポートしていないようで、他のディストリビューションでも最近ではもしかしたらサポートされなくなっているかもしれない

NFSバージョンを指定してマウントする

マウントオプションに"nfsvers"を指定する

# mount -t nfs -v -o nfsvers=2 192.168.56.64:/srv/share /mnt

RedHat6の情報を元にしている
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/s1-nfs-client-config-options.html

環境によっては nfsvers に4が指定出来ない場合がある。その時はnfsversを指定せずに '-t nfs' の代わりに '-t nfs4' を指定すればよい

マウントポイントからNFSバージョンを確認するには

クライアントからどのバージョンでマウントしているのかを確認するには nfsstat コマンドを使う

# nfsstat -m

/mnt/floppy from 192.168.56.64:/srv/share
 Flags: rw,relatime,vers=3,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.56.64,mountvers=3,mountport=41602,mountproto=udp,local_lock=none,addr=192.168.56.64

Flagsの値の中から、vers=をみる

補足

いつの間にかportmapが無くなった

今後は portmap の代わりに rpcbind が使われるようになる。portmapがインストールされていたら削除する

20
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
16