長南です。 奥井さんのメールより [vine-users:078391] > > バージョン違いのせいですか、なにか指定すればNFSv4 を使えるように > なるんでしょうか、それとも追加でインストールが必要? Vine 4.2 でも、カーネルは NFSv4 に対応していますし、ツール類も 一通り揃っています。ですから、クライアントから mount -t nfs4 server:/path /mnt とやるだけですむだろうと思っていたのですが、実際にはそれほど 簡単ではありませんでした。 以下の記述は Vine 4.0 を 4.2 にバージョンアップしたものでやった ことなので、4.2 をクリーンインストールした場合とは、事情が少し 違うかもしれません。 1) まず /etc/idmapd.conf を作る必要があった。 man idmapd.conf の EXAMPLES を参考にしました。Domain に何を 指定するべきかはよくわかりません。適当にやっておきました。 rpc.idmapd の設定ファイルですから、サーバ、クライアント両方に 必要なんじゃないかと思います。 2) ディレクトリ /var/lib/nfs/rpc_pipefs を作る必要があった。 ユーザ、グループは root:root、パーミッションは 755 でよさそう。 /var/lib/nfs/rpc_pipefs を作ったら、リブートすること。 /sbin/rpc.idmapd を実行したら、/var/log/mesages に 「May 5 18:21:21 localhost rpc.idmapd[3026]: main: open(/var/lib /nfs/rpc_pipefs/nfs): No such file or directory」というエラーが 出たので、あるべきものがないことに気がつきました このディレクトリは rpc_pipefs 疑似ファイルシステムのマウントポイント ですが、この疑似ファイルシステムがマウントされるのは、sunrpc モジュールがロードされるときなのです。そこで、ディレクトリを 作ったら、すぐリブートするのが一番手っ取り早そうだというわけ。 3) /etc/exports の書き方、mount の仕方が、NFSv3 までとはちょっと違う。 たとえば、こんなふうに書いておき(fsid=0 がミソ)、 /var/nfs4 192.168.0.0/24(rw,sync,fsid=0,crossmnt) /var/nfs4/music 192.168.0.0/24(rw,sync) クライアントからは、こんなふうにマウントする。 mount -t nfs4 server:/ /mnt あるいは、 mount -t nfs4 server:/music /mnt ※ NFSv3 までのように server:/var/nfs4(/music) でないことに注意。 ※ man exports によると、「NFSv4 にはエクスポートされるファイル システム全体のルートという概念がある。fsid=0 でエクスポート されたエクスポートポイントは、このルートとして使用される」 4) rpc.idmapd をサーバ側、クライアント側、両方で起動する。 5) 実際にクライアントからマウント。 だいたいこんなところで、曲がりなりにも NFSv4 でのマウントができました。 まだ、場合によっては、Warning が出たり、「mount: 許可がありません」に なったりしますけれど。 # ついでに。 # iptables において Chain の Policy を ACCEPT にするか DROP にするかは、 # 流儀みたいなものらしいので(柳生流と一刀流とか)、好きな方を選べば # よいと思います。どちらにもそれなりの言い分があるんでしょうけれど。 -- 長南洋一