固件更新步骤#
开始之前#
在开始固件更新之前,停止所有不必要的系统活动。
停止所有 GPU 活动,包括运行
nvidia-smi
命令。GPU 活动和运行该命令可能会阻止 VBIOS 更新。在更新过程中,请勿在系统上增加额外的负载,例如用户作业、诊断或监控服务。高工作负载可能会中断固件更新过程,并导致组件无法使用。
当您开始固件更新时,更新软件会协助确定 DGX 系统的活动状态,并在检测到活动级别高于预定阈值时发出警告。如果您遇到警告,请采取措施减少工作负载,然后再继续进行固件更新。
在 BMC 固件更新期间,风扇速度可能会增加。速度增加是 BMC 固件更新过程的正常部分。
更新步骤#
查看已安装的版本与新提供的固件的比较
nvfwupd -t ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> \ show_version -p nvfw_DGX_250114.1.0.fwpkg \ nvfw_DGX-HGX-B100-B200x8_250212.1.1.fwpkg
更新 BMC。
创建一个文件,例如
update_bmc.json
,包含以下内容{ "Targets" :["/redfish/v1/UpdateService/FirmwareInventory/HostBMC_0"] }
运行以下命令以更新 BMC
nvfwupd -t ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> update_fw \ -p nvfw_DGX_250212.1.1.fwpkg -y -s update_bmc.json
重启 BMC。
使用系统上的 shell
$ ipmitool mc reset cold # Wait a couple of minutes and confirm the BMC is back online. $ ipmitool mc info
或者,您可以使用 Web UI 通过浏览器进行操作。
更新主板托架上的组件。
对于一次性固件更新,BMC 将对提供的软件包中的所有组件执行固件更新,例如
nvfw_DGX_xxxxxx.x.x.fwpkg
,其中包括主机 BMC(如果指定了force_update
选项)、主机 BIOS、EROT、PCIe 中继器、PCIe 交换机、PSU、主板 CPLD 和中板 CPLD。创建一个文件,例如
mb_tray.json
,包含空括号{}
更新固件
nvfwupd -t ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> update_fw \ -p nvfw_DGX_250212.1.1.fwpkg -y -s mb_tray.json
使用过渡 GPU 软件包将 GPU 托架更新到中间固件版本。
创建一个
gpu_tray.json
文件,包含以下内容{ "Targets" :["/redfish/v1/UpdateService/FirmwareInventory/HGX_0"] }
更新固件
nvfwupd -t ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> update_fw \ -p nvfw_DGX-HGX-B100-B200x8_250114.1.0.fwpkg -y -s gpu_tray.json
此步骤对 GPU 托架中包含的所有组件(例如 VBIOS、NVSwitch、EROT 和 FPGA)执行并行更新。
通过在以下命令输出中查找
"BackgroundCopyStatus": "Completed"
来验证后台复制是否已成功完成curl -s -k -u <bmc-user>:<bmc-password> -H content-type:application/json \ -X GET https://<bmc-ip-address>/redfish/v1/Chassis/HGX_ERoT_BMC_0 | jq
执行冷复位以重启系统
ipmitool chassis power cycle
将 GPU 托架更新到最新固件版本。
使用最新的 GPU 软件包重复 GPU 托架的固件更新步骤
nvfwupd -t ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> update_fw \ -p nvfw_DGX-HGX-B100-B200x8_250124.1.3.fwpkg -y -s gpu_tray.json
对系统执行断电重启,并确认系统完全启动。
在操作系统或 BMC 中通过命令行执行关机命令,然后从 BMC 上电。
再次查看已安装的版本,确认固件更新已完成。
系统再次运行后,重复以下命令以确认所有固件均已更新
nvfwupd -t ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> \ show_version -p nvfw_DGX_250212.1.1.fwpkg \ nvfw_DGX-HGX-B100-B200x8_250124.1.3.fwpkg
对 BMC 和系统 BIOS 执行后台复制命令。
BMC
后台复制 Redfish API 请求
curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/UpdateService/Actions/Oem/NvidiaUpdateService.CommitImage' \ --header 'Content-Type: application/json' \ --data '{ "Targets": ["/redfish/v1/UpdateService/FirmwareInventory/HostBMC_0"] }'
示例响应
{ "@odata.type":"#UpdateService.v1_11_0.UpdateService", "Messages":[ { "@odata.type":"#Message.v1_0_8.Message", "Message":"A new task /redfish/v1/TaskService/Tasks/1 was created.", "MessageArgs":[ "/redfish/v1/TaskService/Tasks/1" ], "MessageId":"Task.1.0.New", "Resolution":"None", "Severity":"OK" }, { "@odata.type":"#Message.v1_0_8.Message", "Message":"ActivateFirmware Action is initiated.", "MessageId":"UpdateService.1.0.StartActivateFirmware", "Resolution":"None", "Severity":"OK" } ] }
使用任务 ID(在输出响应中显示为
1
)查询更新状态nvfwupd -t ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> show_update_progress -i 1
当状态指示
100%
完成时,继续下一步。SBIOS
后台复制 Redfish API 请求
curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/UpdateService/Actions/Oem/NvidiaUpdateService.CommitImage' \ --header 'Content-Type: application/json' \ --data '{ "Targets": ["/redfish/v1/UpdateService/FirmwareInventory/HostBIOS_0"] }'
从响应中找到任务 ID(通常为
2
)以查询更新状态nvfwupd -t ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> show_update_progress -i 2
当状态指示
100%
完成时,继续下一步。通过拔下所有电源,然后手动或通过外部 PDU 设备重新连接电源,对系统执行交流电重启。
更新网卡和 NVMe 驱动器上的固件。
注意
在更新期间,
mlxfwmanager
命令将报告 ConnectX-7 设备(标识为/dev/mst/mt4129_pciconf0
)无法更新,如下面的错误消息所示-E- Failed to query /dev/mst/mt4129_pciconf0 device, error : MFE_ICMD_BAD_PARAM
此行为是预期的,因为此设备不是用于集群系统的网卡之一,而是一个内部使用的桥接设备,并使用单独的流程进行更新。
要更新 ConnectX®-7 卡和 NVIDIA® BlueField®-3 卡,请导航到
network
目录并运行mlxfwmanager
命令cd network sudo mlxfwmanager -u -D .
当提示更新所有 10 个 ConnectX-7 卡和 BlueField-3 卡时,键入
Y
以确认。有关 Intel E810-C 以太网网络适配器的固件更新,请参阅 更新 Intel NIC 固件。
有关 NVMe 驱动器上的固件更新,请参阅 更新 NVMe 固件。