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

H3C AIDC Agent部署指导-R71xx-6W105

01-正文

本章节下载 01-正文  (602.81 KB)

01-正文


1 概述

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

·     与控制组件的交互

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

·     与分析组件的交互

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

 


2 安装前的准备工作

2.1  服务器配置需求

2.1.1  硬件配置需求

服务器型号

硬件要求

H3C R5500G6

H3C R5500G5

H3C R5300G6

H3C R5300G5

CPU架构:x86_64

GPU卡类型:Nvidia A100、Nvidia H800、昆仑芯R300/昆仑三代P800、天数MR-V100、天数BI-V150、沐曦MXC500、寒武纪MLU370-M8

RDMA网卡类型:Mellanox CX6、云脉网卡metaScale-200

 

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

CPU内核

内存

磁盘

1核及以上

2GB及以上

5GB及以上

 

2.1.2  软件配置需求

操作系统

依赖软件

Ubuntu 22.04

openjdk-8-jdk、LLDPD、NetworkManager

 

2.1.3  Kubernetes环境

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

2.2  安装前的检查工作

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

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

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

说明

在部署AIDC Agent和SeerEngine-DC之间的网络环境时,要求不允许存在NAT(Network Address Translation)的中间设备或网络。请确保AIDC Agent和SeerEngine-DC的通信能够直接通过IP地址进行,而不是依赖于NAT网关的转换。

 

(3)     获取AIDC Agent插件安装包。安装包名称格式中version为版本号。解压安装包后会得到裸金属部署和容器化部署的两个安装包,请根据实际部署环境选择相应的安装包。

表2-2 AIDC Agent插件安装包说明

AIDC Agent插件安装

解压后包名

说明

SeerEngine_DC-version-AIDCAgent.zip

SeerEngine_DC-version-AIDCAgent.zip

裸金属部署

SeerEngine_DC-version-AIDCAgent-K8S.zip

容器化部署

 

 


3 AIDC Agent裸金属部署指导

3.1  基础环境配置

(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服务状态

(4)     安装NetworkManager。

root@server1:~# apt install network-manager -y

root@server1:~# systemctl enable NetworkManager.service

root@server1:~# systemctl start NetworkManager.service

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

3.2  在服务器上部署AIDC Agent

注意

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

 

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

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

root@server1:~# unzip SeerEngine_DC-E7105P01_AIDCAgent.zip

root@server1:~# cd SeerEngine_DC-E7105P01_AIDCAgent

root@server1:~/SeerEngine_DC-E7105P01_AIDCAgent# ll

总用量 28720

drwxr-xr-x 2 root root     4096 12月 10  2024 config

-rw-r--r-- 1 root root 25420337 12月 10  2024 dc-agent-1.0.0.jar

-rwxr-xr-x 1 root root  3953824 12月 10  2024 jq

drwxr-xr-x 2 root root     4096 12月 10  2024 lib

drwxr-xr-x 2 root root     4096 12月 10  2024 scripts

-rwxr-xr-x 1 root root     9815 12月 10  2024 start_agent.sh

-rwxr-xr-x 1 root root      579 12月 10  2024 stop_agent.sh

(3)     启动Agent,以root权限执行start_agent.sh脚本启动服务。如果agent_master_ip是本服务器网卡上的IP就以master角色启动,否则以worker角色启动。以master角色启动时,Agent会将收集到的信息上送至SeerEngine-DC;以worker角色启动时,Agent会将收集到的信息优先上送至master,master异常时,Agent会将收集到的信息上送至SeerEngine-DC。

a.     添加防火墙规则,允许流量通过指定的Agent监听端口。

以防火墙为firewalld为例,执行如下命令:

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

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

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

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

root@server1:~/SeerEngine_DC-E7105P01_AIDCAgent# sudo ./start_agent.sh

--saIp 192.168.118.50 --seIp 192.168.118.51  --seUser admin –-sePassword Pwd@12345

其中,seIp、saIp、seUsersePassword为必选参数。

说明

如果在手动执行脚本启动时未配置可选参数,则可选参数的取值将依据config/agent.config.json中的配置。以下是未配置可选参数时手动执行脚本启动的命令示例:

root@server1:~/UNIS_SeerEngine_DC-E7103_AIDCAgent# sudo ./start_agent.sh --seIp 192.168.118.50  --saIp 192.168.118.50

 

表3-1 参数说明

长参数(推荐)

短参数

说明

seProtocol

l

控制组件的北向请求协议(http或https)。默认是http。可选参数

seIp

e

控制组件的北向业务虚IP。必填参数,若配置此项,则必须同时配置seUser和sePassword

sePort

o

控制组件的北向业务请求端口(1-65535)。默认是30000。可选参数

seUser

u

控制组件的北向登录用户名。必填参数,需与sePassword同时配置

sePassword

p

控制组件的北向登录密码。必填参数,需与seUser同时配置

seConfig

c

若为d,则控制组件代理将重启,删除agent.network.config.yml文件并重新拉取

route

r

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

roce

n

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

saIp

a

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

saPort

t

分析组件的北向WebSocket端口(1-65535)。默认是20851。可选参数

allIp

i

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

hwj

w

寒武纪的安装路径,用于设置Agent依赖的环境变量,以确保Agent能够正确访问寒武纪提供的资源和功能。默认是/usr/local/neuware,请根据实际安装环境进行修改。可选参数

nv

v

NVIDIA依赖项(NCCL、MPI、CUDA)的路径,用于设置Agent依赖的环境变量,以确保Agent能够正确访问NVIDIA提供的资源和功能。默认是/usr/local/cuda/bin:/usr/mpi/gcc/openmpi-4.1.7a1/bin:/usr/nccl-tests/build,请根据实际安装环境进行修改。可选参数

help

h

帮助信息

 

说明

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

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

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

 

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

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

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

¡     如果想重新获取服务器网卡参数模板中的配置参数,可以通过sudo ./start_agent.sh –c d命令,自动删除agent.network.config.yml文件并重启Agent。运行后,Agent会重新向SeerEngine-DC获取服务器网卡参数模板配置文件。

¡     如果在SeerEngine-DC上对RoCE策略中的CNP或RoCE队列进行了修改,请通过sudo ./start_agent.sh –c d命令,删除已有的agent.network.config.yml文件并重启Agent。运行后,Agent会重新向SeerEngine-DC获取服务器网卡参数模板配置文件。或者手动修改本地agent.network.config.yml文件后,重启Agent使修改生效。

注意

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

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

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

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

 

(5)     查看Agent运行状态:

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

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

root@server1:~/SeerEngine_DC-E7105P01_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

说明

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

 

3.3  查看服务器接入信息

(1)     在SeerEngine-DC的[监控>拓扑管理>数据中心拓扑>基础网络拓扑]页面,右键单击Leaf设备,选择“服务器接入信息”,即可查看服务器的接入信息。

(2)     如果出现网络异常等情况,造成SeerEngine-DC未获取到准确的GPU信息,可尝试通过执行sudo ./start_agent.sh脚本重启Agent服务。

3.4  软件升级及卸载

3.4.1  升级

(1)     备份当前版本,以便在版本回退时使用。

(2)     解压新版本,以root权限执行start_agent.sh脚本启动服务。

root@server1:~/SeerEngine_DC-E7105P01_AIDCAgent# sudo ./start_agent.sh

检查agent.config.json的配置参数与升级前一致,具体参数说明请参见“在服务器上部署AIDC Agent”。

3.4.2  卸载

执行如下命令卸载AIDC Agent:

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


4 AIDC Agent容器化部署指导

4.1  基础环境配置

在宿主机上安装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服务状态

4.2  在K8s上部署AIDC Agent

注意

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

 

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

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

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

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

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

total 258516

-rw-------  1 root root 264706560 Feb 11 19:51 dc-agent-R7106.tar

-rwxr-xr-x  1 root root      3453 Feb 11 01:04 se-agent-deployment.yaml*

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

…略…

          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 30000 --seUser admin --sePassword Pwd@12345 --saIp 192.168.100.101

…略…

表4-1 参数说明

长参数(推荐)

短参数

说明

seProtocol

l

控制组件的北向请求协议(http或https)。默认是http。可选参数

seIp

e

控制组件的北向业务虚IP。必填参数,若配置此项,则必须同时配置seUser和sePassword

sePort

o

控制组件的北向业务请求端口(1-65535)。默认是30000。可选参数

seUser

u

控制组件的北向登录用户名。必填参数,需与sePassword同时配置

sePassword

p

控制组件的北向登录密码。必填参数,需与seUser同时配置

seConfig

c

若为d,则控制组件代理将重启,删除agent.network.config.yml文件并重新拉取

route

r

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

roce

n

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

saIp

a

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

saPort

t

分析组件的北向WebSocket端口(1-65535)。默认是20851。可选参数

allIp

i

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

hwj

w

寒武纪的安装路径,用于设置Agent依赖的环境变量,以确保Agent能够正确访问寒武纪提供的资源和功能。默认是/usr/local/neuware,请根据实际安装环境进行修改。可选参数

nv

v

NVIDIA依赖项(NCCL、MPI、CUDA)的路径,用于设置Agent依赖的环境变量,以确保Agent能够正确访问NVIDIA提供的资源和功能。默认是/usr/local/cuda/bin:/usr/mpi/gcc/openmpi-4.1.7a1/bin:/usr/nccl-tests/build,请根据实际安装环境进行修改。可选参数

 

(4)     加载镜像。

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

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

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

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的修改,需要修改se-agent-deployment.yaml文件中image字段的定义,将其修改为Hubor仓库镜像标签。

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

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

(6)     如果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对宿主机进行同轨网络路由配置。

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

 

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

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

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

¡     如果想重新获取服务器网卡参数模板中的配置参数,可以在容器内通过sudo ./start_agent.sh –c d命令,自动删除agent.network.config.yml文件并重启Agent。运行后,Agent会重新向SeerEngine-DC获取服务器网卡参数模板配置文件。

¡     如果在SeerEngine-DC上对RoCE策略中的CNP或RoCE队列进行了修改,请在容器内通过sudo ./start_agent.sh –c d命令,删除已有的agent.network.config.yml文件并重启Agent。运行后,Agent会重新向SeerEngine-DC获取服务器网卡参数模板配置文件。或者手动修改本地agent.network.config.yml文件后,重启Agent使修改生效。

注意

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

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

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

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

 

(8)     查看Agent运行状态:

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

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

4.3  查看服务器接入信息

(1)     在SeerEngine-DC的[监控>拓扑管理>数据中心拓扑>基础网络拓扑]页面,右键单击Leaf设备,选择“服务器接入信息”,即可查看服务器的接入信息。

(2)     如果出现网络异常等情况,造成SeerEngine-DC未获取到准确的GPU信息,可尝试通过执行start_agent.sh脚本重启Agent服务。

4.4  升级版本

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

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

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

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

 

 


5 常见问题解答

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

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

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

(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)     确保已安装寒武纪驱动程序和CNTookit,并知道其安装路径,例如/usr/local/neuware/。

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

sudo ./start_agent.sh -w /usr/local/neuware/

或者

sudo ./start_agent.sh --hwj /usr/local/neuware

 

 

 

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

新华三官网
联系我们