网络 – 为什么服务器锁定会将其他服务器从网络中剔除?

我们有几十台Proxmox服务器(Proxmox在Debian上运行),大约每月一次,其中一个会出现内核恐慌并锁定.关于这些锁定的最糟糕的部分是,当它是一个服务器在一个单独的交换机而不是集群主机时,该交换机上的所有其他Proxmox服务器将停止响应,直到我们找到实际崩溃并重新启动它的服务器.

当我们在Proxmox论坛上报告此问题时,建议我们升级到Proxmox 3.1,过去几个月我们一直在这样做.不幸的是,我们迁移到Proxmox 3.1的服务器之一在星期五被内核恐慌锁定,并且同一交换机上的所有Proxmox服务器再次无法通过网络访问,直到我们找到崩溃的服务器并重新启动它.

好吧,交换机上的几乎所有Proxmox服务器……我发现有趣的是,仍然在Proxmox 1.9版本上的同一交换机上的Proxmox服务器不受影响.

以下是崩溃服务器控制台的屏幕截图:

当服务器锁定时,同一台交换机上同时运行Proxmox 3.1的其他服务器变得无法访问并且正在喷出以下内容:

e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
...etc...

uname -a锁定服务器的输出:

Linux ------ 2.6.32-23-pve #1 SMP Tue Aug 6 07:04:06 CEST 2013 x86_64 GNU/Linux

pveversion -v输出(缩写):

proxmox-ve-2.6.32: 3.1-109 (running kernel: 2.6.32-23-pve)
pve-manager: 3.1-3 (running version: 3.1-3/dc0e9b0e)
pve-kernel-2.6.32-23-pve: 2.6.32-109

两个问题:

>任何可能导致内核恐慌的线索(见上图)?
>为什么在锁定服务器重启之前,同一交换机和Proxmox版本上的其他服务器会被网络淘汰? (注意:同一台交换机上还有其他运行旧版1.9版本Proxmox的服务器不受影响.此外,同一3.1集群中没有其他Proxmox服务器受影响且不在同一台交换机上.)

提前感谢任何建议.

最佳答案
我几乎可以肯定你的问题不是由一个因素造成的,而是由多种因素共同造成的.这些个别因素是不确定的,但很可能一个因素是网络接口或驱动程序,而另一个因素是交换机本身.因此很可能只有这个特定品牌的交换机与这个特定品牌的网络接口相结合才能重现问题.

你似乎是问题的触发器是在一个单独的服务器上发生的事情,然后有一个内核恐慌,其影响以某种方式设法在交换机上传播.这听起来很可能,但我认为触发器在其他地方的可能性很小.

可能是交换机或网络接口上发生了某些事情,同时导致交换机上的内核崩溃和链路问题.换句话说,即使内核没有内核恐慌,触发器也可能很好地降低了交换机的连接性.

人们不得不问,个别服务器上可能会发生什么,这可能会对其他服务器产生影响.它应该是不可能的,因此解释必须涉及系统中的某个缺陷.

如果它只是崩溃的服务器和交换机之间的链路断开或变得不稳定,那么这应该对链路状态与其他服务器没有影响.如果是这样,那将被视为交换机中的缺陷.从流量方面来说,一旦崩溃的服务器失去连接,其他服务器应该会看到略少的流量,这无法解释为什么他们会看到他们所做的问题.

这让我相信交换机上的设计缺陷很可能.

然而,链接问题并不是在尝试解释一台服务器上的问题如何导致交换机上的其他服务器出现问题时首先要解释的问题.广播风暴将是一个更明显的解释.但是,有内核恐慌的服务器与广播风暴之间是否存在联系?

发往未知MAC地址的多播和数据包或多或少与广播一样对待,因此这类数据包的风暴也会计算在内. paniced服务器是否可以尝试通过网络将故障转储发送到交换机无法识别的MAC地址?

如果这是触发器,则其他服务器上出现问题.因为数据包风暴不应该在网络接口上引起这种错误.重置适配器意外地听起来不像数据包风暴(这应该只会导致性能下降但没有错误),并且它听起来不像链接问题(这应该导致关于链接断开的消息,但不是你看到的错误).

因此,网络接口硬件或驱动程序可能存在一些缺陷,这是由交换机触发的.

一些建议可以提供更多线索:

>你可以将一些其他设备连接到交换机,看看问题出现时你在交换机上看到的流量(我预测它会变得安静或你看到洪水).
>是否可以使用不同的驱动程序替换其中一个服务器上的网络接口,以查看结果的不同结果?
>是否可以用其他品牌更换其中一个开关?我希望更换交换机可以确保问题不再影响多台服务器.更有趣的是,它是否也能阻止内核恐慌的发生.

转载注明原文:网络 – 为什么服务器锁定会将其他服务器从网络中剔除? - 代码日志