鲲鹏社区首页
中文
注册
如何使用鲲鹏服务器快速搭建HPC集群

如何使用鲲鹏服务器快速搭建HPC集群

HPC

发表于 2023/12/12

0

本文的实操过程需要使用鲲鹏平台环境,开发者可以使用自备的鲲鹏平台进行学习,也可以在鲲鹏社区中申请远程实验室进行学习,远程实验室为开发者提供了免费的鲲鹏平台资源,因远程实验室仅能申请单服务器,若申请远程实验室,仅能搭建单节点的环境,即多瑙调度器与计算节点联合部署在单台服务器的场景。

环境配置

如果开发者选择使用自备的鲲鹏平台环境完成课程学习,则需要确保平台环境与如下环境要求保持一致。

硬件要求:

项目

说明

CPU

Kunpeng 920

操作系统要求:

项目

版本

下载地址

OpenEuler

20.03

https://repo.openeuler.org/openEuler-20.03-LTS-SP3/

软件配置:

项目

版本

说明

下载地址

HPC

22.0.0

华为DonauKit套件。

https://support.huawei.com/enterprise/zh/server-solutions/hpc-pid-253585671/software/255094607?idAbsPath=fixnode01%7C23710424%7C251364417%7C9856629%7C253585671

IB驱动

5.4

集群场景,需要安装IB驱动用以支持IB网络或RoCE网络。

https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/

组网架构


如上图显示,本次搭建的组网架构上主要由3部分组成。

网络系统:由低速管理网络进行节点间连通管理,高速IB/RoCE网络进行业务计算。

集群节点:由2台鲲鹏服务器组成,其中一台作为管理节点,部署多瑙调度器组件(master服务)、多瑙管理平台(Portal组件)以及agent组件,另外作为计算节点,仅部署agent组件。

存储系统:开源的NFS服务存在安全风险,原则上不允许使用开源的NFS作为共享存储

因条件有限,没有额外的分布式存储系统,本次搭建仅使用服务器上本地硬盘构建NFS共享存储。

搭建前准备

(1)2台鲲鹏服务器,并安装操作系统,DonauKit套件支持部署在“CentOS”、“openEuler”、“麒麟”、“Red Hat”与“Ubuntu”操作系统上。本次选择openEuler 20.03 LTS 系统。

(2)获取《HPC 22.0.0 安装指南》,企业用户登录到https://support.huawei.com/enterprise。在“技术支持”页签中浏览或搜索“HPC”。 单击“文档”,查阅或获取该产品对应版本的资料。

(3)获取DonauKit软件包和第三方依赖软件包。

软件包描述

软件包名称

获取方式

DonauKit软件包

HPC_22.0.0_openEuler-aarch64.tar.gz

从SupportE获取:

(1)企业用户登录到https://support.huawei.com/enterprise
(2)在“技术支持”页签中浏览或搜索“HPC”。
(3)单击“软件”,选择所需软件版本。
(4)获取该产品对应版本的软件和数字签名文件。
(5)可选:若需使用“HPC安装配置文件生成工具”生成安装配置文件,请获取对应版本的HPC安装配置文件生成工具。

第三方软件包

(1)etcd-v3.5.4-linux-arm64.tar

(2)haproxy-2.0.14-1.aarch64

(3)haveged-1.9.13-1.aarch64
(4)openEuler-20.03-LTS-SP1-aarch64-dvd-hpc
(5)postgresql-12.7.aarch64.tar

扩展镜像和第三方依赖软件包请从LINK获取。

服务器安装部署

1. OS安装

OS镜像选用Openeuler20.03 LTS, 要求无桌面版(最小安装即可满足),语言为English。

安装指导参考:https://forum.huawei.com/enterprise/zh/thread/580930941172465664

2. 配置主机映射名关系

主管理节点配置所有节点的主机名映射关系到hosts中。

# vim /etc/hosts

创建/share/data目录。

# mkdir -p /share
# mkdir -p /share/data

将hosts文件拷贝到/share/data目录。

# cp /etc/hosts /share/data

编写scp.sh文件将hosts文件拷贝到其他节点。

# vi /home/shell/scp.sh

3. NFS共享存储

(1)主管理节点部署NFS Server

关闭防火墙:

# systemctl stop firewalld
# systemctl disable firewalld

安装nfs和rpcbind:

# yum install -y nfs-utils,rpcbind

在根目创建共享目录:

# mkdir -p /share

修改/etc/exports 文件:

# vim /etc/exports
/share *


其中/share是多瑙服务数据共享目录,/workspace是业务上用户使用的共享目录,原则上需要将两者分开,避免用户存储空间不足影响服务正常运行。

启动服务:

# systemctl enable rpcbind.service
# systemctl enable nfs-server.servicell
# systemctl start rpcbind.service
# systemctl start nfs-server.service

(2)NFS客户端安装脚本

yum install -y nfs-utils rpcbind
systemcl enable rpcbind.service
systemctl start rpcbind.service
showmount -e [server_ip]
mount -t fs [server_ip]:/share /share

4. IB网卡驱动安装

下载网卡驱动链接:

https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/

安装网卡驱动:

cd MLNX OFED LINUX-S.4-1.0.3.0-kylin10-aarch64-ext
echo y | ./mInxofedinstall
dracut -f
ibdev2netdev

5. 配置时间同步

所有节点均需安装:

yum install chrony -y

服务端配置:设2台服务器ip分别为192.168.1.1及192.168.1.2,以192.168.1.1作为时间服务器,配置文件如下:

vim /etc/chrony.conf
allow 192.168.1.2/32

客户端配置:

vim /etc/chrony.conf
server 192.168.1.1 iburst

重启服务器,使得配置生效:

systemctl restart chronyd

验证客户端上是否成功连接:

chronyc sources -v

DonauKit安装部署

1. 用户规划

在所有节点均执行以下命令。

groupadd ccsuite -g 1101
groupadd ccs_master -g 1102
groupadd ccs_agent -g 1103
groupadd ccs_auth -g 1104
groupadd ccs_ignite -g 1105
groupadd ccs_cli -g 1106
groupadd ccp_sysadmin -g 1108
groupadd postgres -g 1109
useradd -b /home -u 1101 -g 1101 -m ccsuite;echo "Huawei123" | passwd --stdin ccsuite
useradd -b /home -u 1102 -g 1102 -m ccs_master;echo "Huawei123" | passwd --stdin ccs_master
useradd -b /home -u 1103 -g 1103 -m ccs_agent;echo "Huawei123" | passwd --stdin ccs_agent
useradd -b /home -u 1104 -g 1104 -m ccs_auth;echo "Huawei123" | passwd --stdin ccs_auth
useradd -b /home -u 1105 -g 1105 -m ccs_ignite;echo "Huawei123" | passwd --stdin ccs_ignite
useradd -b /home -u 1106 -g 1106 -m ccs_cli;echo "Huawei123" | passwd --stdin ccs_cli
useradd -b /home -u 1107 -g 1102 -m ccp_master;echo "Huawei123" | passwd --stdin ccp_master
useradd -b /home -u 1108 -g 1108 -m ccp_sysadmin;echo "Huawei123" | passwd --stdin ccp_sysadmin
useradd -b /home -u 1109 -g 1109 -m postgres;echo "Huawei123" | passwd --stdin postgres

以上用户的密码均设为”Huawei123”,请根据需求修改。

以上用户需在所有节点下都创建。

ccp_master和ccs_master必须使用同一个用户组,且用户组ID需保持一致;其他用户组无特殊要求,建议创建与用户名同名的用户组。

同一用户在不同节点上的UID必须一致,GID必须一致。

以上用户的创建说明可查看产品文档“安装规划-用户规划”章节:https://support.huawei.com/enterprise/zh/doc/EDOC1100254477?idPath=23710424%7C251364417%7C9856629%7C253585671

多瑙版本不相同,创建的用户可能有部分不相同,请以产品文档为主。

2. 目录规划


根据目录规划,在共享目录/share下创建相应目录,注意属主和权限的设置。

3. 上传软件包

上传获取OS镜像和第三方依赖软件包获取的镜像包、第三方依赖软件包和获取DonauKit软件包获取的“DonauKit软件包”到共享目录规划中的“DonauKit安装包共享目录”,并执行以下命令解压软件包。

cd /share/donau
tar --no-same-owner -xzvf HPC_22.0.0_os-platform.tar.gz
cd HPC_22.0.0_os-platform
tar --no-same-owner -xzvf Donau-Portal_1.2.1_os-platform.tar.gz
tar --no-same-owner -xzvf Donau-Scheduler_1.2.1_os-platform.tar.gz
tar --no-same-owner -xzvf Hyper-MPI_1.2.1_os-platform.tar.gz

4. 安装DonauKit

(1)安装前检查

1)已将系统对应的镜像包(“Ubuntu”操作系统需要配置在线源)、第三方依赖软件包和HPC软件包上传至共享目录规划中的“DonauKit安装包共享目录”,并已解压,详细请参见上传软件包。

2)用户已手动创建Donau Portal和Donau Scheduler各服务用户,详细请参见用户规划。

3)同一用户在不同节点上的UID必须一致,GID必须一致,若不一致,请参见同一用户在不同节点上的UID和GID不一致进行修改。

4)确保DonauKit集群各节点时钟同步。如果集群时钟不同步,则可能导致Donau Scheduler与Donau Portal功能异常。

5)在所有Donau Portal关闭NetworkManager(若为CentOS 8.2或openEuler操作系统,不需要关闭NetworkManager服务)。

systemctl disable NetworkManager.service
systemctl stop NetworkManager.service

6)确保操作系统语言为英文。使用echo $LANG命令查询当前操作系统语言,若回显为“en_US.UTF-8”则表示当前操作系统语言为英文。

(2)将DonauKit安装包共享目录下的“install”目录拷贝到本地目录下。

mkdir -p /opt/donau/1.2.1/
chmod -R 755 /opt/donau/1.2.1/
cp -rf /share/donau/HPC_22.0.0_os-platform/install /opt/donau/1.2.1/

(3)编辑配置文件

cd /opt/donau/1.2.1/install
vi setting.ini

涉及参数较多,配置参数说明请查询《HPC 22.0.0 安装指南》中 “安装卸载DonauKit(非HA场景)-安装DonauKit”。

https://support.huawei.com/enterprise/zh/doc/EDOC1100283329/b295c386

(4)启动安装

./install.sh

(5)安装完成后校验

若非正式使用,可以不上传license进行激活。

登录client节点,切换ccs_cli用户。

su – ccs_cli

执行以下命令,输入用户密码。

dconfig

执行以下命令,若status为okay,则导入成功。

dnode

查看到2个节点即安装完成。

(6)提交简单作业。

dsub sleep 60

查询作业结果。

djob

结果如下,则成功运行。

本页内容