在过去的几天里,我们其中一台服务器上的绑定网络接口已停止响应。
查看内核日志,我注意到当接口关闭时,我们会收到大量重复的错误,形式如下:
[76019.645601] e1000e 0000:03:00.0 p9p1: speed changed to 0 for port p9p1
[76325.575540] e1000e 0000:03:00.0 p10p1: speed changed to 0 for port p10p1
在快速搜索了类似问题后,我还没有找到任何人报告过此类行为。
提供有关服务器配置的更多详细信息:
- 两个绑定的网络接口都与 Intel 82574L 以太网控制器相关联。
- 该服务器运行的是 Ubuntu 16.04,Linux 内核版本为
4.4.0-101-generic
。 绑定网络接口具有以下配置:
auto p9p1 iface p9p1 inet manual bond-master bond0 auto p10p1 iface p10p1 inet manual bond-master bond0 auto bond0 iface bond0 inet static address 10.0.0.10 gateway 10.0.0.1 netmask 255.255.255.0 bond-mode 4 bond-miimon 100 bond-lacp-rate 1 bond-slaves p9p1 p10p1 dns-nameservers 10.0.0.2 10.0.0.3
当网络接口出现故障时,通过运行重新启动服务器上的网络服务
service networking restart
似乎可以解决问题
我想知道是否有人以前遇到过类似的问题,或者对调试此类问题的原因有什么建议?
答案1
对我来说,这些问题很可能是由 Ubuntu 16.04 上的 Linux 内核 v4.4.0-97-generic 中的一个已知错误引起的:4.4.0-97-generic 中的 e1000e 在重负载下会破坏 82574L。
已应用补丁测试内核版本 v4.4.0-98由该错误的受让人提交,在 Ubuntu Linux 软件包错误跟踪器上,在对绑定接口进行一个周末的相当重的负载测试之后,我再也没有遇到过错误行为。
答案2
我刚刚遇到了相同的错误消息……但就我而言,问题根本不在服务器端。stderr 不仅打印 e1000e NIC,还打印所有 4 个 NIC。断开/连接电缆时,消息会重现。因此,不同的驱动程序具有相同的行为……在我们对服务器进行软件调试,然后进行布线(用新电缆更换)后,剩下的就是机架顶部交换机。
重启交换机解决了这个问题。