torque (以前的 OpenPBS) 安装

Torque(OpenPBS 的后继)是一个开源的资源管理系统,用于高性能计算集群的作业管理与调度,现在属于 AdaptiveComputing 公司,可到 http://www.adaptivecomputing.com/support/download-center/torque-download/ 下载。torque 由三个服务组成 pbs_server, pbs_mom, pbs_sched:
pbs_server 是资源管理系统的服务器
pbs_mom 是客户端资源监视器,负责监视各客户节点(计算节点)的资源使用情况
pbs_sched 是任务调度器(torque 自带的这个调度器功能比较简单有限,经常不用它而搭配更强大的 maui)
可见,pbs_server 和 pbs_sched 都要装在管理节点(服务器)上,而 pbs_mom 要装到每一个计算节点上(如果管理节点不用于计算,可以不装)

这里以 torque 3.0.6 的安装为例 (目前最新的版本是 4.1.2)。

1. 确保安装了 readline, tk/tcl, pam 的开发文件
   yum install readline-devel tk-devek tcl-devel  pam-devel
2. 解包,配置:   configure --enable-docs --with-rcp=scp  --enable-syslog  --enable-gui
   其实,至少对 3.0.6 版,docs, scp 和 gui 都是默认的,只是若没有 tk/tcl,则 gui 装不了,如果没有 readline-devel, readline 功能也装不上。
3. 编译,安装:    make  && make install
   需注意的是,这样只是在服务器端安装上了所有组件,但在计算节点上还要安装客户端,如果到每个机子上都编译一遍显然很麻烦,好在 torque 提供了多种解决方式,有三种:
   <1>. 如果源码是放在共享目录(如NFS)下,那么可以直接到计算节点上执行如下命令即可
        make install_mom install_clients    
   <2>. 可以在 make 编译完之后执行 make packages,他会生成如下6个安装包
         torque-package-clients-linux-x86_64.sh
        torque-package-devel-linux-x86_64.sh
        torque-package-doc-linux-x86_64.sh
        torque-package-gui-linux-x86_64.sh
         torque-package-mom-linux-x86_64.sh
        torque-package-server-linux-x86_64.sh
        可以把 clients 和 mom 对应的两个包传到每个计算节点上,然后运行如下命令安装
        torque-package-client-linux-x86_64.sh --install
        torque-package-mom-linux-x86_64.sh    --install
  <3>. configure 之后可以不 make,直接 make rpm,会在  ~/rpmbuild/RPMS/x86_64/ 下生成如下rpm安装包,对与服务器节点,可以都安装,对于客户端,应该只安装 torque-client 和 torque 就行了。
torque-3.0.6-1.cri.x86_64.rpm
torque-client-3.0.6-1.cri.x86_64.rpm
torque-debuginfo-3.0.6-1.cri.x86_64.rpm
torque-devel-3.0.6-1.cri.x86_64.rpm
torque-scheduler-3.0.6-1.cri.x86_64.rpm
torque-server-3.0.6-1.cri.x86_64.rpm
4. 其实 上面并没有完全安装完毕,因为如果不用 rpm 方式装的话,还需要手动把服务启动脚本放到 /etc/init.d 下, 服务启动脚本在 contrib/init.d 下。服务器端把  contrib/init.d 下的 pbs_server, pbs_mom(视该节点是否作为计算节点而定), pbs_sched 拷到 /etc/init.d 下,并设置开机启动:
   chkconfig pbs_server on
   chkconfig pbs_sched on (如果确定使用 torque 自带的调度器就开启它)
   chkconfig pbs_mom on (如果服务器节点也做计算就开启它)
而在计算节点上,只需将 contrib/init.d/pbs_mom 拷到  /etc/init.d 下并
   chkconfig pbs_mom on
至此才算安装完毕。程序文件装在了 /usr/local 下,配置则文件位于 /var/spool/torque 下

下面说下简单的配置过程:

1. 在安装目录下运行如下命令,将 root 设为 TORQUE 的管理账户
   ./torque.setup root 
2. 服务器初始化
   pbs_server -t create    # 以初始化方式启动服务器,清除并重新生成 /var/spool/torque/server_priv 目录
   qterm      # 然后终止服务。这里只是为了初始化,配置好后再启动服务。
3. 配置 /var/spool/torque/server_priv/nodes 文件,指定哪些节点作为计算节点,比如
   n01 np=1
   n02 np=1
   n03 np=1
   每行代表一个节点,np 为该节点的cpu核数目,这里服务器n01也作为计算节点。
4. 配置好 nodes 后,启动 pbs_serverr 服务  /etc/init.d/pbs_server start 之后使用 qnodes 命令就可以显示有哪些节点可用了。不过此时所有节点的状态都还是 down 呢,因为相应计算节点上的 pbs_mom 服务还没启动呢。
5. 计算节点的配置,首先设定服务器,将服务器名称写入 /var/spool/torque/server_name 文件中,这里是 n01,不过这步一般已经在安装的时候就已经是这样了,检查一下即可。然后其他配置内容写入文件 /var/spool/torque/mom_priv/config,比如:
$pbsserver n01 # note: hostname running pbs server
$logevent 255 # bitmap of which events to log
$usecp n01:/home /home   # 指定使用 cp 而不是 rcp/scp 来复制文件的目录,一般针对nfs文件系统
$ideal_load  3  # 如果是四核节点,当 load average 小于3时状态变为 free
$max_load 3  # 如果是四核节点,当 load average 大于3时状态变为 busy
# load average 可用 uptime 命令查看,表示系统负载情况,一般N个物理核的系统满负载为N。
其他配置参数可参见使用手册。然后启动 pbs_mom 服务,再运行 qnodes 的话则可以看出三个节点状态都是 free 了。
6.  然后就可以创建一个队列了,比如叫 myqueue,进入 qmgr 交互界面,如下设置
create queue myqueue queue type=execution
set server default queue=myqueue
set queue myqueue started=true
set queue myqueue enabled=true
set server scheduling=true
   然后可以提交一个命令试试看了,注意,要用普通用户提交命令,比如
     echo 'sleep 30' | qsub
   然后 qstat 查看,就能看到这个任务了,只是一直在排队,没有运行,什么原因?
7. 原来是没有启动调度器 pbs_sched,没有调度,当然一直排队傻等了。开启 pbs_sched 后,再提交就会运行了。但发现只有服务器节点 n01 能提交任务,其他的则不行。如果需要在 n02 上提交任务,需要如下设置
   qmtr -c 'set server submit_hosts +=n02'

不过,到目前为止还有一个奇怪的地方,就是使用 qstat 查看任务状态时,普通用户在任何节点上都能看,而 root 却只能在服务器节点上查看,如果 root 在计算节点上运行 qstat,没有任何输出,不知什么原因,难道是 bug?

另外:
1. 如果修改了 /var/spool/torque/mom_priv/config 的设置,要重启 pbs_mom 服务才有效。
2. 如果重启了 pbs_server,那么各节点上要重启 pbs_mom 才能正常工作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值