← 返回目录课程:《ESXi识别配置Mellanox网卡实战》
04

04 Mellanox网卡固件烧录:使用mlxburn工具更新固件版本

实操mlxburn在Linux环境下烧录固件,解决版本不匹配问题
章节导航 难度:入门类型:工程实战
目标结果

掌握Mellanox网卡固件烧录在Mellanox网卡固件烧录中的定位、故障信号与验证顺序。

关键词
模块接口配置流程状态
交付物
架构图代码片段排障表检查清单

固件版本冲突定位与烧录目标确认

现场定位记录

  • 对象/模块:典型技术应用现场里的Mellanox网卡固件烧录
  • 问题现象:典型技术应用现场里Mellanox网卡固件烧录一开始改动很快,输入需求增加后日志记录显示状态外泄、循环依赖和接口膨胀。
  • 验证动作:先把职责边界、私有状态、依赖方向、阈值标准和验证入口画清,再执行拆分动作。
  • 工程判断:前后变化点能被隔离、被验证、被替换,才说明架构重构达到标准。

Mellanox网卡固件烧录落地前要同时核对Mellanox网卡固件烧录的使用mlxburn工具更新固件版本、失败路径和解决版本不匹配问题。

概念块:Mellanox网卡固件烧录

Mellanox网卡固件烧录用Mellanox网卡固件烧录、使用mlxburn工具更新固件版本、解决版本不匹配问题连接到Mellanox网卡固件烧录的调试、验证和交付动作。

  • Mellanox网卡固件烧录
  • 使用mlxburn工具更新固件版本
  • 解决版本不匹配问题
  • 模块

Mellanox网卡固件烧录要确认的对象和结果

在 ESXi 主机识别 Mellanox 网卡的过程中,最常见的阻断并非驱动缺失,而是固件(Firmware)版本与驱动或系统内核不匹配。当执行 lspci -vvv 或 esxcli network nic list 发现网卡状态为“Unknown”或“Unsupported”,且系统日志(/var/log/vmkernel)提示“Firmware version mismatch”时,基本可以判定需要手动更新固件

本节的核心目标是:在 Linux 环境下,使用 Mellanox 官方提供的 mlxburn 工具,将目标网卡的固件烧录至与 ESXi 驱动版本兼容的固件版本。操作对象是 Mellanox ConnectX-4/5/6 系列网卡,主链路为“获取固件镜像 → 准备 Linux 环境 → 执行烧录 → 验证版本”

关键判断

不要试图在 ESXi 环境下直接烧录固件。ESXi 的 vmklinux 用户态工具链不完整,且缺少必要的 libibverbs 和 sysfs 接口。必须使用一个独立的 Linux 发行版(如 CentOS 7/8 或 Ubuntu 20.04/22.04)作为烧录环境

烧录环境搭建与工具链准备

首先,需要准备一台安装了 Linux 发行版(Linux Distribution)的服务器或虚拟机。推荐使用 CentOS 7.9 或 Ubuntu 22.04 LTS,因为它们对 Mellanox 固件工具链的支持最稳定。确保该 Linux 服务器能够通过 SSH(Secure Shell)远程访问,以便后续操作

关键步骤包括:

实操步骤

在烧录前,务必使用 mlxburn -d 0000:03:00.0 -query 查询当前固件版本。记录输出的 PSID(Product Serial ID)和 FW Version。PSID 决定了你只能烧录与该 ID 匹配的固件镜像,否则会导致网卡变砖

核心烧录流程与参数解析

烧录命令的核心语法如下。以下是一个针对 ConnectX-5 网卡的实际命令示例:

# 停止所有与网卡相关的网络服务,避免烧录时驱动占用
systemctl stop network
# 卸载内核驱动模块
modprobe -r 核心 mlx5_ib
# 执行烧录
mlxburn -d 0000:03:00.0 -fw fw-ConnectX5-xx_yy_zz.bin -psid MT_0000000001 -w 4 -y
# 参数说明:
# -d   : 目标网卡的 PCIe 地址
# -fw  : 固件镜像文件路径
# -psid: 网卡的 PSID,必须与 -query 输出一致
# -w   : 烧录等待时间(秒),4 秒通常足够
# -y   : 跳过确认提示

阅读这段代码时,重点看Mellanox网卡固件烧录的伪代码,以及它如何用稳定性与可观测性证明结果可复测。

执行后,终端会输出烧录进度。关键信号是看到 Burning FS3 image... Done 和 Status: OK。如果出现 Error: PSID mismatch,说明你下载的固件镜像与当前网卡硬件不匹配,需要重新从 NVIDIA 固件库下载对应 PSID 的镜像

烧录后的验证与驱动重载

烧录完成后,必须重启服务器或重新加载驱动才能生效。推荐执行完整重启:

# 重新加载驱动
modprobe 核心 mlx5_ib
# 再次查询固件版本
mlxburn -d 0000:03:00.0 -query

阅读这段代码时,重点看Mellanox网卡固件烧录的伪代码,以及它如何用稳定性与可观测性证明结果可复测。

确认输出的 FW Version 已更新为目标版本。随后,将网卡插回 ESXi 主机,在 ESXi 的 /var/log/vmkernel 中应能看到 核心: firmware version: xx.yy.zz 的日志,且 esxcli network nic list 中网卡状态变为 Up

真实项目场景

在一次数据中心扩容中,运维团队将一批 Mellanox ConnectX-5 网卡从旧服务器迁移到新采购的 Dell R750 服务器上。ESXi 8.0 无法识别网卡,vmkernel 日志报错“Firmware version 16.27.xxxx is not supported by driver 23.10”。通过本节方法,在 CentOS 7.9 环境中使用 mlxburn 将固件从 16.27 降级至 16.32(与 ESXi 8.0 内置驱动兼容),重启后网卡正常识别,业务流量恢复

问题对照与修正

  1. 常见偏差:把Mellanox网卡固件烧录直接写进主流程,只验证能跑通,留下Mellanox网卡固件烧录边界、状态和验证口径不清。
  2. 修正做法:把Mellanox网卡固件烧录收敛成稳定接口,明确伪代码和失败返回。
  3. 复核方式:构造一个异常输入或超时场景,用日志、断言和稳定性与可观测性证明修复有效。

风险边界与固件烧录判断标准

Mellanox网卡固件烧录:使用mlxburn工具更新固件版本
具象图Mellanox网卡固件烧录:使…观察对象参数变化验证记录SPIMellanox网卡固件…使用mlxburn工具更新固件版本SPISPIESXi识别…Mellanox网卡固件烧录M e l l a n o x网卡固件…核心对象SPI关键链路ESXi识别工程提示Mellanox网卡固…

固件烧录属于高风险操作,必须建立明确的判断标准与回滚预案。下表总结了烧录过程中的关键风险点与应对措施:

风险表
Mellanox网卡固件烧录 · 固件烧录风险表
风险点触发条件影响预防措施
PSID 不匹配使用错误的 -psid 参数烧录失败,网卡进入恢复模式烧录前必须执行 -query 确认 PSID
电源中断烧录过程中服务器断电或 SSH 断连固件损坏,网卡无法初始化使用 UPS 供电,通过带外管理(iLO/iDRAC)…
驱动未卸载未执行 modprobe -r烧录工具无法获取网卡控制权,报“Device busy”烧录前执行 systemctl stop networ…
常见误区

不要认为固件版本越高越好。ESXi 的驱动版本与固件版本有严格的兼容性矩阵。例如,ESXi 7.0 U3 内置的 核心 驱动仅支持固件 16.32.xxxx 及以下版本。盲目升级到 16.35 会导致网卡无法被驱动加载。务必参考 VMware 的硬件兼容性列表(HCL)或 NVIDIA 的固件发行说明

最后,建议将烧录成功的固件镜像、PSID 和对应 ESXi 版本记录到运维资产清单中。当后续进行 ESXi 大版本升级时,可以快速判断是否需要同步更新网卡固件,避免因版本不匹配导致的业务中断

细节补充:

Mellanox网卡固件烧录先对齐现场任务、输入材料和输出结果,再回到Mellanox网卡固件烧录的细节逐项核对。

Mellanox网卡固件烧录的主要风险来自Mellanox网卡固件烧录边界、状态和验证口径不清;落地前必须核对伪代码,并确认例外场景和结果记录。

本节资料使用说明

Q1

Mellanox网卡固件烧录里最先使用的工具、样例或资料是哪一个?

使用口径:
使用顺序:先用定义目标和边界的材料,再进入具体样例或工具。
替换位置:把Mellanox网卡固件烧录中可替换字段和保留结构分开标注。
输出物:最终要看到使用mlxburn工具更新固件版本或Mellanox网卡固件烧录,不是只完成操作。
Q2

替换Mellanox网卡固件烧录时,哪些位置可以改,哪些位置要保留?

使用口径:
替换位置:把Mellanox网卡固件烧录中可替换字段和保留结构分开标注。
输出物:最终要看到使用mlxburn工具更新固件版本或Mellanox网卡固件烧录,不是只完成操作。
常见误操作:提醒默认值、旧素材或错误字段残留。
Q3

输出物检查时,最不能漏掉哪一项?

使用口径:
输出物:最终要看到使用mlxburn工具更新固件版本或Mellanox网卡固件烧录,不是只完成操作。
常见误操作:提醒默认值、旧素材或错误字段残留。
使用顺序:先用定义目标和边界的材料,再进入具体样例或工具。
Q4

如果换一套素材,使用顺序要不要调整?

使用口径:
常见误操作:提醒默认值、旧素材或错误字段残留。
使用顺序:先用定义目标和边界的材料,再进入具体样例或工具。
替换位置:把Mellanox网卡固件烧录中可替换字段和保留结构分开标注。