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各组件固件版本命名并不统一,但通常可以从版本字符串中读出“代次—主版本—修订号”或“日期—构建号”信息。以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下无法被识别,导致更新工具找不到目标。
四、常见兼容性问题与排查
实际工作中,固件不兼容常表现为:设备无法识别、系统启动卡在POST、RAID阵列降级、网卡链路不稳定、GPU无法被驱动加载。排查时,首先确认XCC和BIOS版本是否匹配,然后检查设备固件是否在矩阵推荐范围内。若设备在XCC中可见但操作系统不可见,通常是BIOS中的PCIe资源分配或Option ROM设置问题;若XCC中不可见,则可能是背板或电源固件版本过低。
一个典型示例:某SR650升级网卡固件后,系统无法从PXE启动。检查发现BIOS版本仍为旧版,不支持新网卡的UEFI驱动。解决方法是先将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的日常运维中避免大多数因固件不匹配引发的故障。