PBS是功能最为齐全,历史最悠久,支持最广泛的本地集群调度器之一。 PBS的目前包括openPBS,PBS Pro和Torque三个主要分支。 其中OpenPBS是最早的PBS系统,目前已经没有太多后续开发,PBS pro是PBS的商业版本,功能最为丰富。Torque是Clustering公司接过了OpenPBS,并给与后续支持的一个开源版本。
下面是本人安装torque的过程。
一、Torque安装
在master(管理结点上)
1、解压安装包
[root@master tmp]# tar zxvf torque-2.3.0.tar.gz
2、进入到解压后的文件夹
./configure --with-default-server=master
make
make install
安装完成后,将torque文件夹中的bin、sbin加入到环境变量中
3、
(1)[root@master torque-2.3.0]#./torque.setup <user>
<user>必须是个普通用户
(2)[root@master torque-2.3.0]#make packages
把产生的 tpackages , torque-package-clients-linux-x86-64.sh,
torque-package-mom-linux-x86-64.sh 拷贝到所有节点。
(3)[root@master torque-2.3.0]# ./torque-package-clients-linux-x86_64.sh --install
[root@master torque-2.3.0]# ./torque-package-mom-linux-x86_64.sh --install
(4)编辑/var/spool/torque/server_priv/nodes (需要自己建立)
加入如下内容
master np=4
node01 np=4
.......
node09 np=4
(5)启动pbs_server,pbs_sched,pbs_mom,并把其写到/etc/rc.local里使其能开机自启动。
(6)创建队列
[root@master ~]# qmgr
create queue students
set queue students queue_type = Execution
set queue students Priority = 40
set queue students resources_max.cput = 96:00:00
set queue students resources_min.cput = 00:00:01
set queue students resources_default.cput = 96:00:00
set queue students enabled = True
set queue students started = True
4、在node0x (x=1-9,计算结点上)
[root@node0x torque-2.3.0]# ./torque-package-clients-linux-x86_64.sh --install
[root@node0x torque-2.3.0]# ./torque-package-mom-linux-x86_64.sh --install
然后启动pbs_mom ,把pbs_mom写入/etc/rc.local
二、Torque PBS使用
1、创建用户
在master的root下
useradd test
passwd test
输入test密码
到/var/yp下make一下
2、配置普通用户的ssh
su test
cd
ssh-keygen -t dsa
cd .ssh
cat id_pub.dsa >>authorized_keys
chmod 600 authorized_keys
3、编写作业脚本
[test1@master t]vi pbsjob
#!/bin/tcsh
#PBS -o /home/test1/pbstest/t/output 标准输出文件
#PBS -e /home/test1/pbstest/t/error 错误输出文件
#PBS -l nodes=5:ppn=4 规定使用的节点数以及每个节点能跑多少核
#PBS –q students 把任务提交到students队列中
cd $PBS_O_WORKDIR 到工作目录下(此为PBS提供的环境变量)
mpirun –machine $PBS_NODEFILE -np 20 ./vasp
4、启动mpd
mpdboot -n 10 -f mfa
mfa内容:
master:4
node01:4
….
node09:4
5、提交,查询,删除作业
提交作业:qsub pbsjob
作业提交后会有一个作业号
[test1@master pbstest]$ qsub pbsjob
48.master
查询作业:qstat
[test1@master pbstest]$ qstat
Job id Name User Time Use S Queue
------------------------- ---------------- --------------- -------- - -------------------------------
48.master pbstest test1 00:00:00 R students
删除作业:qdel 作业号
[test1@master pbstest]$ qdel 48
====================================================================
下载torque-2.3.0.tar包,置于HOME下
tar xvf torque-2.3.0.tar
cd torque-2.3.0
./configure
make
make install
./torque.setup
注1:这一步后面的user必须得是非root用户。
注2:这一步之前要把/usr/local/sbin/加入到PATH中。
make packages
将产生的 tpackages,torque-package-clients-linux-x86-64.sh和torque-package-mom-linux-x86-64.sh 拷贝到所有节点。
在所有节点上执行./torque-package-clients-linux-x86_64.sh --install和./torque-package-mom-linux-x86_64.sh --install,主节点上也执行一下。
编辑/var/spool/torque/server_priv/nodes
格式为
node1 np=8
node2 np=8
……
编辑/var/spool/torque/server_name内容为主节点的名字。
在主节点启动pbs_server,pbs_sched,pbs_mom,直接输入这三个命令就可以了,在计算节点只要启动pbs_mom。
创建队列,使用root用户
qmgr
create queue students
set queue students queue_type = Execution
set queue students enabled = True
set queue students started = True
注:这里不能使用它默认的那个队列,否者用ms提交任务时会出现权限问题,不知道为什么。
至此配置完成,可以使用qstat/qstat -Q/qstat -q/qstat -f等命令查看队列状态。
4配置MS网关
假设MS安装在默认位置,在HOME下
设置使用PBS管理作业:
cd ~/Accelrys/MaterialsStudio44/etc/Gateway/config/
./configure queue -queuepath PBS/dsd_pbs -activate
编辑../../Gateway/root_default/dsd/conf/gw-info.sbd
设置参数queuingsystem=PBS/dsd_pbs
编辑../../Gateway/root_default/dsd/conf/gwparams.cfg
设置参数gw_queuingsystem=PBS
重启网关~/Accelrys/MaterialsStudio44/etc/Gateway/msgateway_control_18888 restart
5Windows下的设置:
在Sever Console下刷新服务器,确认服务器属性中的queue里有我们建立的students队列。
在提交计算任务里的queue选上students,就可以啦~~
PS:如果队列一直显示queued不开始,而确实服务器上又没有任务在计算的话,可以使用qrun jobid来开始任务。我第一次是这么开始,之后就不用了,不知道为什么