我购买了带有集成 Intel X520/I350(2x SFP + 2x RJ45)网卡的 Dell PowerEdge R630。我已经在本地(在 1G RJ45 网络上)设置了服务器,以测试一切是否按预期工作并且确实如此;一切正常,没有错误消息。
然后我把它运到数据中心,让他们为我架起它。根据托管协议中的定义,他们使用 10G (SFP+) 端口连接服务器。作为一个几乎没有 SFP+ 经验的人,我天真地认为它会“正常工作”,但是当我尝试通过 iDRAC/VNC (重新)安装操作系统并注意到一个连接的 SFP+ 网络链接丢失时(那里只有eno2到eno4,没有eno1)。想一想,iDRAC 将第一个端口显示为已连接。
我一开始以为 Linux 缺少一些驱动程序,但后来我注意到在引导过程中(在操作系统加载之前)已经出现了错误消息:
如前所述,我对 SFP+ 网络几乎一无所知,这让我处于一个相当不舒服的境地:我什至无法判断这是硬件问题(例如与安装的 SFP+ 模块的兼容性问题)还是软件/配置问题. 有什么想法我应该看看吗?
此英特尔 NIC 确实有一个它将接受的 SFP+ 模块的设备白名单,但可以禁用它并尝试使用您想要的任何 SFP+ 模块。您需要传递 ixgbe 模块参数
allow_unsupported_sfp=1
。您可以通过使用给定选项卸载和重新加载模块来测试这是否有效:
使这种持久化的常用方法是将模块选项添加到文件中
/etc/modprobe.d/ixgbe.conf
,然后sudo update-initramfs
在基于 Debian 的系统或sudo dracut -f
基于 Red Hat 的系统上运行。该文件的内容将是:它也可以在启动时添加到内核命令行中,即:
ixgbe.allow_unsupported_sfp=1
以便您可以在安装环境中使用它。