背景

背景

背景

我有一个 Windows 集群 (2016),有四个节点 (每个节点 3 个 NIC)。当我尝试重新启动任何集群主机服务器时,整个集群都会关闭,其他节点也会随机出现故障。

当我向微软报告案例时,他们说这是因为 NETFT 表中的陈旧路由在重启期间没有被清除,并给了我一个解决方法,即重新启动所有节点以启动集群。

我觉得我需要花很长时间才能重启物理服务器并启动集群。我的 SLA 可能会被违反。

有没有什么有用的解决方法?

微软的回应

从表面上看cluster.log,该问题似乎与 上的陈旧路线有关NetFT.sys

日志分析

(以下错误在所有 4 个集群节点上持续报告,以其中一次发生的情况为例:)

主机1

2018/09/24-18:25:01.067 INFO  [FTI][Initiator] This node (1) is initiator
2018/09/24-18:25:01.067 WARN  [FTI][Initiator] `Ignoring duplicate connection: usable route already exists`
2018/09/24-18:25:01.067 INFO  [CHANNEL 192.1.0.172:~3343~] graceful close, status (of previous failure, may not indicate problem) (0)
2018/09/24-18:25:01.068 WARN  cxl::ConnectWorker::operator (): GracefulClose(1226)' because of 'channel to remote endpoint 192.1.0.172:~3343~ is closed'

主机2

2018/09/24-18:25:01.095 INFO  [FTI][Initiator] This node (2) is initiator
2018/09/24-18:25:01.095 WARN  [FTI][Initiator] `Ignoring duplicate connection: usable route already exists`
2018/09/24-18:25:01.095 INFO  [CHANNEL 192.1.0.172:~3343~] graceful close, status (of previous failure, may not indicate problem) (0)
2018/09/24-18:25:01.096 WARN  cxl::ConnectWorker::operator (): GracefulClose(1226)' because of 'channel to remote endpoint 192.1.0.172:~3343~ is closed'

主机3

2018/09/24-18:25:01.057 INFO  [FTI][Follower] This node (4) is not the initiator
2018/09/24-18:25:01.057 DBG   [FTI] Stream already exists to node 1: false
2018/09/24-18:25:01.057 DBG   [CHANNEL 192.1.0.170:~62824~] Close().
2018/09/24-18:25:01.057 INFO  [CHANNEL 192.1.0.170:~62824~] graceful close, status (of previous failure, may not indicate problem) (0)
2018/09/24-18:25:01.057 INFO  [CORE] Node 4: Clearing cookie [GUID]
2018/09/24-18:25:01.057 DBG   [CHANNEL 192.1.0.170:~62824~] Not closing handle because it is invalid.
2018/09/24-18:25:01.058 WARN  mscs::ListenerWorker::operator (): GracefulClose(1226)' because of 'channel to remote endpoint 192.1.0.170:~62824~ is closed'

主机4

2018/09/24-18:25:01.087 INFO  [FTI][Initiator] This node (3) is initiator
2018/09/24-18:25:01.087 WARN  [FTI][Initiator] `Ignoring duplicate connection: usable route already exists`
2018/09/24-18:25:01.087 INFO  [CHANNEL 192.1.0.172:~3343~] graceful close, status (of previous failure, may not indicate problem) (0)
2018/09/24-18:25:01.088 WARN  cxl::ConnectWorker::operator (): GracefulClose(1226)' because of 'channel to remote endpoint 192.1.0.172:~3343~ is closed'

这些过时的路由是导致节点加入集群的罪魁祸首,这就是节点无法重新加入集群的原因。

对于 NetFT,作为集群网络,任何意外的成员资格删除,NetFT 路由表都不会被清除。连接仍然保留。

当发起者节点尝试创建新连接时,由于路由表仍为旧路由表,因此节点最终无法重新加入集群。NETFT 是内核级驱动程序,这就是为什么我们需要重新启动节点以刷新 NETFT 表。

行动计划

请尝试同时重新启动所有集群节点以删除过时的路由。

答案1

上周末,我在双节点 SQL AlwaysOn 群集上遇到了这种情况。我不得不重新启动主节点才能恢复。这是在网络上进行一些网络更改以及在同一天进行 Windows 更新修补后发生的。

我运行了 pssdiag 来转储集群日志,看到了完全相同的条目。重启后再次运行,它们消失了。

相关内容