2. ThinkSystem固件体系解析

在ThinkSystem服务器中,“固件”并不是一个单一概念,而是分布在多个独立可更新组件中的一组软件层。理解这些组件的分工、版本命名方式以及相互之间的兼容约束,是后续做固件升级、批量刷新和故障排查的基础。本节围绕BIOS/UEFI、BMC/XCC、RAID控制器、网卡、GPU、硬盘背板等主要固件类型展开,并给出可操作的版本识别与兼容性判断方法。

一、固件分层与职责划分

ThinkSystem的固件大致可分为三类:平台基础固件、I/O设备固件和机箱/背板类固件。平台基础固件包括BIOS/UEFI和BMC(在ThinkSystem中即XCC,XClarity Controller),它们决定服务器能否上电、如何初始化硬件、如何被远程管理。I/O设备固件包括RAID/HBA控制器、网卡、GPU等,负责各自设备的功能与性能。机箱/背板类固件包括硬盘背板、风扇板、电源固件等,负责物理连接与状态采集。

这些固件并非孤立存在。例如,XCC负责在带外环境中执行固件更新,BIOS负责在带内环境中初始化设备,而RAID控制器固件又依赖BIOS提供的PCIe资源分配。因此,升级顺序和版本匹配往往比单个固件版本本身更重要。

ThinkSystem 固件分层与依赖关系 平台基础固件 BIOS / UEFI 上电自检、硬件初始化、启动 BMC / XCC 带外管理、固件更新、监控 UEFI 驱动 / Option ROM 设备启动与初始化扩展 提供 PCIe 资源与初始化环境 I/O 设备固件 RAID / HBA 控制器 阵列管理、缓存、盘位映射 网卡 (NIC) 链路、PXE、iSCSI、RoCE GPU 计算加速、显存、驱动匹配 其它适配器 FC HBA、加密卡等 物理连接与状态采集 机箱 / 背板类固件 硬盘背板 SAS/SATA/NVMe 连接与识别 风扇板 / 电源 散热与供电控制 前面板 / LCD 状态显示与本地操作 版本需 匹配机箱

二、版本命名规则与识别方法

ThinkSystem各组件固件版本命名并不统一,但通常可以从版本字符串中读出“代次—主版本—修订号”或“日期—构建号”信息。以XCC为例,版本号常形如 4.10 或 4.10.2,其中首位数字代表大代次,第二位代表功能更新,第三位代表修复。BIOS版本则常以 IVE、TEE 等前缀加数字表示,例如 IVE168W,其中字母段对应平台代号,数字段对应发布顺序,末尾字母表示修订级别。

RAID控制器固件通常以 MR 或 IT 模式区分,版本号如 50.9.4-0000,前段为主版本,后段为构建号。网卡固件则常以 NIC 或厂商前缀加日期表示,例如 22.10.0。GPU固件通常与驱动版本绑定,版本号如 94.02.42.00.01,前段为VBIOS版本,后段为子修订。

识别版本最直接的方式是通过XCC界面或命令行。在XCC Web界面中,进入“服务器配置”→“固件更新”,可看到所有可更新组件的当前版本与可用版本。在命令行中,可使用 XCC 的 fwupdate 命令或 OneCLI 工具查询。例如:

# 使用 OneCLI 查询所有固件版本
OneCLI.exe inventory getinfor -ip 192.168.1.100 -u USERID -p PASSW0RD

# 使用 XCC 命令行查询固件清单
fwupdate -list

输出中会列出组件名称、当前版本、可更新版本以及是否需要重启。注意,不同代次ThinkSystem(如SR650、SR650 V2、SR650 V3)的固件版本号不通用,必须按机型匹配。

三、兼容性矩阵与升级顺序

兼容性矩阵是固件管理中最重要的参考文件。Lenovo会为每个机型发布“固件兼容性矩阵”,列出各组件固件版本之间的推荐组合。矩阵通常以表格形式呈现,行是组件,列是版本,交叉点标注“推荐”“最低要求”或“不兼容”。例如,某SR650的矩阵可能要求:XCC版本不低于4.10,BIOS版本不低于IVE168W,RAID控制器固件不低于50.9.4-0000,网卡固件不低于22.10.0。

升级顺序同样关键。一般建议先升级XCC,再升级BIOS,然后升级RAID控制器、网卡、GPU,最后升级背板和电源。原因是XCC负责带外更新通道,BIOS负责设备初始化,先更新它们可以避免后续设备因初始化失败而无法更新。如果顺序颠倒,可能出现设备在旧BIOS下无法被识别,导致更新工具找不到目标。

实践提示:在批量升级前,先用OneCLI导出当前固件清单,与兼容性矩阵逐项比对。若发现某组件版本低于矩阵中的“最低要求”,应优先升级该组件,再继续其他组件。

四、常见兼容性问题与排查

实际工作中,固件不兼容常表现为:设备无法识别、系统启动卡在POST、RAID阵列降级、网卡链路不稳定、GPU无法被驱动加载。排查时,首先确认XCC和BIOS版本是否匹配,然后检查设备固件是否在矩阵推荐范围内。若设备在XCC中可见但操作系统不可见,通常是BIOS中的PCIe资源分配或Option ROM设置问题;若XCC中不可见,则可能是背板或电源固件版本过低。

一个典型示例:某SR650升级网卡固件后,系统无法从PXE启动。检查发现BIOS版本仍为旧版,不支持新网卡的UEFI驱动。解决方法是先将BIOS升级到矩阵推荐版本,再重新升级网卡固件。这说明固件升级不是孤立操作,必须放在整机兼容性框架下考虑。

注意:不要跳过兼容性矩阵直接使用最新版本。最新版本可能引入新功能,但也可能要求更高版本的XCC或BIOS支持。若矩阵中标注“不兼容”,即使版本号更高也不应使用。

五、固件清单与版本核对示例

以下是一份可用于实际核对的固件清单示例,字段包括组件、当前版本、矩阵推荐版本、是否匹配、备注。该表可直接用于升级前检查。

组件 当前版本 矩阵推荐版本 是否匹配 备注
XCC 4.10.2 ≥4.10 是 带外更新通道正常
BIOS IVE168W ≥IVE168W 是 支持新网卡UEFI驱动
RAID 930-8i 50.9.4-0000 ≥50.9.4-0000 是 缓存与阵列状态正常
网卡 X710 22.10.0 ≥22.10.0 是 PXE与iSCSI可用
GPU A100 94.02.42.00.01 ≥94.02.42 是 驱动匹配
硬盘背板 2.1 ≥2.0 是 NVMe识别正常

核对时,若某组件“是否匹配”为“否”,应记录当前版本与推荐版本,并优先安排升级。升级后再次运行OneCLI清单命令,确认版本已更新且设备状态正常。对于批量环境,可将该表扩展为CSV格式,用脚本自动比对,减少人工核对误差。

固件体系解析的最终目的,是让每一次升级都有据可依、有顺序可循、有结果可验。掌握分层关系、版本命名和兼容性矩阵,就能在ThinkSystem的日常运维中避免大多数因固件不匹配引发的故障。