添加任务队列
编辑lsb.queues文件来添加新的队列的定义。添加队列并不会影响挂起和正在运行的作业。
步骤
- 以管理员administrator登录集群中的任何一台主机。
- 编辑LSB_CONFDIR/cluster_name/configdir/lsb.queues文件添加新队列的定义。你可以复制其他的队列定义信息作为开始的一步。记住在复制的内容中更改QUEUE_NAME参数信息。
- 保存对此文件的更改。
- 配置文件准备完毕时,运行badmin ckconfig命令来检查新队列的定义信息。如果有错误报出则修改相关的配置信息并重新检查配置。
- 运行badmin reconfig重新配置集群。
% badmin reconfig
Checking configuration files ...
No errors found.
Do you want to reconfigure? [y/n] y
Reconfiguration initiated
badmin reconfig也可以检查配置的错误。如果没有不可恢复的错误,需要对此修改进行确认。如果存在不可恢复的错误,则重新进行配置。
队列定义example
Begin Queue
QUEUE_NAME = normal
PRIORITY = 30
STACKLIMIT= 2048
DESCRIPTION = For normal low priority jobs, running only if hosts are lightly loaded.
QJOB_LIMIT = 60 # job limit of the queue
PJOB_LIMIT = 2 # job limit per processor
ut = 0.2
io = 50/240
USERS = all
HOSTS = all
NICE = 20
End Queue
移除队列
编辑lsb.queues移除队列的定义。
开始之前
注:
移除一个队列之前,确保在此队列中没有运行的作业。
使用bqueues命令来查看存在的队列信息以及在这些队列中运行的作业。如果作业位于要删除的队列中,则必须将挂起和正在运行的作业切换到另一个队列,然后再移除这个队列。如果你想移除的队列中有被挂起的作业,这些作业将临时移动到lost_and_found队列中。作业状态并不会改变。继续运行的作业,在原始队列中挂起的作业将挂起在lost_and_found队列中。在用户或队列管理员使用bswitch命令将作业切换到常规队列之前,作业一直处于等待状态。其他队列中的作业不受影响。
步骤
- 以primary administrator用户登录集群中任何一台主机。
- 关闭队列防止任何新作业被提交至此队列。
badmin qclose night
Queue night is closed
- 把挂起和正在运行的作业切换到其他队列。比如bswitch -q night idle 0选择night队列中的任务切换到idle队列。作业ID为0的时候切换所有的作业。
bjobs -u all -q night
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME
5308 user5 RUN night hostA hostD job5 Nov 21 18:16
5310 user5 PEND night hostA hostC job10 Nov 21 18:17
bswitch -q night idle 0
Job <5308> is switched to queue <idle>
Job <5310> is switched to queue <idle>
- 编辑LSB_CONFDIR/cluster_name/cinfigdir/lsb.queues文件移除或者注释掉你想移除的队列信息。
- 保存配置文件。
- 运行badmin reconfig来重新配置集群。
% badmin reconfig
Checking configuration files ...
No errors found.
Do you want to reconfigure? [y/n] y
Reconfiguration initiated
- badmin reconfig命令检查配置错误。如果没有不可恢复的错误信息,需要你再次确认配置。如果存在不可恢复的错误,则退出reconfiguration程序,再次修改配置信息。