Torque + Maui配置手册之抛砖引玉篇 本文将以应用于实际案例(南航理学院、复旦大学物理系、宁波气象局)中的作业调度系统为例,简单介绍一下免费开源又好用的Torque+Maui如何在曙光服务器上进行安装和配置,以及针对用户特定需求的常用调度策略的设定情况,以便可以起到抛砖引玉的作用,使更多的人关注MAUI这个功能强大的集群调度器(后期将推出SGE+MAUI版本)。本文中的涉及的软件版本Torque 版本: 2.1.7 maui版本:3.2.6p17。
1. 集群资源管理器Torque
1.1. 从源代码安装Torque 其中pbs_server安装在node33上,TORQUE有两个主要的可执行文件,一个是主节点上的pbs_server,一个是计算节点上的pbs_mom,机群中每一个计算节点(node1~node16)都有一个pbs_mom负责与pbs_server通信,告诉pbs_server该节点上的可用资源数以及作业的状态。机群的NFS共享存储位置为/home,所有用户目录都在该目录下。
1.1.1. 解压源文件包 在共享目录下解压缩torque # tar -zxf torque-2.1.17.tar.gz 假设解压的文件夹名字为: /home/dawning/torque-2.1.7
1.1.2. 编译设置 #./configure --enable-docs --with-scp --enable-syslog 其中, 默认情况下,TORQUE将可执行文件安装在/usr/local/bin和/usr/local/sbin下。其余的配置文件将安装在/var/spool/torque下 默认情况下,TORQUE不安装管理员手册,这里指定要安装。 默认情况下,TORQUE使用rcp来copy数据文件,官方强烈推荐使用scp,所以这里设定--with-scp. 默认情况下,TORQUE不允许使用syslog,我们这里使用syslog。
1.1.3. 编译安装 # make # make install
Server端安装设置: 在torque的安装源文件根目录中,执行 #./torque.setup root 以root作为torque的管理员账号创建作业队列。
计算节点(Client端)的安装: 由于计算节点节点系统相同,因而可以用如下SHELL script (脚本名字为torque.install.sh)在 其余计算节点上安装: 创建torque.install.sh脚本 #vi torque.install.sh #!/bin/sh cd /home/dawning/torque-2.1.7 make install 使用如下命令:npssh -on node1..32 sh /home/dawning/torque.install.sh 将在每个节点上安装TORQUE。
1.1.4. TORQUE配置 1.1.4.1 在计算节点上配置TORQUE: 在每个计算节点,必须配置MOM daemon信任pbs_server daemon,可以通过编辑/var/spool/torque/server_name来实现,把node33写入该文件即可。 #cat /var/spool/torque/server_name node33 其余的配置参数写入/var/spool/torque/mom_priv/config 文件。
配置计算节点的数据管理,数据管理允许作业的数据在计算节点和PBS_Server之间传递。对于共享文件系统,如NFS,可以通过在mom_priv/config 中用$usecp参数来指定如何映射用户的根目录。 $usecp *:/home /home
这里集群的mom_priv/config内容如下: # MOM server configuration file # if more than one value, separate ## rule is defined by the name
## host allowed to connect to mom server on privileged port # note: IP address of host running pbs_server it by comma. $pbsserver 10.0.68.33 $clienthost node33 #ideal processor load and max processor load $ideal_load 7 $max_load 8 ## host allowed to connect to Mom server on unprivileged port #Specifies hosts which can be trusted to access mom services as non-root. #By default, no hosts are trusted to access mom services as non-root. $restricted *.node33 ## Log event : # 0x1ff : log all events + debug events # 0x0ff : just all events $logevent 0x0ff ## alarm if the script hang or take very long time to execute $prologalarm 30 ## Specifies which directories should be staged $usecp *:/home /home
Server端资源管理配置 指定计算节点 为了让pbs_server与每个计算节点进行通信,它需要知道要和那些机器联络,集群中的每个计算节点都必须在nodes文件中指定,一个1行。 #rsh node33 #cd /var/spool/torque/server_priv #for i in `seq 1 32`;do echo node$i np=2;done > nodes #cat nodes node1 np=8 node2 np=8 node3 np=8 node4 np=8 node5 np=8 node6 np=8 node7 np=8 node8 np=8 node9 np=8 node10 np=8 node11 np=8 node12 np=8 node13 np=8 node14 np=8 node15 np=8 node16 np=8 node17 np=8 node18 np=8 node19 np=8 node20 np=8 node21 np=8 node22 np=8 node23 np=8 node24 np=8 node25 np=8 node26 np=8 node27 np=8 node28 np=8 node29 np=8 node30 np=8 node31 np=8 node32 np=8 np=8是说每个节点有8个CPU(其余的以线程来跑)。
指定作业的提交节点为node33,node34,node35: [root@node33 ~]# qmgr -c 'set server submit_hosts = node33' [root@node33 ~]# qmgr -c 'set server submit_hosts += node34' [root@node33 ~]# qmgr -c 'set server submit_hosts += node35' 1.1.5. 系统自动启动脚本 1. Server的系统启动脚本/etc/init.d/pbs_server 该脚本单独启动/重新启动/暂停/查看状态TORQUE中Server的守护进程 #cp contrib/init.d/pbs_server /etc/init.d/ 编辑pbs_server: #vi /etc/init.d/pbs_server PBS_DAEMON=/usr/local/sbin/pbs_server PBS_HOME=/var/spool/torque 要确保这两个变量设定正确。
2. Mom系统启动脚本/etc/init.d/pbs_mom,在计算节点执行。 该脚本单独启动/重新启动/暂停/查看状态TORQUE中Mom的守护进程。 #cp contrib/init.d/pbs_mom /etc/init.d/ #vi /etc/init.d/pbs_mom PBS_DAEMON=/usr/local/sbin/pbs_mom PBS_HOME=/var/spool/torque
PBS_SERVER端测试: 重启pbs_server,使刚才的配置生效。 >/etc/init.d/pbs_server restart # verify all queues are properly configured > qstat -q # view additional server configuration > qmgr -c 'p s' # verify all nodes are correctly reporting >pbsnodes -a # submit a basic job - DO NOT RUN AS ROOT > su - testuser >qstat
2. 调度器系统MAUI的安装配置 2.1.1. 在共享目录下解压缩MAUI # tar -zxf maui-3.2.6p17.tar.gz 假设解压的文件夹名字为: /home/dawning/maui-3.2.6p17
2.1.2. 编译 要是MAUI和TORQUE无缝的结合在一起,确保管理节点(PBS SERVER)上TORQUE