基于 Intel 82599es 的 NIC 抖动问题

基于 Intel 82599es 的 NIC 抖动问题

我有一台运行最新版本 OMV 的 Dell R510,它带有基于 Intel 82599es 的 Silicom PE210G2BPI9 2x10Gbps LC/LC MMF NIC,以及最新的 ixgbe 驱动程序(本地下载和编译)。我还有一台运行最新版本 Ubuntu LTS 20.04 的 Dell R710,它带有相同的 NIC 和驱动程序。这些 NIC 通过全新的 LC/LC MMF 电缆和静态私有 IP 地址直接相互连接。

我能够在各自的主机上建立两个 NIC 之间的链接,但无论我做什么,我都无法辨别为什么会出现抖动问题:

$ dmesg | tail

[ 4083.171821] ixgbe 0000:03:00.0 enp3s0f0: NIC Link is Down
[ 4083.199845] ixgbe 0000:03:00.0 enp3s0f0: NIC Link is Up 10 Gbps, Flow Control: RX/TX
[ 4083.280158] ixgbe 0000:03:00.0 enp3s0f0: NIC Link is Down
[ 4083.303846] ixgbe 0000:03:00.0 enp3s0f0: NIC Link is Up 10 Gbps, Flow Control: RX/TX
[ 4085.187773] ixgbe 0000:03:00.0 enp3s0f0: NIC Link is Down
[ 4085.727752] ixgbe 0000:03:00.0 enp3s0f0: NIC Link is Up 10 Gbps, Flow Control: RX/TX
[ 4087.203750] ixgbe 0000:03:00.0 enp3s0f0: NIC Link is Down
[ 4087.743725] ixgbe 0000:03:00.0 enp3s0f0: NIC Link is Up 10 Gbps, Flow Control: RX/TX
[ 4089.219666] ixgbe 0000:03:00.0 enp3s0f0: NIC Link is Down
[ 4089.759698] ixgbe 0000:03:00.0 enp3s0f0: NIC Link is Up 10 Gbps, Flow Control: RX/TX

在升级固件之前,每当建立链接时,两台主机都会发生这种情况。升级固件后,问题似乎只发生在 OMV 主机上,这就是我现在在这里发帖的原因。

我检查了发送/接收和驱动程序/接口错误,没有发现任何错误。我还检查了 LC/LC MMF 电缆,甚至还更换了它们。此时,我想知道在最初对这些 NIC 进行故障排除时是否存在一些奇怪的配置竞争条件或混淆(要做到这一点并不容易)。

有谁知道这个问题可能是什么或者我接下来该怎么办?

答案1

仅供参考 - 供以后发现此问题的人参考:

我在两端使用的 NIC 是 Silicom PE210G2BPI9。由于这些卡设计有默认启用的旁路模式,因此我需要下载 Silicom 的驱动程序控制软件(点对点) 禁用此模式。之后,卡开始显示存储库安装的 ixgbe 软件包的抖动问题,与英特尔直接提供的最新版本相比,该软件包相当旧。因此,我安装了英特尔的最新驱动程序,这稍微改变了问题,但抖动仍然存在。最终,我通过安装 Silicom 提供的 tarball 中包含的经过验证的 ixgbe 驱动程序解决了我的问题,其中包括上述驱动程序控制软件。我用来成功启动链接的版本是ixgbe-5.9.4ms7.1

以下是一些有用的链接和 TL;DR:

  1. 检索与您的 NIC 匹配的 Silicom 驱动程序,对我来说它在这里:Silicom PE210G2BPI9
  2. 清除系统中预先存在的 ixgbe 驱动程序(假设没有其他 NIC 使用该驱动程序)
  3. 安装并运行 bpctl 实用程序以禁用每个端口的旁路并通过电源循环永久禁用它们
  4. 制作并安装 5.9.3ms7.1 版 ixgbe 驱动程序,该驱动程序位于驱动程序下载目录的子文件夹中
  5. 重新加载/运行 ixgbe 驱动程序,你的系统应该会看到 NIC
  6. 按照正常方式配置每个端口的网络

有用的参考/工具:

相关内容