我们正在经历一个非常奇怪和令人沮丧的问题。我们公司在马萨诸塞州和加利福尼亚州都有服务器。我们看到的问题仅出现在 CA 硬件上。在加州,我们有数百台戴尔 R300 和戴尔 R310 服务器,它们都连接到四台 HP Procurve 4208vl 交换机。每个型号有两台交换机,一台用于前端网络,一台用于后端网络。这些系统排列在集群中,并且都用于我们运行的各种测试,以测试我们正在开发的软件操作系统。其中许多测试需要连续和/或重复重启。许多(如果不是大多数)测试会再次使用操作系统重新配置节点。问题是,如果有足够的时间,似乎是随机发生的,这些系统中的一个(或多个)将具有关闭的 eth0 或 eth1 接口。
问题是节点会间歇性地启动,eth0 或 eth1 上都没有连接,有时两者都没有。解决方法是通过后端(如果 eth0 已关闭)或前端(如果 eth1 已关闭)通过 SSH 进入并在已关闭的接口上运行 ifdown/ifup。
解决方法列表: - 服务网络重启 - ifdown eth1(或 eth0),然后 ifup eth1(或 eth0) - 重新安装网络电缆 - 重新启动服务器
这对开发团队来说是一个巨大的痛苦,因为它会阻止整个集群运行测试,直到手动干预。
最糟糕的部分发生在节点为操作系统安装启动 busybox 并且 eth0 退出时:在这种情况下,节点完全无法访问,因为我们在 busybox 中没有 eth1,并且操作系统安装无法继续,因为它不能与 PXE 服务器交谈以下拉操作系统的最新映像(因为 eth0 已关闭)。陷入这种状态的节点会像这样卡住,直到下次我在 CA 中接听某人的电话并让他手动重新启动节点。
已采取以下措施来尝试解决这个看似随机且无法重现的问题: