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

H3C AIDC Agent部署指导-E74xx-5W400

01-正文

本章节下载 01-正文  (2.32 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.1.3 (可选)SSH免密配置

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示例)

6.3 昇腾GPU深度性能测试依赖软件的安装流程

6.3.1 安装Ascend DMI(Ascend Device Management Interface)工具

6.4 博通网卡无法上线显示的原因分析与处理方案

6.5 昆仑芯XPU深度性能测试依赖软件的安装流程

6.5.1 概述

6.5.2 安装XPU容器套件

6.5.3 配置Docker使用XPU Runtime

6.5.4 通过Docker部署DCXM(Data Center XPU Manager)

6.6 沐曦GPU深度性能测试依赖软件的安装流程

6.6.1 安装流程

6.6.2 术语/缩略语

 


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  软件配置需求

1. 软件环境要求

表2-3 支持的操作系统清单

操作系统

版本要求

Ubuntu

22.04

银河麒麟

V10 SP3

openEuler

22.03 LTS SP3

Rocky Linux

8.8

CentOS

8

 

·     Ubuntu系统限制

支持通过官方ISO安装的服务器版及云平台定制镜像(如AWS/Azure的Ubuntu云镜像)。服务器版默认的网络配置文件通常为00-installer-config.yaml,云平台版默认为50-cloud-init.yaml。

·     适用于所有支持SELinux的操作系统(银河麒麟、openEuler、Rocky Linux和CentOS)

在部署或运行系统前,需要关闭SELinux,请按以下通用步骤操作(不同操作系统可能路径或命令略有差异,请根据实际环境调整):

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

vim /etc/sysconfig/selinux

SELINUX=disabled

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

[root@CX_Series network-scripts]# sestatus

SELinux status:                 disabled

2. 基础依赖软件

以下为操作系统需安装的通用依赖。

表2-4 基础依赖软件列表

依赖软件

功能描述

openjdk-8-jdk

Java开发工具包,用于运行和开发Java应用程序。

LLDPD

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

NetworkManager

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

unzip

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

tar

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

lshw

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

ethtool工具

查询和配置网络接口卡(NIC,网卡)参数的命令行工具。

 

操作系统差异性说明如下。

·     NetworkManager

所有系统需安装,但Ubuntu操作系统不需要安装。

·     ethtool工具

在Ubuntu操作系统中,建议优先使用网卡驱动自带的ethtool工具进行操作,否则在查询光模块信息时,可能仅能显示16进制内容。有关具体的更新操作,请参见“ethtool查询光模块信息时仅显示16进制,如何处理?”。

3. 深度性能测试依赖

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

计算加速卡厂商

依赖软件

说明

英伟达

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

性能测试功能

·     算力性能检测

·     功耗性能检测

·     HBM性能检测

健康检查功能

·     芯片健康检测

·     软硬件兼容性检查

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

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

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

提示

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

 

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

海光

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

性能测试功能

·     算力性能检测

·     功耗性能检测

健康检查功能

·     芯片健康检测

·     驱动健康检测

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

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

昇腾

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

性能测试功能

·     算力性能检测

·     功耗性能检测

·     HBM性能检测

健康检查功能

·     芯片健康检测

·     软硬件兼容性检查

Ascend DMI(Device Management Interface)是一款用于昇腾(Ascend)系列硬件检测与诊断的工具。

该工具通过调用底层 DCMI(Device Control Management Interface,设备控制管理接口)以及 AscendCL(Ascend Computing Language,昇腾计算语言)相关接口实现硬件检测功能。

对于系统级信息查询,Ascend DMI 使用系统提供的通用库进行数据获取和分析。 

Ascend DMI提供以下主要功能:硬件兼容性检查、带宽测试、算力测试、功耗测试、诊断压测等。

安装说明请参见“昇腾GPU深度性能测试依赖软件的安装流程”。

昆仑芯

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

性能测试功能

·     功耗性能检测

·     HBM性能检测

·     XCCL Test

健康检查功能

·     软件兼容性检查

·     硬件兼容性检查

·     HBM内存健康检测

数据中心XPU管理器(Data Center XPU Manager,DCXM)用于简化对XPU设备的管理、监控过程,提供了对XPU设备的群组管理、拓扑结构、健康诊断以及状态检测等能力,支持无缝对接到其他基于DCGM的工具。

DCXM提供以下主要功能:硬件兼容性检查、带宽一致性测试、功耗测试、HBM性能测试等。

安装说明请参见“昆仑芯XPU深度性能测试依赖软件的安装流程

沐曦

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

性能测试功能

·     算力性能检测

·     功耗性能检测

·     HBM性能检测

工具说明:

·     标准版服务器:请安装mxvs。

·     白牌版服务器:请安装htvs。

Mars验收测试套件(HPC Tool Validation Suite,htvs)是Mars面向服务器合作伙伴以及开发者提供的测试软件集合,便于用户方便快捷地了解X系列GPU的硬件能力,它支持PCIe带宽测试和眼图报告获取、显存带宽测试、算力测试、压力测试等功能。

安装说明请参见“沐曦GPU深度性能测试依赖软件的安装流程”。

 

2.1.4  支持的计算加速卡

厂商

硬件款型

计算加速卡硬件型号

英伟达

A100,H800,H20

昆仑

R300,P800

天数

MR-V100,BI-V150

沐曦

MXC500

寒武纪

MLU370-M8

摩尔线程

MTT S4000

海光

K100-AI

昇腾

910B3

 

2.1.5  支持的RDMA网卡

厂商

硬件款型

RDMA网卡型号

云脉

metaScale-200

Mellanox

Mellanox CX6 CX7

Broadcom

BCM57608

 

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

(4)     请确认服务器时间与控制组件、分析组件的时间保持一致。

 

 


3 AIDC Agent裸金属部署指导

3.1  基础环境配置

3.1.1  Ubuntu/Debian操作系统

1. 排查服务器系统名称

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

root@server1:~# vi /etc/hostname

root@server1:~# reboot

2. 安装Java

·     包管理器安装Java

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

·     非包管理器安装Java

非包管理器安装Java是指直接下载Java压缩包,解压后进行手动配置。以下是详细步骤:

a.     下载Java二进制包

访问相关官网下载所需版本的.tar.gz或.zip压缩包。

b.     解压到目标目录

c.     配置环境变量

编辑/etc/profile,配置环境变量,举例如下:

PATH=/usr/openjdk8/bin:$PATH

d.     使环境变量生效

source /etc/profile

e.     创建软链接到标准路径

sudo ln -s /usr/openjdk8/bin/java /usr/bin/java

3. 安装LLDPD

·     包管理器方式安装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学习到的系统名称与服务器的系统名称一致。

 

·     非包管理器方式安装LLDPD

a.     下载官方源码(建议确认链接有效性):https://github.com/lldpd/lldpd

b.     解压源码压缩包,进入源码文件夹,逐步执行:

./autogen.sh

./configure

make

sudo make install

c.     验证安装

完成安装后,运行以下命令以确保lldpd已正确安装。

lldpd  -v

d.     增加配置文件/etc/systemd/system/lldpd.service

[Unit]

Description=LLDP Daemon

After=network.target

 

[Service]

ExecStart=/usr/local/sbin/lldpd

Restart=on-failure

PIDFile=/usr/local/var/run/lldpd.pid

 

[Install]

WantedBy=multi-user.target

e.     检查路径和权限

确保/usr/local/sbin/lldpd存在并可执行。

ls -l /usr/local/sbin/lldpd

确保目录/usr/local/var/run存在,如果没有,请创建:

sudo mkdir -p /usr/local/var/run

f.     创建_lldpd用户

创建一个系统用户_lldpd,不需要shell和home目录。

sudo useradd --system --no-create-home --shell /sbin/nologin _lldpd

g.     设置文件权限,确保相关目录和文件被_lldpd用户访问和使用:

sudo chown -R _lldpd:_lldpd /usr/local/var/run/

sudo chown _lldpd:_lldpd /usr/local/sbin/lldpd

h.     启动lldpd,可以通过以下命令启动服务:

sudo systemctl daemon-reload

sudo systemctl start lldpd

sudo systemctl enable lldpd

4. 安装unzip

root@server1:~# apt install unzip -y

5. 安装tar

说明

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

 

root@server1:~# apt install tar -y

 

6. 安装lshw

说明

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

 

(1)     通过如下命令安装lshw。

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

(2)     安装完成后,可以通过以下命令查看硬件信息。

sudo lshw

3.1.2  RHEL/CentOS操作系统

1. 排查服务器系统名称

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

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

[root@server1 ~]# reboot

2. 安装Java

·     包管理器安装Java

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

·     非包管理器安装Java

非包管理器安装Java是指直接下载Java压缩包,解压后进行手动配置。以下是详细步骤:

a.     下载Java二进制包

访问相关官网下载所需版本的.tar.gz或.zip压缩包。

b.     解压到目标目录

c.     配置环境变量

编辑/etc/profile,配置环境变量,举例如下:

PATH=/usr/openjdk8/bin:$PATH

d.     使环境变量生效

source /etc/profile

e.     创建软链接到标准路径

sudo ln -s /usr/lib/jdk-17/bin/java /usr/bin/java

3. 安装LLDPD

·     包管理器方式安装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学习到的系统名称与服务器的系统名称一致。

 

·     非包管理器方式安装LLDPD

a.     下载官方源码(建议确认链接有效性):https://github.com/lldpd/lldpd

b.     解压源码压缩包,进入源码文件夹,逐步执行:

./autogen.sh

./configure

make

sudo make install

c.     验证安装

完成安装后,运行以下命令以确保lldpd已正确安装。

lldpd  -v

d.     增加配置文件/etc/systemd/system/lldpd.service

[Unit]

Description=LLDP Daemon

After=network.target

 

[Service]

ExecStart=/usr/local/sbin/lldpd

Restart=on-failure

PIDFile=/usr/local/var/run/lldpd.pid

 

[Install]

WantedBy=multi-user.target

e.     检查路径和权限

确保/usr/local/sbin/lldpd存在并可执行。

ls -l /usr/local/sbin/lldpd

确保目录/usr/local/var/run存在,如果没有,请创建:

sudo mkdir -p /usr/local/var/run

f.     创建_lldpd用户

创建一个系统用户_lldpd,不需要shell和home目录。

sudo useradd --system --no-create-home --shell /sbin/nologin _lldpd

g.     设置文件权限,确保相关目录和文件被_lldpd用户访问和使用:

sudo chown -R _lldpd:_lldpd /usr/local/var/run/

sudo chown _lldpd:_lldpd /usr/local/sbin/lldpd

h.     启动lldpd,可以通过以下命令启动服务:

sudo systemctl daemon-reload

sudo systemctl start lldpd

sudo systemctl enable lldpd

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是否安装。如果已安装,会显示硬件信息;如果未安装,会提示命令未找到。

 

(1)     通过如下命令安装lshw。

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

(2)     安装完成后,可以通过以下命令查看硬件信息。

sudo lshw

3.1.3  (可选)SSH免密配置

当服务器的SSH认证模式选择“密码”时,需要指定服务器的SSH密码;当服务器的SSH认证模式选择“公钥”时,需用户手动在服务器后台导入公钥信息。待服务器手工导入公钥后,控制组件可以使用公钥方式免密登录Agent服务器。

图3-1 控制组件自动生成的公钥

 

用户手工导入公钥的方式如下:

(2)     进入[管理>端网管理>端侧管理>服务器管理]页面,单击<SSH配置>按钮,在弹出的对话框中单击<下载公钥>按钮,获取控制组件自动生成的公钥文件id_ecdsa.pub。

(3)     在公钥场景下,非root用户执行Agent安装脚本时,需要 sudo 权限,请为该用户配置sudo 免密权限,确保文件及目录权限配置正确。详细步骤如下;

a.     创建普通用户并指定shell为bash,用户以testuser为例。

sudo useradd -m -s /bin/bash testuser

b.     创建/home/testuser/.ssh目录,并修改权限。

sudo mkdir -p /home/testuser/.ssh

sudo chown testuser:testuser /home/testuser/.ssh

sudo chmod 700 /home/testuser/.ssh

c.     创建authorized_keys文件,并修改权限。

sudo touch /home/testuser/.ssh/authorized_keys

sudo chown testuser:testuser /home/testuser/.ssh/authorized_keys

sudo chmod 600 /home/testuser/.ssh/authorized_keys

d.     testuser用户配置sudo权限。

sudo visudo -f /etc/sudoers.d/testuser

testuser ALL=(ALL) NOPASSWD: ALL   # 添加一行

sudo chmod 440 /etc/sudoers.d/testuser  # 增加权限

(4)     将id_ecdsa.pub文件上传至对应用户的/.ssh目录,并将公钥信息写入对应用户的authorized_keys 文件。

cd /home/testuser/.ssh    # 普通用户执行

cd /root/.ssh       # root用户执行

echo "" >> authorized_keys && cat id_ecdsa.pub >> authorized_keys

注意

由于不同操作系统对 SSH 认证算法的支持存在差异,部分操作系统版本在默认配置下可能不支持所需的公钥认证算法(例如:欧拉22.03、麒麟V10),需手动在目标服务器的/etc/ssh/sshd_config配置文件中,检查是否存在PubkeyAcceptedKeyTypes或PubkeyAcceptedAlgorithms,若存在任一参数,请在其后追加 ecdsa-sha2-nistp256,若两个参数均不存在,请在配置文件中直接添加:PubkeyAcceptedKeyTypes +ecdsa-sha2-nistp256。配置完成后,执行sudo systemctl restart sshd命令重启sshd服务。 

配置示例:

配置文件中存在任一参数:PubkeyAcceptedKeyTypes ssh-ed25519,[email protected],rsa-sha2-256,rsa-sha2-512,ecdsa-sha2-nistp256

配置文件中不存在任一参数: PubkeyAcceptedKeyTypes +ecdsa-sha2-nistp256

 

3.2  控制组件页面部署AIDC Agent

注意

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

 

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

1. 登录控制组件

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

图3-2 登录控制组件

2. 进入端侧管理页面

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

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

视图名称

页面路径

AD-DC

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

AD-AIDC

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

 

3. 服务器纳管

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

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

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

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

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

 

4. 安装AIDC Agent

(1)     勾选需要安装 Agent 的一台或多台服务器,单击<Agent管理>按钮,在下拉菜单中选择“安装”选项。在弹出的对话框中,根据实际环境填写相关参数,如 SSH 用户名、认证模式等信息。

说明

若服务器为手工导入,且在对应模板中已配置 SSH 认证信息,则在页面上安装 Agent 时,将不再支持手动输入认证参数。

 

图3-4 安装Agent

 

(2)     当服务器的SSH认证模式选择“密码”时,需要指定服务器的SSH密码;当服务器的SSH认证模式选择“公钥”时,需用户手动在服务器后台导入公钥信息,导入方式请参见(可选)SSH免密配置。服务器手工导入公钥后,控制组件可以使用公钥方式免密登录Agent服务器。

(3)     在高级参数配置中,可以设置安装路径,并支持通过单击<获取SSH用户环境变量>按钮,自动获取SSH用户的PATH和LD_LIBRARY_PATH。这些环境变量将用于Agent进程的启动,且支持手动修改。

表3-2 高级参数配置说明

参数名称

参数说明

安装路径

Agent的安装路径

PATH

路径环境变量。对应安装路径下的config文件夹中的export.dependence.path.json文件的PATH参数

LD_LIBRARY_PATH

动态链接库搜索路径的环境变量。对应安装路径下的config文件夹中的export.dependence.path.json文件的LD_LIBRARY_PATH参数

 

图3-5 高级参数配置

 

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

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-3 参数说明

参数

说明

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)     启动Agent服务。

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

¡     Ubuntu操作系统

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

¡     CentOS操作系统

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

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

表3-4 参数说明

长参数(推荐)

短参数

说明

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的路径。

seConfig

c

·     若为d,则控制组件代理将重启,删除agent.network.config.yml文件以及/run/se-agent/agent_persistence_config_processed文件。此后,agent.network.config.yml文件将会被重新拉取

·     若为r,则控制组件代理将重启,并删除/run/se-agent/agent_persistence_config_processed文件

agent_persistence_config_processed文件将在以下两种场景下生成:

·     Agent首次安装完成,并成功下发RoCE配置和路由配置后,将生成该文件

·     服务器重启后,Agent进程启动前会恢复最近一次下发的RoCE配置和路由配置,恢复完成后将生成该文件

 

说明

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

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

·     可使用如下命令快速配置和启动Agent:sudo ./install.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-6 控制组件页面

 

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-5 参数说明

参数

说明

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)     启动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-7 控制组件页面

 

说明

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

 

3.4  查看服务器接入信息

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

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

3.5  查看服务器的监控概览

提示

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

 

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

图3-8 Agent详情

 

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

图3-9 查看监控概览

 

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-10 为服务器升级Agent

 

说明

若服务器为手工导入,且在对应模板中已配置 SSH 认证信息,则在页面上升级 Agent 时,将不再支持手动输入认证参数。

 

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

图3-11 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-12 #进入目标目录并解压安装包

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-13 控制组件页面

 

 

 

 


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 aidc-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的路径

seConfig

c

·     若为d,则控制组件代理将重启,删除agent.network.config.yml文件以及/run/se-agent/agent_persistence_config_processed文件。此后,agent.network.config.yml文件将会被重新拉取

·     若为r,则控制组件代理将重启,并删除/run/se-agent/agent_persistence_config_processed文件

agent_persistence_config_processed文件将在以下两种场景下生成:

·     Agent首次安装完成,并成功下发RoCE配置和路由配置后,将生成该文件

·     服务器重启后,Agent进程启动前会恢复最近一次下发的RoCE配置和路由配置,恢复完成后将生成该文件

 

说明

在将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 ./restart.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 ./restart.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服务页面的高级参数配置中进行修改,具体参数说明请参见表3-2。完成配置后,重启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服务页面的高级参数配置中进行修改,具体参数说明请参见表3-2。完成配置后,重启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"

}

6.3  昇腾GPU深度性能测试依赖软件的安装流程

6.3.1  安装Ascend DMI(Ascend Device Management Interface)工具

(1)     安装MindCluster ToolBox

访问昇腾社区,按照社区提供的安装指南下载并安装MindCluster ToolBox工具。

该工具为Ascend DMI提供必要的运行环境与管理功能。

(2)     配置依赖路径

方法一:手动编辑配置文件

将驱动文件及算子库的根目录路径添加到export.dependence.path.json配置文件中,使Ascend DMI能够正确加载相关依赖。

a.     进入se-agent安装路径下的config文件夹。

b.     使用文本编辑器打开export.dependence.path.json文件:

bash

vim export.dependence.path.json

c.     在文件中添加或更新以下内容(请根据实际安装路径调整)。

export.dependence.path.json

{

  "PATH": "/usr/local/Ascend/ascend-toolkit/latest/bin:/usr/local/Ascend/ascend-toolkit/latest/compiler/ccec_compiler/bin:/usr/local/Ascend/ascend-toolkit/latest/tools/ccec_compiler/bin:/opt/jdk8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/Ascend/toolbox/latest/Ascend-DMI/bin",

  "LD_LIBRARY_PATH": "/usr/local/Ascend/ascend-toolkit/latest/tools/aml/lib64:/usr/local/Ascend/ascend-toolkit/latest/tools/aml/lib64/plugin:/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/lib64/plugin/opskernel:/usr/local/Ascend/ascend-toolkit/latest/lib64/plugin/nnengine:/usr/local/Ascend/ascend-toolkit/latest/opp/built-in/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64:/usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver::/usr/local/dcmi:/usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64/driver",

  "ASCEND_OPP_PATH": "/usr/local/Ascend/ascend-toolkit/latest/opp"

}

方法二:通过控制组件的Agent服务页面配置

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

表6-2 端侧管理页面路径说明

视图名称

页面路径

AD-DC

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

AD-AIDC

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

 

e.     勾选一个或多个服务器后,单击<Agent管理>按钮,打开Agent服务管理页面。

f.     在高级参数配置中,请参见表3-2的参数说明,添加或修改PATH、LD_LIBRARY_PATH、ASCEND_OPP_PATH等依赖路径,并保存配置。

(3)     重启Agent服务以使设置生效。

 

 

6.4  博通网卡无法上线显示的原因分析与处理方案

如果使用博通网卡,需要安装Broadcom BCMCD网卡固件升级软件包。

部署步骤如下:

(1)     获取Broadcom BCMCD网卡的固件升级程序(如nvmUpgrade_xxx_H3C_Vxx_xx.tar.gz)。

(2)     解压源码包。

tar -zxvf nvmUpgrade_234.1.124.0b_H3C_V2_20250911.tar.gz

(3)     进入源码目录。

root@ubuntu58-164:/home/nvmUpgrade_234.1.124.0b_H3C_V2_20250911/utils/roce_tools# ll

total 384

drwxr-xr-x 2 root root  4096 Dec 12 17:50 ./

drwxr-xr-x 5 root root  4096 Sep  8 08:08 ../

-rwxr-xr-x 1 root root 88344 Jan 10  2025 bnxtlist.aarch64*

-rwxr-xr-x 1 root root 53024 Jan 10  2025 bnxtlist.x86_64*

-rw-r--r-- 1 root root 36579 Jan 10  2025 brcm_list_dev.c

-rwxr-xr-x 1 root root  5244 Oct 21  2024 ibdev2netdev*

-rwxr-xr-x 1 root root   494 Oct 21  2024 Makefile*

-rwxr-xr-x 1 root root 81904 Jan 10  2025 rdma_monitor.aarch64*

-rwxr-xr-x 1 root root 39777 Jan 10  2025 rdma_monitor.c*

-rwxr-xr-x 1 root root 54976 Jan 10  2025 rdma_monitor.x86_64*

-rw-r--r-- 1 root root   209 Oct 21  2024 README.txt

-rwxr-xr-x 1 root root  6195 Oct 21  2024 show_gids.c*

(4)     根据README文件中的说明,执行make clean && make install命令。

root@ubuntu58-163:/home/nvmUpgrade_234.1.124.0b_H3C_V2_20250911/utils/roce_tools# cat README.txt

Please install bnxtqos to /usr/local/bin first.

make clean

make && make install

(5)     验证安装结果。

root@ubuntu58-163:~# bnxtlist -o

============================================================================================================================

IB             INDEX                 GID                       MSIX       IPv4         Ver    NET         Status

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

rocep157s0     3     0000:0000:0000:0000:0000:ffff:6e01:0181   63     110.001.001.129 RoCEv2  ens15np0   ACTIVE

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

rocep159s0     3     0000:0000:0000:0000:0000:ffff:6e01:01a1   63     110.001.001.161 RoCEv2  ens16np0   ACTIVE

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

rocep175s0     3     0000:0000:0000:0000:0000:ffff:6e01:01c1   63     110.001.001.193 RoCEv2  ens17np0   ACTIVE

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

rocep177s0     3     0000:0000:0000:0000:0000:ffff:6e01:01e1   63     110.001.001.225 RoCEv2  ens18np0   ACTIVE

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

rocep26s0      3     0000:0000:0000:0000:0000:ffff:6e01:0141   63     110.001.001.065 RoCEv2  ens13np0   ACTIVE

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

rocep28s0      3     0000:0000:0000:0000:0000:ffff:6e01:0161   63     110.001.001.097 RoCEv2  ens14np0   ACTIVE

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

rocep45s0      3     0000:0000:0000:0000:0000:ffff:6e01:0101   63     110.001.001.001 RoCEv2  ens11np0   ACTIVE

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

rocep47s0      3     0000:0000:0000:0000:0000:ffff:6e01:0121   63     110.001.001.033 RoCEv2  ens12np0   ACTIVE

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

rocep61s0f0    1     0000:0000:0000:0000:0000:ffff:d400:3aa3   128    212.000.058.163 RoCEv2  ens23f0    ACTIVE

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

 

6.5  昆仑芯XPU深度性能测试依赖软件的安装流程

6.5.1  概述

在对昆仑芯XPU进行深度性能测试前,需要完成一系列基础软件与运行环境的部署。整体思路是:

(1)     安装XPU容器套件(libxpu-container与xpu-container-toolkit),为Docker容器访问XPU设备提供运行时支持。

(2)     通过配置Docker Runtime,使容器默认使用XPU Runtime。

(3)     以容器方式部署DCXM(Data Center XPU Manager),实现对XPU设备的监控和性能数据采集,为后续深度性能测试提供基础支撑。

6.5.2  安装XPU容器套件

XPU容器套件主要包含两部分:

·     libxpu-container:提供XPU容器运行所需的基础库和工具。

·     xpu-container-toolkit:提供与Docker集成的XPU Runtime工具链。

1. 下载安装包

从官方地址下载对应版本的安装包(示例版本如下):

·     libxpu-container:

https://klx-sdk-release-public.su.bcebos.com/xre/component/xpucontainer/1.0.2-1/lib_xpu_container_1.0.2-1.tar.gz

·     xpu-container-toolkit:

https://klx-sdk-release-public.su.bcebos.com/xre/component/xpu-container/1.0.4-1/xpu_container_1.0.4-1.tar.gz

下载完成后,将压缩包上传或放置到目标服务器,并解压到指定目录。

2. 安装libxpu-container(以Ubuntu22.04为例)

(1)     进入解压后的libxpu-container安装目录,例如:

root@node5:~/dcxm/lib_xpu_container_1.0.2-1/ubuntu22.04/amd64# ll

total 1216

drwxr-xr-x 2 1001 1002   4096 Dec  9  2024 ./

drwxr-xr-x 4 1001 1002   4096 Dec  9  2024 ../

-rw-r--r-- 1 1001 1002 992406 Dec  9  2024 libxpu-container1_1.0.2-1_amd64.deb

-rw-r--r-- 1 1001 1002 161250 Dec  9  2024 libxpu-container1-dbg_1.0.2-1_amd64.deb

-rw-r--r-- 1 1001 1002  50290 Dec  9  2024 libxpu-container-dev_1.0.2-1_amd64.deb

-rw-r--r-- 1 1001 1002  21104 Dec  9  2024 libxpu-container-tools_1.0.2-1_amd64.deb

(2)     执行命令进行安装。

$ sudo apt-get install ./libxpu-container-tools_1.0.2-1_amd64.deb

$ sudo apt-get install ./libxpu-container1_1.0.2-1_amd64.deb

3. 安装xpu-container-toolkit

(1)     进入xpu-container-toolkit对应目录,例如:

root@node5:~/dcxm/xpu_container_1.0.4-1/ubuntu22.04/amd64# ll

total 4736

drwxr-xr-x 2 460722 100000    4096 Apr  8  2025 ./

drwxr-xr-x 3 460722 100000    4096 Apr  8  2025 ../

-rw-r--r-- 1 460722 100000 4839086 Apr  8  2025 xpu-container-toolkit_1.0.4-1_amd64.deb

(2)     执行命令进行安装。

$ sudo apt-get install ./ xpu-container-toolkit_1.0.4-1_amd64.deb

6.5.3  配置Docker使用XPU Runtime

完成XPU容器套件安装后,需要将Docker的默认Runtime切换为XPU Runtime,使后续运行的容器能够自动识别并使用XPU设备。

1. 使用xpu-ctk配置 Docker Runtime

执行以下命令,将XPU Runtime 配置为Docker 默认运行时。

sudo xpu-ctk runtime configure --set-as-default

2. 重启Docker

配置完成后,重启Docker服务使配置生效。

sudo systemctl restart docker

6.5.4  通过Docker部署DCXM(Data Center XPU Manager)

DCXM(Data Center XPU Manager)是昆仑芯数据中心XPU管理器,用于对XPU设备进行统一管理与监控。通过容器方式部署DCXM Exporter,可以采集XPU设备的状态、性能数据,并与监控系统对接。

1. 获取 DCXM Exporter镜像包

Docker镜像压缩包示例地址:

https://klx-sdk-release-public.su.bcebos.com/xre/component/dcxm-exporter/1.0.0.1/dcxm-exporter-ubuntu20.04_1.0.0.1.tar.gz

该压缩包解压后目录结构示例:

├── dcxm-exporter-ubuntu20.04.tar.gz       # dcxm-exporter 镜像文件

├── KUNLUN-DCXM-Exporter-Dashboard-1_0.json # Grafana Dashboard 模板

├── run_dcxm_exporter.sh                   # 状态监控运行脚本

└── version.txt                            # 版本说明

2. 解压并加载镜像

(1)     在宿主机上执行如下命令,解压下载的tar包

tar -zxvf dcxm-exporter-ubuntu20.04_*.tar.gz

(2)     进入解压后的目录

cd dcxm-exporter-ubuntu20.04_*

(3)     加载dcxm-exporter镜像

docker load -i dcxm-exporter-ubuntu20.04.tar.gz

可以通过docker images获取镜像版本号image_version。具体查看命令行如:

docker images | grep dcxm-exporter-ubuntu20.04

(4)     运行docx-exporter服务

docker run -d -e CXPU_VISIBLE_DEVICES‍=all --cap-add SYS_ADMIN -p 0.0.0.0::9400 --name "${USER}-dcxm-exporter" dcxm-exporter-ubuntu20.04:${image_version}

参数说明如下:

¡     CXPU_VISIBLE_DEVICES:用于指定容器内可见的XPU设备编号。

-     设置为特定编号(如0,1)表示只挂载部分XPU

-     设置为all表示挂载所有XPU到容器内

¡     cap-add SYS_ADMIN:为容器增加必要的系统管理能力,以便采集底层硬件信息。

¡     p 0.0.0.0::9400:将容器内9400端口映射到宿主机随机端口,用于导出监控指标。

¡     ${image_version}:替换成查询到的镜像版本号。

3. 验证 DCXM Exporter 是否运行正常

使用以下命令检查容器状态:

docker ps |grep dcxm

df203c161d72   dcxm-exporter-ubuntu20.04:1.0.0.1                                           "/usr/local/dcxm/dcx…"    11 days ago          Up 11 days                    root-dcxm-exporter

容器处于Up状态,说明DCXM Exporter已正常运行,可以对接监控系统进行数据采集和可视化。

 

6.6  沐曦GPU深度性能测试依赖软件的安装流程

6.6.1  安装流程

说明

·     在使用htvs工具前,需要确认X系列GPU驱动已正确加载。例如,在Ubuntu系统中,可检查以下目录下是否存在mars.ko文件:/lib/modules/5.4.0-xxx-generic/extra/。

·     执行htvs工具命令需要root权限,请使用具有root权限的账号或通过sudo执行。

 

安装htvs工具(以白牌版为例,标准版mxvs同理)。

(1)     安装FUSE依赖。

htvs基于AppImage封装运行,需要系统已正确安装FUSE。

以Ubuntu为例,可通过以下命令检查是否已安装 FUSE 用户空间工具:

dpkg -l | grep fuse

如未安装,可执行以下命令进行安装:

sudo apt-get install fuse

(2)     将htvs文件放置到系统可执行路径中,确保具有执行权限,并将其所在目录添加到系统的 PATH 环境变量中,即可直接运行。

6.6.2  术语/缩略语

术语/缩略语

全称

说明

AppImage

-

一种将应用及其依赖打包为单一可执行文件的应用分发格式

FUSE

Filesystem in Userspace

一种面向类 Unix 操作系统的用户态文件系统接口,允许在用户空间实现文件系统功能

htvs

HPC Tool Validation Suite

Mars 验收测试套件,用于对 X 系列 GPU 进行性能与稳定性相关测试

 

 

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

新华三官网
联系我们