固件更新步骤#
开始之前#
在开始固件更新之前,停止所有不必要的系统活动。
停止所有 GPU 活动,包括运行
nvidia-smi
命令。GPU 活动和运行该命令可能会阻止 VBIOS 更新。在更新过程中,请勿在系统上增加额外的负载,例如用户作业、诊断或监控服务。高工作负载可能会中断固件更新过程,并导致组件无法使用。
当您开始固件更新时,更新软件会协助确定 DGX 系统的活动状态,并在检测到活动级别高于预定阈值时发出警告。如果您遇到警告,请采取措施降低工作负载,然后再继续进行固件更新。
在 BMC 固件更新期间,风扇速度可能会增加。速度增加是 BMC 固件更新过程的正常现象。
如果您计划从版本 1.0.0 (BMC 23.05.11) 或 1.1.1 (BMC 23.09.20) 升级到版本 24.09.1 (BMC 24.09.17),您必须先升级到版本 1.1.3 (BMC 24.01.05),然后再升级到版本 24.09.1,以包含所有关键安全更改。如果您直接从版本 1.0.0 或 1.1.1 升级到版本 24.09.1,则需要执行恢复出厂设置以恢复默认设置。
更新时长#
更新主板托架组件和 GPU 托架组件上的固件大约需要 90 分钟。更新 ConnectX-7 设备上的固件大约需要 30 分钟。
更新步骤#
查看已安装版本与新提供的固件的比较
nvfwupd --target ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> \ show_version -p nvfw_DGX_240918.1.0.fwpkg \ nvfw_HGX_DGXH100-H200x8_240603.1.0.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_240918.1.0.fwpkg -y -s update_bmc.json
重置 BMC,以便在下次重启后使用
# If you have a shell on the system $ sudo ipmitool mc reset cold # If you are logged in to a different system $ ipmitool -H <bmc-ip-address> -I lanplus -U <bmc-username> -P <bmc-password> mc reset cold
重启系统。
更新主板托架上的组件。
对于一次性固件更新,BMC 将对提供的捆绑包中的所有组件执行固件更新,例如
nvfw_DGX_xxxxxx.x.x.fwpkg
,其中包括主机 BMC(如果指定了force_update
选项)、主机 BIOS、EROT、PCIe Retimer、PCIe 交换机、PSU、主板 CPLD 和中板 CPLD。创建一个文件,例如
mb_tray.json
,包含空括号{}
更新固件
nvfwupd -t ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> update_fw \ -p nvfw_DGX_240918.1.0.fwpkg -y -s mb_tray.json
提示
要第二次更新 BMC 和 BIOS 固件,请指定
force_update
选项。第二次更新确保 NVRAM 中固件的主副本和备份副本都是最新的。当您指定
force_update
选项时,nvfwupd
命令会强制执行固件更新,而不检查固件版本。如果组件可用的固件版本与组件上当前安装的版本相同,则 BMC 将跳过该组件的更新。更新 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_HGX_DGXH100-H200x8_240603.1.0.fwpkg -y -s gpu_tray.json
此步骤对 GPU 托架中包含的所有组件执行并行更新,例如 VBIOS、NVSwitch、EROT 和 FPGA。
更新网络卡和 NVMe 驱动器上的固件。
在用于集群通信的 ConnectX®-7 卡上进行固件更新
sudo mstflint -d /sys/bus/pci/devices/0000:5e:00.0/config -i fw-ConnectX7-rel-28_43_2026-MCX750500B-0D00_Ax_Bx-UEFI-14.36.21-FlexBoot-3.7.500.signed.bin b sudo mstflint -d /sys/bus/pci/devices/0000:dc:00.0/config -i fw-ConnectX7-rel-28_43_2026-MCX750500B-0D00_Ax_Bx-UEFI-14.36.21-FlexBoot-3.7.500.signed.bin b sudo mstflint -d /sys/bus/pci/devices/0000:c0:00.0/config -i fw-ConnectX7-rel-28_43_2026-MCX750500B-0D00_Ax_Bx-UEFI-14.36.21-FlexBoot-3.7.500.signed.bin b sudo mstflint -d /sys/bus/pci/devices/0000:18:00.0/config -i fw-ConnectX7-rel-28_43_2026-MCX750500B-0D00_Ax_Bx-UEFI-14.36.21-FlexBoot-3.7.500.signed.bin b sudo mstflint -d /sys/bus/pci/devices/0000:40:00.0/config -i fw-ConnectX7-rel-28_43_2026-MCX750500B-0D00_Ax_Bx-UEFI-14.36.21-FlexBoot-3.7.500.signed.bin b sudo mstflint -d /sys/bus/pci/devices/0000:4f:00.0/config -i fw-ConnectX7-rel-28_43_2026-MCX750500B-0D00_Ax_Bx-UEFI-14.36.21-FlexBoot-3.7.500.signed.bin b sudo mstflint -d /sys/bus/pci/devices/0000:ce:00.0/config -i fw-ConnectX7-rel-28_43_2026-MCX750500B-0D00_Ax_Bx-UEFI-14.36.21-FlexBoot-3.7.500.signed.bin b sudo mstflint -d /sys/bus/pci/devices/0000:9a:00.0/config -i fw-ConnectX7-rel-28_43_2026-MCX750500B-0D00_Ax_Bx-UEFI-14.36.21-FlexBoot-3.7.500.signed.bin b
在用于存储通信的 ConnectX®-7 卡上进行固件更新
sudo mstflint -d /sys/bus/pci/devices/0000:aa:00.0/config -i fw-ConnectX7-rel-28_43_2026-MCX755206AS-NEA_Ax-UEFI-14.36.21-FlexBoot-3.7.500.signed.bin b sudo mstflint -d /sys/bus/pci/devices/0000:29:00.0/config -i fw-ConnectX7-rel-28_43_2026-MCX755206AS-NEA_Ax-UEFI-14.36.21-FlexBoot-3.7.500.signed.bin b
有关 Intel E810-C 以太网网络适配器的固件更新,请参阅 更新 Intel NIC 固件。
有关 NVMe 驱动器的固件更新,请参阅 更新 NVMe 固件。
通过拔下所有电源并重新连接电源(手动或通过外部 PDU 设备),对系统执行交流电源循环。
等待操作系统启动。
通过再次查看已安装的版本来确认固件更新已完成
nvfwupd --target ip=<bmc-ip-address> user=<bmc-username> password=<bmc-password> \ show_version -p nvfw_DGX_240918.1.0.fwpkg \ nvfw_HGX_DGXH100-H200x8_240603.1.0.fwpkg