NFSでmountしてる領域に書き込むとnobodyになっちまう問題

おいらが直接やったわけじゃないんだけど...
この話を振ってみたところ

本当はNFS IDとUID/GIDをちゃんとマッピングするのが正解なんでしょうけど


というのがへぎそばへぎそばいってる後輩のご意見らしい。

で、状況なんだけれど...

  • とあるお客さん先のサーバがハードウェアリプレースかなんかでSolaris8 -> Solaris10 に移行することになった
  • このサーバはNFSクライアントとしてとあるNASのとある領域をmountしている
  • 移行された環境(Solaris 10)でNFSマウントされている領域にファイルを書き込んだところファイルのオーナがnobodyになっていた

で、ぐぐったところ下記に該当しているようだった


こういうことらしい。

クライアント側にユーザ taniko, グループ group1 が存在しない、あるいは、サーバとクライアントで taniko の UID および group1 の GID が異なっているとNFSv4 ではそのようになります。

http://download.oracle.com/docs/cd/E19253-01/810381/rfsrefer-118/index.html


んでさらにぐぐる
Solaris10からはNFSバージョン4がデフォルトになったということなので間違いないみたいだ。


となると...確認手順はこんな感じ?

% nfsstat -m

(http://oshiete.goo.ne.jp/qa/4954031.html)


冒頭のURLによると
バージョン3に落とすことで問題なくいったということなので
解決策としてはバージョン3でマウントしなおすのがよろしいかと思われます...なんてメールを書いてみた。
具体的には

  • 修正ファイル
    • /etc/default/nfs
  • 修正ライン
    • NFS_CLIENT_VERSMAX

の値を3にする


みたいな編集しろって内容。
で、結果的に解決出来たらしいのだが...さてさて。



参考:)このあたりについてのOracle(旧Sun)のドキュメントです。
http://download.oracle.com/docs/cd/E19253-01/819-0381/rfsadmin-68/index.html