操作系统生物信息学funny生物信息

服务器集群与PBS任务管理系统的常用命令

2021-06-19  本文已影响0人  QXPLUS
天河二号超级计算机

1. 服务器集群

1.1. 集群系统基本信息

1.2. 集群计算资源列表

集群计算资源列表示例

2. PBS任务管理系统

2.1 PBS 简介
PBS (Protable Batch System) 是一种常用的作业管理系统,其他类似的还有 LSF 和 SLURM。

目前有两个版本:OpenPBS(开源)和PBSPro(商业)。TORQUE:基于PBS项目的开源软件,可以认为是开源的OpenPBS的改进版。主要包括:

2.2 PBS --- Torque 安装配置步骤 (来自博客)
该部分来自于博客,只为加深对PBS的理解

1、在 master(管理结点上)解压安装包

[root@master tmp]# tar zxvf torque-2.3.0.tar.gz

2、进入到解压后的文件夹
配置: ./configure--with-default-server=master
编译: make
安装: make install

[root@master torque-2.3.0]# ./configure--with-default-server=master
[root@master torque-2.3.0]# make
[root@master torque-2.3.0]# make install
  1. 生成后面安装计算节时需要的5个脚本文件, 作为在其它机器上安装用的安装包,运行完后会生成几个torque-package-*.sh文件
[root@master torque-2.3.0]# make packages
  1. 初始化配置
[root@master torque-2.3.0]# sudo ./torque.setup wangwei #设置wangwei用户为管理用户
  1. 设置计算节点
    配置 /var/spool/torque/server_priv/nodes 文件(如果没有就手动添加),指定哪些节点作为计算节点,若管理节点不参与计算则去掉ww-master
ww-master np=8
ww-slave1 np=8
ww-slave2 np=8
  1. 这里需要说明一下,Torque主要是由三个主要部件组成
    pbs_server PBS服务守护进程,负责接收作业提交,位于服务节点上
    pbs_sched PBS调度守护进程,负责调度作业,位于服务节点上
    pbs_mom PBS MOM守护进程, 负责监控本机并执行作业,位于所有计算节点上
# sudo pbs_server   //在服务器节点执行
# sudo pbs_sched   //在服务器节点执行
# sudo pbs_mom  //在计算节点执行
# sudo trqauthd 

主要步骤大概就这么多,不过一般也不需要自己去配置和安装。
以上所有代码均来自别人的博客

linux下,源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)
./configure的作用是检测系统配置,生成makefile文件,以便你可以用make和make install来编译和安装程序。
./configure --prefix --with;其中--prefix指的是安装路径,--with指的是安装本文件所依赖的库文件
如果不指定prefix,则可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr /local/share

./configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,但并不是所有的tar包都是源代码的包,
你先ls,看有没有configure或者makefile文件。
如果有configure,就./configure,有很多参数,看楼下的吧。如果系统环境合适,就会生成makefile,否则会报错。
如果有makefile,就直接make,然后make install。

2.3 常用PBS命令

主要会包括以下几个方面信息:

  • Job ID 任务ID号
  • Name 任务脚本名称
  • User 用户名
  • Time Use 任务运行时间
  • S State 任务状态
    * B 只用于任务向量,表示任务向量已经开始执行
    * E 任务在运行后退出
    * H 任务被服务器或用户或者管理员阻塞
    * Q 任务正在排队中,等待被调度运行
    * R 任务正在运行
    * S 任务被服务器挂起,由于一个更高优先级的任务需要当前任务的资源
    * T 任务被转移到其它执行节点了
    * U 由于服务器繁忙,任务被挂起
    * W 任务在等待它所请求的执行时间的到来(qsub -a)
    * X 只用于子任务,表示子任务完成
    * C 表示程序正在被关闭,一般是程序运行错误,报错

2.4 qsub 提交任务

2.4.1 通过终端提交任务

echo "python script.py -i inputdir -o outdir " | qsub -q Batch1 -l nodes=1:ppn=1 -l mem=40gb -N jobname

执行script.py 脚本, 通过pbs投递任务, 任务提交到Batch1队列,所需资源为,1个节点,节点使用1个cpu, 40GB物理内存,该任务命名jobname

2.4.2 PBS通过sh脚本执行命令

例如 run.sh

#参数解析
#指定节点数目 ppn指每个节点运行的cpu数量(4个小节点,每个48个CPU)
#PBS -l nodes=1:ppn=16
#指定合并到标准输出文件中
#PBS -j oe
#设置程序运行的最大时间192小时
#PBS -l walltime=192:00:00
#指定qsub的所有环境变量都传递到批处理作业中
#PBS -V
#输出文件
#PBS -o /public/home/tang/chaim/back_info/$jobname.out
#错误输出文件
#PBS -e /public/home/tang/chaim/back_info/$jobname.err
cd PBS_O_OUTDIR
# 程序执行命令
python script.py -i inputdir -o outdir 
# 执行脚本
qsub run.sh
# 制定命令开始运行的时间  
qusb -a 070000 run.s  #7天后运行程序,此时是处于W状态(等待状态)
qsub -a 2400 run.s #24h后运行程序

2.4.3 通过交互式的方式执行任务

[#11#Rd01@login ~]$
$qsub -I -q Batch1 -l nodes=1:ppn=1 -l mem=80gb -N jobname
qsub: waiting for job 1230615.admin to start
qsub: job 1230615.admin ready

[#1#Rd01@comput4 ~]$
$

2.5 PBS常用环境变量

Ref

  1. https://blog.csdn.net/pursuitbeauty/article/details/42642117
  2. https://www.jianshu.com/p/062c58bea2a2?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
  3. https://www.jianshu.com/p/682f1f64e53c
上一篇下一篇

猜你喜欢

热点阅读