为什么服务器锁定会使其他服务器脱离网络?

Cur*_*tis 9 networking debian kernel-panic proxmox

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

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

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

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

在此处输入图片说明

当服务器锁定时,同一台交换机上运行 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...
Run Code Online (Sandbox Code Playgroud)

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

Linux ------ 2.6.32-23-pve #1 SMP Tue Aug 6 07:04:06 CEST 2013 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

两个问题:

  1. 有什么线索会导致内核恐慌(见上图)?

  2. 为什么在重新启动锁定的服务器之前,同一交换机和 Proxmox 版本上的其他服务器会被关闭网络?(注意:同一交换机上还有其他服务器运行旧的 1.9 版本的 Proxmox 未受影响。此外,同一 3.1 集群中没有其他不在同一交换机上的 Proxmox 服务器受到影响。)

提前感谢您的任何建议。

ase*_*seq 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
Run Code Online (Sandbox Code Playgroud)

我以前见过这些,它可以使服务器离线。我不记得它是否在英特尔以太网卡上,但我相信是的。它甚至可能与以太网卡本身的错误有关。我记得读过一些有关特定英特尔以太网卡存在此类问题的内容。但我丢失了文章的链接。

我想这个触发部分取决于所使用的驱动程序(版本),旧版本软件工作正常的事实似乎证实了这一点。您说供应商使用他们自己的自定义内核,请尝试更新用于您的特定以太网硬件的以太网驱动程序模块。要么来自您的供应商,要么来自官方内核源代码树。

还要考虑绑定以太网硬件,通常服务器会有两个以太网端口,板载和/或附加卡。这样,如果一个以太网卡出现此问题,另一个以太网卡就会出现问题。我使用“卡”这个词,但它当然适用于任何以太网硬件。

更换以太网硬件也可以修复它。更换或添加更新的(英特尔)以太网卡并使用它。如果问题出在硬件/固件中,较新的卡(或更旧的卡?)可能会得到修复。