发布时间 : 星期四 文章OpenPBS-Torque安装手册更新完毕开始阅读b31f1a1dc281e53a5802ff4a
OpenPBS/Torque安装手册
原文出处:http://webhpc.vegasoft.com.cn/blog/?p=65 WebHPC官方网站:http://webhpc.vegasoft.com.cn/
PBS是由NAS(National Academy of Sciences)开发的面向批作业调度以及系统资源管理的软件包。它主要用于管理使用UNIX或Linux的同构或异构的机群系统。PBS是一个商用软 件,拥有完善的解决方案和技术支持,但是价格昂贵。OpenPBS是对PBS系统的开源实现,遵循开源软件的相关约定,所以任何个人和组织都可以自由获得 其源代码并修改之。OpenPBS目前的最新版本为2.3.16。本文介绍的对象即为OpenPBS 2.3.16版,为简洁起见,本文下面不再另行说明版本,默认是2.3.16版。
请注意,在使用OpenPBS 2.3.16提交作业时,提交者用户名长度不能大于15个字符。
一、 OpenPBS的结构
OpenPBS主要由三个主要部件组成:
PBS服务守护进程: pbs_server 负责接收作业提交,位于服务节点 PBS调度守护进程: pbs_sched 负责调度作业,位于服务节点
PBS MOM守护进程: pbs_mom 负责监控本机并执行作业,位于所有计算节点
二、在单个节点上安装OpenPBS
本节介绍的是通过编译源代码的方式安装OpenPBS。
由于整个OpenPBS都被安装在一台计算机上,所以上述pbs_server、pbs_mom和pbs_sched都会被安装在一起。 具体步骤如下:
1. 安装前提:
a)机器上安装有合适版本的Linux(包括Redhat9、AS3、AS4等)、gcc编译器以及其他所需的包;
b)安装者能以root帐户登录计算机;
c)下载合适的源码形式安装包,如pbs.tar.gz
2. 以root帐号登录计算机
3. 用tar zxf pbs.tar.gz命令释放安装包到指定位置,譬如:/opt/OpenPBS_2_3_16/
4. 进入解压得到的目录,执行命令:
a)./configure –disable-gui –set-server-home={YOUR_PBS_HOME}
说明:有的环境下可能是—with-server-home,具体可以通过./configure –-help查看
b) ./configure –enable-docs –disable-gui 其中:
–disable-gui:说明不安装GUI组件,因为该组件不常用,且对linux的tcl等库的版本颇为挑剔,往往使安装进程无法继续
–set-server-home: 指定OpenPBS的工作目录,默认是 /usr/spool/PBS/
5. 执行make
6. 执行make install,这样就可以把OpenPBS安装到指定工作目录中 7. 下面设置OpenPBS(假设工作目录为/usr/spool/PBS/)
a)设置服务器名:编辑/usr/spool/PBS/server_name文件,填写本机机器名(如cngrid217)
b)设置机群所有机器名:编辑/usr/spool/PBS/server_priv/nodes文件,填写本机机器名
c)设置MOM进程配置文件:编辑 /usr/spool/PBS/mom_priv/config文件,写入如下内容
$logevent 0×1ff
$clienthost server_host
其中server_host是本机的机器名,譬如mydemocluster
8. 启动OpenPBS
a)启动mom进程:(任意路径下)执行命令 pbs_mom b)启动调度器进程:执行命令 pbs_sched c)启动OpenPBS服务器进程,创建pbs数据库 执行命令 pbs_server -t create
其参数 -t create 只在首次启动server进程时才需要
9. 创建并设置作业队列:
a) 用qmgr创建队列normal qmgr -c “c q normal” 其中:
-c 表示其后是命令 c 表示创建 q 表示队列
b) 设定队列的类型为可执行队列
qmgr -c “s q normal queue_type=Execution” 其中s表示设置。
c) 设定队列中任务的最大运行时间为24小时(CPU时间) qmgr -c “s q normal resources_max.cput=24:00:00″ d) 设定该队列中任务最小运行时间为1秒(CPU时间) qmgr -c “s q normal resources_min.cput=1″
e) 设定该队列中任务默认运行时间为12分钟(CPU时间) qmgr -c “s q normal resources_default.cput=12:00″ f) 使队列生效
qmgr -c “s q normal enabled=true” g) 启用队列
qmgr -c “s q normal started=true” h) 将normal队列设定为默认队列 qmgr -c “s s default_queue=normal” i) 在创建完成normal队列后,还可按照a~h各步骤创建拥有其他属性的队列
j) 为了方便安装过程,同时也避免重复操作时出错,可使用已有的配置文件完成队列设置工作:
i. 设配置文件名为 pbsconf
ii. 使用命令 qmgr < pbsconf 导入队列设置
10. 将PBS做成系统服务,以便随时启动、关闭它
a编辑/etc/pbs.conf文件,填入如下内容: pbs_home=/usr/spool/PBS pbs_exec=/usr/local start_server=1 start_sched=1 start_mom=1
b) 将OpenPBS解压目录中的 ??/src/tools/init.d/pbs文件复制到/etc/init.d/pbs
c) 执行命令chkconfig –add pbs
d) 用chkconfig –list | grep pbs 命令查看pbs服务是否已被加入 e) 现在就可以使用如下命令启动、关闭pbs了:
i. 启动pbs: service pbs start ii. 关闭pbs: service pbs stop iii. 重启pbs: service pbs restart
11. 检查安装是否成功:
a) 进入一个非root帐户
b) 执行命令 echo hostname >test.pbs 创建一个返回机器名的pbs脚本ben
c) 执行qsub test.pbs 命令,提交作业
d) 如果在test.pbs所在目录下出现test.pbs.o×(其中×是以0开始的某个非负整数),且其内容为本机机器名,则说明openPBS已经开始正常工作
三、在多节点机群上安装OpenPBS
本节介绍的是在一个由多个节点组成的计算机机群上安装OpenPBS。在这多个节点之间应有一个节点作为服务节点,负责调度作业,其他节点是计算节点,负责接收作业并计算之。(服务节点自身也可承担计算任务) 由于OpenPBS由三个部件组成,则在机群内应根据角色不同在节点上安装不同的OpenPBS组件。详细而言,在服务节点上应安装PBS服务守护进程 (pbs_server)、MOM进程(pbs_mom)和作业调度器(pbs_sched),而在从节点上应该只安装MOM进程。
不过为了安装和以后变换节点角色方便,这里可以在所有节点上都安装这三个组件,只不过在启动OpenPBS时,服务节点三个组件全部启动,而计算节点只启动MOM进程。
这里假设有N台节点机,机器名分别为node1、node2、??、nodeN;确定node1为服务节点,所有节点都是计算节点。 具体安装步骤:
1. 安装前提:
a) 各节点上都有合适版本的Linux和gcc编译器; b) 各节点之间能互连
c) 安装者能在每个节点上以root身份登录 d) 已下载合适的pbs源码安装包
2 在所有节点上执行:
a) 用root身份登录;
b) 用tar zxf pbs.tar.gz命令释放安装包到指定位置,譬如:/opt/OpenPBS_2_3_16/