掌握服务器25G在Mellanox ConnectX-4 Lx网卡固件刷新中的定位、故障信号与验证顺序。
Mellanox ConnectX-4 Lx网卡固件刷新常见问题来自默认值、路径、版本或权限没有对齐。
本节把服务器25G相关配置拆成参数来源、生效条件和回滚检查。
刚拿到手的Mellanox ConnectX-4 Lx网卡,其固件版本和运行模式(Eth/IB)很可能与你的服务器25G内网环境不匹配。直接插卡上机,轻则链路协商在10G甚至1G,重则驱动加载失败、系统报错。本节的核心任务,就是通过Mellanox官方工具mlxup,将网卡固件刷新至支持25Gbps SFP28链路的版本,并强制切换为Ethernet(Eth)模式,确保网卡处于25G就绪状态
不要迷信“出厂即最新”。同一型号的ConnectX-4 Lx可能因出厂批次不同,固件版本差异巨大。只有通过mlxup主动刷新并验证,才能消除固件层面的不确定性
在开始操作前,请确认你的服务器已安装Linux操作系统(推荐Ubuntu 20.04+或CentOS 7+),并已通过PCIe插槽安装好ConnectX-4 Lx网卡。我们将通过以下三个步骤完成固件就绪工作:定位当前固件状态、使用mlxup执行刷新、切换并锁定Eth模式
mlxup是Mellanox/NVIDIA提供的统一固件更新工具,支持在线查询和刷新。它自动识别网卡型号并匹配最新固件,极大降低了手动下载和刷错固件的风险
从Mellanox官方固件库下载最新版mlxup(或通过wget直接获取),并赋予执行权限:
wget https://www.mellanox.com/downloads/firmware/mlxup-linux-x86_64.tgz
tar -xzf mlxup-linux-x86_64.tgz
chmod +x mlxup
sudo ./mlxup --query # 仅查询,不执行刷新阅读这段代码时,重点看Lx网卡固件刷新的伪代码,以及它如何用稳定性与可观测性证明结果可复测。
执行--query参数后,工具会列出所有Mellanox网卡及其当前固件版本、可用固件版本。重点关注PSID(产品特定ID)和FW Version列。若当前版本低于可用版本,则需要进行刷新
确认无误后,执行刷新命令。刷新过程约需2-5分钟,期间网卡会短暂离线,请确保不要中断电源或重启服务器
sudo ./mlxup --update # 自动刷新所有可更新网卡 # 或针对特定设备:sudo ./mlxup -d 0000:03:00.0 --update
刷新成功后,工具会提示“Firmware update done. Please reboot system to apply new firmware.”。此时必须重启服务器,新固件才会生效
重启后,立即使用ibdev2netdev -v或ethtool -i ethX确认固件版本已更新。若版本未变,检查是否因mlxup版本过旧导致匹配失败,或网卡被系统其他进程占用
步骤三:切换并锁定Eth模式
ConnectX-4 Lx支持Ethernet(Eth)和InfiniBand(IB)两种协议模式。对于25G SFP28内网搭建,必须使用Eth模式。使用Mellanox配置工具mlxconfig进行模式切换:
设置完成后,再次重启服务器。重启后,使用ethtool ethX查看Supported ports和Speed字段,应显示为25000Mb/s(25Gbps)
| 时间/步骤 | 输入 | 动作 | 输出 |
|---|---|---|---|
| LINK_TYPE_P1 | 2 (Eth) | 设置端口1的协议模式 | mlxconfig query 查看 |
| LINK_TYPE_P2 | 2 (Eth) | 设置端口2的协议模式 | mlxconfig query 查看 |
| FW_RESET_ENABLE | 1 (True) | 允许固件热重置,部分场景需开启 | 刷新后查看日志 |
固件刷新和模式切换完成后,必须进行链路验证。以下是一份标准验证记录表,可作为后续排障的基线
在一次数据中心扩容中,团队发现新到的ConnectX-4 Lx网卡在25G交换机上始终只能协商到10G。排查后发现,固件版本为12.18.1000,且模式为默认的IB。通过mlxup刷新至14.27.2000并切换Eth模式后,链路成功协商至25G,吞吐量从9.4 Gbps提升至23.8 Gbps