部署HPC集群的实施方案

7 篇文章 6 订阅

部署HPC集群的实施方案

零、前言

本教程(实际上是一个集群部署的操作流程)旨在通过一个小型的HPC集群部署过程讲述基于Beowulf架构的HPC集群原理、主流工具等相关内容,并不对各个工具的特性及其使用方法进行深入的研究分析。

一、系统配置

1.1 网络拓扑

服务器

内网IP

计算专网IP

域名

备注

登陆节点

172.17.22.16

loginserver-chaosuan

管理节点

172.17.22.13

计算节点1

172.17.29.11

192.168.1.11

compute11

主节点

计算节点2

172.17.29.12

192.168.1.12

compute12

计算节点3

172.17.29.13

192.168.1.13

compute13

计算节点4

172.17.29.14

192.168.1.14

compute14

1.2 操作系统

登录节点:CentOS Linux release 7.3.1611

管理节点:CentOS Linux release 7.3.1611

计算节点:CentOS Linux release 7.9.2009,

二、计算节点、登录节点配置

2.1 域名设置

在登录节点、所有计算节点上执行以下命令,完成节点域名配置

vi /etc/hostname
vi /etc/hosts

2.2 免密登录

loginserver-chaosuan为例,在登录节点、所有计算节点上执行以下命令,设置免密登录

a) 生成公钥私钥

ssh-keygen -t rsa

b) 拷贝公钥到其他节点

ssh-copy-id compute11
ssh-copy-id compute12
ssh-copy-id compute13
ssh-copy-id compute14

2.3 关闭防火墙

在登录节点、计算节点执行以下操作,

a) 查看防火墙状态

systemctl status firewalld.service

b) 关闭运行的防火墙

systemctl stop firewalld.service

c) 开机关闭防火墙

systemctl disable firewalld.service

d) 修改selinux

vi /etc/selinux/config

将SELINUX=enforcing改为:SELINUX=disabled,并执行setenforce 0使他立即生效,当然你也可以重启机器

三、NTP服务

使用compute11作为NTP服务器,loginserver-chaosuan 、compute12、compute13、compute14等作为NTP客户端。

3.1 NTP服务器

     a) 安装NTP

yum install -y ntp

     b) 修改ntp的配置文件

vi /etc/ntp.conf
#ntp.conf中有默认的时间服务器,我们需要注销,然后添加上我们对应的时区时间服务器
server ntp1.aliyun.com
server ntp2.aliyun.com
server ntp3.aliyun.com

#兜底时间服务器,当以上三个时间服务器不可用时,就是以本机时间作为集群机器的统一时间。
server 127.0.0.1
fudge 127.0.0.1 stratum 10

    c) 主机做时间同步

ntpdate -u ntp2.aliyun.com

    d) 开机启动

systemctl enable ntpd

    e) 重启NTP

systemctl start ntpd
systemctl status ntpd

   f) 检查NTP

ntpstat

3.2 NTP客户端

     a) 安装NTP

yum install -y ntp

     b) 修改ntp的配置文件

vi /etc/ntp.conf

server 172.17.29.11

    c) 开机启动

systemctl enable ntpd

   d) 重启NTP

systemctl start ntpd
systemctl status ntpd

   e) 检查NTP

ntpstat

四、建立NFS服务

虽然在HPC场景下NFS性能被人所诟病,但是其部署比较简单,还是以NFS为例来说明。对性能有一定要求的场景,可以考虑GPFS、Lustre等并行文件系统。

使用compute11作为NFS服务器,loginserver-chaosuan 、compute12、compute13、compute14等作为NFS客户端。

4.1 NFS服务器

     a) 安装RPC和NFS软件包

yum -y install rpcbind nfs-utils

    b) 启动服务和设置开启启动

systemctl start rpcbind    #先启动rpc服务
systemctl enable rpcbind   #设置开机启动
systemctl start nfs-server nfs-secure-server #启动nfs服务和nfs安全传输服务
systemctl enable nfs-server nfs-secure-server
firewall-cmd --permanent --add-service=nfs #配置防火墙放行nfs服务
firewall-cmd  --reload

    c) 配置共享文件目录,编辑配置文件

chmod go+w /home #开通自己组group和其他人other的写权限
vi /etc/exports

 /home 172.17.22.16(rw,async,no_root_squash)
 /home 192.168.1.0/24(rw,async,no_root_squash)

systemctl reload nfs #重新加载NFS服务,使配置文件生效

4.2 NFS客户端(计算节点)

    a) 安装RPC和NFS软件包

yum -y install rpcbind nfs-utils

    b) 查看服务器抛出的共享目录信息

showmount -e 192.168.1.11 

    c) 在客户端创建目录,并挂载共享目录

vi /etc/fstab #在该文件中挂载,使系统每次启动时都能自动挂载

192.168.1.11:/home  /home       nfs    defaults 0 0
mount -a   #是文件/etc/fstab生效

    d) 检查

df -Th

4.3 NFS客户端(登录节点)

    a) 安装RPC和NFS软件包

yum -y install rpcbind nfs-utils

    b) 查看服务器抛出的共享目录信息

showmount -e 172.17.29.11 

    c) 在客户端创建目录,并挂载共享目录

vim /etc/fstab #在该文件中挂载,使系统每次启动时都能自动挂载

172.17.29.11:/home  /home       nfs    defaults 0 0
mount -a   #是文件/etc/fstab生效

    d) 检查

df -Th

五、建立NIS服务

使用compute11作为NFS服务器,loginserver-chaosuan 、compute12、compute13、compute14等作为NFS客户端。

  5.1 NIS服务器

    a) 安装软件包

yum install rpcbind yp-tools ypbind ypserv

    b) 设置开机域名

vi /etc/sysconfig/network
NISDOMAIN=hpc

    c) 指定NIS查询的主机名称

vi /etc/yp.conf
ypserver compute11

    d) 启动NIS

/usr/lib64/yp/ypinit -m
systemctl enable ypbind.service
systemctl restart ypbind.service
systemctl status ypbind.service

    e) 验证

ypwhich #查看NIS服务器名称
ypcat passwd #查看NIS服务端设置的账号

    f) 使用NIS数据库设置服务搜索顺序

vi /etc/nsswitch.conf,将相关行改成以下值

passwd:files nis
shadow:files nis
group:files nis
hosts:files nis dns

    g) 重启NIS

systemctl restart ypbind.service

h)  添加账户

useradd hycom
useradd lsfadmin
cd /var/yp
make

  5.2 NIS客户端(计算节点)

    a) 安装软件包

yum install rpcbind yp-tools ypbind

    b) 设置开机域名

vi /etc/sysconfig/network
NISDOMAIN=hpc

    c) 指定NIS查询的主机名称:也可使用authconfig-tui配置客户端

vi /etc/yp.conf
ypserver compute11

    d) 启动NIS

authconfig-tui
systemctl enable ypbind.service
systemctl restart ypbind.service
systemctl status ypbind.service

    e) 验证

ypwhich
ypcat passwd 

    f) 使用NIS数据库设置服务搜索顺序

vi /etc/nsswitch.conf,将相关行改成以下值

passwd:files nis
shadow:files nis
group:files nis
hosts:files nis dns

    g) 重启NIS

systemctl restart ypbind.service

  5.3 NIS客户端(登录节点)

操作过程同上。

    5.4 NIS账户免密

若NIS账户创建时指定的home目录时共享目录,则可以通过下面命令完成NIS账户SSH免密。

ssh-keygen -t rsa                                      
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys          
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

六、编译器配置

  6.1 安装编译器

安装Intel Parallel Studio XE 2019 Cluster Edition编译器,解压之后直接运行./install.sh即可。

  6.2 配置环境变量

在登录节点、所有计算节点上修改~/.bash_profile文件,

vi ~/.bash_profile

  6.3 编写节点列表文件

  6.4 运行Intel MPI测试程序

mpirun -np 20 -f /home/hycom/machinefile ./hello-mpi

七、TORQUE

在管理节点上,通常需要安装LSF、TORQUE、SLURM等作业调度系统。虽然IBM提供了开源版本的LSF,但是对集群规模有一定的限制,建议预算有限的场景采用TORQUE、SLURM等。本文使用TORQUE进行讲解。

7.1 TORQUE服务器

      使用节点loginserver-chaosuan.novalocal作为Torque服务器:

     a) 安装依赖包

yum -y install libxml2-devel openssl-devel gcc gcc-c++ boost-devel libtool

     b) 编译安装torque

tar -zxvf ./torque-4.1.2.tar.gz
cd ./torque-4.1.2
./configure --prefix=/opt/torque
make
make packages
make install #卸载的话是make uninstall 

   c) 开机启动

cp contrib/init.d/{pbs_{server,sched,mom},trqauthd} /etc/init.d
for i in pbs_server pbs_mom trqauthd; do chkconfig --add $i; chkconfig $i on; done

    d) 设置环境变量

vi /etc/profile
  TORQUE=/opt/torque
  export PATH=$PATH:$TORQUE/bin:$TORQUE/sbin

   e) 将root设置为管理账户

./torque.setup root

    f) 启动服务

qterm -tquick
for i in pbs_server pbs_sched pbs_mom trqauthd; do service $i start; done

    g) 调度节点配置计算节点的主机名和CPU核数

vi /var/spool/torque/server_priv/nodes
  compute11 np=28
  compute12 np=28
  compute13 np=28
  compute14 np=28

    h) 重启服务

for i in pbs_server pbs_sched pbs_mom trqauthd; do service $i restart; done

  7.2 torque客户端(计算节点)

  使用compute11、compute12、compute13、compute14等作为torque客户端,以compute11为例,配置方法如下:

  a) 将loginserver-chaosuan.novalocal上的安装包拷贝到compute11

scp contrib/init.d/{pbs_mom,trqauthd} root@compute11:/etc/init.d/
scp torque-package-{mom,clients}-linux-x86_64.sh root@compute11:/root/

  a) .安装软件包

./torque-package-clients-linux-x86_64.sh --install
./torque-package-mom-linux-x86_64.sh --install

    b) 配置环境

vi /var/spool/torque/mom_priv/config
  pbsserver loginserver-chaosuan.novalocal
  logevent 225

    c) 启动pbs_mom

for i in pbs_mom trqauthd; do service $i start; done

    d) 配置环境变量

vi /etc/profile
  TORQUE=/opt/torque
  export PATH=$PATH:$TORQUE/bin:$TORQUE/sbin

    e) 查看节点是否正常

qnodes #或者是pbsnodes -a

八、存储服务器

  实际情况通常需要根据需要配置单独的存储服务器。由于这部分涉及到具体的存储系统,请视情况自行处理。

九、集群监控

Ganglia是一个跨平台可扩展的,高 性能计算系统下的分布式监控系统,主要是用来监控系统性能,如:cpu 、mem、硬盘利用率,I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。网上已经有不少安装教程,不再赘述。

参考资料

[1]. Linux高性能计算集群 -- Beowulf集群

[2]. xCat

[3]. OpenHPC

1 某某汽车高性能计算管理平台系统需求 5 1.1 业务需求分析: 5 2 某某汽车 HPC/CAE云计算中心建设目标、策略及步骤 7 3.1 建设目标与策略 7 3.2 建设步骤 8 3 面向高性能计算中心的资源管理、作业调度系统方案 10 3.1 基于应用的场景分析 10 3.1.1 终端用户通过Compute Manager,提交Fluent批处理计算作业 10 3.1.2 终端用户通过Display Manager,提交需要图形节点支持的图形交互程序 13 3.1.3 终端用户通过Compute Manager,在线查看CAE计算结果中的动画 14 3.1.4 终端用户通过Portal启动其他第三方的虚拟桌面,如Ctrix 15 3.2 某某汽车技术中心 HPC云计算平台管理场景 17 3.2.1 HPC云计算平台管理维护 17 3.2.2 HPC云计算平台软、硬件利用情况监控、统计分析 18 4 澳汰尔PBS Works产品介绍 20 4.1 系统逻辑图 20 4.2 系统物理架构图 22 4.4 PBS Professional产品介绍 25 4.4.1 整合计算资源、方便用户使用 25 4.4.2 可靠性、可用性、可维护性(RAS) 26 4.4.3 贯彻企业服务公约管理模式 29 4.4.4 优化计算资源的使用 29 4.4.5 计算资源管理功能 30 4.4.6 作业调度功能 32 4.4.7 Hooks功能 34 4.4.8 网格计算 35 4.4.9 安全认证 35 4.5 PAS(PBS 应用服务) 37 4.6 Compute Manager 40 4.6.1 三员管理 41 4.7 Display Manager 42 4.7.1 Display Manager系统架构 44 4.7.2 Display Manager使用体验 45 4.8 PBS Works定制功能 48 4.8.1 菜单布局:通常将布局分为三个模块:计算管理器、集群状态、管理员工具。如果有其他的模块,我们可以方便地集成在这个框架内(awpf)。菜单模块支持用户访问控制。 48 4.8.2 集群状态监控:统计所有计算节点的运行状态、节点类型、应用程序、物理内存、实际使用内存、内存使用率、节点利用率等信息。磁盘信息和实际CPU利用率,通过数字的颜色来反应使用程度:0%<X<30%(绿色),30%<X<50%(蓝色),50%<X<80%(橙色),80%<X>在线设置或修改节点上绑定的applications 50 4.8.5 管理员工具>>用户统计:用户名称,作业总数,运行作业个数,排队作业个数,申请cpu核数,使用cpu核数,排队cpu核数等信息。申请cpu总资源比,通过数字的颜色来反应使用程度:0%<X<30%(绿色),30%<X<50%(蓝色),50%<X<80%(橙色),80%<X>作业管理:统计作业号、作业名称、用户、软件、节点数、核数、状态、开始时间、优先级等信息。当作业排队状态时,允许修改作业的优先级。另外管理员也可以删除任意作业。 51 4.8.7 管理员工具>>监控作业排队原因 51 4.8.8 管理员工具>>一周作业统计: 统计当天到过去一周内所累积的运行和排队作业个数。 51 4.8.9 管理员工具>>求解器使用情况统计:统计每个求解器提交的作业总数,在运行的作业,请求的cpu,排队cpu,使用cpu等信息。 52 4.8.10 管理员工具>>磁盘统计:通过WEB页面随时了解本地磁盘的使用情况。使用百分率,通过数字的颜色来反应使用程度:0%<X<30%(绿色),30%<X<50%(蓝色),50%<X<80%(橙色),80%<X>项目管理项:管理员可以以项目为单位,设定项目编号、项目名称、项目的开始和结束时间,项目组人员和项目的优先级。当有紧急的项目,管理员可以把项目的优先级提高,并可以把相应的用户加到项目组中,以此提高项目组成员的作业优先级。用户在Web Portal页面提交作业可以选择项目名称,并且只能选择自己所属项目的项目名称。 53 4.8.12 管理员工具>>作业委托管理: 统计当前用户自己所提交的作业总数,包含:作业号,作业名称,具体用户,使用的软件,使用节点数,作业状态等信息,用户可以把自己的一部分作业或所有作业委托给其他用户. 53 4.8.13 管理员工具>> CPU资源份额调整: 统计所有队列下每个用户的软份额限制,硬份额限制(软限制>整体HPC计算资源实时使用统计: 统计当前所有高性能机器集群的计算资源数目,运行状况,存储等使用情况。 54 4.8.15 管理员工具>> WEB版FTP大文件上传: 招标书中明确要求提供基于网页版的FTP上传工具,方便上传大文件。 55 4.8.16 portal用户密码校验: 为了安全保密,当用户在登陆portal的时候,连续5此输入密码错误,系统会冻结用户。直到一段时间后,方可再次登陆。 55 4.9 报表工具PBS Analytics介绍 56 4.9.1 Analytics架构 56 4.9.2 Analytics功能说明 57 4.9.3 Analytics实际案例分析 57 4.10 SAO解决方案 59 4.10.1 SAO架构 60 5 PBS支持仿真软件 61 5.1 CAE领域中支持软件分类及特点 61 5.2 CAE领域中支持软件及介绍 61 5.3 CFD领域中支持软件及介绍 63 5.4 其他领域及自研软件 64 6 和其他作业调度系统的比较优势 65 6.1 Top100超级计算中心占有率对比 65 6.2 Display Manager让用户的仿真整个过程从工作站到了云端 65 6.3 针对大规模计算中心之功能特性 67 6.4 领域知识对比(并有能力帮助HPC中心建立围绕计算的业务能力) 68 7 成功案例 68 7.1 汽车行业用户列表 68 7.2 成功案例-泛亚汽车(通用设计中心) 69 7.3 PBS在中国实施的大规模计算案例 71 7.4 PBS在全球实施的大规模计算案例 72 8 平台架构与软硬件配置建议 72 8.1 硬件平台选型常见误区 72 8.2 cpu架构的选择 73 8.3 计算网络的选择 76 8.4 存储系统的选择 79 8.5 GPU的选择 80 8.6 节点类型的选择 87 8.7 操作系统的选择 87 8.8 并行文件系统的选择 88 8.9 PBS Professional的数据流控制 89 8.10 推荐配置 90 9 硬件常见测试 92 9.1 性能峰值能力测试点 92 9.2 测试压力估算 92 9.2.1 估算结果 92 9.2.1.1. 性能峰值能力测试估算 92 9.3 测试完成准则 93 9.4 测试风险 93 9.5 测试策略 93 9.6 测试用例详细 93 9.6.1 术语 93 9.6.2 性能测试用例描述 94 9.6.2.1. 机群性能测试描述 94 10 Altair介绍 96
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值