Portable Batch System
OpenPBS Release 2.3
Administrator Guide
Translator: 裴建中(北京工业大学)
Email: pjz0311@emails.bjut.edu.cn
QQ: 250386348
注:翻译这一管理员指南仅仅是想和大家共同学习和交流与集群相关的知识,并无他意。文中带有下划线的句子是我觉得理解的不好的地方,其后同时保留了原来的英文以便大家理解,请留意。对于具体的几种类型系统的依赖性构建这里省略掉了,略掉的地方标有‘?????’。文中翻译不当的地方敬请各位批评更正。另外尤其是有关NQS、OpenPBS的心得体会希望能和大家多多交流。
2.4.6. SGI
Workstations Running IRIX5
2.4.7. SGI
Systems Running IRIX6
此文档用来为系统管理员提供构建、安装、配置并且管理PBS所需的一些信息。很可能有一些重要的信息项被漏掉了。这类文档中没有更加完善的了,到目前为止,它已经被好几个不同的管理员在不同的站点进行了更新,当然仍是比较欠缺。
PBS是一个批处理作业和计算机系统资源管理软件包。它原本是按照POSIX 1003.2d批处理环境来开发的。这样,它就可以接受批处理作业、shell脚本和控制属性,作业运行前对其储存并保护,然后运行作业,并且把输出转发回提交者。
PBS可以被安装并配置运行在单机系统或多个系统组来支持作业处理。由于PBS的灵活性,多个系统可以以多种方式组合。
PBS包括四个主要的组件:命令组件、作业服务器、作业执行组件和作业调度器。这里给出每一部分的简要描述来帮助你在安装过程中做出决定。
命令组件:
PBS支持与POSIX1003.2d相一致的命令行和图形接口两种命令方式。这些命令用于提交、监视、修改和删除作业。命令可以被安装在任何PBS支持的系统类型上,并且不需要在本地安装任何其它的PBS组件。共有三种类型的命令:任何已授权用户可以使用的命令;操作员命令;管理员命令;操作员和管理员命令需要不同的访问权限。
作业服务器:
作业服务器是PBS的中心。在本文档中,它一般被称作服务器或被称为可执行文件的名字pbs_server。所有命令和其它守护进程都通过IP网络和服务器通信。服务器的主要功能就是提供基本的批处理服务,例如接收/创建一个批处理作业,修改作业,保护作业免受系统宕机的影响并运行作业。
作业执行器:
作业执行器是一个守护进程,它真正地把作业放入执行队列。这一进程,pbs_mon,被非正式地命名为Mom,正如它是所有正在执行的作业的母亲(mother)一样。当Mom从一个服务器那里接收一个作业拷贝时就将它放入执行队列。Mom创建一个和用户登陆会话尽可能一致的新的会话。例如,如果用户的登陆shell是csh,那么Mom就创建一个会话,在此会话中.login和.cshrc一样运行。当服务器指示需要那么做时,Mom也负责把作业的输出返回给用户。
作业调度器:
作业调度器是另一个守护进程,这一进程包括site’ policy[1],这一策略控制着哪一个作业被运行,在那个节点运行,什么时候运行。因为每一个site对于什么是好的或者有效的策略都有它自己的想法,PBS允许每一个site来创建它自己的调度器。当运行的时候,调度器就可以和不同的Moms进行通信来获知系统资源的状态;和服务器进行通信来获知要执行的作业的有效性。与服务器之间的接口是通过和命令组件一样的API。实际上,调度器仅仅作为服务器的批处理管理器出现的。
除了上面主要的部分之外,PBS也提供了一个应用编程接口,API,命令组件用它来和服务器进行通信。这一API在和PBS一起完成的第三部分的man pages中描述。A site[1]如果愿意可以利用这些API来实现新的命令。
PBS是以一个单一的tar文件来提供的。这个tar文件包括:
Ø 以后记和文本两种形式提供的本文档
Ø 一个“配置”脚本,所有的源码,头文件和用于构建并安装PBS的make文件。
当解压tar文件时,将会在上面的信息之上创建一个顶层目录。这一顶层目录将被命名为发布版本加补丁级别。例如,对于发布版本2.1和补丁级别13,这一目录将被命名为pbs_v2.1p13。
建议这些文件在解压时带上-p参数以便保留权限位。
PBS使用一个由GNU的autoconf生成的配置脚本来产生make文件。如果你有一个POSIX make程序,那么由配置脚本生成的make文件将尝试利用POSIX的make特性。当构建时如果你的make不能够处理这个make文件那么你可能用的是一个被破坏的make。要是在构建时make失败,就试一下GNU的make。
如果使用了基于GUI的Tcl或基于调度器的Tcl,就需要有Tcl的头文件和库。Tcl的官方网站是:http://www.scriptics.com/, ftp://ftp.scriptics.com/pub/tcl/tcl8_0
PBS已经不再使用Tcl8.0之前的版本。必须使用Tcl和Tk8.0或更高的版本。
如果使用了BaSL调度器,将需要yacc和lex(或者GNU bison和flex)。对于bison和flex的有关站点是:http://www.gnu.org/software/software.html prep.ai.mit.edu:/pub/gnu
为了格式化包含在这一发布版本的这一文档,我们强烈推荐使用GNU groff包。最新的groff版本1.11.1,它可以在这里找到:http://www.gnu.org/software/groff/groff.html
这一部分试图来解释构建和安装PBS的步骤。PBS安装可以通过GNU的autoconf过程来完成。这一安装过程与其他许多“典型”软件包相比需要更多的手工配置。因为有一些涉及site policy的选项,所以安装就不能被自动的决定。如果PBS运行在基于intel x86的红帽Linux上,可以使用RPM包来安装。对于安装说明请看2.4.9