NFSはTCP保持時間を無視しますか?

NFSはTCP保持時間を無視しますか?
  1. NFSサーバーの接続が失われました。
  2. NFS クライアントがサーバーの接続が失われたことを検出します。
  3. クライアントは再接続を試みます。
  4. サーバーが再び表示され、正常に再接続されました。

TCP keepalive、接続タイムアウトが何かをしているようですが/proc/sys/net/ipv4/で見つけたデフォルトのkeepalive時間は7200です。

だからNFSはtcp keepalive時間を上書きしたようです。

現在の問題は、NFSクライアントがサーバーを検出し、次のメッセージを表示するのに数分かかるときにこの時間を短縮したいということです(上記の3回)。

"nfs:サーバーは応答しませんが、まだ試しています。"

ポーリング時間を測定してみましたが、

  1. 24秒
  2. 72秒(24秒+(24秒×2 = 48秒))
  3. 16秒(72秒+(48秒×2 = 96秒))
  4. 360秒(168秒+(96秒×2 = 192秒))
  5. 660秒(+300秒)
  6. 960秒(+300秒)

24 --> 48 --> 96 --> 192 --> 300 --> 300

この「300」をどこで見つけることができるかを知っている人はいますか?それともTCPキープアライブ時間以外の他の問題によるものですか?

ベストアンサー1

はい、NFSクライアントはkeepalive設定を無視します。これは「timeo」マウントオプションから派生します。バラよりhttp://lxr.free-electrons.com/source/net/sunrpc/xprtsock.c低レベルの詳細。

おすすめ記事