写一个 License 监控跟 LSF 结合

常用脚本 0 1744 佚名 收藏

LSF 有一个商业化的产品叫做 LSF License Scheduler,可以用于配合 License,避免提交到服务器因为缺少 License 无法跑起来(无剩余 License 的时候,最好是让 Job 继续排队)。 

比如我们有个脚本叫 elim.hspice 

#!/bin/bash 
#This script runs only on LSF Master Node 
lsf_master_host=`lsid|grep master|awk '{print $5}'` 
hostname=`echo $HOSTNAME`
if [ $hostname != $lsf_master_host ] 
 then 
    exit 
fi 
# Master Node validation completed 
whiletrue;do 
# add the features in the follow format 
# feature_name,license-port@server-host-name,printable_license_name 
license_details=("hspice,port@license1,hspice_lic" "hsim,port@server2,hsim_lic") 
# Stop editing from here. 
outstring="" 
for lic in ${license_details[@]} 
    do 
        feature=`echo $lic|awk -F, '{print $1}'` 
        server=`echo $lic|awk -F, '{print $2}'` 
        lic_name=`echo $lic|awk -F, '{print $3}'` 
availability=`lmstat -c $server -f $feature|grep $feature|awk '{print $6 – $11}'` 
# Return zero if license server is down 
if [ -z $availability ];then 
    availability=0 
fi 
outstring="$outstring$lic_name$availability" 
done 
echo ${#license_details[@]}$outstring 
    sleep 60
done


以上方式,通过 elim 的方式,查询还有多少 License 剩余,然后 LSF 提交任务的时候,我们指定这个 elim 资源需求就可以。 提交 Job 的时候指定:

$bsub -R "rusage[hspice > 1]" hspicejob.sh


相关推荐:

网友留言:

您需要 登录账户 后才能发表评论

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码