如何根据位置或分区限制工作的分配

时间:2018-10-30 06:33:31

标签: linux hpc lsf

我想知道是否有一种方法可以根据HPC中提交作业的位置来限制作业提交。

事情是,最近添加了用于暂存磁盘的存储。所以现在我有两个分区。

  1. 主目录
  2. 临时目录

我希望所有HPC用户都只能在临时目录而不是主目录中提交作业。

HPC正在为作业调度程序运行LSF。因此,我能否通过LSF控制作业提交(即bsub),以便仅在草稿目录下提交的作业在HPC中运行?

谢谢。

1 个答案:

答案 0 :(得分:1)

我不认为有一种本机的方法,但是有一种方法可以自定义LSF提交时间检查,以拒绝从错误目录提交的作业。看看这个文档:

https://www.ibm.com/support/knowledgecenter/en/SSWRJV_10.1.0/lsf_admin/chap_sub_exec_controls_lsf_admin.html

特别地,您想要做的是定义一个esub脚本,该脚本检查适当的提交CWD。假设您将脚本命名为esub.dircheck,看起来像这样:

#!/bin/sh 

# Reject if submission is under /home
if [[ $PWD/ = /home/* ]]; then
   echo "Job submission from /home forbidden"
   exit $LSB_SUB_ABORT_VALUE 
fi 

现在,您可以将esub.dircheck放入$LSF_SERVERDIR中(确保所有人都可以执行)。最后,如果您希望对每个作业提交都进行检查,请在lsf.conf中设置以下参数:

LSB_ESUB_METHOD=dircheck

最后一点:我只是检查PWD在上面的代码中是否以home作为前缀,但是如果您要确保所在目录位于下面,则可能需要做一些更复杂的事情。 / home,因为可能存在使前缀检查更加麻烦的符号链接。 Take a look at this answer for details