使用 NVSM CLI
运行 DGX OS 4.0.1 或更高版本的 NVIDIA DGX-2 服务器应预装 NVSM。
NVSM CLI 与特权的 NVSM API 服务器通信,因此 NVSM CLI 需要超级用户权限才能运行。本指南中给出的所有示例都以 sudo
命令作为前缀。
交互式使用 NVSM CLI
启动交互式会话
命令 “sudo nvsm” 将启动 NVSM CLI 交互式会话。
user@dgx-2:~$ sudo nvsm
[sudo] password for user:
nvsm->
在 “nvsm->
” 提示符下,用户可以输入 NVSM CLI 命令来查看和管理 DGX 系统。
示例命令
其中一个命令是 “show fans”,它会打印 NVSM 已知的所有风扇的状态。
nvsm-> show fans
/chassis/localhost/thermal/fans/FAN10_F
Properties:
Status_State = Enabled
Status_Health = OK
Name = FAN10_F
MemberId = 19
ReadingUnits = RPM
LowerThresholdNonCritical = 5046.000
Reading = 9802 RPM
LowerThresholdCritical = 3596.000
...
/chassis/localhost/thermal/fans/PDB_FAN4
Properties:
Status_State = Enabled
Status_Health = OK
Name = PDB_FAN4
MemberId = 23
ReadingUnits = RPM
LowerThresholdNonCritical = 11900.000
Reading = 14076 RPM
LowerThresholdCritical = 10744.000
nvsm->
离开交互式会话
要离开 NVSM CLI 交互式会话,请使用 “exit” 命令。
nvsm-> exit
user@dgx2:~$
非交互式使用 NVSM CLI
任何 NVSM CLI 命令都可以从系统 shell 调用,而无需启动 NVSM CLI 交互式会话。为此,只需将所需的 NVSM CLI 命令附加到 “sudo nvsm” 命令即可。上面给出的 “show fans” 命令可以直接从系统 shell 调用,如下所示。
user@dgx2:~$ sudo nvsm show fans
/chassis/localhost/thermal/fans/FAN10_F
Properties:
Status_State = Enabled
Status_Health = OK
Name = FAN10_F
MemberId = 19
ReadingUnits = RPM
LowerThresholdNonCritical = 5046.000
Reading = 9802 RPM
LowerThresholdCritical = 3596.000
...
/chassis/localhost/thermal/fans/PDB_FAN4
Properties:
Status_State = Enabled
Status_Health = OK
Name = PDB_FAN4
MemberId = 23
ReadingUnits = RPM
LowerThresholdNonCritical = 11900.000
Reading = 14076 RPM
LowerThresholdCritical = 10744.000
user@dgx2:~$
某些 NVSM 命令的输出可能太大而无法在一个屏幕上显示,有时将此输出通过管道传输到分页实用程序(如 “less”)会很有用。
user@dgx2:~$ sudo nvsm show fans | less
在本章中,给出了交互式和非交互式 NVSM CLI 用例的示例。请注意,这些交互式和非交互式示例是可互换的。
获取帮助
除了 NVSM CLI 用户指南(本文档)外,还有许多来源可以找到有关 NVSM CLI 和相关 NVSM 工具的更多帮助。
nvsm “man” 页面
DGX 系统上安装的 NVSM 包含 NVSM CLI 的 man 页面。用户可以通过调用 “man nvsm” 命令来查看此 man 页面。
user@dgx2:~$ man nvsm
nvsm –help/-h 标志
通过传递 –help 或 -h 标志,nvsm 命令将显示类似于 “man nvsm
” 的帮助消息。也可以通过 “nvsm --help
” 调用帮助消息。它显示了描述、nvsm 命令动词、选项和一些示例
示例输出
user@dgxa100:~$ sudo nvsm --help
Run 'sudo nvsm [command] -h' for a command-specific help message
NVSM(1) NVSM CLI NVSM(1)
NAME
nvsm - NVSM CLI Documentation
User Guide: https://docs.nvda.net.cn/datacenter/nvsm/latest/pdf/nvsm-user-guide.pdf
SYNOPSIS
nvsm [help] [--color WHEN] [-i] [--log-level LEVEL] [--] [<command>]
DESCRIPTION
nvsm(1), also known as NVSM CLI, is a command-line interface for System Management on
NVIDIA DGX systems. Internally, NVSM CLI is a client of the NVSM (NVIDIA System Management)
API server, which is facilitated by the nvsm(1) daemon.
Invoking the nvsm(1) command without any arguments will start an NVSM CLI interactive session.
Alternatively, by passing commands as part of the [<command>] argument, NVSM CLI can be run
in a non-interactive mode.
Note: nvsm must be run with root privileges.
NVSM COMMANDS
nvsm show [-h, --help] [-level LEVEL] [-display CATEGORIES] [-all] [target] [where] :
Display information about devices and other entities managed by NVSM
nvsm cd [-h, --help] [target]:
Change the working target address used by NVSM verbs
nvsm set [-h, --help] [target] :
Change the value of NVSM target properties
nvsm start [-h, --help] [-noblock] [-force] [-quiet] [-timeout TIMEOUT] [target] :
Start a job managed by NVSM
nvsm dump health [-h, --help] [-o OUTPUT] [-t, -tags "tag1,tag2"]
[-tfp, -tar_file_path "/x/y/path"] [-tfn, -tar_file_name "name.tar.xz"] :
Generates a health report file
nvsm stress-test [--usage, -h, --help] [-force] [-no-prompt] [<test>] [DURATION] :
NVIDIA System Management Stress Testing
nvsm lock [-h, --help] [target] :
Enable locking of SED
nvsm create [-h, --help] [target] :
The create command is used to generate new resources on demand
OPTIONS
--color WHEN
Control colorization of output. Possible values for WHEN are "always", "never", or "auto".
Default value is "auto".
-i, --interactive
When this option is given, run in interactive mode. The default is automatic.
--log-level LEVEL
Set the output logging level. Possible values for LEVEL are "debug", "info", "warning",
"error", and "critical". The default value is "warning".
EXAMPLES
sudo nvsm help
Display the help message for NVSM CLI
sudo nvsm show -h
Display the help message for the NVSM show command
sudo nvsm show gpus
Display information for all GPUs in the system.
sudo nvsm
Run nvsm in interactive mode
sudo nvsm show versions
Display system version properties
sudo nvsm update firmware
Run through the steps of selecting a firmware update container on the local DGX system,
and running it to update the firmware on the system. This requires that you have already
loaded the container onto the DGX system.
sudo nvsm dump health
Produce a health report file suitable for attaching to support tickets.
AUTHOR
NVIDIA Corporation
COPYRIGHT
2021, NVIDIA Corporation
NVSM CLI 命令帮助
NVSM CLI 交互式会话中的每个 NVSM 命令动词,例如 show、cd、 set、 start、 dump health、 stress-test、 lock
和 create
,都识别 “-h
” 或 “--help
” 标志,用于描述 NVSM 命令及其参数。这些命令也有自己的 man 页面,例如,可以使用 “man nvsm_show
” 调用。
帮助消息显示描述、NVSM 命令名词(或子命令)、选项和示例。
示例输出
user@dgxa100:~$ sudo nvsm show -h
NVSM_SHOW(1) NVSM CLI NVSM_SHOW(1)
NAME
nvsm_show - NVSM SHOW CLI Documentation
SYNOPSIS
nvsm show [-h, --help] [-level LEVEL] [-display CATEGORIES] [-all] [target] [where]
DESCRIPTION
Show is used to display information about system components. It displays information
about devices and other entities managed by NVSM
OPTIONS
--help, -h
show this help message and exit
-level LEVEL, -l LEVEL
Specify the target depth level to which the show command will traverse the
target hierarchy.
The default value for LEVEL is 1, which means "the current target only".
-display CATEGORIES, -d CATEGORIES
Select the categories of information displayed about the given target.
Valid values for CATEGORIES are 'associations', 'targets', 'properties', 'verbs',
and 'all'. The default value for CATEGORY is 'all'. Multiple values can be
specified by separating those values with colon. Sub-arguments for properties
are supported which are separated by comma with paranthesis as optional.
-all, -a
Show data that are normally hidden. This includes OEM properties and OEM targets
unique to NVSM.
target The target address of the Managed Element to show. The target address can be relative
to the current working target, or it can be absolute. Simple globbing to select multiple
Managed Elements is also possible.
where Using this argument, targets can be filtered based on the value of their properties.
This can be used to quickly find targets with interesting properties. Currently this
supports '==' and '!=' operations, which mean 'equal' and 'not equal' respectively.
UNIX-style wildcards using '*' are also supported.
COMMANDS
show alerts
Display warnings and critical alerts for all subsystems
show drives
Display the storage drives
show versions
Display system version properties
show fans
Display information for all the fans in the system.
show firmware
Walk through steps of selecting a firmware update container on the local DGX system,
and run it to show the firmware versions installed on system. This requires that you
have already loaded the container onto the DGX system.
update firmware
Walk through steps of selecting a firmware update container on the local DGX system,
and run it to update the firmware on system. This requires that you have already loaded
the container onto the DGX system.
show gpus
Display information for all GPUs in the system
show health
Display overall system health
show memory
Display information for all installed DIMMs
show networkadapters
Display information for the physical network adapters
show networkdevicefunctions
Display information for the PCIe functions for a given network adapter
show networkinterfaces
Display information for each logical network adapter on the system.
show networkports
Display information for the network ports of a given networkadapter
show nvswitches
Display information for all the NVSwitch interconnects in the system.
show policy
Display alert policies for subsystems
show power
Display information for all power supply units (PSUs) in the system.
show processors
Display information for all processors in the system.
show storage
Display storage related information
show temperature
Display temperature information for all sensors in the system
show volumes
Show storage volumes
show powermode
Display the current system power mode
show led
Lists values for available system LED status. Includes u.2 NVME, Chassis/Blade LED
status(on applicable platforms) disable exporters
Disable NVSM metric collection data
show controllers
List applicable controllers properties. Applicable for SAS storage controller in dgx1,
and M.2 and U.2 NVMe controller properties for other platforms.
EXAMPLES
sudo nvsm show -h
Display the help message for the NVSM show command
sudo nvsm show health -h
Display the help message for the NVSM show health command
sudo nvsm show gpus
Display information for all GPUs in the system.
sudo nvsm show versions
Display system version properties
sudo nvsm show storage
View all storage-related information
sudo nvsm show processors
Information for all CPUs installed on the system
AUTHOR
NVIDIA Corporation
COPYRIGHT
2021, NVIDIA Corporation
21.07.12-4-g5586f4ba Aug 04, 2021 NVSM_SHOW(1)
当输入错误的命令时,CLI 会提示用户检查指定的帮助消息。
:~$ sudo nvsm show wrong_command
ERROR:nvsm:Target address "wrong_command" does not exist
Run: 'sudo nvsm show --help' for more options
设置 DGX H100 BMC Redfish 密码
在 DGX H100 中,可以使用 BMC Redfish 主机 IP 地址(称为 主机接口)访问 BMC 中的 Redfish 服务。主机操作系统上部署的 NVSM 通过主机接口与 BMC Redfish 服务通信,以获取系统数据。
Redfish 主机接口是安全的通信通道。作为先决条件,在通过 NVSM 与 BMC Redfish 服务进行任何通信之前,应在主机操作系统中设置具有最小读取类型访问权限的 BMC 凭据。
以下 NVSM 命令在主机操作系统中为 NVSM 使用设置 BMC 凭据
# nvsm set -bmccred (or) # nvsm set --bmccredentials
$ sudo nvsm set -bmccred
BMC credentials entered will be encrypted and stored.
Enter BMC username: admin
Enter BMC password:
Re Enter BMC password:
Entered credentials stored successfully.
凭据将被加密并存储在主机上。
检查系统健康状况
NVSM CLI 最基本的功能是检查系统状态。NVSM CLI 为此目的提供了 “show” 命令。
由于 NVSM CLI 是仿照 SMASH CLP 建模的,因此 NVSM CLI “show” 命令的输出对于 BMC 命令行界面的用户来说应该很熟悉。
基本命令列表
下表列出了基本命令(主要是 “show”)。这些命令的详细用法将在文档的后续章节中进行解释。
注意
在 DGX Station 上,仅支持以下命令。
nvsm show health
nvsm dump health
全局命令 |
描述 |
---|---|
$ sudo nvsm show alerts |
显示所有子系统的警告和严重警报 |
$ sudo nvsm show policy |
显示子系统的警报策略 |
$ sudo nvsm show versions |
显示系统版本属性 |
健康状况命令 |
描述 |
---|---|
$ sudo nvsm show health |
显示整体系统健康状况 |
$ sudo nvsm dump health |
生成健康状况报告文件 |
存储命令 |
描述 |
---|---|
$ sudo nvsm show storage |
显示所有与存储相关的信息 |
$ sudo nvsm show drives |
显示存储驱动器 |
$ sudo nvsm show controllers |
显示存储控制器 |
$ sudo nvsm show volumes |
显示存储卷 |
GPU 命令 |
描述 |
---|---|
$ sudo nvsm show gpus |
显示系统中所有 GPU 的信息。 |
处理器命令 |
描述 |
---|---|
$ sudo nvsm show processors |
显示系统中所有 CPU 的信息 |
$ sudo nvsm show cpus |
“show processors” 的别名 |
内存命令 |
描述 |
---|---|
$ sudo nvsm show memory |
显示所有已安装 DIMM 的信息 |
$ sudo nvsm show dimms |
“show memory” 的别名 |
散热命令 |
描述 |
---|---|
$ sudo nvsm show fans |
显示系统中所有风扇的信息。 |
$ sudo nvsm show temperatures |
显示系统中所有传感器的温度信息 |
$ sudo nvsm show temps |
“show temperatures” 的别名 |
网络命令 |
描述 |
---|---|
$ sudo nvsm show networkadapters |
显示物理网络适配器的信息 |
$ sudo nvsm show networkinterfaces |
显示逻辑网络接口的信息 |
$ sudo nvsm show networkports |
显示给定网络适配器的网络端口的信息 |
$ sudo nvsm show networkdevicefunctions |
显示给定网络适配器的 PCIe 功能的信息 |
电源命令 |
描述 |
---|---|
$ sudo nvsm show power |
显示系统中所有电源单元 (PSU) 的信息。 |
$ sudo nvsm show powermode |
显示当前系统电源模式 |
$ sudo nvsm show psus |
“show power” 的别名 |
NVSwitch 命令 |
描述 |
---|---|
$ sudo nvsm show nvswitches |
显示系统中所有 NVSwitch 互连的信息。 |
固件命令 |
描述 |
---|---|
$ sudo nvsm show firmware |
引导您完成在本地 DGX 系统上选择固件更新容器的步骤,并运行它以显示系统上安装的固件版本。这需要您已将容器加载到 DGX 系统上。 |
$ sudo nvsm update firmware |
引导您完成在本地 DGX 系统上选择固件更新容器的步骤,并运行它以更新系统上的固件。这需要您已将容器加载到 DGX 系统上。 |
显示健康状况
“show health” 命令可用于快速评估整体系统健康状况。
user@dgx-2:~$ sudo nvsm show health
示例输出
...
Checks
------Verify installed DIMM memory sticks..........................
HealthyNumber of logical CPU cores [96].............................
HealthyGPU link speed [0000:39:00.0][8GT/s].........................
HealthyGPU link width [0000:39:00.0][x16]...........................
Healthy
...
Health Summary
--------------
205 out of 205 checks are Healthy
Overall system status is Healthy
如果发现任何系统健康状况问题,这将反映在 “show health” 输出底部的健康状况摘要中。有关执行的健康状况检查的详细信息将显示在上方。
转储健康状况
“dump health” 命令生成一个健康状况报告文件,适用于附加到支持票证。
user@dgx-2:~$ sudo nvsm dump health
示例输出
Writing output to /tmp/nvsm-health-dgx-1-20180907085048.tar.xzDone.
“dump health” 生成的文件是常用的压缩 tar 存档,可以使用 “tar” 命令检查其内容,如以下示例所示。
user@dgx-2:~$ cd /tmp
user@dgx-2:/tmp$ sudo tar xlf nvsm-health-dgx-1-20180907085048.tar.xz
user@dgx-2:/tmp$ sudo ls ./nvsm-health-dgx-1-20180907085048
date java nvsysinfo_commands sos_reports
df last nvsysinfo_log.txt sos_strings
dmidecode lib proc sys
etc lsb-release ps uname
free lsmod pstree uptime
hostname lsof route usr
initctl lspci run var
installed-debs mount sos_commands version.txt
ip_addr netstat sos_logs vgdisplay
选项 -qkd
或 --quick_dump
可用于更快地收集健康状况报告,但会增加 CPU/内存消耗。
# nvsm dump health -qkd
显示版本
“nvsm show versions” 命令显示板载硬件组件及其固件版本。它还显示已安装的 NVSM、Datacenter GPU Manager 和操作系统等版本。
user@dgxa100:~$ sudo nvsm show versions
示例输出
itializing NVSM Core...
/versions
Properties:
dgx-release = 5.1.0
nvidia-driver = 470.57.01
cuda-driver = 11.4
os-release = Ubuntu 20.04.2 LTS (Focal Fossa)
kernel = 5.4.0-77-generic
nvidia-container-runtime-docker = 3.4.0-1
docker-ce = 20.10.7
platform = DGXA100
nvsm = 21.07.12-5-g9775e940-dirty
mlnx-ofed = MLNX_OFED_LINUX-5.4-1.0.3.0:
datacenter-gpu-manager = 1:2.2.9
datacenter-gpu-manager-fabricmanager = 470.57.01-1
sBIOS = 1.03
vBIOS-GPU-0 = 92.00.45.00.06
vBIOS-GPU-1 = 92.00.45.00.06
vBIOS-GPU-2 = 92.00.45.00.06
vBIOS-GPU-3 = 92.00.45.00.06
vBIOS-GPU-4 = 92.00.45.00.06
vBIOS-GPU-5 = 92.00.45.00.06
vBIOS-GPU-6 = 92.00.45.00.06
vBIOS-GPU-7 = 92.00.45.00.06
BMC = 0.14.17
CEC-BMC-1 = 03.28
CEC-Delta-2 = 04.00
PSU-0 Chassis-1 = 01.05.01.05.01.05
PSU-1 Chassis-1 = 01.05.01.05.01.05
PSU-2 Chassis-1 = 01.05.01.05.01.05
PSU-3 Chassis-1 = 01.05.01.05.01.05
PSU-4 Chassis-1 = 01.05.01.05.01.05
PSU-5 Chassis-1 = 01.07.01.05.01.06
MB-FPGA = 0.01.03
MID-FPGA = 0.01.03
NvSwitch-0 = 92.10.18.00.02
NvSwitch-1 = 92.10.18.00.02
NvSwitch-2 = 92.10.18.00.02
NvSwitch-3 = 92.10.18.00.02
NvSwitch-4 = 92.10.18.00.02
NvSwitch-5 = 92.10.18.00.02
SSD-nvme0 (S/N S4YPNE0MB00495) System-1 = EPK9CB5Q
SSD-nvme1 (S/N S436NA0M510827) System-1 = EDA7602Q
SSD-nvme2 (S/N S436NA0M510817) System-1 = EDA7602Q
SSD-nvme3 (S/N S4YPNE0MB01307) System-1 = EPK9CB5Q
SSD-nvme4 (S/N S4YPNE0MC01447) System-1 = EPK9CB5Q
显示存储
NVSM CLI 提供 “show storage” 命令来查看所有与存储相关的信息。可以从命令行调用此命令,如下所示。
user@dgx-2:~$ sudo nvsm show storage
以下 NVSM 命令也显示与存储相关的信息。
user@dgx-2:~$ sudo nvsm show drives
user@dgx-2:~$ sudo nvsm show volumes
user@dgx-2:~$ sudo nvsm show controllers
user@dgx-2:~$ sudo nvsm show led
在 NVSM CLI 交互式会话中,与存储相关的 CLI 目标位于 /systems/localhost/storage/1 目标下。
user@dgx2:~$ sudo nvsm
nvsm-> cd /systems/localhost/storage/
nvsm(/systems/localhost/storage/)-> show
示例输出
/systems/localhost/storage/
Properties:
DriveCount = 10
Volumes = [ md0, md1, nvme0n1p1, nvme1n1p1 ]
Targets:
alerts
drives
policy
volumes
Verbs:
cd
show
显示存储警报
当 DSHM 监控守护程序检测到与存储相关的问题并尝试警告用户(通过电子邮件或其他方式)时,会生成存储警报。可以在 NVSM CLI 交互式会话中的 /systems/localhost/storage/1/alerts 目标下查看过去的存储警报。
user@dgx-2:~$ sudo nvsm
nvsm-> cd /systems/localhost/storage/alerts
nvsm(/systems/localhost/storage/alerts)-> show
示例输出
/systems/localhost/storage/alerts
Targets:
alert0
alert1
Verbs:
cd
show
在此示例列表中,似乎有两个与此系统关联的存储警报。可以使用 “show” 命令查看这些警报的内容。
例如
nvsm(/systems/localhost/storage/alerts)-> show alert1
/systems/localhost/storage/alerts/alert1
Properties:
system_name = dgx-2
message_details = EFI System Partition 1 is corrupted
nvme0n1p1
component_id = nvme0n1p1
description = Storage sub-system is reporting an error
event_time = 2018-07-14 12:51:19
recommended_action =
1. Please run nvsysinfo
2. Please open a case with NVIDIA Enterprise Support at this address https://nvid.nvidia.com/enterpriselogin
3. Attach this notification and the nvsysinfo log file from /tmp/nvsysinfo-XYZ*
alert_id = NV-VOL-03
system_serial = productserial
message = System entered degraded mode, storage sub-system is reporting an error
severity = Warning
Verbs:
cd
show
此警报中看到的消息表明可能存在 EFI 分区损坏,这是一种可能对系统启动能力产生不利影响的错误情况。请注意,此处看到的文本反映了生成此警报时用户将看到的确切消息。
下表给出了存储警报的可能类别。
警报 ID |
严重性 |
详细信息 |
---|---|---|
NV-DRIVE-01 |
严重 |
驱动器丢失 |
NV-DRIVE-07 |
警告 |
系统有不受支持的驱动器 |
NV-DRIVE-09 |
警告 |
不支持的 SED 驱动器配置 |
NV-DRIVE-10 |
严重 |
不支持的卷加密配置 |
NV-DRIVE-11 |
警告 |
M.2 固件版本不匹配 |
NV-VOL-01 |
严重 |
观察到 RAID-0 损坏 |
NV-VOL-02 |
严重 |
观察到 RAID-1 损坏 |
NV-VOL-03 |
警告 |
观察到 EFI 系统分区 1 损坏 |
NV-VOL-04 |
警告 |
观察到 EFI 系统分区 2 损坏 |
NV-CONTROLLER-01 |
警告 |
控制器报告错误 |
NV-CONTROLLER-02 |
警告 |
存储控制器报告 PHY 错误 |
NV-CONTROLLER-03 |
警告 |
控制器设置的速度低于预期速度 |
NV-CONTROLLER-04 |
严重 |
控制器报告错误 |
NV-CONTROLLER-05 |
严重 |
控制器报告错误 |
NV-CONTROLLER-06 |
严重 |
控制器报告错误 |
NV-CONTROLLER-07 |
严重 |
需要清除控制器的 LEDStatus |
显示存储驱动器
在 NVSM CLI 交互式会话中,系统上的每个存储驱动器都由 /systems/localhost/storage/drives 目标下的目标表示。可以按如下方式获取驱动器列表。
user@dgx-2:~$ sudo nvsm
nvsm-> cd /systems/localhost/storage/drives
nvsm(/systems/localhost/storage/drives)-> show
示例输出
/systems/localhost/storage/drives
Targets:
nvme0n1
nvme1n1
nvme2n1
nvme3n1
nvme4n1
nvme5n1
nvme6n1
nvme7n1
nvme8n1
nvme9n1
Verbs:
cd
show
可以使用 “show” 命令查看任何特定驱动器的详细信息。
例如
nvsm(/systems/localhost/storage/drives)-> show nvme2n1
/systems/localhost/storage/drives/nvme2n1
Properties:
Capacity = 3840755982336
BlockSizeBytes = 7501476528
SerialNumber = 18141C244707
PartNumber = N/A
Model = Micron_9200_MTFDHAL3T8TCT
Revision = 100007C0
Manufacturer = Micron Technology Inc
Status_State = Enabled
Status_Health = OK
Name = Non-Volatile Memory Express
MediaType = SSD
IndicatorLED = N/A
EncryptionStatus = N/A
HotSpareType = N/A
Protocol = NVMe
NegotiatedSpeedsGbs = 0
Id = 2
Verbs:
cd
show
显示存储卷
在 NVSM CLI 交互式会话中,系统上的每个存储卷都由 /systems/localhost/storage/volumes 目标下的目标表示。可以按如下方式获取卷列表。
user@dgx-2:~$ sudo nvsm
nvsmnvsm-> cd /systems/localhost/storage/volumes
nvsm(/systems/localhost/storage/volumes)-> show
示例输出
/systems/localhost/storage/volumes
Targets:
md0
md1
nvme0n1p1
nvme1n1p1
Verbs:
cd
show
可以使用 “show” 命令查看任何特定卷的详细信息。
例如
nvsm(/systems/localhost/storage/volumes)-> show md0
/systems/localhost/storage/volumes/md0P
roperties:
Status_State = Enabled
Status_Health = OK
Name = md0
Encrypted = False
VolumeType = RAID-1
Drives = [ nvme0n1, nvme1n1 ]
CapacityBytes = 893.6G
Id = md0
Verbs:
cd
show
显示 GPU
可以调用 “show gpus” 命令查看系统中安装的所有 GPU 的信息,如下所示。
user@dgx-2:~$ sudo nvsm show gpus
在 NVSM CLI 交互式会话中,可以在 /systems/localhost/gpus CLI 目标下访问相同的信息。
user@dgx-2:~$ sudo nvsm
nvsm-> cd /systems/localhost/gpus
nvsm(/systems/localhost/gpus)-> show
示例输出
/systems/localhost/gpus
Targets:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Verbs:
cd
show
也可以使用 “show” 命令查看任何特定 GPU 的详细信息。
例如
nvsm(/systems/localhost/gpus)-> show 6
/systems/localhost/gpus/6
Properties:
Inventory_ModelName = Tesla V100-SXM3-32GB
Inventory_UUID = GPU-4c653056-0d6e-df7d-19c0-4663d6745b97
Inventory_SerialNumber = 0332318503073
Inventory_PCIeDeviceId = 1DB810DE
Inventory_PCIeSubSystemId = 12AB10DE
Inventory_BrandName = Tesla
Inventory_PartNumber = 699-2G504-0200-000
Verbs:
cd
show
显示单个 GPU
也可以使用 “show” 命令查看任何特定 GPU 的详细信息。
例如
nvsm(/systems/localhost/gpus)-> show GPU6
/systems/localhost/gpus/GPU6
Properties:
Inventory_ModelName = Tesla V100-SXM3-32GB
Inventory_UUID = GPU-4c653056-0d6e-df7d-19c0-4663d6745b97
Inventory_SerialNumber = 0332318503073
Inventory_PCIeDeviceId = 1DB810DE
Inventory_PCIeSubSystemId = 12AB10DE
Inventory_BrandName = Tesla
Inventory_PartNumber = 699-2G504-0200-000
Specifications_MaxPCIeGen = 3
Specifications_MaxPCIeLinkWidth = 16x
Specifications_MaxSpeeds_GraphicsClock = 1597 MHz
Specifications_MaxSpeeds_MemClock = 958 MHz
Specifications_MaxSpeeds_SMClock = 1597 MHz
Specifications_MaxSpeeds_VideoClock = 1432 MHz
Connections_PCIeGen = 3
Connections_PCIeLinkWidth = 16x
Connections_PCIeLocation = 00000000:34:00.0
Power_PowerDraw = 50.95 W
Stats_ErrorStats_ECCMode = Enabled
Stats_FrameBufferMemoryUsage_Free = 32510 MiB
Stats_FrameBufferMemoryUsage_Total = 32510 MiB
Stats_FrameBufferMemoryUsage_Used = 0 MiB
Stats_PCIeRxThroughput = 0 KB/s
Stats_PCIeTxThroughput = 0 KB/s
Stats_PerformanceState = P0
Stats_UtilDecoder = 0 %
Stats_UtilEncoder = 0 %
Stats_UtilGPU = 0 %
Stats_UtilMemory = 0 %
Status_Health = OK
Verbs:
cd
show
识别 GPU 健康状况事件
用 50 个或更少的字词解释任务的好处、任务的目的、谁应该执行任务以及何时执行任务。
NVSM 使用 NVIDIA Data Center GPU Manager (DCGM) 持续监控 GPU 健康状况,并将 GPU 健康状况问题报告为 “GPU 健康状况事件”。每当存在 GPU 健康状况事件时,NVSM 都会在 /systems/localhost/gpus
CLI 目标的 “Status_HealthRollup
” 属性中指示此状态。
“Status_HealthRollup
” 以单个值捕获系统中所有 GPU 的整体健康状况。检查 GPU 健康状况事件时,请先检查 “Status_HealthRollup
” 属性,然后再检查其他属性。
要检查 GPU 健康状况事件,请执行以下操作:
显示 GPU 健康状况的 “Properties” 部分
~$ sudo nvsm nvsm-> cd /systems/localhost/gpus nvsm(/systems/localhost/gpus)-> show -display properties
存在 GPU 相关问题的系统可能会报告以下内容。
Properties: Status_HealthRollup = Critical Status_Health = OK
此示例中的 “
Status_Health = OK
” 属性表明 NVSM 未发现任何系统级问题,例如驱动程序丢失或设备文件权限不正确。“
Status_HealthRollup = Critical
” 属性表明此系统中至少有一个 GPU 正在表现出 “Critical” 健康状况事件。要查找此 GPU,请发出以下命令以列出每个 GPU 的健康状况。
~$ sudo nvsm nvsm-> show -display properties=*health /systems/localhost/gpus/*
健康状况事件的 GPU 将在以下示例中报告,例如 GPU14。
/systems/localhost/gpus/GPU14 Properties: Status_Health = Critica
发出以下命令以显示特定 GPU(本例中为 GPU14)的详细健康状况信息。
nvsm-> cd /systems/localhost/gpus nvsm(/systems/localhost/gpus)-> show -level all GPU14/health
输出显示了涉及该特定 GPU 的所有事件。
/systems/localhost/gpus/GPU14/health Properties: Health = Critical Targets: incident0 Verbs: cd show/systems/localhost/gpus/GPU2/health/incident0 Properties: Message = GPU 14's NvLink link 2 is currently down. Health = Critical System = NVLink Verbs: cd show
此示例中的输出将范围缩小到特定 GPU 上的特定事件(或多个事件)。DCGM 将监控各种 GPU 状况,因此请使用 NVSM CLI 检查 “Status_HealthRollup
” 以了解每个事件。
显示处理器
可以使用 “show processors” 命令查看系统中安装的所有 CPU 的信息。
user@dgx-2$ sudo nvsm show processors
在 NVSM CLI 交互式会话中,可以在 /systems/localhost/processors 目标下访问相同的信息。
user@dgx-2:~$ sudo nvsm
nvsm-> cd /systems/localhost/processors
nvsm(/systems/localhost/processors)-> show
示例输出
/systems/localhost/processors
Targets:
CPU0
CPU1
alerts
policy
Verbs:
cd
show
可以使用 “show” 命令查看任何特定 CPU 的详细信息。
例如
nvsm(/systems/localhost/processors)-> show CPU0/systems/localhost/processors/CPU0
Properties:
Id = CPU0
InstructionSet = x86-64
Manufacturer = Intel(R) Corporation
MaxSpeedMHz = 3600
Model = Intel(R) Xeon(R) Platinum 8168 CPU @ 2.70GHz
Name = Central Processor
ProcessorArchitecture = x86
ProcessorId_EffectiveFamily = 6
ProcessorId_EffectiveModel = 85
ProcessorId_IdentificationRegisters = 0xBFEBFBFF00050654
ProcessorId_Step = 4
ProcessorId_VendorId = GenuineIntel
ProcessorType = CPU
Socket = CPU 0
Status_Health = OK
Status_State = Enabled
TotalCores = 24
TotalThreads = 48
Verbs:
cd
show
显示处理器警报
当 DSHM 监控守护程序检测到 CPU 内部错误 (IERR) 或热跳闸并尝试警告用户(通过电子邮件或其他方式)时,会生成处理器警报。可以在 NVSM CLI 交互式会话中的 /systems/localhost/processors/alerts 目标下查看过去的处理器警报。
user@dgx-2:~$ sudo nvsm
nvsm-> cd /systems/localhost/processors/alerts
nvsm(/systems/localhost/processors/alerts)-> show
示例输出
/systems/localhost/processors/alerts
Targets:
alert0
alert1
alert2
Verbs:
cd
show
此示例列表似乎显示了与此系统关联的三个处理器警报。可以使用 “show” 命令查看这些警报的内容。
例如
nvsm(/systems/localhost/processors/alerts)-> show alert2
/systems/localhost/processors/alerts/alert2
Properties:
system_name = xpl-bu-06
component_id = CPU0
description = CPU is reporting an error.
event_time = 2018-07-18T16:42:20.580050
recommended_action =
1. Please run nvsysinfo
2. Please open a case with NVIDIA Enterprise Support at this address https://nvid.nvidia.com/enterpriselogin
3. Attach this notification and the nvsysinfo log file from /tmp/nvsysinfo-XYZ*
severity = Critical
alert_id = NV-CPU-02
system_serial = To be filled by O.E.M.
message = System entered degraded mode, CPU0 is reporting an error.
message_details = CPU Thermtrip has occurred, processor socket temperature exceeded the thermal specifications of the component.
Verbs:
cd
show
下表给出了处理器警报的可能类别。
警报 ID |
严重性 |
详细信息 |
---|---|---|
NV-CPU-01 |
严重 |
发生不可恢复的 CPU 内部错误。 |
NV-CPU-02 |
严重 |
已发生 CPU Thermtrip,处理器插槽温度超过组件的热规格。 |
显示内存
可以使用 “show memory” 命令查看所有系统内存(即 CPU 附近安装的所有 DIMM,不包括 GPU 内存)的信息。
user@dgx-2:~$ sudo nvsm show memory
在 NVSM CLI 交互式会话中,可以在 /systems/localhost/memory 目标下访问系统内存信息。
lab@xpl-dvt-42:~$ sudo nvsm
nvsm-> cd /systems/localhost/memory
nvsm(/systems/localhost/memory)-> show
示例输出
/systems/localhost/memory
Targets:
CPU0_DIMM_A1
CPU0_DIMM_A2
CPU0_DIMM_B1
CPU0_DIMM_B2
CPU0_DIMM_C1
CPU0_DIMM_C2
CPU0_DIMM_D1
CPU0_DIMM_D2
CPU0_DIMM_E1
CPU0_DIMM_E2
CPU0_DIMM_F1
CPU0_DIMM_F2
CPU1_DIMM_G1
CPU1_DIMM_G2
CPU1_DIMM_H1
CPU1_DIMM_H2
CPU1_DIMM_I1
CPU1_DIMM_I2
CPU1_DIMM_J1
CPU1_DIMM_J2
CPU1_DIMM_K1
CPU1_DIMM_K2
CPU1_DIMM_L1
CPU1_DIMM_L2
alerts policy
Verbs:
cd
show
可以使用 “show” 命令查看任何特定内存 DIMM 的详细信息。
例如
nvsm(/systems/localhost/memory)-> show CPU2_DIMM_B1
/systems/localhost/memory/CPU2_DIMM_B1
Properties:
CapacityMiB = 65536
DataWidthBits = 64
Description = DIMM DDR4 Synchronous
Id = CPU2_DIMM_B1
Name = Memory Instance
OperatingSpeedMhz = 2666
PartNumber = 72ASS8G72LZ-2G6B2
SerialNumber = 1CD83000
Status_Health = OK
Status_State = Enabled
VendorId = Micron
Verbs:
cd
show
显示内存警报
在具有基板管理控制器 (BMC) 的 DGX 系统上,BMC 将监控 DIMM 的可纠正和不可纠正错误。每当内存错误计数超过某个阈值(由 SBIOS 确定)时,DSHM 守护程序都会生成内存警报,以尝试通知用户(通过电子邮件或其他方式)。
可以从 NVSM CLI 交互式会话中的 /systems/localhost/memory/alerts 目标访问过去的内存警报。
user@dgx-2:~$ sudo nvsm
nvsm-> cd /systems/localhost/memory/alerts
nvsm(/systems/localhost/memory/alerts)-> show
示例输出
/systems/localhost/memory/alerts
Targets:
alert0
Verbs:
cd
show
此示例列表似乎显示了与此系统关联的一个内存警报。可以使用 “show” 命令查看此警报的内容。
例如
nvsm(/systems/localhost/memory/alerts)-> show alert0
/systems/localhost/memory/alerts/alert0
Properties:
system_name = xpl-bu-06
component_id = CPU1_DIMM_A2
description = DIMM is reporting an error.
event_time = 2018-07-18T16:48:09.906572
recommended_action =
1. Please run nvsysinfo
2. Please open a case with NVIDIA Enterprise Support at this address https://nvid.nvidia.com/enterpriselogin
3. Attach this notification and the nvsysinfo log file from /tmp/nvsysinfo-XYZ*
severity = Critical
alert_id = NV-DIMM-01
system_serial = To be filled by O.E.M.
message = System entered degraded mode, CPU1_DIMM_A2 is reporting an error.
message_details = Uncorrectable error is reported.
Verbs:
cd
show
下表给出了内存警报的可能类别。
警报类型 |
严重性 |
详细信息 |
---|---|---|
NV-DIMM-01 |
严重 |
报告了不可纠正的错误。 |
显示风扇和温度
NVSM CLI 提供 “show fans” 命令来显示系统上每个风扇的信息。
~$ sudo nvsm show fans
同样,NVSM CLI 提供 “show temperatures” 命令来显示 NVSM 已知的每个温度传感器的温度信息。
~$ sudo nvsm show temperatures
在 NVSM CLI 交互式会话中,与风扇和温度相关的目标位于 /chassis/localhost/thermal 目标下。
~$ sudo nvsm
nvsm-> cd /chassis/localhost/thermal
nvsm(/chassis/localhost/thermal)-> show
示例输出
/chassis/localhost/thermal
Targets:
alerts
fans
policy
temperatures
Verbs:
cd
show
显示散热警报
DSHM 守护程序监控风扇速度和温度传感器。当这些传感器的值违反某些阈值标准时,DSHM 会生成散热警报,以尝试通知用户(通过电子邮件或其他方式)。
可以在 NVSM CLI 交互式会话中的 /chassis/localhost/thermal/alerts 目标下查看过去的散热警报。
user@dgx-2:~$ sudo nvsm
nvsm-> cd /chassis/localhost/thermal/alerts
nvsm(/chassis/localhost/thermal/alerts)-> show
示例输出
/chassis/localhost/thermal/alerts
Targets:
alert0
Verbs:
cd
show
此示例列表似乎显示了与此系统关联的一个散热警报。可以使用 “show” 命令查看此警报的内容。
例如
nvsm(/chassis/localhost/thermal/alerts)-> show alert0
/chassis/localhost/thermal/alerts/alert0
Properties:
system_name = system-name
component_id = FAN1_R
description = Fan Module is reporting an error.
event_time = 2018-07-12T15:12:22.076814
recommended_action =
1. Please run nvsysinfo
2. Please open a case with NVIDIA Enterprise Support at this address https://nvid.nvidia.com/enterpriselogin 3. Attach this notification and the nvsysinfo log file from /tmp/nvsysinfo-XYZ*
severity = Critical
alert_id = NV-FAN-01
system_serial = To be filled by O.E.M.
message = System entered degraded mode, FAN1_R is reporting an error.
message_details = Fan speed reading has fallen below the expected speed setting.
Verbs: cd show
从该警报中的消息来看,似乎此系统中的一个后部风扇已损坏。这是在生成此警报时用户将收到的确切消息,假设已启用警报通知。
下表给出了与散热相关的(风扇和温度)警报的可能类别。
警报 ID |
严重性 |
详细信息 |
---|---|---|
NV-FAN-01 |
严重 |
风扇速度读数已降至预期速度设置以下。 |
NV-FAN-02 |
严重 |
风扇读数无法访问。 |
NV-PDB-01 |
严重 |
工作温度超过组件的热规格。 |
显示风扇
在 NVSM CLI 交互式会话中,系统上的每个风扇都由 /chassis/localhost/thermal/fans 目标下的目标表示。可以使用 “show” 命令获取系统上的风扇列表。
user@dgx-2:~$ sudo nvsm
nvsm-> cd /chassis/localhost/thermal/fans
nvsm(/chassis/localhost/thermal/fans)-> show
示例输出
/chassis/localhost/thermal/fans
Targets:
FAN10_F
FAN10_R
FAN1_F
FAN1_R
FAN2_F
FAN2_R
FAN3_F
FAN3_R
FAN4_F
FAN4_R
FAN5_F
FAN5_R
FAN6_F
FAN6_R
FAN7_F
FAN7_R
FAN8_F
FAN8_R
FAN9_F
FAN9_R
PDB_FAN1
PDB_FAN2
PDB_FAN3
PDB_FAN4
Verbs:
cd
show
再次使用 “show” 命令,可以按如下方式获取任何给定风扇的详细信息。
例如
nvsm(/chassis/localhost/thermal/fans)-> show PDB_FAN2
/chassis/localhost/thermal/fans/PDB_FAN2
Properties:
Status_State = Enabled
Status_Health = OK
Name = PDB_FAN2
MemberId = 21
ReadingUnits = RPM
LowerThresholdNonCritical = 11900.000
Reading = 13804 RPM
LowerThresholdCritical = 10744.000
Verbs:
cd
show
显示温度
NVSM 已知的每个温度传感器都表示为 /chassis/localhost/thermal/temperatures 目标下的目标。可以使用以下命令获取系统上的温度传感器列表。
nvsm(/chassis/localhost/thermal/temperatures)-> show
示例输出
/chassis/localhost/thermal/temperatures
Targets:
PDB1
PDB2
Verbs:
cd
show
与风扇一样,可以使用 “show” 命令查看任何温度传感器的详细信息。
例如
nvsm(/chassis/localhost/thermal/temperatures)-> show PDB2
/chassis/localhost/thermal/temperatures/PDB2
Properties:
Status_State = Enabled
Status_Health = OK
Name = PDB2
PhysicalContext = PDB
MemberId = 1
ReadingCelsius = 20 degrees C
UpperThresholdNonCritical = 127.000
SensorNumber = 66h
UpperThresholdCritical = 127.000
Verbs:
cd
show
显示电源
NVSM CLI 提供 “show power” 命令来显示系统上存在的所有电源的信息。
user@dgx-2:~$ sudo nvsm show power
在 NVSM CLI 交互式会话中,可以在 /chassis/localhost/power 目标下找到电源信息。
user@dgx-2:~$ sudo nvsm
nvsm-> cd /chassis/localhost/power
nvsm(/chassis/localhost/power)-> show
示例输出
/chassis/localhost/power
Targets:
PSU1
PSU2
PSU3
PSU4
PSU5
PSU6
alerts policyVerbs: cd show
可以使用 “show” 命令查看任何特定电源的详细信息,如下所示。
例如
nvsm(/chassis/localhost/power)-> show PSU4
/chassis/localhost/power/PSU4
Properties:
Status_State = Present
Status_Health = OK
LastPowerOutputWatts = 442
Name = PSU4
SerialNumber = DTHTCD18240
MemberId = 3
PowerSupplyType = AC
Model = ECD16010081
Manufacturer = Delta
Verbs:
cd
show
显示电源警报
DSHM 守护程序监控 PSU 状态。当 PSU 状态不是 Ok 时,DSHM 会生成电源警报,以尝试通知用户(通过电子邮件或其他方式)。
可以在 NVSM CLI 交互式会话的 /chassis/localhost/power/alerts 目标下查看之前的电源警报。
user@dgx-2:~$ sudo nvsm
nvsm-> cd /chassis/localhost/power/alerts
nvsm(/chassis/localhost/power/alerts)-> show
示例输出
/chassis/localhost/power/alerts
Targets:
alert0
alert1
alert2
alert3
alert4
Verbs:
cd
show
此示例列表显示了一个具有五个先前电源警报的系统。可以使用 “show” 命令查看任何一个警报的详细信息。
例如
nvsm(/chassis/localhost/power/alerts)-> show alert4
/chassis/localhost/power/alerts/alert4
Properties:
system_name = system-name
component_id = PSU4
description = PSU is reporting an error.
event_time = 2018-07-18T16:01:27.462005
recommended_action =
1. Please run nvsysinfo
2. Please open a case with NVIDIA Enterprise Support at this address https://nvid.nvidia.com/enterpriselogin
3. Attach this notification and the nvsysinfo log file from /tmp/nvsysinfo-XYZ*
severity = Warning
alert_id = NV-PSU-05
system_serial = To be filled by O.E.M.
message = System entered degraded mode, PSU4 is reporting an error.
message_details = PSU is missing
Verbs:
cd
show
下表给出了电源警报的可能类别。
警报 ID |
严重性 |
详细信息 |
---|---|---|
NV-PSU-01 |
严重 |
电源模块已发生故障。 |
NV-PSU-02 |
警告 |
检测到电源模块的预测性故障。 |
NV-PSU-03 |
严重 |
电源模块的输入丢失。 |
NV-PSU-04 |
严重 |
输入电压超出电源模块的范围。 |
NV-PSU-05 |
警告 |
PSU 丢失 |
显示网络适配器
NVSM CLI 提供 show networkadapters
命令来显示机箱中每个物理网络适配器的信息。
~$ sudo nvsm show networkadapters
在 NVSM CLI 交互式会话中,与网络适配器相关的目标位于 /chassis/localhost/NetworkAdapters
目标下。
~$ sudo nvsm
nvsm-> cd /chassis/localhost/NetworkAdapters
nvsm(/chassis/localhost/NetworkAdapters)-> show
显示已静音适配器列表
要显示已静音适配器的列表,请运行以下命令
$ sudo nvsm show /chassis/localhost/NetworkAdapters/policy
/chassis/localhost/NetworkAdapters/policy
Properties:
mute_monitoring = <NOT_SET>
mute_notification = <NOT_SET>
显示网络端口
NVSM CLI 提供 show networkports
命令来显示机箱中每个物理网络端口的信息。
~$ sudo nvsm show networkports
在 NVSM CLI 交互式会话中,与网络适配器相关的目标位于 /chassis/localhost/NetworkAdapter/<id>/NetworkPort 目标下,其中 <id> 是从 nvsm show networkadapters
命令显示的其中一个网络适配器 ID。
~$ sudo nvsm
nvsm-> cd /chassis/localhost/NetworkAdapters/<id>/NetworkPorts
nvsm(/chassis/localhost/NetworkAdapters/<id>/NetworkPorts)-> show
显示网络设备功能
NVSM CLI 提供 show networkdevicefunctions
命令来显示机箱中每个以网络适配器为中心的 PCIe 功能的信息。
~$ sudo nvsm show networkdevicefunctions
在 NVSM CLI 交互式会话中,与网络设备功能相关的目标位于 /chassis/localhost/NetworkAdapter/<id>/NetworkDeviceFunctions
目标下,其中 <id> 是从 nvsm show networkadapters
命令显示的其中一个网络适配器 ID。
~$ sudo nvsm
nvsm-> cd /chassis/localhost/NetworkAdapters/<id>/NetworkDeviceFunctions
nvsm(/chassis/localhost/NetworkAdapters/<id>/NetworkDeviceFunctions)-> show
显示接口列表
运行以下命令
$ sudo nvsm show /chassis/localhost/NetworkAdapters
/chassis/localhost/NetworkAdapters
Targets:
PCI0000_0c_00
PCI0000_12_00
PCI0000_4b_00
PCI0000_54_00
PCI0000_8d_00
PCI0000_94_00
PCI0000_ba_00
PCI0000_cc_00
PCI0000_e1_00
PCI0000_e2_00
显示网络接口
NVSM CLI 提供 show networkinterfaces
命令来显示系统上每个逻辑网络适配器的信息。
~$ sudo nvsm show networkinterfaces
在 NVSM CLI 交互式会话中,与网络适配器相关的目标位于 /system/localhost/networkinterfaces
目标下。
~$ sudo nvsm
nvsm-> cd /system/localhost/NetworkInterfaces
nvsm(/system/localhost/NetworkInterfaces)-> show
将接口添加到静音通知
以下是可以运行以将接口添加到静音通知的命令示例
$ sudo nvsm set chassis/localhost/NetworkAdapters/policy mute_notification=PCI0000_0c_00,PCI0000_12_00
检查软件健康状况
NVSM 监控软件健康状况服务有助于识别和排除软件层中各个级别存在的系统问题。软件层是指 DGX 服务器上部署的操作系统中已安装的软件包、服务和配置部分。
可以使用以下命令显示软件健康状况服务
sudo nvsm show health --software_health
或
sudo nvsm show health -swh
示例输出
Info
----
TimeStamp: Mon Jan 29 03:30:03 UTC 2024
Nvsm Version: 23.12.01
Product Name: DGXA100
Serial Number: <serial number>
Host Name: <hostname>
Checks
---------
Checking DGX OS packages/services
----------------------------------
Version Compatibility:
Check nvidia-driver, nvidia-utils, libnvidia-compute....................... Healthy
nvidia-driver:535.129.3 nvidia-utils:535.129.3 libnvidia-compute:535.129.3
Check nvidia-driver & nvidia-fabricmanager................................. Healthy
nvidia-driver:535.129.3 nvidia-fabricmanager:535.129.3
Check nvidia-driver & libnvidia-nscq....................................... Healthy
nvidia-driver:535.129.3 libnvidia-nscq:535.129.3
Service check:
Check nvsm(nvsm.service)................................................... Healthy
Check persistenced manager(nvidia-persistenced.service).................... Healthy
Check fabric manager(nvidia-fabricmanager.service)......................... Healthy
Check mig manager(nvidia-mig-manager.service).............................. Healthy
Check nvidia acs disable(nvidia-acs-disable.service)....................... Healthy
Check nvidia Mellanox Config(nvidia-mlnx-config.service)................... Healthy
Check dcgm(nvidia-dcgm.service)............................................ Healthy
Packages check:
Check dgx-release.......................................................... Healthy
Check base packages........................................................ Healthy
Check upgrade related packages DGX......................................... Informational
Package nvidia-peer-memory not installed.
Platform specific checks:
Check Nvidia built kernel being used....................................... Healthy
linux-nvidia:5.15.0
Check packages in hold state............................................... Informational
Package dgx-a100-system-configurations is in hold state.
Package dgx-a100-system-tools-extra is in hold state.
Package dgx-a100-system-tools is in hold state.
dgx-a100-system-configurations:23.3.-1 dgx-a100-system-tools-extra:22.12.-1 dgx-a100-system-tools:22.12.-1
Check ubuntu upgrade readiness............................................. Healthy
ubuntu-release-upgrader-core:22.4.17
Check Kernel Params........................................................ Healthy
Check libnvidia-ml.so.1 linked to the installed driver..................... Healthy
nvidia-driver:535.129.3
Check nvidia driver installed via .run file................................ Healthy
Check if nvidia-driver is DKMS installed................................... Healthy
Check package version consistency.......................................... Healthy
Check dgx-release and dgx-os version....................................... Healthy
dgx-release:6.1.0
Check nvidia-driver version installed is loaded............................ Healthy
nvidia-driver:535.129.3
Check for any partial upgrade in the system................................ Healthy
Check MAX_ACC_OUT_READ value set right..................................... Healthy
Check for key ring validity................................................ Healthy
Version support matrix check:
Check DGX AX00 matrix...................................................... Healthy
Proxy configuration check:
Check apt proxy configuration.............................................. Healthy
No proxy configuration found.
Package repository configuration check:
Check dgx repository....................................................... Healthy
Check nvidia hpc sdk repository............................................ Healthy
Configuration /etc/apt/preferences.d/hpc-sdk-repo not present.
Check cuda compute repository.............................................. Informational
Conflicting configuration
deb [signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg
https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /
found in the file /etc/apt/sources.list.d/cuda-ubuntu2004-x86_64.list .
Check apt update........................................................... Healthy
Check jammy-updates/dgx priority set to highest............................ Healthy
Check jammy/dgx priority set to highest.................................... Healthy
Check jammy/common priority set to highest................................. Healthy
Check jammy-updates/common priority set to highest......................... Healthy
Checking Container infrastructure packages/services
----------------------------------------------------
Version Compatibility:
Check libnvidia-container-tools & nvidia-container-toolkit................. Healthy
libnvidia-container-tools:1.14.3 nvidia-container-toolkit:1.14.3
Check nvidia-container-toolkit-base & libnvidia-container-tools............ Healthy
nvidia-container-toolkit-base:1.14.3 libnvidia-container-tools:1.14.3
Check libnvidia-container1 & libnvidia-container-tools..................... Healthy
libnvidia-container1:1.14.3 libnvidia-container-tools:1.14.3
Service check:
Check Docker services(docker.service)...................................... Healthy
Check Containerd services(containerd.service).............................. Healthy
Packages check:
Check base Packages........................................................ Healthy
File configuration checks:
Check docker configuration................................................. Informational
Config default-runtime:nvidia not found in file /etc/docker/daemon.json
gpus will not get enabled on containers.
Check container configuration.............................................. Informational
Config default_runtime_name = "nvidia" not found in file /etc/containerd/config.toml
gpus will not get enabled on containers.
Health Summary
----------------
39 out of 44 checks are healthy
0 out of 44 checks are unhealthy
0 out of 44 checks are unknown
5 out of 44 checks are informational
100.0% [=========================================]
Status: Healthy
软件健康状况服务将输出格式化,如下所述。
软件健康域
域表示属于同一系统类别的检查集合。软件健康状况服务检查以下域
DGX 操作系统软件包/服务
容器基础设施软件包/服务
Kubernetes 软件包/服务(如果已安装)
Slurm 软件包/服务(如果已安装)
软件健康检查
检查是域的组成部分,其分类如下
索引 |
检查 |
描述 |
---|---|---|
1 |
版本兼容性 |
此类别中的检查验证不同软件包之间的版本兼容性。 |
2 |
服务检查 |
此类别中的检查验证不同基本软件服务的状态和状况。 |
3 |
软件包检查 |
此类别中的检查验证平台所需的基本软件包的部署状态。 |
4 |
平台特定检查 |
此类别中的检查特定于平台或域。这些检查验证系统的各种系统参数。 |
5 |
版本支持矩阵检查 |
此类别中的检查验证软件包的部署以及软件包的相应版本。 |
6 |
代理配置检查 |
检查系统上进行的代理配置设置是否处于正确状态。 |
7 |
软件包存储库配置检查 |
此类别中的检查检查存储库设置以及执行软件更新所需的设置。 |
8 |
文件配置检查 |
检查给定的配置文件及其相关内容是否按预期设置。 |
系统监控配置
NVSM 提供 DSHM 服务来监控 DGX 系统的状态。
NVSM CLI 可用于通过 NVSM API 服务器与 DSHM 系统监控服务进行交互。
配置电子邮件警报
为了通过电子邮件接收 DSHM 生成的警报,请使用 NVSM CLI 在全局策略中配置电子邮件设置。每当生成新警报时,用户都应收到电子邮件。必须根据用户托管的 SMTP 服务器设置配置发件人地址、收件人地址、SMTP 服务器 IP 地址和 SMTP 服务器端口号。
电子邮件配置属性
属性 |
描述 |
---|---|
email_sender |
发件人电子邮件地址 必须是有效的电子邮件地址,否则将不会发送任何电子邮件。 |
email_recipients |
电子邮件将要发送的收件人列表 [ user1@domain.com,user2@domain.com ] |
email_smtp_server_name |
用户想要用于中继电子邮件的 SMTP 服务器名称 [ smtp.domain.com ] |
email_smtp_server_port |
SMTP 服务器用于提供 SMTP 中继服务的端口号。数值 |
以下示例说明了如何使用 NVSM CLI 在全局策略中配置电子邮件设置。
user@dgx-2:~$sudo nvsm set /policy email_sender=dgx-admin@nvidia.com
user@dgx-2:~$sudo nvsm set /policy email_smtp_server_name=smtpserver.nvidia.com
user@dgx-2:~$sudo nvsm set /policy email_recipients=jdoe@nvidia.com,jdeer@nvidia.com
user@dgx-2:~$sudo nvsm set /policy email_smtp_server_port=465
为电子邮件生成测试警报
从 NVSM CLI 交互式会话中,用户可以生成测试警报,以触发 SMTP 实例并接收电子邮件通知。
创建测试警报
NVSM CLI 提供 “create testalert
” 命令来生成一个虚拟警报,该警报将触发任何已定义的 SMTP 或呼叫中心通知。在 NVSM CLI 交互式会话中,此基本命令会生成一个虚拟警报,其默认 component_``id = Test0`` 和 severity = Warning
。
~$ sudo nvsm create testalert
要配置测试警报的严重性和组件,请执行以下操作
~$ sudo nvsm create testalert <component_id> <severity>
生成虚拟警报的示例,其中 component_id = Email1
和 severity = Critical
~$ sudo nvsm create testalert Email1 Critical
清除测试警报
NVSM CLI 还提供 “clear testalert
” 命令来解除生成的虚拟警报。在 NVSM CLI 交互式会话中,此基本命令将清除任何 component_id=Test0
的测试警报,即使存在多个此类警报。
~$ sudo nvsm clear testalert
要指定要解除哪个测试警报,请执行以下操作
~$ sudo nvsm clear testalert <component_id>
显示测试警报
要显示所有生成的测试警报,NVSM CLI 提供 “show testalerts
” 命令
~$ sudo nvsm show testalerts
示例输出:
/systems/localhost/testalerts/alert0
Properties:
system_name = system-name5
message_details = Dummy Test
component_id = Test0
description = No component is reporting an error. This is a test.
event_time = 2021-08-04T15:55:46.926710484-07:00
recommended_action = Please run 'sudo nvsm clear testalert' to dismiss this alert.
alert_id = NV-TEST-01
system_serial = To be filled by O.E.M.
message = Test Alert.
severity = Warning
clear_time = -
hidden = false
type = TestAlerts
了解系统监控策略
从 NVSM CLI 交互式会话中,系统监控策略设置可以在以下目标下访问。
CLI 目标 |
描述 |
---|---|
/policy |
全局 NVSM 监控策略,例如用于警报通知的电子邮件设置。 |
/systems/localhost/gpus/policy |
|
/systems/localhost/memory/policy |
用于监控 DIMM 可纠正和不可纠正错误的 NVSM 策略。 |
/systems/localhost/processors/policy |
用于监控 CPU 机器检查异常 (MCE) 的 NVSM 策略 |
/systems/localhost/storage/policy |
用于监控存储驱动器和卷的 NVSM 策略 |
/chassis/policy |
|
/chassis/localhost/thermal/policy |
用于监控基板管理控制器 (BMC) 报告的风扇速度和温度的 NVSM 策略 |
/chassis/localhost/power/policy |
用于监控 BMC 报告的电源电压的 NVSM 策略 |
/chassis/localhost/NetworkAdapters/policy |
用于监控物理网络适配器的 NVSM 策略 |
/chassis/localhost/NetworkAdapters/<ETH x >/NetworkPorts/policy |
用于监控指定以太网网络适配器的网络端口的 NVSM 策略 |
/chassis/localhost/NetworkAdapters/<IB y >/NetworkPorts/policy |
用于监控指定 InfiniBand 网络适配器的网络端口的 NVSM 策略 |
/chassis/localhost/NetworkAdapters/<ETH x >/NetworkDeviceFunctions/policy |
用于监控指定以太网网络适配器的 PCIe 功能的 NVSM 策略 |
/chassis/localhost/NetworkAdapters/<IB y >/NetworkDeviceFunctions/policy |
用于监控指定 InfiniBand 网络适配器的 PCIe 功能的 NVSM 策略 |
全局监控策略
全局监控策略由 NVSM CLI 的 /policy 目标表示。
user@dgx-2:~$ sudo nvsm show /policy
示例输出
/policy
Properties:
email_sender = NVIDIA DSHM Service
email_smtp_server_name = smtp.example.com
email_recipients = jdoe@nvidia.com,jdeer@nvidia.com
email_smtp_server_port = 465
Verbs:
cd
set
show
全局监控策略的属性在下表中描述。
属性 |
描述 |
---|---|
email_sender |
发件人电子邮件地址 |
email_recipients |
电子邮件将要发送的收件人列表 [ user1@domain.com,user2@domain.com ] |
email_smtp_server_name |
用户想要用于中继电子邮件的 SMTP 服务器名称 [ smtp.domain.com ] |
email_smtp_server_port |
SMTP 服务器用于提供 SMTP 中继服务的端口号。数值 |
内存监控策略
内存监控策略由 NVSM CLI 的 /systems/localhost/memory/policy 目标表示。
user@dgx-2:~$ sudo nvsm show /systems/localhost/memory/policy
示例输出
/systems/localhost/memory/policy
Properties:
mute_notification = <NOT_SET>
mute_monitoring = <NOT_SET>
Verbs:
cd
set
show
内存监控策略的属性在下表中描述。
属性 |
语法 |
描述 |
---|---|---|
mute_notification |
逗号分隔的 DIMM ID 列表 示例:CPU1_DIMM_A1,CPU2_DIMM_F2 |
列表中设备的电子邮件警报通知被抑制。 |
mute_monitoring |
逗号分隔的 DIMM ID 列表 示例:CPU1_DIMM_A1,CPU2_DIMM_F2 |
列表中设备的运行状况监控被抑制。 |
处理器监控策略
处理器监控策略由 NVSM CLI 的 /systems/localhost/processors/policy 目标表示。
user@dgx-2:~$ sudo nvsm show /systems/localhost/processors/policy
示例输出
/systems/localhost/processors/policy
Properties:
mute_notification = <NOT_SET>
mute_monitoring = <NOT_SET>
Verbs:
cd
set
show
处理器监控策略的属性在下表中描述。
属性 |
语法 |
描述 |
---|---|---|
mute_notification |
逗号分隔的 CPU ID 列表。 示例:CPU0,CPU1 |
列表中设备的电子邮件警报通知被抑制。 |
mute_monitoring |
逗号分隔的 CPU ID 列表 示例:CPU0,CPU1 |
列表中设备的运行状况监控被抑制。 |
存储监控策略
存储监控策略由 NVSM CLI 的 /systems/localhost/storage/1/policy 目标表示。
user@dgx-2:~$ sudo nvsm show /systems/localhost/storage/policy
示例输出
/systems/localhost/storage/policy
Properties:
volume_mute_monitoring = <NOT_SET>
volume_poll_interval = 10
drive_mute_monitoring = <NOT_SET>
drive_mute_notification = <NOT_SET>
drive_poll_interval = 10
volume_mute_notification = <NOT_SET>
Verbs:
cd
set
show
存储监控策略的属性在下表中描述。
属性 |
语法 |
描述 |
---|---|---|
drive_mute_notification |
逗号分隔的驱动器插槽列表 示例:0, 1 等 |
列表中驱动器的电子邮件警报通知被抑制。 |
drive_mute_monitoring |
逗号分隔的驱动器插槽列表 示例:0, 1 等 |
列表中驱动器的运行状况监控被抑制。 |
drive_poll_interval |
正整数 |
DSHM 定期检查驱动器的运行状况。默认情况下,此轮询每 10 秒发生一次。轮询间隔可以通过此属性配置。 |
volume_mute_notification |
逗号分隔的卷标识符列表 示例:md0, md1 等 |
列表中卷的电子邮件警报通知被抑制 |
volume_mute_monitoring |
逗号分隔的卷标识符列表 示例:md0, md1 等 |
列表中卷的运行状况监控被抑制 |
volume_poll_interval |
正整数 |
DSHM 定期检查卷的运行状况。默认情况下,此轮询每 10 秒发生一次。轮询间隔可以通过此属性配置。 |
存储卷由 NVSM 通过其关联的 UUID 唯一标识。因此,卷资源的静音监控将使用 UUID 而不是卷名。这是 NVSM 21.09 以上版本所必需的。
以下列出了识别要在静音监控和通知中设置的卷的 UUID 的步骤。
要获取服务器中卷的列表,请运行以下命令
# nvsm show volumes
# nvsm show volumes /systems/localhost/storage/volumes/md0 Properties: CapacityBytes = 1918641373184 Encrypted = False Id = md0 Name = md0 Status_Health = OK Status_State = Enabled VolumeType = Mirrored
要查找特定卷的 UUID,请运行以下命令。该命令列出了包含名为 md0 的卷的 UUID 的属性
# mdadm --detail /dev/{volume name}
# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Tue Feb 23 18:04:37 2021 Raid Level : raid1 Array Size : 1873673216 (1786.87 GiB 1918.64 GB) Used Dev Size : 1873673216 (1786.87 GiB 1918.64 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Tue Apr 11 08:13:48 2023 State : active Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Consistency Policy : bitmap Name : dgx-20-04:0 UUID : 3568aa82:dc3da8ac:5c17ea13:b04cf894 Events : 78460 Number Major Minor RaidDevice State 0 259 5 0 active sync /dev/nvme2n1p2 1 259 15 1 active sync /dev/nvme3n1p2
运行以下命令以设置静音监控的 UUID
# nvsm set /systems/localhost/storage/policy volume_mute_monitoring=<UUID>
# nvsm set /systems/localhost/storage/policy volume_mute_monitoring=3568aa82:dc3da8ac:5c17ea13:b04cf894
运行以下命令以设置静音通知的 UUID
# nvsm set /systems/localhost/storage/policy volume_mute_notification=<UUID>
# nvsm set /systems/localhost/storage/policy volume_mute_notification=3568aa82:dc3da8ac:5c17ea13:b04cf894
运行以下命令以验证策略是否已正确设置
# nvsm show /systems/localhost/storage/policy
# nvsm show /systems/localhost/storage/policy /systems/localhost/storage/policy Properties: controller_mute_monitoring = <NOT_SET> controller_mute_notification = <NOT_SET> controller_poll_interval = 60 drive_mute_monitoring = <NOT_SET> drive_mute_notification = <NOT_SET> drive_poll_interval = 60 volume_mute_monitoring = 3568aa82:dc3da8ac:5c17ea13:b04cf894 volume_mute_notification = 3568aa82:dc3da8ac:5c17ea13:b04cf894 volume_poll_interval = 60 Targets: Verbs: cd set show
散热监控策略
散热监控策略(用于风扇速度和温度)由 NVSM CLI 的 /chassis/localhost/thermal/policy 目标表示。
user@dgx-2:~$ sudo nvsm show /chassis/localhost/thermal/policy
示例输出
/chassis/localhost/thermal/policy
Properties:
fan_mute_notification = <NOT_SET>
pdb_mute_monitoring = <NOT_SET>
fan_mute_monitoring = <NOT_SET>
pdb_mute_notification = <NOT_SET>
Verbs:
cd
set
show
散热监控策略的属性在下表中描述。
属性 |
语法 |
描述 |
---|---|---|
fan_mute_notification |
逗号分隔的 FAN ID 列表。 示例:FAN2_R,FAN1_L,PDB_FAN2 |
列表中设备的电子邮件警报通知被抑制。 |
fan_mute_monitoring |
逗号分隔的 FAN ID 列表 示例:FAN6_F,PDB_FAN1 |
列表中设备的运行状况监控被抑制。 |
pdb_mute_notification |
逗号分隔的 PDB ID 列表。 示例:PDB1,PDB2 |
列表中设备的电子邮件警报通知被抑制。 |
pdb_mute_monitoring |
逗号分隔的 PDB ID 列表 示例:PDB1 |
列表中设备的运行状况监控被抑制。 |
电源监控策略
电源监控策略由 NVSM CLI 的 /chassis/localhost/power/policy 目标表示。
user@dgx-2:~$ sudo nvsm show /chassis/localhost/power/policy
示例输出
/chassis/localhost/power/policy
Properties:
mute_notification = <NOT_SET>
mute_monitoring = <NOT_SET>
Verbs:
cd
set
show
电源监控策略的属性在下表中描述。
属性 |
语法 |
描述 |
---|---|---|
mute_notification |
逗号分隔的 PSU ID 列表。 示例:PSU4,PSU2 |
列表中设备的电子邮件警报通知被抑制。 |
mute_monitoring |
逗号分隔的 FAN ID 列表 示例:PSU1,PSU4 |
列表中设备的运行状况监控被抑制。 |
PCIe 监控策略
内存监控策略由 NVSM CLI 的 /systems/localhost/pcie/policy 目标表示。
:~$ sudo nvsm show /systems/localhost/pcie/policy
示例输出
/systems/localhost/pcie/policy
Properties:
mute_notification = <NOT_SET>
mute_monitoring = <NOT_SET>
Verbs:
cd
set
show
内存监控策略的属性在下表中描述。
属性 |
语法 |
描述 |
---|---|---|
mute_notification |
逗号分隔的 PCIe ID 列表 |
列表中设备的电子邮件警报通知被抑制。 |
mute_monitoring |
逗号分隔的 PCIe ID 列表 |
列表中设备的运行状况监控被抑制。 |
GPU 监控策略
内存监控策略由 NVSM CLI 的 /systems/localhost/gpus/policy 目标表示。
:~$ sudo nvsm show /systems/localhost/gpus/policy
示例输出
/systems/localhost/gpus/policy
Properties:
mute_notification = <NOT_SET>
mute_monitoring = <NOT_SET>
Verbs:
cd
set
show
内存监控策略的属性在下表中描述。
属性 |
语法 |
描述 |
---|---|---|
mute_notification |
逗号分隔的 GPU ID 列表 |
列表中设备的电子邮件警报通知被抑制。 |
mute_monitoring |
逗号分隔的 GPU ID 列表 |
列表中设备的运行状况监控被抑制。 |
网络适配器监控策略
网络适配器策略
物理网络适配器监控策略由 /chassis/localhost/NetworkAdapters/policy
NVSM CLI 的目标表示。
:~$ sudo nvsm show /chassis/localhost/NetworkAdapters/policy
示例输出
/chassis/localhost/NetworkAdapters/policy
Properties:
mute_notification = <NOT_SET>
mute_monitoring = <NOT_SET>
Verbs:
cd
set
show
属性在下表中描述。
属性 |
语法 |
描述 |
---|---|---|
mute_notification |
逗号分隔的物理网络适配器 ID 列表。 |
列表中设备的电子邮件警报通知被抑制。 |
mute_monitoring |
逗号分隔的物理网络适配器 ID 列表。 |
列表中设备的运行状况监控被抑制。 |
静音监控是通过使用物理适配器名称而不是逻辑名称来分配的。要获取物理适配器名称,请使用命令
$ sudo nvsm show /chassis/localhost/NetworkAdapters
此命令将显示目标适配器名称列表,如下所示
:~$:/etc/nvsm/platforms# sudo nvsm show /chassis/localhost/NetworkAdapters
/chassis/localhost/NetworkAdapters
Targets:
PCI0000_0c_00
PCI0000_12_00
PCI0000_4b_00
PCI0000_54_00
PCI0000_8d_00
PCI0000_94_00
PCI0000_ba_00
PCI0000_cc_00
PCI0000_e1_00
PCI0000_e2_00
注意
使用这些适配器名称来分配监控策略。
这是一个使用 PCI0000_0c_00
网络接口的示例
:~$ sudo nvsm show /chassis/localhost/NetworkAdapters/PCI0000_0c_00/NetworkPorts/policy
示例输出
/chassis/localhost/NetworkAdapters/PCI0000_0c_00/NetworkPorts/policy
Properties:
mute_notification = <NOT_SET>
mute_monitoring = <NOT_SET>
Verbs:
cd
set
show
属性在下表中描述。
属性 |
语法 |
描述 |
---|---|---|
mute_notification |
逗号分隔的物理网络端口 ID 列表。 |
列表中设备的电子邮件警报通知被抑制。 |
mute_monitoring |
逗号分隔的物理网络端口 ID 列表 |
列表中设备的运行状况监控被抑制。 |
网络设备功能策略
网络设备功能监控策略由 /chassis/localhost/NetworkAdapters/<network-id>/NetworkDeviceFunctions/policy
NVSM CLI 的目标表示。
以下命令使用 PCI0000_0c_00
网络端口来演示此命令。
:~$ sudo nvsm show /chassis/localhost/NetworkAdapters/PCI0000_0c_00/NetworkDeviceFunctions/policy
示例输出
/chassis/localhost/NetworkAdapters/PCI0000_0c_00/NetworkDeviceFunctions/policy
Properties:
mute_monitoring = <NOT_SET>
mute_notification = <NOT_SET>
rx_collision_threshold = 5
rx_crc_threshold = 5
tx_collision_threshold = 5
Verbs:
cd
set
show
属性在下表中描述。
属性 |
语法 |
描述 |
---|---|---|
mute_notification |
逗号分隔的以网络为中心的 PCIe 功能 ID 列表。 示例:PSU4,PSU2 |
列表中设备的电子邮件警报通知被抑制。 |
mute_monitoring |
逗号分隔的以网络为中心的 PCIe 功能 ID 列表。 示例:PSU1,PSU4 |
列表中设备的运行状况监控被抑制。 |
rx_collision_threshold |
正整数 |
|
rx_crc_threshold |
正整数 |
|
tx_collision_threshold |
正整数 |
执行系统管理任务
本节介绍用于完成某些系统管理任务的命令。
为当前 NVSM 重建 RAID/ESP 阵列
在 DGX 系统上,缓存驱动器默认配置为 RAID 0 阵列。此卷挂载到 /raid
。在下面的示例中,它显示为 /dev/md1
,但名称可能因操作系统命名方案和配置而异。
此外,对于具有两个 NVMe OS 驱动器的 DGX 系统,每个 OS 驱动器都有两个分区
第二个分区配置为安装了操作系统的 RAID 1 阵列。在下面的示例中,它显示为
/dev/md0
。第一个分区称为 EFI 系统分区 (ESP)。NVSM 监控来自两个驱动器的此分区的内容。如果其中一个 ESP 损坏,则可以使用 NVSM 从健康的 ESP 恢复该分区。
注意
这不是 RAID 阵列,因为 UEFI 不支持从软件 raid 卷启动。
查看健康的 RAID/ESP 卷
在健康的系统上,OS 卷显示 VolumeType = Mirrored
和 Status_Health = OK
。例如
nvsm(/systems/localhost/storage)-> show volumes/md0
/systems/localhost/storage/volumes/md0
Properties:
CapacityBytes = 1918641373184
Encrypted = False
Id = md0
Name = md0
Status_Health = OK
Status_State = Enabled
VolumeType = Mirrored
Targets:
Verbs:
cd
show
缓存卷显示 VolumeType = NonRedundant
和 Status_Health = OK
。例如
nvsm-> cd /systems/localhost/storage
nvsm(/systems/localhost/storage)-> show volumes/md1
/systems/localhost/storage/volumes/md1
Properties:
CapacityBytes = 30724962910208
Encrypted = False
Id = md1
Name = md1
Status_Health = OK
Status_State = Enabled
VolumeType = NonRedundant
Targets:
encryption
Verbs:
cd
show
ESP 卷显示 VolumeType = EFI
系统分区和 Status_Health = OK
。ESP 卷的名称因系统而异;您可以使用命令 nvsm show volumes 列出所有卷并查找 VolumeType = EFI
系统分区。这是来自 DGX A100 的示例
nvsm(/systems/localhost/storage)-> show volumes
...
/systems/localhost/storage/volumes/nvme2n1p1
Properties:
CapacityBytes = 536870912
Encrypted = False
Id = nvme2n1p1
Name = nvme2n1p1
Status_Health = OK
Status_State = Enabled
VolumeType = EFI system partition
...
/systems/localhost/storage/volumes/nvme3n1p1
Properties:
CapacityBytes = 536870912
Encrypted = False
Id = nvme3n1p1
Name = nvme3n1p1
Status_Health = OK
Status_State = StandbyOffline
VolumeType = EFI system partition
Targets:
Verbs:
cd
show
查看降级的 RAID/ESP 卷
在 OS 卷降级的系统上,md0 卷将仅显示一个驱动器,并显示以下 Status_Health = Critical
消息
nvsm-> cd /systems/localhost/storage
nvsm(/systems/localhost/storage)-> show volumes/md0
/systems/localhost/storage/volumes/md0
Properties:
CapacityBytes = 1918641373184
Encrypted = False
Id = md0
Name = md0
Status_Health = Critical
Status_State = Enabled
VolumeType = Mirrored
Targets:
Verbs:
cd
show
在 ESP 损坏的系统上,卷将显示以下 Status_Health = Critical
和 Status_State = UnavailableOffline
消息
nvsm-> cd /systems/localhost/storage
nvsm(/systems/localhost/storage)-> show volumes/nvme2n1p1
/systems/localhost/storage/volumes/nvme2n1p1
Properties:
CapacityBytes = 536870912
Encrypted = False
Id = nvme2n1p1
Name = nvme2n1p1
Status_Health = Critical
Status_State = UnavailableOffline
VolumeType = EFI system partition
Targets:
Verbs:
cd
show
重建 RAID/ESP 卷
要重建 RAID/ESP 卷,请确保您已更换故障的 NVMe 驱动器。
RAID 重建过程应在系统启动时自动开始。如果未自动启动,请使用 NVSM CLI 手动重建阵列,如下所示。
启动 NVSM CLI 交互式会话并切换到存储目标。
~$ sudo nvsm nvsm-> cd /systems/localhost/storage
启动重建过程,并选择要重建的卷。
raid-1 用于 OS 卷
raid-0 用于缓存卷
esp 用于 EFI 系统分区
对于 raid-1 卷,您还需要输入更换的驱动器名称。
注意
这不是分区名称。例如,使用 nvme3 而不是 nvme3n1p2。
nvsm(/systems/localhost/storage)-> start volumes/rebuild PROMPT: In order to rebuild volume, volume type is required. Please specify the volume type to rebuild from options below. raid-0: create raid-0 data volume raid-1: rebuild OS boot and root volumes esp: find and replicate an empty EFI system partition Type of volume rebuild (CTRL-C to cancel): raid-1 PROMPT: In order to rebuild this volume, a spare drive is required. Please specify the spare drive to use to rebuild RAID-1. Name of spare drive for RAID-1 rebuild (CTRL-C to cancel): nvme3 WARNING: Once the rebuild process is started, the process cannot be stopped. Start RAID-1 rebuild? [y/n] y
在提示符处输入 y 以启动 RAID 1 重建后,将显示“正在启动重建…”消息。
/systems/localhost/storage/volumes/rebuild started at 2023-04-10 Initiating RAID-1 rebuild on volume md0... 0.0% [\ ]
几秒钟后,将显示“正在重建 RAID-1 …”消息。
/systems/localhost/storage/volumes/rebuild started at 2023-04-10 08:22:58.910025 Rebuilding RAID-1... 31.0% [=============/ ]
如果此消息在“正在启动 RAID-1 重建”状态停留超过 30 秒,则重建过程存在问题。验证更换驱动器的名称是否正确,然后重试。
RAID 1 重建过程应耗时约 1 小时才能完成。
有关更换故障的 NVMe 驱动器的更多详细信息,请参阅 NVIDIA DGX-2 服务手册 或 NVIDIA DGX A100 服务手册。
为旧版 NVSM (< 21.09) 重建 RAID 1 阵列
对于配置为 RAID 1 阵列的具有两个 NVMe OS 驱动器的 DGX 系统,操作系统安装在卷 md0
上。您可以使用 NVSM CLI 查看 RAID 卷的运行状况,然后在两个健康的驱动器上重建 RAID 阵列。
查看健康的 RAID 卷
在健康的系统上,此卷显示两个驱动器和 Status_Health = OK
。例如
nvsm-> cd /systems/localhost/storage
nvsm(/systems/localhost/storage)-> show volumes/md0
/systems/localhost/storage/volumes/md0
Properties:
Status_State = Enabled
Status_Health = OK
Name = md0
Encrypted = False
VolumeType = RAID-1
Drives = [ nvme0n1, nvme1n1 ]
CapacityBytes = 893.6G
Id = md0
Targets:
rebuild
Verbs:
cd
show
查看降级的 RAID 卷
在 OS 卷降级的系统上,md0 卷将仅显示一个驱动器,并显示以下 Status_Health = Warning
和 Status_State = Degraded
消息
nvsm-> cd /systems/localhost/storage
nvsm(/systems/localhost/storage)-> show volumes/md0
/systems/localhost/storage/volumes/md0
Properties:
Status_State = Degraded
Status_Health = Warning
Name = md0
Encrypted = False
VolumeType = RAID-1
Drives = [ nvme1n1 ]
CapacityBytes = 893.6G
Id = md0Targets:
rebuild
Verbs:
cd
show
在这种情况下,OS 卷缺少其奇偶校验驱动器。
重建 RAID 1 卷
要重建 RAID 阵列,请确保您已为奇偶校验驱动器安装了已知良好的 NVMe 驱动器。
RAID 重建过程应在系统启动时自动开始。如果未自动启动,请使用 NVSM CLI 手动重建阵列,如下所示。
启动 NVSM CLI 交互式会话并切换到存储目标。
$ sudo nvsm nvsm-> cd /systems/localhost/storage
启动重建过程,并准备好输入更换驱动器的设备名称。
nvsm(/systems/localhost/storage)-> start volumes/md0/rebuild PROMPT: In order to rebuild this volume, a spare drive is required. Please specify the spare drive to use to rebuild md0. Name of spare drive for md0 rebuild (CTRL-C to cancel): nvmeXn1 WARNING: Once the volume rebuild process is started, the process cannot be stopped. Start RAID-1 rebuild on md0? [y/n] y
在提示符处输入 y 以启动 RAID 1 重建后,将显示“正在启动重建…”消息。
/systems/localhost/storage/volumes/md0/rebuild started at 2018-10-12 15:27:26.525187 Initiating RAID-1 rebuild on volume md0... 0.0% [\ ]
大约 30 秒后,应显示
Rebuilding RAID-1 ...
消息。/systems/localhost/storage/volumes/md0/rebuild started at 2018-10-12 15:27:26.525187 Rebuilding RAID-1 rebuild on volume md0... 31.0% [=============/ ]
如果此消息在
Initiating RAID-1 rebuild
状态停留超过 30 秒,则重建过程存在问题。验证更换驱动器的名称是否正确,然后重试。
RAID 1 重建过程应耗时约 1 小时才能完成。
有关更换故障的 NVMe OS 驱动器的更多详细信息,请参阅 NVIDIA DGX-2 服务手册 或 NVIDIA DGX A100 服务手册。
在 DGX-2 系统上设置 MaxQ/MaxP
从 DGX OS 4.0.5 开始,您可以设置两种 GPU 性能模式 – MaxQ 或 MaxP。
注意
DGX-2 系统上的支持需要 BMC 固件版本 1.04.03 或更高版本。DGX-2H 系统不支持 MaxQ/MaxP。
MaxQ
最大效率模式
允许在功率预算为 18 kW 的机架中安装两个 DGX-2 系统。
按如下方式切换到 MaxQ 模式。
$ sudo nvsm set powermode=maxq
这些设置在重启后仍然保留。
MaxP
最大性能的默认模式
GPU 在热设计功耗 (TDP) 级别内不受约束地运行。
在此设置中,DGX-2 的最大功耗为 10 kW。
当只有 3 个或 4 个 PSU 工作时,提供比 MaxQ 降低但更好的性能。
如果您切换到 MaxQ 模式,您可以按如下方式切换回 MaxP 模式
$ sudo nvsm set powermode=maxp
这些设置在重启后仍然保留。
执行压力测试
NVSM 支持同时对系统的各种组件(GPU、PCIe、DIMM、存储驱动器、CPU、网卡)施加较大工作负载的压力测试功能。压力测试将在最后提供摘要,确定每个受压组件是通过测试还是因某些错误而失败。NVSM 还将在压力测试期间监控各种系统指标,以更清楚地了解施加的计算负载类型。此压力测试可以从 CLI 调用。
语法
$ sudo nvsm stress-test [--usage] [--force] [--no-prompt] [<test>...] [DURATION]
有关运行测试的帮助,请发出以下命令。
$ sudo nvsm stress-test --usage
用于 sudo nvsm stress-test 60 --force
的示例输出
