使用 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、 lockcreate,都识别 “-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 健康状况事件,请执行以下操作:

  1. 显示 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” 健康状况事件。

  2. 要查找此 GPU,请发出以下命令以列出每个 GPU 的健康状况。

    ~$ sudo nvsm
    nvsm-> show -display properties=*health /systems/localhost/gpus/*
    

    健康状况事件的 GPU 将在以下示例中报告,例如 GPU14。

    /systems/localhost/gpus/GPU14
    Properties:
        Status_Health = Critica
    
  3. 发出以下命令以显示特定 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

发件人电子邮件地址

必须是有效的电子邮件地址,否则将不会发送任何电子邮件。

[ sender@domain.com ]

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 = Email1severity = 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

发件人电子邮件地址

[ sender@domain.com ]

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 的步骤。

  1. 要获取服务器中卷的列表,请运行以下命令

    # 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
    
  2. 要查找特定卷的 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
    
  3. 运行以下命令以设置静音监控的 UUID

    # nvsm set /systems/localhost/storage/policy volume_mute_monitoring=<UUID>
    
    # nvsm set /systems/localhost/storage/policy
    volume_mute_monitoring=3568aa82:dc3da8ac:5c17ea13:b04cf894
    
  4. 运行以下命令以设置静音通知的 UUID

    # nvsm set /systems/localhost/storage/policy volume_mute_notification=<UUID>
    
    # nvsm set /systems/localhost/storage/policy
    volume_mute_notification=3568aa82:dc3da8ac:5c17ea13:b04cf894
    
  5. 运行以下命令以验证策略是否已正确设置

    # 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 = MirroredStatus_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 = NonRedundantStatus_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 = CriticalStatus_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 手动重建阵列,如下所示。

  1. 启动 NVSM CLI 交互式会话并切换到存储目标。

    ~$ sudo nvsm
    nvsm-> cd /systems/localhost/storage
    
  2. 启动重建过程,并选择要重建的卷。

    • 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
    
  3. 在提示符处输入 y 以启动 RAID 1 重建后,将显示“正在启动重建…”消息。

    /systems/localhost/storage/volumes/rebuild started at 2023-04-10 Initiating RAID-1 rebuild on volume md0...
     0.0% [\ ]
    
  4. 几秒钟后,将显示“正在重建 RAID-1 …”消息。

    /systems/localhost/storage/volumes/rebuild started at 2023-04-10 08:22:58.910025
    Rebuilding RAID-1...
     31.0% [=============/ ]
    
  5. 如果此消息在“正在启动 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 = WarningStatus_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 手动重建阵列,如下所示。

  1. 启动 NVSM CLI 交互式会话并切换到存储目标。

    $ sudo nvsm
    nvsm-> cd /systems/localhost/storage
    
  2. 启动重建过程,并准备好输入更换驱动器的设备名称。

    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
    
  3. 在提示符处输入 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 的示例输出

_images/nvsm-stress-test.png