01-正文
本章节下载: 01-正文 (2.94 MB)
H3C使能平台(LinSeer Hub)采用软硬件一体化的全方位高性能交互开发模式。平台为用户提供了AI作业的调度、模型训练、模型评估、模型推理、在线推理服务等功能,同时为了辅助用户管理开发资源,也提供了AI资产、AI资源管理等功能。为解决部署难的问题,平台提供基础软硬件集群环境的一键自动部署的功能。通过使能平台,用户可以实现对资源的统一监管、对作业的调度与监控、训练数据可视化、工程化的模型开发管理,满足用户的不同业务场景的开发需求。
本手册适用于H3C使能平台Base单集群版本的安装部署操作。
表2-1 支持的操作系统列表
|
厂商 |
版本 |
管理节点 |
计算节点 |
存储 |
|
Ubuntu |
Ubuntu Server 22.04 |
√ |
√ |
|
|
H3C |
H3C NingOS V3 24.03 |
√ |
√ |
不支持CX |
|
Kylin OS |
Kylin Linux Advanced Server release V10 (Sword) |
√ |
√ |
不支持CX |
Ubuntu版本下载链接:
https://old-releases.ubuntu.com/releases/22.04/ubuntu-22.04-live-server-amd64.iso
表2-2 集群版管理节点硬件配置要求
|
指标项 |
最低配置 |
推荐配置 |
|
机器数量 |
1台 |
3台 |
|
CPU架构 |
x86-64(Intel64/AMD64) |
x86-64(Intel64/AMD64) |
|
CPU内核 |
≥40核、2.0Ghz主频及以上 |
≥64核、2.0Ghz主频及以上 |
|
内存 |
≥256G (8*32G) |
≥512G(16*32G) |
|
网卡 |
1个千兆网卡 |
1个千兆及以上网卡 |
|
磁盘 |
见表2-13管理节点磁盘分区规划建议 |
|
表2-3 集群版各组件CPU配置要求
|
指标项 |
最低CPU配置 |
推荐CPU配置 |
服务说明 |
|
Base |
24核 |
32核 |
操作系统、K8S底座、高可用中间件、Base服务等 |
|
业务组件 |
16核 |
32核 |
为ModelBuilder、AppBuilder、RT、AI助手预留的CPU资源 |
|
总计 |
40核 |
64核 |
|
表2-4 集群版各组件内存配置要求
|
指标项 |
最低内存配置 |
推荐内存配置 |
服务说明 |
|
Base |
96G |
128G 及以上 |
操作系统、K8S底座、高可用中间件、Base服务等 |
|
ModelBuilder |
16G |
32G 及以上 |
开发环境Jupyter、训练任务等组件服务 |
|
AppBuilder |
64G |
192G 及以上 |
应用服务中间件(milvus、Kafka、ES、ETCD)、应用业务服务(知识库、推理、插件、工作流智能体、系统管理) |
|
RT |
64G |
128G 及以上 |
推理服务等 |
|
AI助手 |
16G |
32G 及以上 |
AI助手 |
|
总计 |
256G |
512G 及以上 |
|
· 如需要安装业务组件,参见表格进行CPU和内存的配置。一般Base的配置包含了操作系统及底层服务基本的资源占用,如有其他服务请根据实际情况估计资源占用。
· 一体机部署时,如果计算节点与管理节点共用,最低内存配置建议为1T。
· 管理节点用作Worker节点时,需满足管理服务的同时,达到计算节点的资源要求。
表2-5 集群版计算节点硬件配置要求
|
指标项 |
最低配置 |
推荐配置 |
|
机器数量 |
1台 |
2台(支持扩展) |
|
CPU架构 |
x86-64(Intel64/AMD64) |
x86-64(Intel64/AMD64) |
|
CPU内核 |
≥32核、2.0Ghz主频及以上 (根据业务需求确定) |
每台节点≥48核、2.0Ghz主频及以上 (根据业务需求确定) |
|
内存 |
256GB内存 (根据业务需求确定) |
1TB及以上内存 (根据业务需求确定) |
|
网卡 |
1个100G及以上RDMA网卡 1个千兆及以上网卡 |
1个100G及以上RDMA网卡 1个万兆及以上网卡 |
|
磁盘 |
见表2-14计算节点磁盘分区规划建议 |
|
· 如需要在计算节点上安装业务组件,包括Modelbuilder、AppBuilder、RT或者AI助手,请参见对应产品的安装部署指导,增加硬件配置。
· 计算节点请结合自身业务规模适当扩缩容。
表2-6 外置存储要求
|
指标项 |
最低配置 |
推荐配置 |
|
业务节点外置存储 |
根据业务规模,用户指定,支持NFS、CX存储和Minio对象存储 |
根据业务规模,用户指定,支持NFS、CX存储和Minio对象存储 |
表2-7 一体机版本硬件配置要求
|
指标项 |
最低配置 |
推荐配置 |
|
机器数量 |
1台 |
1台 |
|
CPU架构 |
x86-64(Intel64/AMD64) |
x86-64(Intel64/AMD64) |
|
CPU内核 |
≥40核、2.0Ghz主频及以上 |
≥64核、2.0Ghz主频及以上 |
|
内存 |
≥256G (8*32G) |
≥512G(16*32G) |
|
网卡 |
1个千兆网卡 |
1个千兆及以上网卡 |
|
磁盘 |
见表2-10 管理节点磁盘分区规划建议,数据盘3 根据业务使用量适当扩缩容 |
|
表2-8 一体机版本CPU配置要求(非国产卡)
|
指标项 |
最低CPU配置 |
推荐CPU配置 |
服务说明 |
|
Base |
24核 |
32核 |
操作系统、K8S底座、高可用中间件、Base服务等 |
|
业务组件 |
16核 |
32核 |
为ModelBuilder、AppBuilder、RT、AI助手预留的CPU资源 |
|
总计 |
40核 |
64核 |
|
表2-9 一体机版本内存配置要求
|
指标项 |
最低内存配置 |
推荐内存配置 |
服务说明 |
|
Base |
96G |
128G 及以上 |
操作系统、K8S底座、高可用中间件、Base服务等 |
|
ModelBuilder |
16G |
32G 及以上 |
开发环境Jupyter、训练任务等组件服务 |
|
AppBuilder |
64G |
192G 及以上 |
应用服务中间件(milvus、Kafka、ES、ETCD)、应用业务服务(知识库、推理、插件、工作流智能体、系统管理) |
|
RT |
64G |
128G 及以上 |
推理服务等 |
|
AI助手 |
16G |
32G 及以上 |
AI助手 |
|
总计 |
256G |
512G及以上 |
|
表2-10 一体机版本硬件配置要求
|
指标项 |
最低配置 |
推荐配置 |
|
机器数量 |
1台 |
1台 |
|
CPU架构 |
x86-64(Hygon) |
x86-64(Hygon) |
|
CPU内核 |
≥64核、2.0Ghz主频及以上 |
≥96核、2.0Ghz主频及以上 |
|
内存 |
≥256G (8*32G) |
≥512G(16*32G) |
|
网卡 |
1个千兆网卡 |
1个千兆及以上网卡 |
|
磁盘 |
见表2-10 管理节点磁盘分区规划建议,数据盘3 根据业务使用量适当扩缩容 |
|
表2-11 一体机版本CPU配置要求
|
指标项 |
最低CPU配置 |
推荐CPU配置 |
服务说明 |
|
Base |
32核 |
48核 |
操作系统、K8S底座、高可用中间件、Base服务等 |
|
业务组件 |
32核 |
48核 |
为ModelBuilder、AppBuilder、RT、AI助手预留的CPU资源 |
|
总计 |
64核 |
96核 |
|
表2-12 一体机版本内存配置要求
|
指标项 |
最低内存配置 |
推荐内存配置 |
服务说明 |
|
Base |
96G |
128G 及以上 |
操作系统、K8S底座、高可用中间件、Base服务等 |
|
ModelBuilder |
16G |
64G 及以上 |
开发环境Jupyter、训练任务等组件服务 |
|
AppBuilder |
64G |
128G 及以上 |
应用服务中间件(milvus、Kafka、ES、ETCD)、应用业务服务(知识库、推理、插件、工作流智能体、系统管理) |
|
RT |
64G |
128G 及以上 |
推理服务等 |
|
AI助手 |
16G |
64G 及以上 |
AI助手 |
|
总计 |
256G |
512G及以上 |
|
· 各组件内存容量根据一体机承载业务情况动态调整。
· 若一体机需要跑较多的AI任务,需要在推荐配置上进行资源的适当扩容。
· 如果存在对应组件,不可小于最低资源配置,最低资源配置为限定作业数量和规模情况下可以保证系统正常运行的配置。
根据不同的业务量和不同的服务器配置需求进行不同的磁盘RAID和分区规划。
表2-13 管理节点磁盘划分规划建议
|
磁盘 |
分区 |
格式 |
最小 |
推荐 |
所属模块 |
弹性调整策略 |
|
系统存储 最小:480GiB 推荐:960GiB |
/ |
ext |
450GiB |
890GiB |
操作系统 软件安装包 客户自行规划 |
根目录如有其他存储用途,请根据实际业务量适当调整。 |
|
/boot |
ext4 |
3GiB |
3GiB |
操作系统 |
固定大小 |
|
|
/boot/efi |
efi |
5GiB |
5GiB |
操作系统 |
固定大小 |
|
|
/var/lib/etcd |
xfs |
10GiB |
50GiB |
Matrix |
根据实际业务量适当调整。 |
|
|
LinseerHub系统数据存储 最小:1.2TiB 推荐:2.4TiB |
/var/lib/docker |
xfs |
300GiB |
400GiB |
Matrix |
根据实际业务量适当调整。(存放本地docker镜像数据) |
|
/volumes/data0 |
xfs |
160GiB |
160GiB |
数据库、mq、redis |
根据实际业务量适当调整。需要根据业务量进行扩容处理 |
|
|
/volumes/data1 |
xfs |
120GiB |
360GiB |
Influxdb |
根据实际业务量适当调整。
|
|
|
/var/lib/ssdata |
ext4 |
200GiB |
200GiB |
推理日志 |
根据实际业务量适当调整。 |
|
|
/linseer_hub_data |
xfs |
100GiB |
500GiB |
应用中间件 |
根据实际业务量适当调整。 Kafka 、etcd、mvious、ES |
|
|
/linseer_copilot_data |
xfs |
200GiB |
500GiB |
AI助手中间件 |
根据实际业务量适当调整。 |
|
|
LinseerHub公共数据存储 根据业务使用情况配置 |
/volumes/oss0 |
xfs |
2TiB |
3.84TiB |
minio |
业务使用存储,包含公共资产、业务镜像和业务中间过程数据(用于用户存储时) |
|
LinseerHub公共数据存储备份 根据业务使用情况配置 |
/volumes/oss1 |
xfs |
2TiB |
3.84TiB |
minio |
用作MInio的备份存储 |
管理节点数据盘分区根据自身业务容量选择扩缩容。
数据盘推荐使用LVM分区类型,方便磁盘容量的扩展。
表2-14 计算节点磁盘划分规划建议
|
磁盘 |
分区 |
格式 |
默认大小 |
所属模块 |
弹性调整策略 |
|
系统存储
最小:400G 推荐:960G |
/ |
ext |
400GiB |
操作系统 |
根据实际业务量适当调整。 |
|
/boot |
ext4 |
3GiB |
操作系统 |
固定大小 |
|
|
/boot/efi |
efi |
5GiB |
操作系统 |
固定大小 |
|
|
数据存储: 最小:1.2TiB 推荐:2.4TiB |
/var/lib/docker |
xfs |
800GiB |
Matrix |
根据实际业务量适当调整。(存放本地docker镜像数据) |
计算节点数据盘分区根据自身业务容量选择扩缩容。
数据盘推荐使用LVM分区类型。
表2-15 IP地址规划表
|
IP地址规划 |
作业 |
备注 |
|
Master节点1 IP |
为安装了操作系统的Master节点分配的IP地址 |
必选项(单机部署模式只需要一个Master节点) 加入同一集群的所有Master节点的IP地址必须处于同一网段 |
|
Master节点2 IP(可选) |
为安装了操作系统的Master节点分配的IP地址 |
|
|
Master节点3 IP(可选) |
为安装了操作系统的Master节点分配的IP地址 |
|
|
北向管理虚IP |
部署的集群使用 |
必选项,集群北向管理虚IP必须在Master节点所处的网段内 |
|
Worker节点 *N IP(可选) |
为安装了操作系统的Worker节点分配的IP地址 |
若需要加入Worker节点需要分配与Master同网段的IP |
用户不需要安装客户端软件,使用浏览器即可访问使能平台。推荐使用的浏览器为Google Chrome 92+及以上版本。
|
安装包 |
安装包名称 |
安装包功能说明 |
获取方式 |
|
使能平台Base安装包 |
LinseerHub-Base-EXXXX.zip |
主安装包 |
由H3C提供 |
辅助安装包中包含部分操作系统的GPU插件,网卡插件,以及针对操作系统、驱动部署和网卡等的常用工具、测试工具和补丁包等。安装包仅提供部分工具,作为辅助。
表2-17 辅助安装包
|
安装包 |
安装包名称 |
安装包功能说明 |
获取方式 |
|
辅助安装工具包 |
tools.zip |
辅助安装工具包 |
请联系H3C工作人员获取 |
表2-18 依赖安装包
|
安装包 |
安装包名称 |
安装包功能说明 |
获取方式 |
|
Matrix安装包 |
Matrix-V100R001B01D014SP03-x86_64.zip |
依赖安装包 |
请联系H3C工作人员获取 |
使能Base部署包与节点所在操作系统的Matrix版本强相关,请确认好操作系统,选择对应的安装包。
图3-1 单节点安装流程
图3-2 多节点安装流程
安装操作系统的详细介绍,请参见《H3C使能Base适配的操作系统安装指导》。
如系统时间与北京时间相差过大,安装完操作系统后,请按如下步骤操作:
(1) 执行date -s '当前时间' 命令,同步北京时间。
(2) 执行hwclock -w命令同步系统时间至硬件,防止重启系统后时间会改变。
(3) 当需要安装的组件的存储大于80%时,k8s会发生POD驱逐,安装前请检查存储空间。
(4) 当存储的读写速度小于一定阈值时,安装K8S以及其他组件可能会发生异常,请在安装前执行类似dd if=/dev/zero of=./dump_file oflag=direct bs=1M count=1024 命令检查磁盘读写是否正常,基本保证需要读写速度大于400M/s。
(5) 操作系统安装 chrony (Matrix依赖)。
· Matrix安装前必须保证操作系统时间正常,如安装完Matrix之后修改操作系统时间,会导致Matrix集群异常。
· 如遇到时区不一致,请修改一致,否则会导致监控时间不一致问题,影响使用。(sudo timedatectl set-timezone Asia/Shanghai)
· 请勿使用默认主机名(localhost、localhost.localdomain、localhost4、localhost4.localdomain4、localhost6、localhost6.localdomain6)。主机名称最长63个字符,仅支持小写字母、数字、连字符和小数点,不能以0开头且全为数字,不能以0x、连字符、小数点开头,以连字符、小数点结尾。
· 请勿使用以下关键字“controller、master、masters、worker、new_nodes、etcd、nodes、new_masters”。
为了保障集群节点间进程、服务、及网络通信、IO等时间一致性,需要保障集群时钟的一致性。
若数据中心集群内部有其他系统平台与H3C使能Base关联,比如存储系统平台,需要数据中心集群内部时钟保持一致性,此时可以考虑选择集群内使用统一时钟服务器。
集群主节点,默认作为使能Base集群时钟服务器,集群的从节点,以及计算节点会去同步该主节点时间;使能Base集群在安装部署完成后,自动完成时钟同步及配置。
如需调整时钟服务器:
在浏览器中输入使能Base集群主节点的登录地址,进入Matrix登录页面。
登录地址格式为:https://ip_address:8443/matrix/ui,例如:https://172.16.101.200:8443/matrix/ui。
使能Base默认使用内置时钟服务器,可修改为外置服务器,如图3-3所示。
从集群节点执行如下命令,查看chrony服务运行状态和时钟同步信息,如图3-4所示。
systemctl status chronyd.service
chronyc sources -v
chronyc tracking
date -R
图3-4 查看chrony服务运行状态和时钟同步信息
备注:已知chrony 3.2版本存在bug,在Ubuntu 20.04系统下无法正常进行时间同步,如上图所示;可以升级至chrony 3.5版本,与使能Base集群节点进行时钟同步。对应操作系统的的chrony版本可自行下载。
Ubuntu 20.04系统下无法正常进行时间同步,如图3-5。
该方式采用数据中心统一时钟服务器,H3C使能Base以及涉及到的所有节点(包含共享存储系统平台)均同步该时钟服务器的时间。
首先,数据中心统一时钟服务器chrony服务运行正常,最好可以联网同步外部时钟,允许集群内部网段节点同步。
数据中心统一时钟服务器mu01配置信息,如图3-6。
其他集群节点chrony服务配置信息,如图3-7。
图3-7 其他集群节点chrony服务配置信息
其他集群节点chrony服务配置信息,如图3-8。
图3-8 其他集群节点chrony服务配置信息
示例中10.99.232.233为mu01时钟服务器的IP地址。
集群节点执行如下命令,查看chrony服务运行状态和时钟同步信息:
systemctl status chronyd.service
chronyc sources -v
chronyc tracking
date -R
每个集群节点需安装chrony服务,在每个节点的chrony配置文件chrony.conf中配置,数据中心统一时钟服务器作为时间源,重启chrony服务以使配置生效。
使用如下命令,可以立即调整系统时钟,使其与时钟服务器同步。
chronyc makestep
该命令用于系统启动时或者系统时钟有显著偏差时。
Ubuntu系统chrony服务的配置文件为/etc/chrony/chrony.conf。
NingOS系统为/etc/chrony.conf。
使用如下命令修改系统时区。
timedatectl set-timezone Asia/Shanghai
修改系统时区,如图3-9。
数据中心统一时钟服务器,若可联网推荐配置使用的时钟服务器:
· cn.pool.ntp.org
· ntp.aliyun.com
· ntp.tencent.com
· time.apple.com
· time.windows.com
· asia.pool.ntp.org
安装包解压需要安装unzip命令,请根据操作系统的情况自行安装。
请备份重要文件,包括但不限于/etc/hosts、/etc/profile以及~/.bashrc等文件。检查/etc/hosts,/etc/profile以及~/.bashrc等文件,如果发现以下情况,请按照手册说明清理遗留数据。如果Matrix仍在运行,不要清理。
· 打开/etc/hosts,如果有以下信息,请清除。
图3-10 打开/etc/hosts
· 打开/etc/profile,如果有以下信息,请清除。
图3-11 打开/etc/profile
· 打开~/.bashrc,如果有以下信息,请清除。
图3-12 打开~/.bashrc
· 清除历史helm包记录,需要清除管理节点和计算节点(如有)。
rm -f /data/chartmuseum/*
联系H3C工作人员,获取Matrix安装包,安装包名称Matrix-V100R001B01D014SP03-x86_64.zip。
GPU驱动、网卡驱动可能依赖一些基础的安装包,为了简化驱动安装过程,建议先安装Matrix依赖,再进行驱动的安装。期间如果驱动安装有依赖问题,请先解决依赖。
计算节点在被加入系统使用前,需要安装Matrix,安装Matrix的方式请参见附录(示例不代表所有版本Matrix安装步骤)。
根据GPU卡类型,选择合适的驱动进行安装。示例参见附录(示例不代表所有的驱动安装步骤)。
根据模组类型,选择合适的驱动进行安装。示例参见附录(示例不代表所有的驱动安装步骤)。
根据网卡类型,选择合适的驱动进行安装。示例参见附录(示例不代表所有的驱动安装步骤)。
针对RoCE自动化参数网配置,请查看附录RoCE自动化参数网配置指导。
· 将使能平台的安装包上传至预安装的管理节点的服务器上,如果是多管理节点部署,只需要将安装包上传到其中一台管理节点上即可。安装包约12G。
· 解压压缩包到任意目录。
· 如果期望在安装软件时连同Matrix一起安装,请将3.1.5 准备Matrix安装包的Matrix安装包放到./LinseerHub-Base-EXXXX/dependency目录下。
· 检查是否存在/linseerhub/system文件夹及挂载点。
¡ 查看/linseerhub/system是否存在,若存在则执行下面操作。
¡ 多次执行umount /linseerhub/system,直到提示/linseerhub/system没有挂载点。
¡ 删除/linseerhub/system文件夹。
· /volumes文件夹不可随意删除,若要删除请先卸载Matrix,确保文件夹不在被集群使用后删除。
· 新安装软件需要干净的操作系统或干净的Matrix,经常安装卸载其他软件的系统可能存在未知的冲突问题。
· 检查节点互信,目前单机部署也需要有互信文件。执行ssh_keygen命令生成。
· 关于存储的说明:
¡ 使能平台提供内置的Minio,可作为用户的存储。如果用户需要高性能存储建议使用外置的高性能存储,目前高性能存储支持CX。
¡ 使用CX时,Master节点不可用作worker节点,否则会导致CX不可用。
· 首先确定要配置的管理节点不在其他集群中。
· 安装前配置:执行安装脚本前,需要先配置config.yaml文件,用来声明集群的北向IP,管理节点,存储等信息。配置文件如下:
env:
# Selecting language types during deployment, choose zh_CN or en_US
language: zh_CN # 设置安装的语言,支持zh_CN和en_US
kubernetes:
# If the k8s cluster already exists, please do not enable it.
# If the k8s cluster needs to be installed, ensure `install` to true
install: false# 是否安装k8s (Matrix) 不推荐设置为true,Matrix建议独立安装
# When enable is true, please configure the following [Matrix] parameters.
northernVip: XXX.XXX.XXX.XXX # 集群虚IP
vipMode: INTERNAL # 集群虚IP 形式,与Matrix有关参数
networkMode: SINGLE_SUBNET # 集群网络模式,与Matrix有关参数
# Specify the type of cluster: "single", "HA"
type: single # 部署形态,单节点还是HA,预留字段
masters: # master 节点配置
- hostip: XXX.XXX.XXX.XXX
username: root
password: Admin@h3c
# Specify master2 and master3 if type is HA
# - hostip: 10.0.0.2
# username: root
# password: ssh_pwd
# - hostip: 10.0.0.3
# username: root
# password: ssh_pwd
# Specify workers if you need
workers: [] # worker节点配置,如果没有worker 需要定义为[],有worker则删除[]。单master下不支持加入worker
# - hostip: 10.0.0.4
# username: root
# password: ssh_pwd
# - hostip: 10.0.0.5
# username: root
# password: ssh_pwd
database: # 数据库配置,如果有外置数据库,修改type为external
# Specify the type of database: "internal", "external"
# The type must be "external" if you do not install database server locally
type: internal
username: postgres
# Do not modify host if type is "internal"
host: postgresql-ha-pgpool.linseerhub-middleware
password: Admin@h3c
port: "5432"
s3: # s3 配置,建议使用默认配置
## Specify the type of database: "internal", "external"
# The type must be "external" if you do not install Minio s3 server locally
type: internal
# Do not modify endpoint if type is "internal"
endpoint: http://minio-svc.linseerhub-middleware:9000
username: admin
password: Admin@h3c
# Defalut admin key
accesskey: console
secretkey: console123
persistent: # 持久化路径配置
# NOTE: Cannot be modified later
# NOTE: Cannot be modified later
# NOTE: Cannot be modified later
system:
mountPoint: /linseerhub/system
tenant:
mountPoint: /linseerhub/tenant
harbor: # harbor 配置
# Specify the type of database: "internal"
# NOTE: External image repositories are not currently supported
type: internal
host: linseerhub-registry.h3c.com
port: "8099"
· 配置完config.yaml后,执行bash install.sh进行安装。
· 安装过程中如果发生错误,可以根据终端显示日志以及/var/log/linctl.log查看错误原因,也可以单独安装出错的组件观察组件出错的原因(安装出错的组件可以在/tmp/linctl/install/status/_failed查看)。
· 解决完部署错误后,可以继续执行 bash install.sh进行安装部署操作。
· 因为K8S存在规则:当存储容量大于85%时,pod会被驱逐,因此请关注集群存储使用状态,定期清理不用的数据以及扩容。
· 使用linctl list component命令查看组件安装信息时,如果发现组件deploy_failed表明组件在安装时发生了某种错误,不代表组件安装失败,请进一步使用kubectl命令查看组件安装信息。
安装完成以后,可以使用linctl等相关命令,查看安装包情况。具体操作如下:
(1) 使环境变量生效。
source /etc/profile或者重新打开一个终端。
(2) 执行linctl list component,输出如0。
使用Matrix界面安装节点,在Matrix安装完计算节点后,系统会同步可用计算节点。单管理节点时最多支持扩展3台Worker。
卸载集群前,请注意备份自己和用户的重要数据,如果需要保留数据库数据,请进行备份。
(1) 进入到管理节点,执行linctl uninstall service --path [安装包] --all
此命令会卸载掉已经安装的Matrx集群,请慎重考虑。若不想删除Matrix,将--all选项去掉。
(2) 卸载当前管理节点上的服务后,需要手动清理/etc/hosts、/etc/profile以及~/.bashrc等多余的遗留环境变量。
(3) 多管理节点的情况,需要在其他管理节点进入到/opt/matrix/目录,执行bash uninstall.sh。
(4) 注意,若需要完全清除软件数据,请清除管理节点/volumes目录下的数据,此目录保存了数据库信息、内置存储信息等,清除前请谨慎考虑。
(5) 软件卸载完成后,删除软件遗留挂载点,多次执行命令umount /linseerhub/system,直至显示/linseerhub/system未挂载后删除/linseerhub/system目录。
找到需要卸载的组件包,如:frontend,执行如下命令。
linctl uninstall component --name frontend --version v2.0.0
执行如下命令来进行安装。
linctl install component --path /path/to/install_dir (--path 指定组件安装包位置)
升级前,请使用备份工具进行备份,备份方法请参见4.1 软备份。
执行安装包里的upgrade.sh可进行组件的整体升级,如果只想升级已经部署的组件,可以修改upgrade.sh中的linctl upgrade service --rollback --path ${package_path} –all中的–all去掉。
执行linctl upgrade component –-path [组件安装包],可以进行组件升级。
(1) 检查和修改/etc/linctl/config.yaml文件,如果install字段为true,修改为false。
(2) 执行安装包中的bash install.sh 进行安装。
(1) 升级前,请使用备份工具进行备份,备份方法请参见4.1 软备份。
(2) 检查和修改/etc/linctl/config.yaml文件,如果install字段为true,修改为false。
(3) 执行安装包中的bash upgrade.sh进行升级。
安装包中shell文件夹内的pg_backup.sh、pg_restore.sh脚本用于pg数据库的备份和恢复。
(1) 进入集群的master节点,执行如下命令:
bash pg_backup.sh
(2) 进行备份,备份后生成备份文件,格式pg_backup_[时间].sql。
(1) 进入集群的master节点,执行如下命令:
bash pg_restore.sh pg_backup_[时间].sql # 需要指定备份的文件。
(2) 进行恢复。
不同的操作系统安装Matrix的方式大致相同。
deploy-ningosv33.02.02.zip针对NingOS V3操作系统,deploy-ubuntu22.043.02.02.zip针对Ubuntu 22.04操作系统。
(1) 解压压缩包deploy-ningosv3_3.02.02.zip到/opt目录,执行unzip ./deploy-ningosv3_3.02.02.zip -d /opt。
(2) 拷贝Matrix-V100R001B01D014SP03-x86_64.zip包到/opt/deploy-ningosv3/matrixDependency,执行cp Matrix-V100R001B01D014SP03-x86_64.zip /opt/deploy-ningosv3/matrixDependency。
(3) 进入/opt/deploy-ningosv3/matrixDependency目录,执行bash install.sh。
(4) 完成进度完成后,执行如下命令查看matrix服务是否成功:systemctl status matrix。
(5) 如果安装未成功,请根据日志查看未成功的原因,日志目录:/var/log/matrix-diag/Matrix/Matrix/matrix.log
(1) 解压压缩包 deploy-ubuntu22.04_3.02.02.zip到/opt目录,执行unzip ./deploy-ubuntu22.04_3.02.02.zip -d /opt 。
(2) 拷贝Matrix-V100R001B01D014SP03-x86_64.zip包到/opt/deploy-ubuntu22.04/matrixDependency,执行cp Matrix-V100R001B01D014SP03-x86_64.zip /opt/deploy-ubuntu22.04/matrixDependency。
(3) 进入/opt/deploy-ubuntu22.04/matrixDependency目录,执行bash install.sh。
(4) 完成进度完成后,执行如下命令查看matrix服务是否成功:systemctl status matrix。
(5) 如果安装未成功,请根据日志查看未成功的原因,日志目录:/var/log/matrix-diag/Matrix/Matrix/matrix.log。
(1) 执行echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist.conf。
(2) 执行cat /etc/modprobe.d/blacklist.conf验证是否出现blacklist nouveau,如0所示。
(3) 如果echo命令无法使用,则输入vi /etc/modprobe.d/blacklist.conf在最后一行添加blacklist nouveau。
(4) 执行sudo update-initramfs -u使禁用生效。
(5) 重启该节点。
(6) 重启之后输入lsmod | grep nouveau ,若没有返回值,则nouveau驱动禁用成功。
此章节仅供参考,具体安装方式请根据实际情况决定。
如果节点中装有IB/RoCE网卡,则需要安装IB/RoCE驱动。
表5-1 IB/RoCE驱动安装包
|
安装包 |
安装包名称 |
安装包功能说明 |
获取方式 |
|
IB/RoCE驱动安装包 |
deploy-rdma.zip |
用于安装集群中所有节点的IB/RoCE驱动 |
由H3C提供,在tools.zip包 |
(1) 获取tools.zip安装,解压tools.zip。
(2) 上传IB驱动包deploy-rdma.zip到节点任意目录,如:/opt目录。
(3) 执行unzip deploy-rdma.zip,解压deploy-rdma.zip,目前系统文件夹有:Ubuntu20.04、Ubuntu22.04、H3Linux、Rocky86,根据操作系统类型选择相应文件夹下的驱动文件。
(4) 已经安装Matrix。
(1) 防止操作系统自动升级,执行以下命令。
sed -i "s/1/0/g" /etc/apt/apt.conf.d/10periodic
sed -i "s/1/0/g" /etc/apt/apt.conf.d/20auto-upgrades
(2) 解压ibubuntu2004.zip,执行unzip ibubuntu2004.zip。
(3) 安装ib依赖,执行cd ./ib-test和dpkg -i -R ./。
(4) 安装ib驱动,执行以下命令。
tar -zxvf MLNX_OFED_LINUX-5.7-1.0.2.0-ubuntu20.04-x86_64.tgz
cd MLNX_OFED_LINUX-5.7-1.0.2.0-ubuntu20.04-x86_64
./mlnxofedinstall --add-kernel-support
(5) 启动opensm和opensmd服务。
(6) 执行systemctl restart opensm和systemctl restart opensmd。
(1) 防止操作系统自动升级,执行以下命令。
sed -i "s/1/0/g" /etc/apt/apt.conf.d/10periodic
sed -i "s/1/0/g" /etc/apt/apt.conf.d/20auto-upgrades
(2) 解压ibubun2204.tar.gz,执行tar -zxvf ibubun2204.tar.gz进行解压操作。
(3) 安装ib依赖,执行cd ./ib2和dpkg -i -R ./。
(4) 安装ib驱动,执行以下命令。
tar -zxvf MLNX_OFED_LINUX-5.8-2.0.3.0-ubuntu22.04-x86_64.tgz
cd MLNX_OFED_LINUX-5.8-2.0.3.0-ubuntu22.04-x86_64
./mlnxofedinstall --add-kernel-support
(5) 启动opensm和opensmd服务。
(6) 执行systemctl restart opensm和systemctl restart opensmd。
(1) 解压ib_h3linux.zip包,执行unzip ib_h3linux.zip。
(2) 安装ib依赖,执行rpm -Uvh --force --nodeps ./ib_dep/*.rpm。
(3) 安装ib驱动。
mkdir ./mnt
mount -o ro,loop ./MLNX_OFED_LINUX-5.8-2.0.3.0-H3Linux2.0.2SP01.iso ./mnt
安装ib驱动,执行cd ./mnt和./mlnxofedinstall。
(4) 启动opensm和opensmd服务,执行systemctl restart opensm和systemctl restart opensmd。
(5) 重启openibd和network服务。
systemctl restart openibd.service
systemctl enable openibd.service
systemctl restart network
shutdown -r now
安装驱动之后,ip a | grep 【IB/RoCE网卡名称】,这里是ens1f0,查看返回结果,网卡名后面可能会多一个np0,(也可能是其他内容)。
IB/RoCE网卡需要配置IP,注意节点中只能有一个网关。
在roce模式下(roce交换机)需要配置roce网卡的IP:
(1) 在/etc/netplan/00-installer-config.yaml中对应的IB/RoCE网卡名后面补充上面多出的内容。
(2) 修改完之后保存,退出。
(3) 输入netplan apply,应用修改内容。0是ens1f0网卡修改后的截图。
输入ibstat,如果网卡状态显示active,则为驱动安装成功,如图5-1所示。
图5-3 验证IB/RoCE驱动是否安装成功
如果使用 RoCE自动化参数网,请参见5.3.2 RoCE自动化参数网配置指导。
RoCE自动化,提供自动录入网卡IP功能,保证容器内高性能网卡IP不会冲突,利用了macvlan和dhcp-cni等功能。
(1) 配置RoCE交换机,为每个参数网口配置dhcp-server,可以导入SE提供的语句,或者手动配置dhcp-server的网关,网段范围。
(2) 保证每台worker节点(拥有高性能网卡的机器)高性能网卡名称一致,需要修改网卡名称;在Ubuntu系统中,网卡的名称默认是以en开头的,例如enp2s0、enp3s0等。而某些情况下需要将网卡名称改为eth0、eth1等,以便在网络设备的配置中使用。RoCE场景需要区分存储网和参数网,主要方案是通过网卡名称进行区分,修改网卡名称具体的方法如下:
¡ 解压tools.zip文件,从tools文件夹根据操作系统找到对应脚本h3cnic.sh,执行h3cnic.sh脚本(bash h3cnic.sh) ,将参数网卡名称变成h3c开头。
¡ 查询是否有文件夹/etc/rc.local,如没有创建文件夹,同时将h3cnic.sh文件放入/etc/rc.local。
¡ 如果h3cnic.sh脚本无法正常识别参数网卡,需要管理员手动执行命令将参数网卡名称更换成h3cnic1、h3cnic2、h3cnic3名称,具体命令如下,同时需要将下面命令放入/etc/rc.local文件中。
ip link set dev ens1 down
ifconfig ens1 down
ip link set ens1 name h3cnic1
ip link set dev h3cnic1 up
ifconfig h3cnic1 up
ip link set dev ens2 down
ifconfig ens2 down
ip link set ens1 name h3cnic2
ip link set dev h3cnic2 up
ifconfig h3cnic2 up
图5-4 配置步骤
(3) 安装结束之后可能会显示固件升级失败,无需处理,不影响驱动安装。
此章节仅供参考,具体安装方式请根据实际情况决定。
AI计算节点安装GPU驱动,需要安装如下安装包。
表5-2 驱动安装包列表
|
安装包 |
名称 |
用途 |
获取方式 |
|
GPU驱动安装包 |
gpu-driver.zip |
用于安装集群中所有AI计算节点的GPU驱动 |
由H3C提供,在tools.zip包 |
|
GPU模组依赖包 |
gpu_module.zip(ubuntu 22.04) |
用于安装集群中所有AI计算节点的GPU模组依赖,配置默认支持H20,驱动版本550 |
由H3C提供,在tools.zip包 |
GPU驱动版本兼容列表。此处,以英伟达NVIDIA GPU相关信息 (gpu-operator v24.6.0)为例。
表5-3 GPU驱动版本兼容列表
|
确认项 |
版本信息 |
备注 |
|
NVIDIA GPU Driver |
550.54.15 (recommended) |
nvidia驱动 |
(1) 上传gpu-driver.zip、lib.zip到计算节点任意目录,如:opt目录。
(2) 解压gpu-driver.zip,执行unzip gpu-driver.zip。
(3) 解压gpumodule.zip,执行unzip gpumodule.zip。
(4) 根据计算节点的操作系统进入对应的文件目录,如0所示,目前系统文件目录有:ubuntu22(Ubuntu22.04系统对应的文件目录)。
(5) 在AI计算节点配置环境变量(任何目录下都可以)。
export DEBIAN_FRONTEND=nointeractive
(1) 安装gpu驱动相关deb包。
a. 进入安装位置。
cd /opt/gpu-driver/nvidia/ubuntu22/deb/driver
b. 安装驱动。
dpkg -i *
(2) 安装GPU驱动。
a. 设置环境变量。
echo "export TERM=xterm" >> /etc/profile
b. 环境变量生效。
source /etc/profile
c. 进入nvidia驱动安装位置。
cd /opt/gpu-driver/nvidia/
d. nvidia驱动安装文件赋予可执行权限。
chmod 777 NVIDIA-Linux-x86_64-525.60.13.run
e. 执行驱动安装文件安装nvidia驱动。
./NVIDIA-Linux-x86_64-525.60.13.run --disable-nouveau –silent
f. 检查nvidia驱动是否安装成功,正常显示0信息,即安装成功。
nvidia-smi
g. 确定下mig是否开启,如果开启,执行关闭mig操作。
nvidia-smi -mig 0
(3) 安装fabricmanager(如该GPU有模组需要安装fabricmanager这个组件)。
a. 进入安装位置。
cd /opt/gpu-driver/nvidia/ubuntu22/deb/fabricManager
b. 安装fabricmanager组件。
dpkg -I *
c. 设置开机自启。
systemctl enable nvidia-fabricmanager
d. 启动fabricmanager服务。
systemctl start nvidia-fabricmanager
(1) 添加软连接。
ln -s /sbin/ldconfig /sbin/ldconfig.real
(2) 安装h3clinux依赖。
cd /opt/gpu-driver/nvidia/h3clinux/rpm
rpm -i kernel-devel-5.10.0-136.12.0.86.4.hl202.x86_64.rpm
(3) 安装gpu驱动。
a. 设置环境变量。
echo "export TERM=xterm" >> /etc/profile
b. 环境变量生效。
source /etc/profile
c. 进入nvidia驱动安装位置。
cd /opt/gpu-driver/nvidia/
d. nvidia驱动安装文件赋予可执行权限。
chmod 777 NVIDIA-Linux-x86_64-525.60.13.run
e. 执行驱动安装文件安装nvidia驱动。
./NVIDIA-Linux-x86_64-525.60.13.run --disable-nouveau --silent
f. 检查nvidia驱动是否安装成功,正常显示0信息,即安装成功。
nvidia-smi
g. 执行关闭mig操作,防止mig默认开启。
nvidia-smi -mig 0
(4) 安装fabricmanager(模组需要安装fabricmanager这个组件)。
a. 进入安装位置。
cd /opt/gpu-driver/nvidia/h3clinux/fabricManager
b. 安装fabricmanager组件。
rpm -i nvidia-fabric-manager-525.60.13-1.x86_64.rpm
c. 设置开机自启。
systemctl enable nvidia-fabricmanager
d. 启动fabricmanager服务。
systemctl start nvidia-fabricmanager
(1) 判断系统是否存在nvidia_peermem。
lsmod | grep peer
(2) 如果不存在nvidia_peermem则需要激活。
modprobe nvidia-peermem
解决方案:
(1) 请检查config.ini 中的服务器账号和密码配置是否正确,请确定对应的服务器可以ssh登录。
(2) 另外如果在使用ssh命令登录服务器时报如下错误:“Load key "/root/.ssh/idrsa": error in libcrypto”,请删除:/root/.ssh/idrsa,重新生成is_rsa。
命令:ssh-keygen -m PEM -t rsa -b 4096 -f /root/.ssh/id_rsa。
(3) 验证ssh,命令:ssh-keygen -y -f /root/.ssh/id_rsa。
(4) 验证正确的信息后,再执行bash install.sh。
解决方案,重新安装全部组件:
(1) 执行source /etc/profile。
(2) 执行linctl list component,查看安装组件的情况,卸载已经安装的组件。
(3) 如0的initial-configure组件卸载命令如下。
linctl uninstall component --name initial-configure --version 1.0.0
(4) 删除linseerhub相关的namespace。
kubectl delete ns linseerhub-base
kubectl delete ns linseerhub-middleware
kubectl delete ns linseerhub-training
删除已有的namespace 可能会带来其他不可预估影响,非必要不要进行这个操作。
(5) 执行linctl install component --all --path /path/to/install_dir (--path 指定安装包目录,即:LinseerHub-ModelBuilder-* 的路径)。
(1) 根据报错信息,解决问题(如网络问题导致的失败)。
(2) 执行linctl list component,查看安装组件的情况。
图5-9 查看安装组件的情况
(3) 对比安装目录,使用linctl install component --path /path/to/component.zip(组件包的安装路径),对组件包一一安装。
请检查POD状态,主要从资源满足度方向查找问题。
遗留的/root/.ssh/kownhosts有可能导致安装部署的失败,清除/root/.ssh/kownhosts重新部署。
(1) 使用kubectl edit svc -A -n命名空间svc名称编辑svc。
(2) 修改副本数字段,保存。
(1) 登录vip:8099,账号为:admin,密码:Harbor12345。
(2) 进入到“系统管理”->“复制管理”。点击“新建规则”,创建复制规则。
重启命名空间为kube-system下的podhelm-wrapper-XXX-XXX后,再进行升级。
重新安装,再观察状态。
linctl命令用于平台的日常部署、升级、卸载等运维部署工作。
root@test:~# linctl init service
root@test:~# linctl status service
root@test:~# linctl uninstall service
root@test:~# linctl install component --path [component path]
root@test:~# linctl install component --all --path [component path]
root@test:~# linctl upgrade component --path [component path]
root@test:~# linctl list component
root@test:~# linctl uninstall component --name [component name] --version [component version]
首先,暴力卸载会产生不可预知问题,导致系统发生不可预知错误,请按照卸载流程进行卸载。
可直接清除集群配置的共享存储路径下的数据,或者更换空的共享存储路径进行安装。
删除原共享存储路径下的数据前,可以先备份历史数据。
路径为安装时配置的路径,如下段代码所示。
Storage related configuration (配置集群使用的共享存储)
Store platform-related logs, mirrors, databases and other persistent files
[storage]
Support type: nfs
type: nfs
nfs.hostip: 10.0.0.4
nfs.path: /share
修复系统需要登录系统的数据库,过程比较复杂。请联系H3C工程师修复。
安装好业务节点后,如果GPU卡数总数显示为0。发现此现象,有可能的原因是:对应的Operator安装问题,驱动问题。可以做以下尝试。
(1) 通过集群管理中的系统服务,删除对应的GPU Operator后,重新安装。
图5-10 系统服务
(2) 使用系统中对应operator的版本匹配的GPU驱动。
如:Nvidia官网可以查看如下连接https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/24.6.0/platform-support.html,查看对应的推荐的GPU驱动。
可在客户端或服务端进行备份,任选其一即可。
在文件的数量/存储空间比较大时客户端备份的速度会比较慢,推荐使用服务端备份方式。
(1) cd /linseerhub/tenant,该目录下应该只有一个文件夹(当前版本只支持单文件系统),名称为租户id,假设为${tenantId}。
(2) cd /${tenantId},该目录下有一个文件夹,名称为租户id,一个以数字命名的文件夹,假设为${storageId}。
(3) cd ${storageId},可以看到有很多个以随机字符串命名的文件夹。
(4) 将/linseerhub/tenant/${tenantId}/${storageId} 下的所有目录备份至合适位置。
服务端备份的速度会比客户端快。在对应的服务端的文件系统中找到租户的文件系统目录,步骤如下。
(1) 在文件系统客户端(使能管理节点),执行以下命令(df -h后跟的参数请参见客户端备份方式,请根据实际调整),找到对应的服务端目录。
(2) 登录到使能管理节点服务端,上述例子中,服务端为10.99.232.252的/linseerstorage2/nfsserver1/server2目录(请根据实际情况进行调整),进入到该节点的对应目录。
(3) 对/linseerstorage2/nfsserver1/server2下的所有目录进行备份。
E0306只支持单租户,需在租户的所有业务节点,进行GPFS存储的卸载。
例如下方是某个节点的挂载情况,卸载前可简单记录下当前的挂载点和gpfs文件系统,升级完成后需进行手动挂载恢复。
使用GPFS的相关卸载方法对上述目录进行文件系统的卸载,需在所有业务节点,进行GPFS存储的卸载。
这里需对所有租户的所有业务节点的gpfs挂载进行恢复。
恢复操作是挂载操作的反向,具体的挂载操作也可到租户管理员的存储管理详情页进行查看。
如果执行完该操作之后,发现租户原本的数据发生丢失,请参见数据恢复。
如果发现租户数据发生丢失,需进行手动数据恢复。
如果租户数据备份中是在集群中的某个节点进行备份,则在集群中的某个节点进行数据恢复,恢复操作为在客户端备份时的反向操作,将备份的数据cp至指定文件夹即可。
如果租户数据备份中是在存储服务端进行备份,则在存储服务端进行数据恢复,恢复操作为在服务端备份时的反向操作,将备份的数据cp至指定文件夹即可。
升级完成后,需要重新点选集群roce激活,完成roce网络的重新激活。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!
