4. Supermicro BIOS/UEFI与固件备份恢复
在Supermicro服务器运维中,BIOS/UEFI设置、BMC/IPMI固件以及主板固件共同决定了系统能否正常上电、自检、引导和远程管理。与操作系统备份不同,固件层的备份恢复更强调“版本可追溯、配置可回滚、刷写失败可救回”。本节围绕四件事展开:BIOS/UEFI设置如何备份、BMC/IPMI固件如何备份、固件更新失败后如何恢复,以及如何用Supermicro Update Manager(SUM)批量完成固件操作。
一、BIOS/UEFI设置备份:保存的是“配置”,不是“固件本体”
BIOS/UEFI设置备份保存的是CMOS/NVRAM中的可配置项,例如启动顺序、超线程、VT-d、SR-IOV、内存频率策略、风扇模式、PCIe bifurcation、串口重定向等。它不包含BIOS固件镜像本身,因此恢复设置前必须确认当前BIOS版本与备份时一致或兼容,否则可能出现选项缺失或恢复失败。
在Supermicro平台上,常见做法有三种:
- BIOS Setup界面导出:进入Advanced → Save & Exit,选择“Save BIOS Configuration to File”,将配置保存为 .bin 或 .txt 文件到U盘。该方式适合单机、现场操作。
- IPMI/BMC Web界面导出:登录BMC Web,进入Maintenance → BIOS Configuration,可导出当前BIOS配置。部分机型支持直接上传配置文件恢复。
- SUM工具导出:使用
sum -i 192.168.1.100 -u ADMIN -p PASSWORD -c GetBIOSConfigFile -f bios_cfg.bin批量拉取,适合多台机器统一留档。
建议在每次变更前导出一次,命名包含机型、序列号、BIOS版本和日期,例如 X11DPi-N_ S123456_BIOS3.5_20240612.bin。恢复时先核对版本,再导入并重启,最后进入Setup确认关键项(启动顺序、VT-d、SR-IOV)是否生效。
二、BMC/IPMI固件备份:保留带外管理能力
BMC固件负责远程KVM、虚拟介质、传感器监控、电源控制和固件更新通道。BMC固件损坏时,系统可能仍能运行,但会失去远程管理能力,恢复成本高。因此BMC固件备份应至少保留当前版本和上一个稳定版本。
备份方式主要有:
- BMC Web导出:Maintenance → Firmware Update,部分版本提供“Backup BMC Firmware”按钮,生成 .bin 镜像。
- SUM导出:
sum -i 192.168.1.100 -u ADMIN -p PASSWORD -c GetBMCFirmware -f bmc_backup.bin。 - Redfish接口:通过
/redfish/v1/UpdateService获取固件清单,再下载对应镜像。
BMC固件备份文件通常较大(数十MB),应存放在独立于被管服务器的存储中,避免服务器故障时一并丢失。恢复BMC固件时,优先使用带外方式(BMC Web或SUM),不要依赖操作系统内工具,因为BMC独立于主机运行。
三、固件更新失败后的恢复方法
固件更新失败常见表现:更新进度卡住、校验失败、重启后无法进入BIOS、BMC Web无法访问、风扇全速运转。恢复策略按“影响范围从小到大”依次尝试:
- BIOS更新失败:若系统仍能引导,使用SUM或BIOS Setup中的“Recover BIOS”功能重新刷写;若无法引导,使用主板上的BIOS Recovery Jumper或双BIOS切换(部分机型支持),从备份镜像恢复。
- BMC更新失败:使用IPMI工具
ipmitool通过带外通道强制刷写,或使用Supermicro提供的BMC Recovery模式(短接Jumper后通过TFTP恢复)。 - 双镜像机制:Supermicro部分主板提供主备BIOS/BMC镜像,更新失败后可自动回滚到备用镜像,需在BIOS中确认“Dual BIOS”或“Backup BIOS”已启用。
- 最后手段:使用编程器(如CH341A)直接烧写SPI Flash芯片,需提前备份原始镜像并确认芯片型号与电压。
四、Supermicro Update Manager(SUM)使用
SUM是Supermicro提供的命令行固件与配置管理工具,支持带内和带外两种模式,适合批量操作。典型流程如下:
# 1. 查看当前固件版本
sum -i 192.168.1.100 -u ADMIN -p PASSWORD -c GetFirmwareVersion
# 2. 备份BIOS配置与BMC固件
sum -i 192.168.1.100 -u ADMIN -p PASSWORD -c GetBIOSConfigFile -f bios_cfg.bin
sum -i 192.168.1.100 -u ADMIN -p PASSWORD -c GetBMCFirmware -f bmc_backup.bin
# 3. 更新BIOS(带外)
sum -i 192.168.1.100 -u ADMIN -p PASSWORD -c UpdateBIOS -f BIOS_X11DPi_3.5.bin
# 4. 更新BMC
sum -i 192.168.1.100 -u ADMIN -p PASSWORD -c UpdateBMC -f BMC_X11DPi_1.73.bin
# 5. 恢复BIOS配置
sum -i 192.168.1.100 -u ADMIN -p PASSWORD -c SetBIOSConfigFile -f bios_cfg.bin
批量操作时,可将IP列表写入文件,用脚本循环调用SUM。更新前务必确认固件包与主板型号匹配,更新后检查版本号、BMC Web可访问性、KVM和虚拟介质功能是否正常。
五、关键检查清单
| 检查项 | 操作要点 | 判断依据 |
|---|---|---|
| BIOS配置备份 | 变更前导出 .bin,记录BIOS版本 | 文件可导入且关键项一致 |
| BMC固件备份 | 保留当前版和上一稳定版 | BMC Web可访问、KVM正常 |
| SUM版本匹配 | 固件包与主板型号严格对应 | 更新前校验型号与校验和 |
| 恢复通道 | 优先带外,保留Jumper和TFTP方案 | BMC可独立恢复 |
| 恢复后验证 | 版本、启动顺序、VT-d、风扇策略 | 与备份前基线一致 |
固件层的备份恢复不是一次性任务,而应纳入变更管理:每次升级前备份,升级后验证,失败时按既定路径回滚。对于批量环境,SUM配合脚本能显著降低重复操作风险,但前提是每台机器的型号、当前版本和目标版本都已核对清楚。