我更换了一台 Dell PowerEdge 服务器中出现故障的 10GbE 适配器,该服务器运行一对绑定的 Cat6 电缆,连接到聚合交换机。旧 NIC 及其替换件都是 Intel 以太网控制器 (10-Gigabit X540-AT2),因此我假设(可能不正确)我所需要做的就是将其插入,找到新端口的 ID 并更新绑定接口的端口 ID,插入现有的 Cat6 电缆,然后就可以开始了。但结果却并非如此。
从外观上看,新网卡和交换机上的网络端口均显示连接指示灯,但没有活动指示灯。在服务器上,我已使用以下命令确认系统已识别新网卡lshw -class network -short
:
运行ip -br -c link show
提供了以下额外的接口状态信息:
随后,我检查了 systemd 日志,发现 bond0 接口在启动时与从属端口连接,并向它们传输 MTU 设置。除此之外,我不确定我找到的哪些日志条目有助于查明新 NIC 上的端口和绑定接口为何关闭。我可以看到接口存在,并且当它们发生故障时,它们会一起发生故障,这是很恰当的。
root@tsoukalos:~# journalctl | egrep 'enp7s0f*|bond0'
Feb 04 16:59:47 tsoukalos kernel: ixgbe 0000:07:00.0 enp7s0f0: renamed from eth5
Feb 04 16:59:47 tsoukalos kernel: ixgbe 0000:07:00.1 enp7s0f1: renamed from eth2
Feb 04 16:59:55 tsoukalos systemd-udevd[733]: Could not generate persistent MAC address for bond0: No such file or directory
Feb 04 16:59:55 tsoukalos kernel: ixgbe 0000:07:00.0: registered PHC device on enp7s0f0
Feb 04 16:59:55 tsoukalos kernel: bond0: (slave enp7s0f0): Enslaving as a backup interface with a down link
Feb 04 16:59:55 tsoukalos kernel: ixgbe 0000:07:00.1: registered PHC device on enp7s0f1
Feb 04 16:59:55 tsoukalos kernel: bond0: (slave enp7s0f1): Enslaving as a backup interface with a down link
Feb 04 16:59:55 tsoukalos kernel: ixgbe 0000:07:00.0 enp7s0f0: changing MTU from 1500 to 9000
Feb 04 16:59:56 tsoukalos kernel: ixgbe 0000:07:00.1 enp7s0f1: changing MTU from 1500 to 9000
Feb 04 16:59:56 tsoukalos kernel: vmbr2: port 1(bond0) entered blocking state
Feb 04 16:59:56 tsoukalos kernel: vmbr2: port 1(bond0) entered disabled state
Feb 04 16:59:56 tsoukalos kernel: device bond0 entered promiscuous mode
Feb 04 16:59:56 tsoukalos kernel: device enp7s0f0 entered promiscuous mode
Feb 04 16:59:56 tsoukalos kernel: device enp7s0f1 entered promiscuous mode
Feb 04 16:59:57 tsoukalos kernel: 8021q: adding VLAN 0 to HW filter on device enp7s0f0
Feb 04 16:59:57 tsoukalos kernel: 8021q: adding VLAN 0 to HW filter on device enp7s0f1
Feb 04 16:59:57 tsoukalos kernel: 8021q: adding VLAN 0 to HW filter on device bond0
有关其他信息,以下是我目前掌握的相关接口/etc/network/interfaces
:
auto enp7s0f0
iface enp7s0f0 inet manual
# Intel Ethernet Controller 10-Gigabit X540-AT2
auto enp7s0f1
iface enp7s0f1 inet manual
#Intel Ethernet Controller 10-Gigabit X540-AT2
auto bond0
iface bond0 inet manual
bond-slaves enp7s0f0 enp7s0f1
bond-miimon 100
bond-mode 802.3ad
bond-xmit-hash-policy layer2
mtu 9000
auto vmbr2
iface vmbr2 inet static
address XXX.XXX.XXX.15/24
bridge-ports bond0
bridge-stp off
bridge-fd 0
我对 Linux 和以太网绑定都还很陌生,因此非常感谢任何让该服务器重新上线的提示!
克里斯
答案1
感谢上述提示,我能够解决顶层问题并处理我在另一边遇到的问题。令人尴尬的是,“无载体”接口状态的原因是,我已将绑定配置为使用同一台服务器中较旧的 10GbE 卡的 NIC 接口,然后我将以太网电缆插入新卡上的接口!在端口ethtool -p [interface]
上运行 ethtool blink 命令 ( ) 验证了这个错误,我已更正了它。顺便说一句,新卡上的端口确实不是任何时候都会眨眼,所以我通过消除来识别它们。
此时,我配置了绑定以使用正确的接口,并观察到一个绑定端口报告的链接速度为 1000Mb,另一个报告的链接速度为 10000Mb。检查系统日志发现,现在新卡存在 ixgbe 固件错误,可能是由于硬件版本略有不同,正如 @BrandonXavier 所建议的那样。
[44650.577580] ixgbe 0000:05:00.0: Warning firmware error detected FWSM: 0x00000000
ethtool
再次显示这些端口上的固件相当旧。我按照以下步骤从英特尔下载并安装了最新的 ixgbe 固件这里,重新启动服务器,这解决了所有剩余的问题!