APP下载

粒子物理计算集群的搭建

2015-05-30卢鹏

关键词:高性能集群服务器

摘 要:高性能计算集群是处理器技术和网络技术结合的产物,是一组独立的計算机的集合体。本文介绍了山东大学粒子物理计算集群的搭建过程。我们利用22台服务器,建立了一个拥有320核cpu计算能力和80TB存储能力的计算集群,为粒子物理实验数据处理提供了强大的计算平台。同时探索了在高校网络环境下搭建和管理计算集群的方法,为扩大计算集群的规模打下了良好的基础。

关键词:高性能计算集群;PBS

集群(cluster)技术是指通过互联网络将计算机集合在一起,通过并行处理技术,根据一定规则把一个大的问题分解为小的子问题,在集群不同节点上共同完成计算,从而大大降低计算时间。集群可以分为3类:高可用性集群,负载均衡集群,高性能计算集群。高性能计算集群主要用于处理复杂的科学计算问题,应用在需要大规模科学计算的环境中。高能物理计算、生物计算等,性能集群上运行的应用程序一般使用并行算法,把一个大的普通问题根据一定的规则分解成许多小的子问题,集群内的不同节点上并行计算,从而大大提高计算速度。高能物理实验中,会产生大量的数据需要处理,非常依赖高性能计算集群的帮助。我们结合山东大学粒子物理的实验需要,组建了包含320核CPU和80TB存储能力计算集群。依靠PBS(Portable Batch System)经过测试,能够很好地满足现有粒子物理实验的需要。高性能计算集群的组成包含硬件系统、软件系统和网络环境三大部分。下面我们将分别介绍三大系统的搭建策略。

1 硬件系统的搭建

在本计算机集群中,每个节点(服务器)的作用不是完全一样的,按功能可以分为六类:分别是用户登录节点(Gateway Node)、核心管理节点(Center Management Node)、作业调度节点(PBS server Node)、作业提交节点(User Node)、计算节点(Compute Node)和存储节点(Storage Node)。如图所示:

用户登录节点(hostname:lxplus01):是集群的网关、计算集群的入口。外网用户首先远程登录Gateway Node,再由它登录到其他节点,这样能在物理层将外网和内网分隔开,保证集群系统的安全性;核心管理节点(hostname:CS):为计算机群提供基本的网络服务和管理功能,如DNS、NFS、NTP、DHCP、LDAP等等。本集群的核心节点同时提供安装集群的各种软件。包括操作系统、应用软件和管理脚本。核心管理节点是集群系统最关键的节点,所以我们对其做了硬盘冗余设置;作业调度节点(hostname:pbssrv):作业管理系统PBS(Portable Batch System)就安装在本节点上,通过PBS作业调度管理,可以对集群系统的资源进行有效的分配、监测和控制;登陆节点(hostname:sl01-sl03):是用户登录计算集群并提交作业的节点。用户远程登录slxx, 会被随机分配到sl01-sl03节点。这样可以提高用户提交作业的效率,也便于以后扩展计算资源;计算节点(hostname:cu101-cu116):是整个集群的计算节点,他的功能就是执行计算。存储节点(hostname:hepgdata/d1-d6):它是集群系统的数据存储器和数据服务器。存储节点的功能主要是存储并行程序中所需要的大量数据。本集群磁盘阵列在做完raid05之后,存储能力可以达到80TB。

以上对集群节点的划分并不是一成不变的。根据实际的需要,有时可以将管理节点、登录节点、调度节点放到同一个服务器上。一般而言,单台服务器承担的负载越多效率会越低,而服务器过多又会造成对资源的浪费。所以应该在搭建集群系统前,对所需的计算资源做好科学的规划。

2 软件系统的搭建

2.1 操作系统:操作系统的功能是对计算机硬件资源的管理、向用户提供编程接口和交互操作界面的软件、控制输入和输出设备、管理内存和配置文件系统等,同时操作系统支持多种高级语言和各种类型的应用程序。linux操作系统依靠其强大的功能和稳定性,在计算集群操作系统中占据着主导地位。本集群使用的是由费米国家加速器实验室和欧洲核子中心(CERN)等共同开发的scientific linux6.3操作系统。Scientific linux系统被广泛的应用于高能物理的科研和教育领域,能够很好兼容和支持高能物理常用的应用软件。在CS核心服务器安装系统和网络配置完成之后,利用CS服务器上NFS服务器功能,建立共享目录 /hep/sl-repo/6.3/x86_64/ ,linux安装程序就保存在此共享目录之下。其他所有服务器就可以通过NFS server提供的共享目录来安装系统。只需要制作一个USB Flash drive,并在安装时输入正确的安装路径boot: linux repo=nfs:172.16.52.252:/hep/sl-repo/6.3/x86_64/,其他方法与磁盘安装相同。此方法最大的好处在于能够同时批量的安装系统。

2.2 CS管理系统:CS核心服务器上配置有DNS、DHCP、LDAP、NTP服务器。他们共同承担着集群的管理和服务功能。CS服务器至少应配置两个网卡,一个接外网,实现DNS和NTP功能。另一个连接内网地址,通过局域网实现对集群的管理。

DNS(Domain Name System)服务器的查询流程:需要解析服务的Client先查看本机的 /etc/hosts;若无结果,则client查看本地的DNS缓存服务器。对于内网的节点,只需要在 /etc/hosts下添加IP和对应域名即可解析,对于需要连接外网的服务器需要在DNS /var/named 修改相应的A记录映射信息。

NTP(Network Time Protocol)服务器为集群提供时间同步服务。如果计算刀片间时间不同步,在实践中会出现丢失作业等错误。NTP server的配置文件是/etc/ntp.conf。用server参数设定上级时间服务器,语法为:server? IP地址或域名 [prefer] ;IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP 服务器主要以该部主机时间进行校准。我们将NTP server与210.72.145.44 中国国家授时中心服务器和1.cn.pool.ntp.org连接,提供NTP server的同步服务。而其他节点,通过内网定期与NTP server进行时间同步即可。

基于LDAP的用户管理:LDAP是轻量目录访问协议,英文全稱是Lightweight Directory Access Protocol。LDAP是实现被称为目录服务的信息服务,这种目录可以将储存在 /etc 下的group、passwd和shadow文件的信息存储到相关文件下。他就像一个电话簿一样存储用户的密码、用户组等信息。集群中有多台Linux服务器,如果每台服务器都有自己独立的用户名和密码,那么记忆和维护这些信息就非常困难。于是,我们通过利用LDAP,统一为所有的用户提供密码验证服务来解决这个问题。LDAP服务器的配置成功之后,可以实现在集群中任一节点登录,统一认证,统一管理。这种单点登录,统一认证的方式,减轻了工作量,同时也极大地保证了系统的安全性。

NFS(NetWork File System):在集群系统中,一些相同的软件需要安装在所有节点上,由于节点之间是协同工作的,节点间存在大量的数据共享,没有必要在每一个节点上重复安装这些相同的软件。此外,在执行并行作业的时候,要求每一个节点都能访问到相应的可执行文件,对这些可执行文件也需要做一个备份。NFS,即网络文件系统,是集群系统中解决上述问题的一个很有效方法。NFS 是一种在Linux 环境下通过网络共享文件的标准方式,这种机制是经过网络将远程主机上的分区以及目录挂载到本地系统,实现在网络平台上与其他人共享文件及目录。5在本集群中,CS核心管理节点作为NFS服务器,其他节点作为NFS的客户端挂载文件系统。比如我们将 /hep/home 挂载到每个节点的 /hep/home 目录下,这样每台节点都可以使用 /hep/home目录下的ROOT V5.3和GEANT等软件。在客户端配置NFS的时候,可以执行如下命令:vim /etc/fstab 并在/etc/fstab 文件中输入以下内容:IP:/hep /hep nfs bg,hard,intr,retry=600 0 0这样可以实现在启动时自动挂载NFS目录。

2.3 作业系统的构建:PBS最初由NASA的Ames研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理,特别是满足高性能计算的需要,如集群系统、超级计算机和大规模并行系统。PBS目前包括OpenPBS, PBS Pro和Torque三个主要分支。本集群使用的是Torque。PBS组成分为:PBS_server服务器,PBS_sched调度器,PBS_mom执行器。6在管理节点(pbssrv)上安装pbs_server,所有节点上安装pbs_mom,所有计算节点(cu101-cu116)和提交节点(slxx)上安装PBS cleint。Server端配置成功之后,启动pbs_server; pbs_sched; pbs_mom,并把其写到/etc/rc.local里使其能开机自启动。PBS要正常工作,还需要通过qmgr命令创建队列等设置。最后在计算节点启动pbs_mom ,把pbs_mom写入/etc/rc.local。PBS作业系统的使用方法是通过将作业脚本提交到PBS服务器和适当的队列,由计算节点执行并返回结果。

3 网络系统的搭建

集群系统是多节点互联工作,所以必须通过互联网将节点连接在一起。粒子物理计算集群的网络建设是基于万兆核心交换机和千兆网线互联。计算刀片之间是通过机箱内部交换模块实现万兆互联。节点的网络配置,是通过DHCP服务器自动获取IP和DNS信息。DHCP服务器安装在CS上,可以在配置文件 /etc/dhcp/dhcpd.conf 设置自动分配指定的IP地址给节点,并且为了更好地管理IP地址,我们又在网关上对IP地址和MAC地址进行了绑定。集群的网络地址可以分为外网地址和内网地址。所以在Gateway server和CS上,需要至少有两个网卡,分别连接内网和外网。而集群内部的节点,只需配置内网地址即可。

4 总结

本文介绍了山东大学粒子物理计算集群的基本架构和搭建过程。在搭建过程中,解决了集群的系统监控、用户管理、作业程序的实现、并行化的效率以及高速网络实现等难点,同等计算能力下,节约了计算成本和管理难度。同时积累了建设和管理经验,为下一步集群的升级扩容创造了客观和主观条件。

参考文献:

[1]BUYYA R.高性能集群计算:结构与系统(第一卷)[M].北京:电子工业出版社,2001.6.

[2]葛慧娟.基于linux操作系统的DNS服务器配置[D].西安电子科技大学,2005.

[3]王嘉佳.基于目录服务的统一身份认证系统的研究与实现[D].北京交通大学, 2005.3.

[4]Callaghan, Brent NF S Illustrated [M]. Massachusetts: Addison - Wesley P ublishing Company, 1999.

[5]Troque Administrators Guide, Cluster Resources, Inc, 2008.

作者简介:卢鹏,男,1986年,山东济南人,汉族,工程师,助理工程师,研究方向:粒子物理方向。

猜你喜欢

高性能集群服务器
通信控制服务器(CCS)维护终端的设计与实现
海上小型无人机集群的反制装备需求与应对之策研究
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
中国服务器市场份额出炉
一款高性能BGO探测器的研发
勤快又呆萌的集群机器人
得形忘意的服务器标准
高性能砼在桥梁中的应用
计算机网络安全服务器入侵与防御