NFS マウントを使用して Web ヘッド間でリソース (通常は静的アセット ファイル) を共有するいくつかの Web アプリケーションを運用しています。NFS マウントが利用できなくなった場合、Apache はアクセスできないファイルを要求してハングし、カーネルは次のログを記録します。
Nov 2 14:21:20 server2 kernel: nfs: server server1 not responding, still trying
NFS v3 と Apache 2.2.3 を実行している RHEL5 での動作を再現しました。
Server1 に NFS マウントを作成します (私の /etc/exports の内容)
/srv/test_share server2(rw)
Server2 に NFS 共有をマウントします (私の /etc/fstab の内容)
server1:/srv/test_share /mnt/test_share nfs defaults 0 0
NFS共有に保存されたイメージファイルを参照する単純なHTMLファイルを使用して、Apacheで仮想ホストをセットアップします
サイトをロードすると、html ファイルと画像ファイルはすべて 200 を返します
NFS 共有をアンマウントし、ページをロードすると、参照されているイメージに対して 404 が返されます
NFS 共有を再マウントする
Server1 で NFS をオフにして、NFS クラッシュをシミュレートします。サイトをリロードすると、参照ファイルの取得中にハングします。
これまでのインターネット検索では、適切な解決策が見つかりませんでした。基本的に、Web サーバーが 404 を返し、NFS マウントが回復するまでハングしないことが望ましい動作です。
乾杯、
ベン