Torque在Linux集群上的安装配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
服务器的基本状况:
一个2T硬盘的前端存储节点,名称为tccl_front;9台8核的计算节点,名称分别为tccl01-tccl09。操作系统为CentOS 5.3 x86_64版本的Linux系统。
NIS服务已经配置好,存储节点的磁盘用NFS挂载在每个计算节点上作为共享磁盘。所有的应用软件都安装在此共享磁盘上。
1.ssh免密码登录.对每个用户都要设置。
2.下载Torque,解压缩,编译。
目前,torque 2.3是稳定版本,2.4是beta版本。为了稳定,我下载的是2.3.9版本。下载地址:
/downloads/torque
在PBS服务器节点上:
tar xvfz torque-2.3.9.tar.gz
configure需要加参数
./configure --enable-docs --with-scp --enable-syslog
make
make packages
make install
将torque-package-mom-linux-i686.sh,torque-package-clients-linux-i686.sh安装到计算节点上。
将这两个文件拷贝到计算节点上(或者是共享磁盘上),登录进计算节点,运行:
./torque-package-mom-linux-i686.sh --install
./torque-package-clients-linux-i686.sh --install
可以使用dsh之类的工具来辅助。或者手工写一个脚本来完成这些工作。
3.配置pbs_mom为服务
在torque源码包contrib目录中有一个文件
cp contrib/init.d/pbs_mom /etc/init.d/pbs_mom
chkconfig --add pbs_mom
在所有的机器(pbs服务器和计算节点)上都需要如此设置。
写脚本来完成吧!比如
for i in `seq 1 9`
do
echo tccl0$i
ssh tccl0$i "some command"
done
4.配置torque
1)
ldconfig
2) Specify Compute Nodes
编辑文件
/var/spool/torque/server_priv/nodes
内容如下(注意,这里使用的都是机器的简称,与使用免密码登录时的机器名称相同):
tccl01 np=8 smallmem
tccl02 np=8 smallmem
tccl03 np=8 bigmem
tccl04 np=8 bigmem
tccl05 np=8 bigmem
tccl06 np=8 24G_Mem fastcpu
tccl07 np=8 24G_Mem fastcpu
tccl08 np=8 20G_Mem fastcpu
tccl09 np=8 24G_Mem fastcpu
3)Configure TORQUE on the Compute Nodes
按照系统的情况,配置如下:
在计算节点上编辑文件
/var/spool/torque/mom_priv/config
内容如下:
$pbsserver tccl_front
arch x86_64
opsys RHEL
$logevent 255
$ideal_load 4.0
$max_load 8.0
$tmpdir /tmp
4)初始化
torque.setup root
这会生成最基本的一个设置,有一个batch队列。如果需要比较复杂的队列,建议自己写一个配置文件,比如queue.conf文件。下面是一个有short,medium,long 共3个队列的配置文件:
#
# Create queues and set their attributes.
#
#
# Create and define queue batch
#
#create queue batch
#set queue batch queue_type = Execution
#set queue batch resources_default.nodes = 1
#set queue batch resources_default.walltime = 01:00:00
#set queue batch enabled = True
#set queue batch started = True
#Short queue
create queue short
set queue short queue_type = Execution
set queue short resources_default.nodes=1
set queue short Priority = 1000
set queue short max_running=20
set queue short max_queuable=40
set queue short max_user_run=10
set queue short max_user_queuable=20
set queue short resources_min.walltime=00:00:10
set queue short resources_max.walltime=12:00:00
set queue short resources_default.walltime = 12:00:00 set queue short resources_default.neednodes = smallmem set queue short enabled = True
set queue short started = True
#Medium queue
create queue medium
set queue medium queue_type = Execution
set queue medium resources_default.nodes=1
set queue medium Priority = 100
set queue medium max_running=12
set queue medium max_queuable=20
set queue medium max_user_run=4
set queue medium max_user_queuable=8
set queue medium resources_min.walltime=12:00:10
set queue medium resources_max.walltime=48:00:00
set queue medium resources_default.walltime = 24:00:00 set queue medium enabled = True
set queue medium started = True
set queue medium resources_default.neednodes = fastcpu #Long queue
create queue long
set queue long queue_type = Execution
set queue long resources_default.nodes=1
set queue long Priority = 10
set queue long max_running=10
set queue long max_queuable=12
set queue long max_user_run=3
set queue long max_user_queuable=6
set queue long resources_min.walltime=48:00:00
set queue long resources_max.walltime=480:00:00
set queue long resources_default.walltime = 72:00:00
set queue long resources_default.neednodes = bigmem set queue long enabled = True
set queue long started = True