NFSマウントでの問題
ファイルサーバを複数のホストからNFSマウントして同じディレクトリを参照してるんだけど、ホストAからファイルを更新した時に、ホストBから同じファイルを見るとタイムスタンプが更新されるまで時間が30秒近くかかる時がある。
今まで全然気が付かなかったんだけど、makeを使う時に問題になるという事なので(もろにタイムスタンプ見るからね)色々調べてみると、どうもクライアント側で属性情報(パーミッションやら各タイムスタンプなど)をキャッシュしてるらしく、こいつが原因のようです。
結論から言うと、マウント時のオプションに
# mount -o actimeo=n 〜
とすれば良いそうで("n"の部分は任意の秒数を指定)今回は「actimeo=1」としてみた。
平行してベンダにも問い合わせてたんだけど、
# mount -o noac 〜
としてもよいそうです(“actimeo=0”を指定するのと同じ)。
ただしこれだとまったくキャッシュを行わくなる(noacは「NO Attribute Cache」の意)。実際試してみたけど若干パフォーマンスが落ちるので、始めの方法で行きたいと思います。
…ヤベェ、ひさびさに真面目で頭良さげなエントリだw
つーか、ベンダより先に解答見付けちゃう俺スゴス(*゚∀゚)