• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

H3C AIDC Agent部署指导-E73xx-5W302

01-正文

本章节下载 01-正文  (1.89 MB)

01-正文

目 

1 概述

2 安装前的准备工作

2.1 服务器配置需求

2.1.1 安装包及场景说明

2.1.2 硬件配置需求

2.1.3 软件配置需求

2.1.4 支持的计算加速卡

2.1.5 支持的RDMA网卡

2.1.6 Kubernetes环境

2.2 安装前的检查工作

3 AIDC Agent裸金属部署指导

3.1 基础环境配置

3.1.1 Ubuntu/Debian操作系统

3.1.2 RHEL/CentOS操作系统

3.2 控制组件页面部署AIDC Agent

3.3 服务器手工部署AIDC Agent

3.4 查看服务器接入信息

3.5 查看服务器的监控概览

3.6 软件升级及卸载

3.6.1 升级

3.6.2 卸载

4 AIDC Agent容器化部署指导

4.1 基础环境配置

4.1.1 Ubuntu/Debian操作系统

4.1.2 RHEL/CentOS操作系统

4.2 在K8s上部署AIDC Agent

4.3 查看服务器接入信息

4.4 软件升级及卸载

4.4.1 升级

4.4.2 卸载

5 常见问题解答

5.1 在寒武纪GPU环境中,如果在运行Agent时出现UnsatisfiedLinkError错误,并提示找不到“libcndev.so”库,如何处理?

5.2 在寒武纪GPU环境中,如果在运行Agent时出现错误,提示找不到cn相关库或者找不到cn相关命令,如何处理?

5.3 英伟达GPU测试提示“Persistence Mode Disabled”,如何处理?

5.4 ethtool查询光模块信息时仅显示16进制,如何处理?

6 附录

6.1 英伟达GPU深度性能测试依赖软件的安装流程

6.1.1 安装Data Center GPU Manager(DCGM)

6.1.2 安装深度学习加速库(NVIDIA CUTLASS)

6.2 海光GPU深度性能测试依赖软件的安装流程

6.2.1 部署驱动依赖

6.2.2 安装基础压力工具HyQual(v2.2.6示例)

 


1 概述

AIDC Agent用于安装在数据中心网络中的GPU/存储服务器上,安装完成后,为数据中心控制组件(SeerEngine-DC)、分析组件和U-Center提供服务。

·     与控制组件的交互

AIDC Agent能够自动推送服务器上的GPU和网卡信息至控制组件。基于这些信息,控制组件可以生成服务器接入详情,展示网卡和GPU的连接关系,并自动化配置网络参数,包括路由(route)、规则(rule)和RoCE网卡设置。

·     与分析组件的交互

AIDC Agent支持将GPU、网卡、光模块、文件系统等关键信息发送到分析组件。它还能执行多项检查,包括GPU状态、网卡状态、网络流量、网络配置和性能分析等。

·     与U-Center的交互

AIDC Agent中的U-Center-Agent支持将CPU、网卡、文件系统等关键信息发送到U-Center的IOM组件。该组件负责监控这些资源,收集相应类型的监控指标,并在监控指标超出设定的告警阈值时,通过平台的告警模块及时发出通知。

 


2 安装前的准备工作

2.1  服务器配置需求

2.1.1  安装包及场景说明

AIDC Agent支持裸金属部署和容器化部署,两种场景的部署说明如下。

表2-1 软件安装包及场景说明

场景

部署说明

软件包

裸金属部署

AIDC Agent功能已包含在控制组件软件包(SeerEngine_DC-version-MATRIX.zip)中。部署控制组件后,在控制组件界面配置相关参数即可使用,无需手动上传软件包单独部署。

SeerEngine_DC-version-AIDCAgent.zip

(仅用于升级或者在服务器上手动部署)

该压缩包包含如下功能:

·     SeerEngine_DC-version-AIDCAgent:控制组件和分析组件的Agent

·     U-Center-Agent-version:U-Center的Agent

容器化部署

手动上传软件包至服务器部署。

SeerEngine_DC-version-AIDCAgent-K8S.zip

 

2.1.2  硬件配置需求

服务器型号

硬件要求

H3C UniServer R5500 G6

H3C UniServer R5500 G5

H3C UniServer R5300 G6

H3C UniServer R5300 G5

H3C UniServer R5300 G3

CPU架构:x86_64

 

表2-2 组件所需硬件资源

CPU内核

内存

磁盘

1核及以上

2GB及以上

5GB及以上

 

2.1.3  软件配置需求

表2-3 基础依赖

操作系统

依赖软件

Ubuntu 22.04

银河麒麟V10 SP3

Rocky Linux 8.8

CentOS 8

·     openjdk-8-jdk:Java开发工具包,用于运行和开发Java应用程序。

·     LLDPD:链路层发现协议守护进程,用于网络拓扑发现和管理。

·     NetworkManager:网络管理工具,提供网络连接的自动检测和配置。

提示

Ubuntu操作系统不需要安装NetworkManager。

 

·     unzip:解压缩工具,用于解压缩.zip格式的文件。

·     tar:归档打包工具,用于创建和解压缩.tar格式的文件。

·     lshw:硬件信息检测工具,用于生成详细的系统硬件信息。

 

提示

仅支持通过Ubuntu官方ISO安装的服务器版,不支持桌面版,也不支持任何云平台提供的定制镜像,如AWS/Azure的Ubuntu云镜像。服务器版默认的网络配置文件通常为00-installer-config.yaml,而云平台版默认为50-cloud-init.yaml。

 

表2-4 深度性能测试依赖

计算加速卡厂商

依赖软件

说明

英伟达

如需使用分析组件训前准备页面的下列功能,请预先安装右侧列出的依赖软件。

性能测试功能

·     算力性能检测

·     功耗性能检测

·     HBM性能检测

健康检查功能

·     芯片健康检测

·     软硬件兼容性检查

DCGM 4.1.1:英伟达开发的针对数据中心GPU的综合性管理工具,主要用于实时监控、配置管理以及健康状态诊断。

安装说明请参见“安装Data Center GPU Manager(DCGM)

CUTLASS:英伟达开发的开源库。

提示

编译CUTLASS的测试或示例,需预先安装GoogleTest,并在CMake中正确配置路径。

 

CUTLASS、GoogleTest、CMake的安装说明请参见“安装深度学习加速库(NVIDIA CUTLASS)

海光

如需使用分析组件训前准备页面的下列功能,请预先安装右侧列出的依赖软件。

性能测试功能

·     算力性能检测

·     功耗性能检测

健康检查功能

·     芯片健康检测

·     驱动健康检测

HyQual:海光公司开发的用于针对DCU标卡系列产品的压力、带宽以及算力测试标准工具。

安装说明请参见“海光GPU深度性能测试依赖软件的安装流程

 

2.1.4  支持的计算加速卡

厂商

硬件款型

计算加速卡硬件型号

英伟达

A100,H800,H20

昆仑

R300,P800

天数

MR-V100,BI-V150

沐曦

MXC500

寒武纪

MLU370-M8

摩尔线程

MTT S4000

海光

K100-AI

 

2.1.5  支持的RDMA网卡

厂商

硬件款型

RDMA网卡型号

云脉

metaScale-200

Mellanox

Mellanox CX6 CX7

 

2.1.6  Kubernetes环境

AIDC Agent容器化部署支持Kubernetes v1.21.14。

2.2  安装前的检查工作

部署AIDC Agent前,请先完成以下工作:

(1)     完成SeerEngine-DC的安装工作。

(2)     完成服务器的安装和上线工作。

(3)     请检查服务器的系统时区是否与实际地理位置一致。

a.     使用命令timedatectl查看当前系统时区。请重点确认输出中的“Time zone”字段是否为实际所在地区的时区(如中国大陆应为Asia/Shanghai)。

[root@vm203 /]# timedatectl

      Local time: Tue 2025-08-05 16:26:13 CST

  Universal time: Tue 2025-08-05 08:26:13 UTC

        RTC time: Tue 2025-08-05 08:25:12

Time zone: Asia/Shanghai (CST, +0800)

     NTP enabled: yes

NTP synchronized: no

RTC in local TZ: no

      DST active: n/a

b.     如需修改时区,请执行以下命令,将系统时区设置为实际地理时区(如中国标准时间)

[root@vm203 /]# timedatectl set-timezone Asia/Shanghai

 

 


3 AIDC Agent裸金属部署指导

3.1  基础环境配置

3.1.1  Ubuntu/Debian操作系统

(1)     不同服务器的系统名称不能相同,请排查是否满足要求,如存在相同的情况,请修改系统名称,修改完成后需要重启服务器。

root@server1:~# vi /etc/hostname

root@server1:~# reboot

(2)     安装Java。

root@server1:~# apt install openjdk-8-jdk -y

(3)     安装LLDPD。

root@server1:~# apt install lldpd -y

root@server1:~# systemctl enable lldpd.service

root@server1:~# systemctl start lldpd.service

root@server1:~# systemctl status lldpd.service   #查看LLDPD服务状态

说明

请确保LLDP学习到的系统名称与服务器的系统名称一致。

 

(4)     安装unzip。

root@server1:~# apt install unzip -y

(5)     安装tar。

说明

建议先通过tar –version命令检查是否已安装,避免冗余操作。

 

root@server1:~# apt install tar -y

 

(6)     安装lshw。

说明

建议先使用sudo lshw命令检查lshw是否安装。如果已安装,会显示硬件信息;如果未安装,会提示命令未找到。

 

a.     通过如下命令安装lshw。

root@server1:~# sudo apt install lshw -y

b.     安装完成后,可以通过以下命令查看硬件信息:

sudo lshw

3.1.2  RHEL/CentOS操作系统

(1)     不同服务器的系统名称不能相同,请排查是否满足要求,如存在相同的情况,请修改系统名称,修改完成后需要重启服务器。

[root@server1 ~]# vi /etc/hostname

[root@server1 ~]# reboot

(2)     安装Java。

[root@server1 ~]# yum install java-1.8.0-openjdk-devel -y

(3)     安装LLDPD。

[root@server1 ~]# yum install lldpd -y

[root@server1 ~]# systemctl enable lldpd.service

[root@server1 ~]# systemctl start lldpd.service

[root@server1 ~]# systemctl status lldpd.service   #查看LLDPD服务状态

说明

请确保LLDP学习到的系统名称与服务器的系统名称一致。

 

(4)     安装NetworkManager。

[root@server1 ~]# yum install NetworkManager -y

[root@server1 ~]# systemctl enable NetworkManager.service

[root@server1 ~]# systemctl start NetworkManager.service

[root@server1 ~]# systemctl status NetworkManager.service   #查看NetworkManager服务状态

(5)     安装unzip。

[root@server1 ~]# yum install unzip -y

(6)     安装tar。

说明

建议先通过tar –version命令检查是否已安装,避免冗余操作。

 

[root@server1 ~]# yum install tar -y

 

(7)     安装lshw。

说明

建议先使用sudo lshw命令检查lshw是否安装。如果已安装,会显示硬件信息;如果未安装,会提示命令未找到。

 

a.     通过如下命令安装lshw。

[root@server1 ~]# yum install lshw -y

b.     安装完成后,可以通过以下命令查看硬件信息:

sudo lshw

3.2  控制组件页面部署AIDC Agent

注意

安装Agent后,请勿修改操作系统的hostname。

 

在裸金属环境下,AIDC Agent功能已包含在控制组件软件包(SeerEngine_DC-version-MATRIX.zip)中。部署控制组件后,请在控制组件界面完成相关配置。

1. 登录控制组件

在浏览器中输入控制组件的登录地址“http://ip_address:30000”,其中“ip_address”为北向业务虚IP,进入登录页面。

图3-1 登录控制组件

2. 进入端侧管理页面

登录控制组件后进入端侧管理页面。

表3-1 端侧管理页面路径说明

视图名称

页面路径

AD-DC

自动化>数据中心网络>RoCE网络>端侧管理>服务器管理

AD-AIDC

管理>端网管理>端侧管理>服务器管理

 

3. 服务器纳管

(1)     单击<服务器纳管>按钮,在下拉框中选择服务器的纳管方式。

¡     自动发现:系统从链路模块导入服务器数据。

¡     导入服务器IP:根据“AIDC智算中心服务器样例”模板配置服务器名称及管理IP后,将模板文件手动上传至页面。

(2)     服务器纳管完成后,服务器信息将展示在页面中,若Agent未安装,显示为--。

图3-2 服务器纳管成功且Agent未安装

 

4. 安装AIDC Agent

(1)     选择需安装一个或多个服务器,单击<Agent管理>按钮,在下拉框中选择“安装”选项。

(2)     在弹出的对话框中,根据实际情况填写参数(如SSH用户名/密码等)。

¡     若服务器为手动导入,且模板中已配置SSH信息,安装Agent时,页面不再支持手动输入。

¡     批量安装时,若同时存在手动导入和页面配置的用户名/密码,则以手动导入的信息为准。

(3)     配置完成后单击<确定>按钮。

图3-3 为服务器安装Agent

 

5. 配置Agent参数(分集群部署场景)

若控制组件和分析组件在不同集群分开部署,Agent安装完成后,需进入Agent所在服务器后台,使用vi命令编辑config/agent.config.json文件,使dc service_ip和sa service_ip取值不同。输入控制组件的北向业务虚IP,用于向控制组件上传GPU信息。

{

  "agent": {

    "roce_nic_config": "enable",

    "route_config": "enable",

    "gfs_port": "1191"

  },

  "dc": {

    "service_ip": "192.168.10.100",

    "server_port": 20851,

  },

  "sa": {

    "service_ip": "192.168.12.23",

    "server_port": 10051

  }

}

表3-2 参数说明

参数

说明

agent_master_ip

Master Agent所在服务器的IP。可选参数,未配置时,Agent将收集到的信息上送至SeerEngine-DC

agent_master_port

Master Agent所在服务器的端口,缺省值为7008。可选参数

roce_nic_config

参数网卡RoCE配置自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发参数网卡RoCE配置

route_config

路由及规则自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发路由及规则

gfs_port

Agent与存储服务器建立心跳的目标端口,目前与存储服务器的协商值为1191。除非特殊情况请勿修改和删除

dc service_ip

SeerEngine-DC的北向业务虚IP

dc server_port

SeerEngine-DC的北向业务请求端口,取值范围为1~65536的整数;缺省值为20851。可选参数

sa service_ip

分析组件的北向业务虚IP

sa server_port

分析组件的WebSocket通信端口,缺省值为10051。可选参数

 

6. 手动启动Agent服务(可选)

除页面安装Agent之外的场景下(如自定义目录安装),需要以root权限执行start_agent.sh脚本启动Agent服务。

如果agent_master_ip是本服务器网卡上的IP就以master角色启动,否则以worker角色启动。

·     以master角色启动时,Agent会将收集到的信息上送至SeerEngine-DC。

·     以worker角色启动时,Agent会将收集到的信息优先上送至master,master异常时,Agent会将收集到的信息上送至SeerEngine-DC。

配置步骤如下。

(1)     添加防火墙规则(以firewalld为例),允许流量通过指定的Agent监听端口。

此命令作用是将TCP流量通过指定端口的访问权限添加到防火墙配置中,并保持该规则在防火墙重启后仍然有效。

¡     Ubuntu操作系统

root@server1:~/SeerEngine_DC-E7301_AIDCAgent# sudo firewall-cmd --zone=public --add-port=7008/tcp --permanent     #7008为缺省端口号,请按实际配置替换为Master agent所在服务器的端口

root@server1:~/SeerEngine_DC-E7301_AIDCAgent# sudo firewall-cmd --reload

¡     CentOS操作系统

[root@server1 SeerEngine_DC-E7301_AIDCAgent]# sudo firewall-cmd --zone=public --add-port=7008/tcp --permanent    #7008为缺省端口号,请按实际配置替换为Master agent所在服务器的端口

[root@server1 SeerEngine_DC-E7301_AIDCAgent]# sudo firewall-cmd –reload

(2)     若操作系统为Rocky Linux 8.8,需执行如下操作关闭SELinux。

编辑SELinux配置文件,将参数SELINUX的值修改为disabled。

vim /etc/sysconfig/selinux

SELINUX=disabled

重启后,运行sestatus命令查询服务状态。

[root@CX_Series network-scripts]# sestatus

SELinux status:                 disabled

(3)     启动Agent服务。

Agent服务需要在每一台服务器上手动执行脚本启动。

¡     Ubuntu操作系统

root@server1:~/SeerEngine_DC-E7301_AIDCAgent# sudo ./start_agent.sh --saIp 192.168.118.50 --seIp 192.168.118.51

¡     CentOS操作系统

[root@server1 SeerEngine_DC-E7301_AIDCAgent]# sudo ./start_agent.sh --saIp 192.168.118.50 --seIp 192.168.118.51

其中,seIp和saIp为必选参数,其他均为可选参数。如果未指定可选参数,取值将依据config/agent.config.json中的配置。

表3-3 参数说明

长参数(推荐)

短参数

说明

help

h

帮助信息

roce

n

参数网卡RoCE配置自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发参数网卡RoCE配置。可选参数

route

r

路由及规则自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发路由及规则。可选参数

saPort

t

分析组件的北向业务请求端口,取值范围为1~65535的整数;缺省值为10051。可选参数

saIp

a

分析组件的北向业务虚IP。必选参数

seIp

e

控制组件的北向业务虚IP。必选参数

sePort

o

控制组件的北向业务请求端口,取值范围为1~65535的整数;缺省值为20851。可选参数

allIp

i

控制组件和分析组件合一场景下,共用的北向IP地址

hwj

w

寒武纪安装路径,默认是/usr/local/neuware。

nv

v

NVIDIA依赖路径,用于导出NCCL、MPI、CUDA的路径。

 

说明

·     服务器接入VLAN网络时,支持使用AIDC Agent对宿主机进行同轨网络路由配置。

·     参数网卡的地址由系统分配,路由及规则由Agent指定,请勿随意修改,以避免出现路由及规则配置冲突,导致流量异常。

·     可使用如下命令快速配置和启动Agent: sudo ./start_agent.sh --seIp 192.168.118.50  --saIp 192.168.118.50

 

7. RoCE参数网卡配置下发

Agent启动时,会检查本地是否存在config/agent.network.config.yml文件(RoCE配置下发参数的配置文件)。

·     如果存在该文件,则以该配置文件加载运行,并下发参数网卡的RoCE配置。

·     如果不存在该文件,则会向SeerEngine-DC获取已配置的服务器网卡参数模板(可在SeerEngine-DC的RoCE策略详情页面中查看),并在本地生成agent.network.config.yml文件,以该配置文件加载运行,并下发参数网卡的RoCE配置。

注意

正常Agent运行后,agent.network.config.yml文件就会在本地生成,如果一直未生成,请检查日志进行排错。

 

8. 查看Agent运行状态

在控制组件页面上查看Agent运行状态。

图3-4 控制组件页面

 

9. 其他注意事项

·     服务器重启后,Agent会自动启动。

·     在Agent服务启动后,请勿删除对应的安装包解压的目录。

·     请勿随意删除agent.network.config.yml文件中的注释内容,必要时,可将注释打开以便修改配置参数。

·     根据现场实际需求修改配置文件中的配置参数后,需要在控制组件页面执行“重启Agent服务”操作才能使修改生效。

·     无论Agent是否在运行,一旦下发了RoCE配置,这些配置将会在开机时自动执行。

3.3  服务器手工部署AIDC Agent

注意

安装Agent后,请勿修改操作系统的hostname。

 

1. 上传并解压安装包

将AIDC Agent安装包SeerEngine_DC-version_AIDCAgent.zip,其中version为版本号,例如E7202,上传到所有服务器的指定目录,建议采用以下规范路径结构:

/<custom_directory>/SeerEngine_DC-${version}_AIDCAgent/

2. 进入该目录并解压安装包

root@server1:~/SeerEngine_DC-E7202_AIDCAgent# unzip SeerEngine_DC-E7202_AIDCAgent.zip

root@server1:~/SeerEngine_DC-E7202_AIDCAgent# ll

总用量 227876

-rwxr-xr-x 1 root root      1033  7月 23 22:01 install.sh

-rwxr-xr-x 1 root root      1033  7月 23 20:48 SeerEngine_DC-E7202_AIDCAgent

-rw-r--r-- 1 root root 233317125  7月 23 16:58 SeerEngine_DC-E7202-AIDCAgent.zip

drwxr-xr-x 6 root root      4096  7月 23 22:01 U-Center-Agent-E7202

-rwxr-xr-x 1 root root       297  7月 23 22:01 uninstall.sh

3. (可选)配置Agent参数

说明

若手动执行脚本启动时配置了可选参数,可跳过此步骤。

 

使用vi命令编辑config/agent.config.json文件。如果控制组件(dc)和分析组件(sa)分布在不同集群,请分别设置不同的dc service_ip和sa service_ip。请在dc service_ip字段中填写控制组件的北向业务虚IP,该IP将用于向控制组件上传GPU信息。

{

  "agent": {

    "roce_nic_config": "enable",

    "route_config": "enable",

    "gfs_port": "1191"

  },

  "dc": {

    "service_ip": "192.168.10.100",

    "server_port": 20851,

  },

  "sa": {

    "service_ip": "192.168.12.23",

    "server_port": 10051

  }

}

表3-4 参数说明

参数

说明

agent_master_ip

Master Agent所在服务器的IP。可选参数,未配置时,Agent将收集到的信息上送至控制组件

agent_master_port

Master Agent所在服务器的端口,缺省值为7008。可选参数

roce_nic_config

参数网卡RoCE配置自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发参数网卡RoCE配置

route_config

路由及规则自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发路由及规则

gfs_port

Agent与存储服务器建立心跳的目标端口,目前与存储服务器的协商值为1191。除非特殊情况请勿修改和删除

dc service_ip

控制组件的北向业务虚IP

dc server_port

控制组件的北向业务请求端口,取值范围为1~65536的整数;缺省值为20851。可选参数

sa service_ip

分析组件的北向业务虚IP

sa server_port

分析组件的WebSocket通信端口,缺省值为10051。可选参数

 

4. 启动Agent服务

以root权限执行start_agent.sh脚本启动服务。根据agent_master_ip判断角色:

·     若agent_master_ip为本机IP,则以Master角色启动,Agent信息上报到控制组件。

·     若为其他IP,则以Worker角色启动,Agent信息先上报至Master,Master异常时上报至控制组件。

步骤如下:

(1)     开放防火墙端口

以firewalld为例,开放Master Agent所在服务器的端口(如7008):

root@server1:~/SeerEngine_DC-E7202_AIDCAgent# sudo firewall-cmd --zone=public --add-port=7008/tcp --permanent     #7008为缺省端口号,请按实际配置替换为Master agent所在服务器的端口

root@server1:~/SeerEngine_DC-E7202_AIDCAgent# sudo firewall-cmd --reload

这个命令的作用是将TCP流量通过指定端口的访问权限添加到防火墙配置中,并保持该规则在防火墙重启后仍然有效。

(2)     若操作系统为Rocky Linux 8.8,关闭SELinux。

编辑SELinux配置文件/etc/sysconfig/selinux,将参数SELINUX的值修改为disabled。

vim /etc/sysconfig/selinux

SELINUX=disabled

保存并重启后,运行sestatus命令查询服务状态

[root@CX_Series network-scripts]# sestatus

SELinux status:                 disabled

(3)     启动Agent服务、

在每台服务器上手动执行启动脚本。

root@server1:~/SeerEngine_DC-E7202_AIDCAgent# sudo ./install.sh --saIp 192.168.118.50 --seIp 192.168.118.51

说明

·     服务器接入VLAN网络时,支持使用AIDC Agent对宿主机进行同轨网络路由配置。

·     参数网卡的地址由系统分配,路由及规则由agent指定,请勿随意修改,以避免出现路由及规则配置冲突,导致流量异常。

·     在Agent服务启动后,请勿删除对应的安装包解压的目录。

 

5. RoCE配置文件说明

Agent启动时会检测本地是否存在RoCE配置文件:config/agent.network.config.yml。

·     如果存在该文件,则以该配置文件加载运行,并下发参数网卡的RoCE配置。

·     如果不存在该文件,则会向控制组件获取已配置的服务器网卡参数模板(可在控制组件的RoCE策略详情页面中查看),并在本地生成agent.network.config.yml文件,以该配置文件加载运行,并下发参数网卡的RoCE配置。

注意

·     正常Agent运行后,agent.network.config.yml文件就会在本地生成,如果一直未生成,请检查日志进行排错。

·     请勿随意删除agent.network.config.yml文件中的注释内容,必要时,可将注释打开以便修改配置参数。

·     根据现场实际需求修改配置文件中的配置参数后,需要重启Agent才能使修改生效。

·     无论Agent是否在运行,一旦下发了RoCE配置,这些配置将会在开机时自动执行。

 

6. 查看Agent运行状态

·     查看服务进程:在服务器上输入命令ps -ef | grep dc-agent | grep java,如显示进程信息则表示进程启动成功。

·     查看Agent角色:进程信息中的agent.role表示角色名称。

root@server1:~/SeerEngine_DC-E7202_AIDCAgent# ps -ef | grep dc-agent | grep java

root     18076     1  0 15:38 pts/0    00:00:20 java -jar -Xmx512m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 dc-agent-1.0.0.jar --agent.role=master --dc.serviceIp=192.168.232.89

7. 控制组件页面查看Agent运行状态

图3-5 控制组件页面

 

说明

服务重启后,Agent会自动启动。

 

3.4  查看服务器接入信息

(1)     在控制组件AD-AIDC视图中,进入[监控>拓扑管理>智算中心拓扑>基础网络拓扑]页面,右键单击服务器图标,选择“服务器详情”,即可查看服务器的接入信息。

(2)     如果出现网络异常等情况,造成控制组件未获取到准确的GPU信息,可尝试在控制组件页面执行“重启Agent服务”操作。

3.5  查看服务器的监控概览

提示

此功能依赖于U-Center的IOM组件,请确保该组件已成功部署。

 

(1)     在[管理>基础资源管理>Agent管理]页面,单击列表中“Agent主机IP”链接,弹出Agent详情信息窗口,查看Agent主机IP、主机类型、安装路径和日志路径信息。

图3-6 Agent详情

 

(2)     单击列表中的“管理的资源”区段的图标,可进入该资源详情页面,查看服务器的监控概览、告警信息等。

图3-7 查看监控概览

 

3.6  软件升级及卸载

3.6.1  升级

升级主要涉及以下两个Agent组件:

·     SeerEngine_DC AIDC Agent:用于控制组件和分析组件的Agent,支持通过控制组件页面升级或在服务器上手动升级。

·     U-Center Agent:用于U-Center的Agent,随IOM组件包自动升级。

请根据具体Agent类型和实际运维需求,选择合适的升级方式,确保各组件平稳升级,配置和数据不丢失。

1. 控制组件页面升级SeerEngine_DC AIDC Agent

注意

·     Agent升级完成后,agent.config.json的配置参数需与升级前一致。

·     若在服务器后台通过命令行安装的Agent,升级时需先手动卸载,再进入控制组件页面安装新版本。

 

(1)     获取新的Agent软件安装包,软件包的名称格式为SeerEngine_DC-version-AIDCAgent.zip,其中version为软件包版本号。

(2)     登录控制组件后进入端侧管理页面。

(3)     选择需要升级Agent的服务器,单击<Agent管理>按钮,在下拉框中选择“升级”选项,并在弹出的对话框中配置相关参数。配置完成后单击<确定>按钮。

图3-8 为服务器升级Agent

 

说明

·     当所选服务器的来源为手工导入,且导入的模板中已配置SSH用户名和密码,升级Agent时,页面弹框中的服务器SSH用户名和密码不支持输入。

·     为多个服务器升级Agent时,若同时存在手动导入和页面配置的用户名/密码,则以手动导入的信息为准。

 

(4)     Agent升级完成后,Agent状态将显示为正常。

图3-9 Agent状态

 

2. 服务器手工升级SeerEngine_DC AIDC Agent

(1)     停止旧版本Agent服务。

进入旧版本Agent的安装目录,停止Agent服务。

root@server1:~/SeerEngine_DC-E7202_AIDCAgent/SeerEngine_DC-E7202_AIDCAgent# sudo systemctl stop se-agent

root@server1:~/SeerEngine_DC-E7202_AIDCAgent/SeerEngine_DC-E7202_AIDCAgent# sudo ./stop_agent.sh

(2)     备份旧版本Agent。

回到上两级目录,使用cp -r命令完整备份旧版本安装目录。

root@server1:~/SeerEngine_DC-E7202_AIDCAgent/SeerEngine_DC-E7202_AIDCAgent# cd ../..

root@server1:~# cp -r SeerEngine_DC-E7202_AIDCAgent SeerEngine_DC-E7202_AIDCAgent_BAK

(3)     将新版本安装包上传至服务器目标目录下,例如新版本包名为SeerEngine_DC-E7202P02_AIDCAgent.zip,上传到新创建的SeerEngine_DC-E7202P02_AIDCAgent目录下。解压新版本安装包。

#在目标服务器创建版本化目录(建议路径):

root@server1:~# mkdir SeerEngine_DC-E7202P02_AIDCAgent

图3-10 #进入目标目录并解压安装包

root@server1:~# cd SeerEngine_DC-E7202P02_AIDCAgent

root@server1:~/SeerEngine_DC-E7202P02_AIDCAgent# unzip SeerEngine_DC-E7202P02_AIDCAgent.zip

#验证解压结果

root@server1:~/SeerEngine_DC-E7202P02_AIDCAgent# ll

总用量 227876

-rwxr-xr-x 1 root root      1033  7月 23 22:01 install.sh

-rwxr-xr-x 1 root root      1033  7月 23 20:48 SeerEngine_DC-E7202P02_AIDCAgent

-rw-r--r-- 1 root root 233317125  7月 23 16:58 SeerEngine_DC-E7202P02-AIDCAgent.zip

drwxr-xr-x 6 root root      4096  7月 23 22:01 U-Center-Agent-E7202

-rwxr-xr-x 1 root root       297  7月 23 22:01 uninstall.sh

解压后得到如下四个文件:

¡     SeerEngine_DC-E7202P02-AIDCAgent

¡     U-Center-Agent-E7202

¡     install.sh

¡     uninstall.sh

(4)     使用新版本文件覆盖旧版本,但保留旧版本config文件夹。

#覆盖主程序文件,排除config目录

root@server1:~/SeerEngine_DC-E7202P02_AIDCAgent# cd SeerEngine_DC-E7202P02_AIDCAgent

root@server1:~/SeerEngine_DC-E7202P02_AIDCAgent/SeerEngine_DC-E7202P02_AIDCAgent# rsync -av --exclude='config' ./  ../../SeerEngine_DC-E7202_AIDCAgent/SeerEngine_DC-E7202_AIDCAgent/

#返回上两级目录,覆盖安装脚本

root@server1:~/SeerEngine_DC-E7202P02_AIDCAgent/SeerEngine_DC-E7202P02_AIDCAgent# cd ../..

root@server1:~# cp -f SeerEngine_DC-E7202P02_AIDCAgent/install.sh SeerEngine_DC-E7202P02_AIDCAgent/uninstall.sh SeerEngine_DC-E7202_AIDCAgent/

(5)     启动Agent服务。

返回旧版本安装包父目录,执行安装脚本启动服务。

root@server1:~/SeerEngine_DC-E7202_AIDCAgent# sudo ./install.sh

(6)     查看当前运行的SeerEngine_DC AIDC Agent版本。

root@server1:~# ps -ef | grep java | grep dc-agent

root      2645     1  1 23:20 ?        00:00:20 java -jar -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./log/ -Dserver.port=7008 -Djava.library.path=lib dc-agent-1.0.0.jar --agent.role=worker --agent.masterIp=null --agent.masterPort=7008 --agent.version=E7202P02 --agent.deployPath=/opt/AIDCAgent/SeerEngine_DC-E7202-AIDCAgent --agent.multi=false

 

3. 升级U-Center Agent

IOM组件包中的Agent组件(U-Center_UCP_Agent_version_platform.zip)升级后会自动升级U-Center-Agent。

3.6.2  卸载

1. 控制组件页面卸载Agent

(1)     登录控制组件后进入服务器管理页面。

(2)     选择需要卸载Agent的服务器,单击<Agent管理>按钮,在下拉框中选择“卸载”选项即可。

2. 服务器后台卸载Agent

推荐在控制组件页面进行Agent卸载操作。这样,控制组件能够自动同步并清理对应的Agent数据,避免数据残留。如需在服务器后台卸载Agent,请按以下步骤操作。

(1)     登录服务器,执行如下命令卸载AIDC Agent:

root@server1:~# uninstall.sh

(2)     卸载完成后,需手动登录控制组件页面,删除相应的Agent数据,防止页面遗留无效信息。

图3-11 控制组件页面

 

 

 

 


4 AIDC Agent容器化部署指导

4.1  基础环境配置

4.1.1  Ubuntu/Debian操作系统

(1)     不同服务器的系统名称不能相同,请排查是否满足要求,如存在相同的情况,请修改系统名称,修改完成后需要重启服务器。

root@server1:~# vi /etc/hostname

root@server1:~# reboot

(2)     在宿主机上安装LLDPD。

root@server1:~# apt install lldpd -y

root@server1:~# systemctl enable lldpd.service

root@server1:~# systemctl start lldpd.service

root@server1:~# systemctl status lldpd.service   #查看LLDPD服务状态

说明

请确保LLDP学习到的系统名称与服务器的系统名称一致。

 

(3)     安装unzip。

root@server1:~# apt install unzip -y

(4)     安装tar。

root@server1:~# apt install tar -y

说明

建议先通过tar –version命令检查是否已安装,避免冗余操作。

 

(5)     在宿主机上安装lshw。

说明

建议先使用sudo lshw命令检查lshw是否安装。如果已安装,会显示硬件信息;如果未安装,会提示命令未找到。

 

a.     通过如下命令安装lshw:

root@server1:~# sudo apt install lshw -y

b.     安装完成后,可以通过以下命令查看硬件信息:

sudo lshw

4.1.2  RHEL/CentOS操作系统

(1)     不同服务器的系统名称不能相同,请排查是否满足要求,如存在相同的情况,请修改系统名称,修改完成后需要重启服务器。

[root@server1 ~]# vi /etc/hostname

[root@server1 ~]# reboot

(2)     在宿主机上安装LLDPD。

[root@server1 ~]# yum install lldpd -y

[root@server1 ~]# systemctl enable lldpd.service

[root@server1 ~]# systemctl start lldpd.service

[root@server1 ~]# systemctl status lldpd.service   #查看LLDPD服务状态

说明

请确保LLDP学习到的系统名称与服务器的系统名称一致。

 

(3)     在宿主机上安装NetworkManager。

[root@server1 ~]# yum install NetworkManager -y

[root@server1 ~]# systemctl enable NetworkManager.service

[root@server1 ~]# systemctl start NetworkManager.service

[root@server1 ~]# systemctl status NetworkManager.service   #查看NetworkManager服务状态

(4)     安装unzip。

[root@server1 ~]# yum install unzip -y

(5)     安装tar。

[root@server1 ~]# yum install tar -y

说明

建议先通过tar –version命令检查是否已安装,避免冗余操作。

 

(6)     在宿主机上安装lshw。

说明

建议先使用sudo lshw命令检查lshw是否安装。如果已安装,会显示硬件信息;如果未安装,会提示命令未找到。

 

a.     通过如下命令安装lshw。

[root@server1 ~]# yum install lshw -y

b.     安装完成后,可以通过以下命令查看硬件信息:

sudo lshw

4.2  在K8s上部署AIDC Agent

注意

安装Agent后,请勿修改操作系统的hostname。

 

1. 上传并解压安装包

(1)     将AIDC Agent安装包上传到K8s集群所有服务器的任意目录下,安装包名称格式为SeerEngine_DC-version_AIDCAgent-K8S.zip,其中version为版本号。

(2)     解压AIDC Agent安装包,进入解压后的目录。

¡     Ubuntu操作系统

root@server1:~# unzip SeerEngine_DC-E7301_AIDCAgent-K8S.zip

root@server1:~# cd SeerEngine_DC-E7301_AIDCAgent-K8S

root@server1:~/ SeerEngine_DC-E7301_AIDCAgent-K8S# ll

总用量 258708

-rw------- 1 root root 264911872 12月 25  2024 dc-agent-E7301.tar

-rwxr-xr-x 1 root root      3374 12月 25  2024 aidc-agent-deployment.yaml

¡     CentOS操作系统

[root@server1 ~]# unzip SeerEngine_DC-E7301_AIDCAgent-K8S.zip

[root@server1 ~]# cd SeerEngine_DC-E7301_AIDCAgent-K8S

[root@server1 SeerEngine_DC-E7301_AIDCAgent-K8S]# ll

总用量 258708

-rw------- 1 root root 264911872 12月 25  2024 dc-agent-E7301.tar

-rwxr-xr-x 1 root root      3374 12月 25  2024 aidcse-agent-deployment.yaml

2. 配置Agent参数

使用vi命令编辑aidc-agent-deployment.yaml文件,修改seIp和saIp。

…略…

chmod 777 -R /root/SE_Agent/ /root/UC_Agent/

/root/se-agent/data/persistence/agent-config-rc.sh

/root/SE_Agent/start_agent.sh --seIp 192.168.100.100 --sePort 20851 --saIp 192.168.100.101 --saPort 10051

cd /root/UC_Agent/Agent && ./install-tool -s_ip="192.168.100.100" -t_id="MQ==" -log="log/"

…略…

图4-1 编辑文件

 

表4-1 参数说明

长参数(推荐)

短参数

说明

roce

n

参数网卡RoCE配置自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发参数网卡RoCE配置。可选参数

route

r

路由及规则自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发路由及规则。可选参数

saPort

t

分析组件的北向业务请求端口,取值范围为1~65535的整数;缺省值为10051。可选参数

saIp

a

分析组件的北向业务虚IP。必选参数

seIp

e

控制组件的北向业务虚IP。必选参数

s_ip

 

IOM组件的北向业务虚IP。必选参数

sePort

o

控制组件的北向业务请求端口,取值范围为1~65535的整数;缺省值为20851。可选参数

allIp

i

控制组件和分析组件合一场景下,共用的北向IP地址

hwj

w

hwj安装路径,默认是/usr/local/neuware

nv

v

NVIDIA依赖路径,用于导出NCCL、MPI、CUDA的路径

 

说明

在将Agent从E71xx版本升级到E72xx及更高版本时,需要注意sePort端口号配置的问题。之前版本中,宿主机的/usr/data/se-agent/文件夹中sePort的默认端口号是30000。升级后,该端口号仍然保持为30000。如果不在升级过程中确认sePort和saPort的配置,可能会导致WebSocket连接建立失败。因此,建议在升级时手动将sePort和saPort设置为缺省值或相应的其他值。可以使用vi命令编辑yaml文件,将端口号设置为缺省值。

 

chmod 777 -R /root/se-agent/

/root/se-agent/data/persistence/agent-config-rc.sh

/root/se-agent/start_agent.sh --seIp 192.168.100.100 sePort 20851 --saIp 192.168.100.101 saPort 10051

…略…

 

3. 加载镜像

根据宿主机环境选择Docker或Containerd导入镜像。

Docker环境

·     如果环境中未安装Harbor镜像仓库,则使用如下命令导入镜像。

¡     Ubuntu操作系统

root@server1:~/ SeerEngine_DC-E7301_AIDCAgent-K8S# docker load -i dc-agent-*.tar

¡     CentOS操作系统

[root@server1 SeerEngine_DC-E7301_AIDCAgent-K8S]# docker load -i dc-agent-*.tar

·     如果环境中已安装Harbor镜像仓库,执行如下操作:

a.     登录Docker Hub或目标仓库。

docker login

按照提示输入用户名和密码进行登录。

b.     加载Docker镜像的tar包。

docker load -i dc-agent-*.tar

使用docker load命令将以tar压缩格式打包的Docker镜像文件加载到本地Docker引擎。其中,-i选项用于指定要加载的tar包文件名。加载后,镜像将会在本地Docker引擎的镜像存储中可用,可以通过docker images命令来验证加载结果。

c.     为镜像添加标签,以便将其推送到目标仓库。

docker tag local-image:tag username/repository:tag

其中,local-image:tag是本地镜像的标签,username/repository:tag是目标仓库中镜像的标签。

d.     推送镜像到目标仓库。

docker push username/repository:tag

e.     因为镜像tag的修改,需修改aidc-agent-deployment.yaml文件中image字段为Harbor仓库镜像标签。

Containerd环境

·     Ubuntu操作系统

root@server1:~/ ctr -n k8s.io images import dc-agent-E7301.tar

·     CentOS操作系统

[root@server1 ~]# ctr -n k8s.io images import dc-agent-E7301.tar

4. 部署AIDC Agent容器

(1)     待集群中所有节点都执行完上述操作后,执行如下命令拉起容器。

¡     Ubuntu操作系统

root@server1:~/ SeerEngine_DC-E7301_AIDCAgent-K8S# kubectl apply -f aidc-agent-deployment.yaml

¡     CentOS操作系统

[root@server1 SeerEngine_DC-E7301_AIDCAgent-K8S]# kubectl apply -f aidc-agent-deployment.yaml

(2)     如果agent_master_ip是本服务器网卡上的IP就以master角色启动,否则以worker角色启动。

¡     以master角色启动时,Agent会将收集到的信息上送至SeerEngine-DC。

¡     以worker角色启动时,Agent会将收集到的信息优先上送至master。master异常时,agent会将收集到的信息上送至SeerEngine-DC。

说明

·     如果不想在某个节点上部署AIDC Agent,可通过设置污点,执行如下命令kubectl label nodes <node-name> se-agent-switch=off。

·     服务器接入VLAN网络时,支持使用AIDC Agent对宿主机进行同轨网络路由配置。

·     参数网卡地址由系统分配,路由及规则由Agent指定,请勿随意修改以避免出现路由及规则配置冲突导致流量异常。

 

5. RoCE参数网卡配置下发

Agent启动时,会检查宿主机是否存在/usr/data/se-agent/config/agent.network.config.yml文件(RoCE配置下发参数的配置文件)。

·     如果存在该文件,则以该配置文件加载运行,并下发参数网卡的RoCE配置。

·     如果不存在该文件,则会向SeerEngine-DC获取已配置的服务器网卡参数模板(可在SeerEngine-DC的RoCE策略详情页面中查看),并在本地生成agent.network.config.yml文件,以该配置文件加载运行,并下发参数网卡的RoCE配置。

注意

正常Agent运行后,agent.network.config.yml文件就会在宿主机生成,如果一直未生成,请检查日志进行排错。

 

6. 查看Agent运行状态

(1)     通过如下命令,查询Agent运行状态。

¡     Ubuntu操作系统

root@server1:~/ SeerEngine_DC-E7301_AIDCAgent-K8S# kubectl get pod -n addc-roce

NAME                      READY   STATUS    RESTARTS   AGE

aidc-agent                1/1     Running   0          10s

¡     CentOS操作系统

[root@server1 SeerEngine_DC-E7301_AIDCAgent-K8S]# kubectl get pod -n addc-roce

NAME         READY   STATUS    RESTARTS   AGE

aidc-agent   1/1     Running   0          10s

(2)     在控制组件页面上查看Agent运行状态。

图4-2 控制组件页面

 

7. 其他注意事项

·     请勿随意删除agent.network.config.yml文件中的注释内容。如果需要修改配置参数,可将注释取消后进行修改。

·     请根据实际需求修改配置文件中的参数。修改后,需要在控制组件页面执行“重启Agent服务”操作才能生效。

·     无论Agent是否在运行,一旦下发了RoCE配置,这些配置将会在容器启动时自动执行。

4.3  查看服务器接入信息

(1)     在控制组件AD-AIDC视图中,进入[监控>拓扑管理>智算中心拓扑>基础网络拓扑]页面,右键单击服务器图标,选择“服务器详情”,即可查看服务器的接入信息。

(2)     如果出现网络异常等情况,造成控制组件未获取到准确的GPU信息,可尝试在控制组件页面执行“重启Agent服务”操作。

注意

严禁进入容器环境执行sudo ./start_agent.sh命令重启,该操作会绕过配置加载机制,导致预置环境变量丢失、动态注入的配置失效等严重后果。

 

4.4  软件升级及卸载

4.4.1  升级

(1)     可使用cp -r命令备份当前版本(例如:cp -r SeerEngine_DC-E7301_AIDCAgent-K8S SeerEngine_DC-E7301_AIDCAgent-K8S_BAK),以便版本回退时使用。

(2)     删除旧版本Pod。

kubectl delete -f se-agent-deployment.yaml

(3)     解压新版本的AIDC Agent安装包,进入解压后的目录,修改aidc-agent-deployment.yaml中start_agent的参数。具体操作说明请参见“2. 配置Agent参数”。

(4)     重新导入镜像文件,具体操作说明请参见“3. 加载镜像”。

(5)     执行kubectl apply -f aidc-agent-deployment.yaml,观察容器运行状态。

4.4.2  卸载

(1)     执行kubectl delete -f aidc-agent-deployment.yaml卸载容器。

(2)     若还需要删除镜像,执行如下步骤:

Docker环境:

a.     查询镜像

docker images | grep agent

dc-agent                                                         E7301                                             08eba7e1138d   Less than a second ago   262MB

matrix-registry.h3c.com:8088/dc-agent                            E7301                  08eba7e1138d   Less than a second ago   262MB

b.     使用 docker rmi -f 命令删除镜像

docker rmi -f 08eba7e1138d

Containerd环境:

a.     ‍查询镜像

ctr images list  | grep agent

REF                            TYPE       DIGEST                                                                  SIZE      PLATFORM       LABELS

docker.io/library/dc-agent:E7301    application/vnd.docker.distribution.manifest.v2+json sha256:23f8522ac93435357d1d0c0b2b196fcc773d8b3ef197c3f18c503132adc15677 252.7 MiB linux/amd64 -

b.     删除指定镜像

ctr images remove docker.io/library/dc-agent:E7301

(3)     若还需要删除本地数据,执行如下命令:

sudo rm -rf /usr/data/se-agent

(4)     若还需要删除环境变量,执行如下步骤:

a.     编辑环境变量文件

使用vi编辑器打开/etc/profile文件:

sudo vi /etc/profile

b.     查找并删除agent_id变量

在文件中查找agent_id相关的行,例如:

export agent_id=xxxx

找到后,按dd删除该行。

c.     保存并退出

按Esc键退出编辑模式。

输入:wq保存并退出。

(5)     若还需要删除agent服务,执行如下步骤:

a.     停止服务

停止正在运行的se-agent服务:

sudo systemctl stop se-agent.service

b.     禁用服务

禁用服务,防止系统重启后自动启动:

sudo systemctl disable se-agent.service

c.     删除服务文件

删除/etc/systemd/system/路径下的se-agent.service文件:

sudo rm /etc/systemd/system/se-agent.service

d.     重新加载systemd配置

删除服务文件后,重新加载 systemd 配置以确保更改生效:

sudo systemctl daemon-reload

 

 

 


5 常见问题解答

5.1  在寒武纪GPU环境中,如果在运行Agent时出现UnsatisfiedLinkError错误,并提示找不到“libcndev.so”库,如何处理?

(1)     确保已安装CNToolkit,并知道其安装路径。

libcndev.so是CNToolkit的一个重要库文件,专门用于提供与寒武纪设备交互的接口。

(2)     在终端中执行如下命令,创建libcndev.so源文件路径的超链接至/usr/lib。

sudo ln -s /安装cntoolkit后的库路径/libcndev.so /usr/lib/libcndev.so

(3)     重新启动Agent服务。

sudo ./start_agent.sh

请将“/安装cntoolkit后的库路径”替换为实际的CNToolkit安装路径。例如,如果实际路径是/opt/cambricon,那么命令应该是:

sudo ln -s /opt/cambricon/libcndev.so /usr/lib/libcndev.so

“/安装cntoolkit后的库路径/libcndev.so”代表源文件路径,即libcndev.so库文件的实际位置,“/usr/lib/libcndev.so”则是目标路径,将在这里创建符号链接,指向源文件。

5.2  在寒武纪GPU环境中,如果在运行Agent时出现错误,提示找不到cn相关库或者找不到cn相关命令,如何处理?

(1)     确保已安装寒武纪驱动程序和CNToolkit,并知道其安装路径,例如/usr/local/neuware/。

(2)     重新启动Agent服务,并指定正确的工作路径。

sudo ./start_agent.sh -w /usr/local/neuware/bin:/usr/local/cuda/bin:/usr/mpi/gcc/openmpi-4.1.7a1/bin:/usr/nccl-tests/build -v /usr/local/neuware/lib64:/usr/local/neuware/lib:/usr/mpi/gcc/openmpi-4.1.7rc1/lib

5.3  英伟达GPU测试提示“Persistence Mode Disabled”,如何处理?

在执行英伟达SOFTWARE测试时,若出现以下报错:

Persistence mode for GPU 7 is disabled. Enable persistence mode by running "nvidia-smi -i <gpuId> -pm 1" as root.

此错误表示当前GPU未启用持久化模式(Persistence Mode),可能导致测试中断或性能不稳定。可通过如下方式处理:

以root权限或使用sudo执行以下命令,立即启用指定GPU的持久模式:

sudo nvidia-smi -i 1 -pm 1   # 启用GPU 1的持久模式

表5-1 参数说明

参数

说明

-i <gpuId>

指定目标GPU的物理索引(0,1,2…),例如-i 1(操作第2块GPU)

-pm 1

开启持久模式(-pm 0为关闭)

 

表5-2 持久化模式的作用与影响

优点

缺点

减少GPU初始化延迟,提升任务响应速度

GPU空闲时仍维持较高功耗(约5-10W)

避免因电源状态切换导致的任务中断(如CUDA程序卡死)

长期启用可能略微增加散热压力(但通常可忽略)

 

5.4  ethtool查询光模块信息时仅显示16进制,如何处理?

Ubuntu 22.04默认提供的ethtool版本为5.16。在使用命令ethtool -m eth0查询光模块信息时,只会显示16进制的原始数据,内容难以阅读。这是由于系统自带的ethtool版本较旧或与网卡驱动不适配,导致无法以友好的格式呈现光模块详细信息。

root@css-g86-032:~# ethtool -m eth0

Offset          Values

------          ------

0x0000:         19 50 00 07 0c 00 00 00 00 00 00 00 00 00 00 00

0x0010:         00 00 39 e3 7e a9 00 00 38 a6 00 00 00 00 00 00

0x0020:         00 00 00 ff ff ff ff 00 00 01 00 00 06 00 00 00

0x0030:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0x0040:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0x0050:         00 00 00 00 00 01 50 1f 44 01 4e 1e 22 05 4c 1d

0x0060:         11 0f ff 00 00 00 00 00 00 00 00 00 00 00 00 00

0x0070:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

驱动自带的ethtool与网卡驱动版本兼容性更好,能够正确解析和输出光模块的详细信息。可以通过以下步骤进行修复:

(1)     确认网卡驱动已正常安装。

(2)     找到正确的ethtool工具。

¡     对于迈络思网卡,ethtool工具通常位于网卡驱动的安装目录:/opt/mellanox/ethtool/sbin/ethtool

¡     对于云脉网卡,ethtool工具通常位于驱动安装包中的scripts文件夹。

root@test:~/mcr_ubuntu_20.04_x86_rel_2412_rc13.1/scripts# pwd

/root/mcr_ubuntu_20.04_x86_rel_2412_rc13.1/scripts

root@test:~/mcr_ubuntu_20.04_x86_rel_2412_rc13.1/scripts# ll

total 38372

drwxr-xr-x 2 root root    4096 Apr 17 14:53 ./

drwxr-xr-x 6 root root    4096 Apr 25 10:45 ../

-rwxr-xr-x 1 root root     313 Apr 17 14:33 cpufreq.sh*

-rwxr-xr-x 1 root root 1684112 Apr 17 14:53 ethtool*

-rwxr-xr-x 1 root root    7832 Apr 17 14:53 ibdev2netdev*

-rwxr-xr-x 1 root root 5044784 Apr 17 14:53 nic_check*

-rwxr-xr-x 1 root root      15 Apr 17 14:53 README.md*

-rwxr-xr-x 1 root root    2939 Apr 17 14:53 show_gids*

-rwxr-xr-x 1 root root    3416 Apr 17 14:53 show_nic_topo*

-rwxr-xr-x 1 root root     252 Apr 17 14:53 xsc_dump_regs*

-rwxr-xr-x 1 root root 3111424 Apr 17 14:53 xsc_monitor*

-rwxr-xr-x 1 root root 8523442 Apr 17 14:53 xsc_reg_dump_andes*

-rwxr-xr-x 1 root root 8892418 Apr 17 14:53 xsc_reg_dump_diamond*

-rwxr-xr-x 1 root root 5051951 Apr 17 14:33 yundump-aarch64*

-rwxr-xr-x 1 root root 6931381 Apr 17 14:33 yundump-x86_64*

(3)     将该目录下的ethtool文件拷贝覆盖到系统目录。

cp /opt/mellanox/ethtool/sbin/ethtool /usr/sbin/

(4)     再次执行ethtool -m eth0,即可获得可读性更好的光模块详细信息。

 

 


6 附录

6.1  英伟达GPU深度性能测试依赖软件的安装流程

6.1.1  安装Data Center GPU Manager(DCGM)

注意

DCGM的版本必须为4.1.1。如果已部署了其他版本,例如3.9.3,请先卸载再安装。

 

Data Center GPU Manager(DCGM)4.1.1是英伟达开发的针对数据中心GPU的管理工具,用于实时监控、配置管理和健康诊断。其功能包括收集GPU遥测数据(如温度、功耗、显存使用率及计算利用率)、调整GPU运行参数,并支持NVSwitch等硬件组件。

以Ubuntu操作系统为例,安装步骤如下:

(1)     获取如下文件,并放在同一目录(例如 :~/dcgm_install):

¡     核心包(core):datacenter-gpu-manager-4-core_4.1.1_amd64.deb

¡     专有功能包(proprietary):datacenter-gpu-manager-4-proprietary_4.1.1_amd64.deb

¡     CUDA支持包(以cuda12为例):datacenter-gpu-manager-4-cuda12_4.1.1_amd64.deb

(2)     安装核心包(core)。

cd ~/dcgm_install

sudo dpkg -i datacenter-gpu-manager-4-core_4.1.1_amd64.deb

(3)     安装专有功能包(proprietary)。

提供NVML高级监控等闭源功能。

sudo dpkg -i datacenter-gpu-manager-4-proprietary_4.1.1_amd64.deb

(4)     安装 CUDA支持包(以cuda12为例)。

sudo dpkg -i datacenter-gpu-manager-4-cuda12_4.1.1_amd64.deb

(5)     安装完成后,查看版本信息。

dcgmi --version

dcgmi  version: 4.1.1

说明

若Agent已部署完成,需要重启Agent才能生效。

 

6.1.2  安装深度学习加速库(NVIDIA CUTLASS

CUTLASS(CUDA Templates for Linear Algebra Subroutines)是英伟达开发的开源库,专为GPU加速的高效矩阵计算设计。

核心功能:

·     优化矩阵乘法(GEMM)和卷积(CONV)运算,是神经网络训练/推理的关键操作。

·     支持多种数值精度(FP32、FP16、TF32、FP8等)。

·     提供模块化、可定制化的模板,允许开发者针对特定GPU架构优化性能。

安装步骤如下:

(1)     获取CUTLASS和googletest开源库,并下载zip包到服务器的同一目录下。

¡     CUTLASS 开源地址:GitHub(NVIDIA/CUTLASS

¡     googletest开源地址:GitHub(google/googletest

图6-1 CUTLASS 开源地址

 

图6-2 googletest开源地址

 

(2)     解压缩ZIP文件。

unzip cutlass-main.zip

图6-3 解压cutlass-main

 

unzip googletest-main.zip

图6-4 解压googletest-main

 

(3)     配置编译选项,安装CMake软件。

a.     配置编译选项。

root@ubuntu62:~# cd /root/zcf/cutlass-main/cmake

root@ubuntu62:/home/cutlass-main/cmake# vi googletest.cmake

图6-5 指定googletest路径

 

b.     安装CMake软件。

root@ubuntu62:~# sudo apt install cmake

root@ubuntu62:~# cmake --version  #查看CMake版本号

(4)     查询CUDA版本号。

图6-6 CUDA版本号为12.4

 

(5)     根据GPU型号确定计算能力,例如英伟达A100的计算能力为8.0。或者通过如下命令查询GPU卡的计算能力。

nvidia-smi --query-gpu=name,compute_cap --format=csv

表6-1 典型GPU型号、SM版本与计算能力的关系

计算能力

SM版本

架构

典型GPU型号

7.0

sm_70

Volta

V100

8.0

sm_80

Ampere

A100, A30

8.6

sm_86

Ampere

RTX 3090, RTX A6000

8.9

sm_89

Ada Lovelace

RTX 4090, L40

9.0

sm_90

Hopper

H100, H200

 

(6)     进行软件编译。

a.     创建构建目录和配置CMake项目。其中需要指定CUDA编译器(nvcc)的目标架构和CUDA Toolkit的安装路径。

root@ubuntu62:~# cd /root/zcf/cutlass-main

root@ubuntu62:~/root/zcf/cutlass-main# mkdir build

root@ubuntu62:~/root/zcf/cutlass-main# cd build/

root@worker12:/zcf/cutlass-main/build# cmake -DCUTLASS_NVCC_ARCHS=’80’ -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.4 --debug-output

提示

CMake参数“DCUTLASS_NVCC_ARCHS”的指定方法:

当服务器GPU混装(例如部分GPU为Ampere架构(sm_80),部分为Hopper架构(sm_90)),使用逗号分隔不同架构的SM版本(例如80,90)。

命令示例:cmake .. -DCUTLASS_NVCC_ARCHS=’80,90’

 

图6-7 创建构建目录和配置CMake项目

 

b.     使用make命令进行编译。

root@worker12:/zcf/cutlass-main/build# make -j 12

图6-8 编译

 

(7)     编译完成后,检查目标程序。

root@ubuntu62:~# cd /root/zcf/cutlass-main/build/tools/profiler

root@worker12:/zcf/cutlass-main/build/tools/profiler# ll

cutlass_profiler即为目标文件,用于CUTLASS的性能分析。

图6-9 cutlass_profiler目标文件

 

(8)     将cutlass_profiler文件所在路径添加至se-agent安装路径下config文件夹中的export.dependence.path.json文件。重启Agent后生效。

export.dependence.path.json

{

  "PATH": "/usr/local/neuware/bin:/usr/local/cuda/bin:/usr/mpi/gcc/openmpi-4.1.7a1/bin:/usr/nccl-tests/build:/root/zcf/cutlass-main/build/tools/profiler",

  "LD_LIBRARY_PATH": "/usr/local/neuware/lib64:/usr/local/neuware/lib:/usr/mpi/gcc/openmpi-4.1.7rc1/lib"

}

6.2  海光GPU深度性能测试依赖软件的安装流程

6.2.1  部署驱动依赖

在部署基础压力工具前,需预先安装配套驱动程序。请参见光合开发者社区发布的版本兼容性说明,安装指定版本的驱动组件。

图6-10 hyqual_readme.md

 

6.2.2  安装基础压力工具HyQual(v2.2.6示例)

说明

本章节以安装HyQual 2.2.6为例,请根据实际DCU型号选择对应的HyQual版本。

 

(1)     下载安装包

访问光合开发者社区,根据实际DCU型号选择匹配的HyQual版本(本示例为hyqual-v2.2.6.tar.bz2)。

图6-11 基础压力工具下载

 

(2)     解压安装包

将安装包上传至目标服务器(如/opt目录)。执行解压命令:

cd /opt  # 切换到安装目录

tar -xvf hyqual-v2.2.6.tar.bz2  # 解压后生成目录 hyqual-v2.2.6

图6-12 解压安装包

 

(3)     将驱动文件和hyqual所在路径添加至se-agent安装路径下config文件夹中的export.dependence.path.json文件。重启Agent后生效。

export.dependence.path.json

{

  "PATH": "/usr/local/neuware/bin:/usr/local/cuda/bin:/usr/mpi/gcc/openmpi-4.1.7a1/bin:/usr/nccl-tests/build:/opt/dtk-24.04.3/bin/hy-smi:/opt/hygon/hyqual/hyqual-v2.2.6",

  "LD_LIBRARY_PATH": "/usr/local/neuware/lib64:/usr/local/neuware/lib:/usr/mpi/gcc/openmpi-4.1.7rc1/lib"

}

 

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们