2010年07月26日(Mon)

FreeBSDでNFSv4

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を追加。

続きを読む...

タグ

www.flickr.com
This is a Flickr badge showing public items from suzukis tagged with japan. Make your own badge here.

最近の話題 RSS feed

最近のコメント

メール("no-spam."を削除してください)