在LSF中,我们经常会遇到某些应用在提交时必须提交到指定的queues中去运行的情况。
如遇到这种需求,我们需要对进程进行判断,然后将进程扔到配置好的queues中即可。
操作分3步。
1、配置esub,开启此项功能
配置****/lsf/conf/lsf.conf,添加以下行:
LSB_ESUB_METHOD=check
LSB_SUB_COMMANDNAME=Y
2、配置esub相关文件
建立配置文件:****/linux2.6-glibc2.3-x86_64/etc/esub.check。
编辑esub.ckeck文件
#!/bin/bash
.$LSB_SUB_PARM_FILE
exec 1>&2
echo $LSB_SUB_COMMAND_LINE|grep 进程名 >/dev/null
if [ $? -eq 0 ];then
echo redierct job to queue: 指定的queues
echo LSB_SUB_QUEUE=\"指定的queues\">> $LSB_SUB_MODIFY_FILE
fi
exit 0
3、建立专用queues接收提交的任务
在****/lsb.queues中建立新队列:
Begin Queue
QUEUE_NAME = 队列名 //队列名
PRIORITY = 40 //队列优先级
RERUNNABLE = Y //RERUNNABLE
UJOB_LIMIT = 40 //每用户可提交作业数量
#RUN_WINDOW = 20:00-8:30
#USERS = xxxx xxxx //指定用户可提交,用户名 以空格分隔
#HOSTS = xxxx xxxx xxxx xxxx xxxx //队列中包含哪些服务器,服务器名,以空格分隔
DESCRIPTION = xxxx queues //队列描述
End Queue
重启,使配置生效
lsadmin reconfig
badmin reconfig
badmin mbdrestart
badmin hrestart