Dell Unity:重复的主机名导致 NFSv4 环境中的性能问题(用户可纠正)
摘要: 共享相同主机名的 NFSv4.1 客户端可能会遇到频繁的会话终止和重新创建。这是因为 NFSv4.1 协议使用主机名作为唯一客户端标识符(客户端所有者)的一部分。当多个主机使用相同的标识符时,存储服务器(例如 Dell Unity)将它们视为尝试重新建立连接的同一客户端,从而导致“会话摆动”循环和潜在的 I/O 挂起。
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
症状
客户端:用户报告 NFS 性能显著下降,特别是小文件操作期间的高延迟。
Unity 端:日志显示 NAS 服务器频繁触发 checkReplay 逻辑,表示它正在接收具有序列 ID (seqid),它认为已经处理过。
2026/03/23-09:22:31.571765 3 7FCE8B3CF705 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x2
2026/03/23-09:22:31.571948 177 7FCE8AB4F703 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x3
2026/03/23-09:22:31.571969 15 7FCE8AE7F701 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 1 seqid 0x1
2026/03/23-09:22:33.950467 94K 7FCE8E57B703 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x1
2026/03/23-09:22:33.950614 142 7FCE8E24F702 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x2
2026/03/23-09:22:33.950780 159 7FCE8DEDA705 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x3
2026/03/23-09:22:33.950793 8 7FCE8E22A702 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 1 seqid 0x1
2026/03/23-09:22:36.025980 169K 7FCE8C9FD704 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x1
2026/03/23-09:22:36.026291 305 7FCE8C9B9704 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x3
网络:数据包捕获可识别多个不同 IP 地址之间的客户端 ID 冲突 (10.10.1.8 和 10.10.1.3)。两个主机都尝试使用相同的客户端标识符向 NFS 服务器注册。这会导致争用条件,其中一个客户端使另一个客户端的会话无效,从而导致序列错误和 1 秒恢复延迟,从而降低性能。
42855 2026-03-20 02:34:12.752931 10.10.1.3 10.10.1.50 NFS 294 V4 Call (Reply In 42856) CLOSE StateID: 0x97d3
42856 2026-03-20 02:34:12.753069 10.10.1.50 10.10.1.3 NFS 182 V4 Reply (Call In 42855) CLOSE
42857 2026-03-20 02:34:12.753542 10.10.1.50 10.10.1.3 NFS 562 V4 Reply (Call In 42837) OPEN StateID: 0x3dba
42858 2026-03-20 02:34:12.753583 10.10.1.3 10.10.1.50 TCP 66 976 → 2049 [ACK] Seq=14332461 Ack=1382561 Win=26688 Len=0 TSval=2749783070 TSecr=3786939377
42859 2026-03-20 02:34:12.753635 10.10.1.3 10.10.1.50 NFS 330 V4 Call (Reply In 42860) SETATTR FH: 0xac0cc5de
42860 2026-03-20 02:34:12.753718 10.10.1.50 10.10.1.3 NFS 114 V4 Reply (Call In 42859) SEQUENCE Status: NFS4ERR_BADSESSION
42861 2026-03-20 02:34:12.753980 10.10.1.3 10.10.1.50 NFS 186 V4 Call (Reply In 42862) DESTROY_SESSION
42862 2026-03-20 02:34:12.754047 10.10.1.50 10.10.1.3 NFS 114 V4 Reply (Call In 42861) DESTROY_SESSION Status: NFS4ERR_BADSESSION
42863 2026-03-20 02:34:12.754111 10.10.1.3 10.10.1.50 NFS 298 V4 Call (Reply In 42864) CREATE_SESSION
42864 2026-03-20 02:34:12.754171 10.10.1.50 10.10.1.3 NFS 114 V4 Reply (Call In 42863) CREATE_SESSION Status: NFS4ERR_SEQ_MISORDERED
42865 2026-03-20 02:34:12.755288 10.10.1.50 10.10.1.8 NFS 246 V4 Reply (Call In 42852) EXCHANGE_ID
42866 2026-03-20 02:34:12.755357 10.10.1.8 10.10.1.50 NFS 298 V4 Call (Reply In 42867) CREATE_SESSION
42867 2026-03-20 02:34:12.755544 10.10.1.50 10.10.1.8 NFS 194 V4 Reply (Call In 42866) CREATE_SESSION
42868 2026-03-20 02:34:12.755606 10.10.1.8 10.10.1.50 NFS 218 V4 Call (Reply In 42869) PUTROOTFH | GETATTR
42869 2026-03-20 02:34:12.755706 10.10.1.50 10.10.1.8 NFS 182 V4 Reply (Call In 42868) PUTROOTFH | GETATTR
42870 2026-03-20 02:34:12.755775 10.10.1.8 10.10.1.50 NFS 210 V4 Call (Reply In 42871) RECLAIM_COMPLETE
42871 2026-03-20 02:34:12.755855 10.10.1.50 10.10.1.8 NFS 158 V4 Reply (Call In 42870) RECLAIM_COMPLETE
42872 2026-03-20 02:34:12.755926 10.10.1.8 10.10.1.50 NFS 290 V4 Call (Reply In 42873) GETATTR FH: 0xc7011572
42873 2026-03-20 02:34:12.756013 10.10.1.50 10.10.1.8 NFS 362 V4 Reply (Call In 42872) GETATTR
42874 2026-03-20 02:34:12.757262 10.10.1.8 10.10.1.50 NFS 290 V4 Call (Reply In 42875) GETATTR FH: 0x3bc92b95
42875 2026-03-20 02:34:12.757347 10.10.1.50 10.10.1.8 NFS 362 V4 Reply (Call In 42874) GETATTR
42876 2026-03-20 02:34:12.795850 10.10.1.3 10.10.1.50 TCP 66 976 → 2049 [ACK] Seq=14333077 Ack=1382705 Win=26688 Len=0 TSval=2749783113 TSecr=3786939378
42877 2026-03-20 02:34:12.799280 10.10.1.8 10.10.1.50 TCP 66 988 → 2049 [ACK] Seq=78001 Ack=49629 Win=1188 Len=0 TSval=2328275863 TSecr=986324573
43224 2026-03-20 02:34:13.779818 10.10.1.3 10.10.1.50 NFS 354 V4 Call (Reply In 43232) EXCHANGE_ID
43232 2026-03-20 02:34:13.782406 10.10.1.50 10.10.1.3 NFS 246 V4 Reply (Call In 43224) EXCHANGE_ID
原因
在 NFSv4.1 及更高版本中,客户端使用客户端所有者字符串向服务器标识自身。默认情况下,许多 Linux 发行版使用客户端的主机名生成此字符串。
如果两个或更多客户端(常见于克隆的虚拟机或容器化环境)共享相同的主机名:
如果两个或更多客户端(常见于克隆的虚拟机或容器化环境)共享相同的主机名:
- 主机 A 建立会话。
- 主机 B 使用相同的主机名连接;服务器假定主机 A 已重新启动或重新连接。
- 服务器使主机 A 的会话“过期”,以允许主机 B 连接。
- 主机 A 随后尝试恢复其会话,从而启动主机 B。
这会导致会话重置和序列 ID 重播的连续循环。这会导致严重的性能下降,因为客户端必须在强制恢复期(通常为 1 秒)内暂停所有 I/O 操作,然后才能重新启动 EXCHANGE_ID 以收回其会话。
解决方案
Unity 系统按设计运行,并遵守 NFSv4.1/4.2 RFC 标准。当显示重复的客户端 ID(所有者字符串)时,服务器会正确终止会话,以防止数据损坏。
若要解决冲突,每个客户端都必须具有全局唯一标识符。确保主机名在访问共享的每个客户端上都是唯一的:
hostnamectl set-hostname <unique_hostname>
重新启动 NFS 服务或重新启动客户端,以确保新标识符用于下一个 EXCHANGE_ID 调用 Unity 服务器。
受影响的产品
Dell EMC Unity文章属性
文章编号: 000449536
文章类型: Solution
上次修改时间: 17 4月 2026
版本: 2
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。