DMZのホストから内部ネットワークのNFSサーバに接続するにはポート番号が固定されないNFSv3では都合が悪いのでNFSv4の実験。しかしかなり難航しました。
/etc/rc.confに書くべき事はman nfsv4に書いてあります。
NFSv4用のエントリはmanに書いてあるとおりV4: "root-dir"という書き方になりますが、これだけ書いても動きません。
- mountは出来るものlsとかするとInput/Output errorとか言われる
- messagesにkernel: nfsv4 client/server protocol prob err=10020と出てる
こういう症状になります。
正しい書き方。
たとえば、/usr/homeをexportする場合は、
#/etc/exports /usr/home V4: /
これで、v3でもv4でもhost:/usr/homeでmount出来ます。
また、
/usr/home V4: /usr
と書くと、v3では server:/usr/homeをmountしますがv4ではserver:/homeでmountすることになります。
ところがいろいろ試してみたら、妙な挙動を見つけました
/usr/src V4: /
と書くと、server:/usr/homeはmount出来ない(出来ても動かない)と思ったのですが、問題なく使えてしまいます。もちろんv3ではPermission deniedで怒られます。あるディレクトリがexportされているとき、そのディレクトリと同じファイルシステム内の任意のディレクトリがNFSv4ではmount出来てしまうようなのです。これは仕様なんでしょうか?
あと、messagesに kernel: nfscl: consider increasing kern.ipc.maxsockbufというのも残っていました。なんかほっといても動いているようですが、/etc/loader.confに kern.ipc.maxsockbuf=2048000を追加。
最近のコメント