RHEL7: NFSv4 クライアントが tcpdump でハングし、繰り返された OPEN / TEST_STATEID はすべて NFS_OK が表示されるが、SEQUENCE 返答に SEQ4_STATUS_RECALLABLE_STATE_REVOKED ビットセットが表示される
Issue
- NFS4 クライアントがハングし、再起動してリカバリーする必要があります。
- https://access.redhat.com/solutions/1117763 の説明どおり、
kernel: NFS: nfs4_reclaim_open_state: Lock reclaim failed!
メッセージが大量に出力されます。 - tcpdump の出力を見ると、NFS4 ステートマネージャーが TEST_STATEID を送信し、 SEQ4_STATUS_RECALLABLE_STATE_REVOKED を毎秒 5000 回もループで繰り返し受信しています。
2279761 07:28:28.725640 10.1.1.1 → 10.1.1.2 NFS V4 Call TEST_STATEID
2279762 07:28:28.725674 10.1.1.2 → 10.1.1.1 NFS 0x00000040 V4 Reply (Call In 2279761) TEST_STATEID
status flags: 0x00000040, SEQ4_STATUS_RECALLABLE_STATE_REVOKED
- /var/log/messages には、以下のように「抑制された」メッセージが多数あります。
Aug 1 13:26:22 nfs-client kernel: nfs4_reclaim_open_state: 2265 callbacks suppressed
Environment
- Red Hat Enterprise Linux 7 (NFS クライアントおよびサーバー)
- 3.10.0-862..el7 および 3.10.0-957.el7 カーネルで発生
- NFS 4.1 以上
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.