vfs.nfsd.server_min_nfsvers=3
NFSのチューニング(未検証)
vfs.nfsd.issue_delegations=1 vfs.nfsd.enable_locallocks=1
NFSサーバーでデリゲーション機能の提供をする(1)かしない(0)かを決める。 この「デリゲーション」(委任)機能は、クライアントの操作を一部サーバー側で代替するというもの。 どの程度委任できるかは不明だけど、NFSクライアントも対応している必要がある。 しかし、調べた範囲だと、NFSクライアントでの使用が「明言されていない」というか確認できなかっ たので、とりあえずオフっておく。
ロックについて、NFSサーバーとNFSクライアント間でのロック共有ができるようになる。 しかし、以下の組み合わせで、できたりできなかったりする。 NFSクライアント(CentOS 6.8)→NFSサーバー(FreeBSD 10.3-R)の順でロックすると問題無くロックできる。 NFSサーバー(FreeBSD 10.3-R)→NFSクライアント(CentOS 6.8)の順でロックするとNFSクライアント側でロックされずにエラーになる。 この問題について調査が足りてないので、とりあえずオフっておく。 もちろんこの設定があろうが、なかろうが、NFSv4の売り文句であるところの、NFSクライアント (内の複数のプロセス)でのロック取得について問題無し。 また、この話とは別に、NFSクライアント間のロック共有が可能かは未検証。
/etc/exports
V4: /export -network ネットワークアドレス -mask ネットマスク とりあえず、/export がNFSv4共有できるようになる。ただし、/export 自体は sharenfs=off なの で、どこからからもマウントできない(厳密にはできるけどアクセスできない)。
rpcbind_flags=“-h 公開するNFSサーバーのIPアドレス” nfsuserd_flags=“-domain アカウント識別用ドメイン” mountd_flags=“-l -h 公開するNFSサーバーのIPアドレス” nfs_server_flags=“-t -h 公開するNFSサーバーのIPアドレス”
このうち、nfsuserd_flags で指定する「ドメイン」の指定が重要となる。 NFSv4では、NFSサー バーとNFSクライアント間のユーザー識別子を「ユーザー@ドメイン」で識別するため、合わせておく必要がある。
これはNFS共有するようなサーバー群では、同じドメインである場合、本設定を省略しても良い。
しかし、ホスティング環境でのバックアップサーバー提供のような、NFSクライアントのサーバーのド メインが統一できないような場合、サービス提供者側として、別途決め打ちする必要がある。
一つの領域を複数のNFSクライアント間で共有するなら、/etc/exports に集約するのが良いと思われ(未実験)。
zfs create -o sharenfs=“-maproot=root ClientIPAddress” export/NFSclient でZFS領域を作成した場合、NFS clientからは、“/NFSclient” でmountする。 → これは要するに、exportというZFS rootはClientからは見えないことを意味する
結論: exportsに直接書くのが吉