NVIDIA BlueField 复位和重启步骤
本节介绍在 NVIDIA® BlueField® NIC 固件更新后加载新 NIC 固件的必要操作。此过程不再需要完全服务器断电重启。
以下步骤在 BlueField 操作系统中执行
发出查询命令,以确定您的环境是否支持 BlueField 系统重启
mlxfwreset -d
03
:00.0
q如果输出包含以下行,请继续执行步骤 2
3
: Driver restart and PCI reset -Supported (default
) ...1
: Driver is the owner -Supported (default
)注意如果显示
不支持
,则继续执行“BlueField 系统级复位”部分下的说明。发出 BlueField 系统重启
mlxfwreset -d
03
:00.0
-y -l3
--sync1
r
本节介绍执行系统级复位 (SLR) 的方法,这对于固件配置更改生效是必要的。
DPU 模式下 BlueField 的系统级复位
以下是该过程的高级流程
优雅地关闭 BlueField Arm 内核。
查询 BlueField 状态以确认已达到关闭状态。
信息在具有多个 BlueField 网络平台的系统中,对所有设备重复步骤 1 和 2,然后再继续。
热重启服务器。
逐步过程
以下某些步骤可以使用不同的方法执行,具体取决于用户环境中的资源可用性和支持。
优雅地关闭 BlueField Arm 内核。
信息此操作预计在 15 秒内完成。
可能的方法
从 BlueField 操作系统
shutdown -h now
或
mlxfwreset -d /dev/mst/mt*pciconf0 -l
1
-t4
--sync0
r从主机操作系统
信息当 BlueField 在零信任模式下运行时不相关。
mlxfwreset -d <mst-device> -l
1
-t4
r使用 BlueField BMC
ipmitool -C
17
-I lanplus -H <bmc_ip> -U root -P <password> power soft或使用 Redfish(BlueField-3 及更高版本)
curl -k -u root:<password> -H
"Content-Type: application/json"
-X POST https://<bmc_ip>/redfish/v1/Systems/Bluefield/Actions/ComputerSystem.Reset -d '{"ResetType": "GracefulShutdown"}'
查询 BlueField 状态。
可能的方法
从主机操作系统
信息当 BlueField 在零信任模式下运行时不相关。
echo DISPLAY_LEVEL
2
> /dev/rshim0/misc cat /dev/rshim0/misc预期输出
INFO[BL31]: System Off
利用 BlueField BMC
ipmitool -C
17
-I lanplus -H <bmc_ip> -U root -P <password> raw0x32
0xA3
预期输出:
06
。
从主机操作系统热重启服务器
mlxfwreset -d <mst-device> -l
4
r注意如果主机中存在多个 BlueField 设备,则此命令必须仅运行一次。在这种情况下,MST 设备可以是任何需要复位并参与步骤 1 的 BlueField 设备。
或
reboot
注意对于在其标准重启命令中不切换 PERST# 的外部主机,请使用
mlxfwreset
选项。
NIC 模式下 BlueField 的系统级复位
执行主机操作系统的热重启
mlxfwreset -d <mst-device> -l 4
r
或
reboot
对于在其标准重启命令中不切换 PERST# 的外部主机,请使用 mlxfwreset
选项。
带独立电源控制主机的系统级复位
此过程是一个特殊用例,仅与 PCIe 插槽和 CPU 具有独立电源控制的主机平台相关,其中 BlueField(在 DPU 模式下运行)在主机操作系统/CPU 可能处于关机或类似待机状态时供电(这允许 BlueField 设备在主机 CPU 处于关机/待机状态时运行)。
以下是该过程的高级流程
优雅地关闭主机操作系统或类似的 CPU 待机状态。
优雅地关闭 BlueField Arm 内核。
查询 BlueField 状态以确认已达到关闭状态。
完全 BlueField 复位
查询 BlueField 状态以确认已达到运行状态
信息在具有多个 BlueField 网络平台的系统中,对所有设备重复步骤 1 到 5,然后再继续。
打开服务器电源。
逐步过程
以下某些步骤可以使用不同的方法执行,具体取决于用户环境中的资源可用性和支持。
通过任何首选方式优雅地关闭主机操作系统。
优雅地关闭 BlueField Arm 内核。
信息此步骤通常需要最多 15 秒才能完成。
从 BlueField 操作系统
shutdown -h now
利用 BlueField BMC
使用 IPMI
ipmitool -C
17
-I lanplus -H <bmc_ip> -U root -P <password> power soft使用 Redfish(对于 BlueField-3 及更高版本)
curl -k -u root:<password> -H
"Content-Type: application/json"
-X POST https://<bmc_ip>/redfish/v1/Systems/Bluefield/Actions/ComputerSystem.Reset -d '{"ResetType": "GracefulShutdown"}'
利用 BlueField BMC 查询 BlueField 的状态
ipmitool -C
17
-I lanplus -H <bmc_ip> -U root -P <password> raw0x32
0xA3
预期输出:
06
。利用 BlueField BMC 执行 BlueField 硬复位
信息此步骤最多需要 2 分钟才能完成。
使用 IPMI
ipmitool -C
17
-I lanplus -H <bmc_ip> -U root -P <password> power cycle使用 Redfish(对于 BlueField-3 及更高版本)
curl -k -u root:<password> -H
"Content-Type: application/json"
-X POST https://<bmc_ip>/redfish/v1/Systems/Bluefield/Actions/ComputerSystem.Reset -d '{"ResetType" : "PowerCycle"}'
利用 BlueField BMC 查询 BlueField 运行状态
信息此时,预计 BlueField 处于运行状态。
ipmitool -C
17
-I lanplus -H <bmc_ip> -U root -P <password> raw0x32
0xA3
预期输出:
05
。打开电源/启动主机操作系统。
BlueField DPU 也可以通过 BMC 平台使用 I2C 上的 NC-SI 命令进行复位。当 DPU BMC 缺失、BlueField DPU 在 NIC 模式下运行或用作控制器时,此选项更常见。
复位使用 复位 BlueField DPU(命令=0x12,参数=0xB) 执行,这允许 BMC 平台复位 NVIDIA BlueField DPU 设备。此命令仅适用于 BlueField-2 设备。
复位 BlueField-3 DPU 命令仅寻址到封装。当内部复位完成时,BMC 平台应重新配置设备。
复位 BlueField DPU 命令在 BlueField-2 及更高版本设备上受支持。
复位 BlueField DPU 格式
字节/位 | 31:24 | 23:16 | 15:8 | 7:0 | |
0:15 | NC-SI 标头(OEM 命令) | ||||
16:19 | NVIDIA 制造商 ID (IANA) = 0x8119 | ||||
20:23 | 命令修订版=0x00 | MLNX 命令 ID=0x12 | 参数=0x0B | NICR | 模式 |
24:27 | 校验和 31:0 |
下面提供了复位 BlueField DPU 命令的参数描述。
复位 BlueField DPU 参数
字段 | 描述 |
NICR |
|
模式 | 此字段定义在执行内部复位之前要使用的条件类型
|
复位 BlueField DPU 响应
当封装 ID 匹配且没有校验和错误时,ConnectX 适配器响应复位 BlueField DPU 命令。
复位 BlueField DPU 响应格式
字节/位 | 31:24 | 23:16 | 15:8 | 7:0 | |
0:15 | NC-SI 标头(OEM 命令) | ||||
16:19 | 响应代码 | 原因代码 | |||
20:23 | NVIDIA 制造商 ID (IANA) = 0x8119 | ||||
24:27 | 命令修订版=0x00 | MLNX 命令 ID=0x12 | 参数=0x0B | NICR | 模式 |
28:31 | 校验和 31:0 |
关闭 BlueField DPU 操作系统命令允许受信任的平台 bmc 向 NVIDIA BlueField DPU 设备上的嵌入式 CPU 发送操作系统关闭请求。
关闭 BlueField DPU 操作系统命令格式如下所示。
关闭 BlueField DPU 操作系统命令格式
字节/位 | 31:24 | 23:16 | 15:8 | 7:0 |
0:15 | NC-SI 标头(OEM 命令) | |||
16:19 | NVIDIA 制造商 ID (IANA) = 0x8119 | |||
20:23 | 命令修订版=0x00 | MLNX 命令 ID=0x12 | 参数=0x1A | 保留 |
24:27 | 保留 | |||
28:31 | 校验和 31:0 |
此命令没有输入参数。此命令是封装命令。
关闭 BlueField DPU 操作系统响应
当封装 ID 匹配时,NVIDIA BlueField DPU 始终在支持的设备上接收并响应关闭 BlueField DPU 操作系统命令。当关闭 BlueField DPU 操作系统命令发送到不支持的设备,或从不受信任的平台 bmc 接收到该命令时,该命令将失败,原因代码为 0x7FFF(不支持的命令)。
关闭 BlueField DPU 操作系统响应格式
字节/位 | 31:24 | 23:16 | 15:8 | 7:0 |
0:15 | NC-SI 标头(OEM 命令) | |||
16:19 | 响应代码 | 原因代码 | ||
20:23 | NVIDIA 制造商 ID (IANA) = 0x8119 | |||
24:27 | 命令修订版=0x00 | MLNX 命令 ID=0x12 | 参数=0x1A | 保留 |
28:31 | 保留 | |||
32:35 | 校验和 31:0 |