固件更新步骤#

开始之前#

  • 在开始固件更新之前,停止所有不必要的系统活动。

  • 停止所有 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 分钟。

更新步骤#

  1. 查看已安装版本与新提供的固件的比较

    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
    
  2. 更新 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
    
  3. 重置 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
    
  4. 重启系统。

  5. 更新主板托架上的组件。

    对于一次性固件更新,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 将跳过该组件的更新。

  6. 更新 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。

  7. 更新网络卡和 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 固件

  8. 通过拔下所有电源并重新连接电源(手动或通过外部 PDU 设备),对系统执行交流电源循环。

    等待操作系统启动。

  9. 通过再次查看已安装的版本来确认固件更新已完成

    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