TCPセッションのハーフオープンが原因でNFSが停止する
環境
- ONTAP
- NFS
問題
- NFSクライアントがハングし、NFSマウントへのアクセスをリストアするにはリブートが必要
- ファイアウォールやネットワークの停止により、複数のアプリケーションが影響を受けます。
- Linuxホストから ランダムにNFSの古いマウント動作が報告される
- NFSマウントに向けられたコマンド がハングします。たとえば、
df
、ls
、umount
- クライアントエラーメッセージ:
-
Server (server-name) not responding, still trying
<linux-client> kernel: nfs: <server> 10.10.10.1 not responding, still trying
-
- 問題をキャプチャしているONTAPからのパケットトレース接続がループ状態でスタックし、次の動作が示されています。
- クライアントが TCPポートを再利用して
TCP SYN
を送信 - ONTAPがチャレンジ
ACK
を送信し、クライアントが送信することを期待します。TCP RST
- RSTの代わりに、クライアントが
SYN
を 再度送信する
- クライアントが TCPポートを再利用して
ONTAP CLIノードシェル
netstat
出力に、状態の影響を受けるホストへのセッションが含まれるSYN_RCVD
例:
::> system node run -node cluster01-01 -command netstat -4n
---- Default IPSpace ----
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state) VCTX Services Role CGID Bytes_Sent Bytes_Rcvd
tcp4 0 0 10.xx.yy.145.2049 10.zz.xx.79.913 SYN_RCVD 18 0x00000004 DATA --- 0 0
tcp4 0 0 10.xx.yy.145.2049 10.zz.xx.88.861 SYN_RCVD 18 0x00000004 DATA --- 0 0
ネットワークイベント(新しいDNSサーバへのSVMDRカットオーバーなど)が発生し、古いNFSマウントが残っている
のとう