我发现了一件非常奇怪的事情,我很难将其分离出来。
场景:一组 Dell Poweredge 服务器组成一个稳定的集群。尝试应用一些 Windows 更新,服务器丢失了互联网和域信任。无法重新建立域信任。卸载更新,成功了。重新安装,一切正常。另一台服务器上也出现了同样的情况,所以我决定重建基线。服务器已从头开始重建:已应用最新固件(BIOS、NIC、RAID 等)和最新级别的驱动程序。标准 2012R2 数据中心构建、联网,然后进入更新。在构建的不同阶段,应用的更新会中断互联网连接。DNS 完全解析,您可以 ping、跟踪路由等,但浏览器不起作用。此外,如果您此时尝试加入域,则会显示“未找到网络路径”。多次尝试恢复连接均失败。
在某些情况下,服务器进入准备加入域的阶段,之后在加入域后会出现另一组更新,其中一些更新将再次中断互联网连接。此时,与域的信任关系也会丢失。
大多数情况下,只需卸载最新更新并重新启动即可恢复连接。然后,您可以重新安装完全相同的更新,服务器将继续正常运行。如果此时它在域上,我必须重置机器帐户以恢复信任。然后,它将在构建的后期阶段使用不同的更新再次发生。
我已经排除了由单个更新导致的问题,因为它发生在不同的阶段,并且应用了不同的汇总。已经尝试了服务器的多个驱动程序/固件修订版。网络上没有防火墙阻止。没有安全软件。没有 Windows 防火墙。我甚至对服务器进行了系统准备,并重建了其组合 NIC 基础设施,但互联网仍然出现故障,直到我回滚更新后它才恢复正常。然后再次将其向前滚动,问题就消失了。
大多数时候,只要我不再应用任何更新,我就能达到服务器稳定并投入生产使用的程度。
有人有过与此类似的经历吗?
答案1
我想发布有关此问题的更新,现在问题已经解决了。
事实证明,Windows 更新完全是转移注意力的借口。问题发生时,我正好在运行更新,但实际上,似乎只是重启过程导致 TCPIP 堆栈被破坏。我可以通过简单的重启多次重现该问题,然后通过 Netsh Winsock Reset 和重启将其重置,即可使问题重现。奇怪的是,卸载最近的更新并重启通常会产生相同的效果 - 但并非总是如此。问题出在哪里?似乎是 NIC 卡。虽然是最新的固件和驱动程序,但 RSS(接收方缩放)的其中一个设置导致了问题。这允许 NIC 流量分布在多个处理器上,而不是仅限于一个处理器。典型的性能调优调整导致的问题比解决的问题更多。我禁用了它,然后,一切都恢复稳定了。我可以随心所欲地修补和重启,而不会丢失 TCPIP 堆栈 :)
这是一个非常模糊的问题,但也许其他人会发现类似的问题,禁用 RSS 可能会有所帮助。