web-dev-qa-db-ja.com

nfsに適切なタイムアウトを設定するにはどうすればよいですか?

リモートマシンのディレクトリにnfsマウントします。リモートマシンがダウンしているか切断されている場合、名付けられたnfsのコマンド(ls、オープンファイルなど)がスタックします。

Nfs dirが利用できない場合、数秒で失敗するようにしたい。

どうすればできますか?

/etc/fstab そうですか

<remote-Host-ip>:/path/to/Origin /shared/point nfs defaults 0 0

mountを実行すると、次のようになります。

<remote-Host-ip>:/path/to/Origin on /shared/point type nfs4 (rw,relatime,vers=4.1, rsize=1048576,wsize=1048576,namelen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=<my-ip>,local_loc=none,addr=<remote-ip>)
2
SHR

timeoretransは、soft nfsではなくhard nfsでのみ有効です。 /etc/fstabを次のように変更する必要があります:

<remote-Host-ip>:/path/to/Origin /shared/point nfs soft,timeo=30 0 0

timeoは、30デシ秒(3秒)のタイムアウト値です。また、retransは、エラーが発生した場合に実行する再試行の回数を意味します。

その後、サーバーまたはサービスがダウンした場合、9秒後にエラーが発生しました。

4
SHR