設定
私は、Gentooを実行するシンクライアントをセットアップしました。これらの指示時々フリーズすることを除けば、非常にうまく動作しているようです。
ネットワークを取り外し、ls を実行してから、ネットワークを再度接続すると、問題が再現することがわかりました。何らかの理由で、ネットワークの損失から回復しません。OS は一時的な I/O 損失 (ハード ドライブが応答するのに 1 秒か 2 秒かかるとします) を処理できるはずなので、これはファイル システムの単なる不具合ではなく、NFS 接続がまったく回復していないのではないかと思います。ファイル システムは、次のオプションを使用して nfs4 としてマウントされます。
rw,relatime,vers=4.0,rsize=4096,wsize=4096,namlen=255,hard,proto=udp,port=0,timeo=11,retrans=3,sec=sys,clientaddr=xxx.xxx.xxx.xxx,local_lock=none,addr=yyy.yyy.yyy.yyy
以前は、proto 仕様を使用せず (デフォルトは tcp)、それでもうまく機能しませんでした。
コードを抜いていないときに何が起きているかというと、ネットワークが一瞬不具合を起こし、何かがファイルにアクセスしようとしている(ソフトウェアをコンパイルしているときにフリーズしているようだ)、そして回復しないということだと思います。
質問
ネットワークの問題に対してシステムを堅牢にするにはどうすればよいでしょうか?
答え1
オプション tcp、hard、_netdev を試してください。udp プロトコルは信頼できません。
「_netdev」マウント オプションは NFS 共有のクラッシュを防ぎます。