我们将所有SLURM节点设置为" drain"为维护窗口做准备,之后所有新作业都保持挂起状态,直到节点恢复。我们在维护窗口之前做得很好,所以所有正在运行的作业都可以完成。这浪费了相当多的集群时间。有没有办法指定节点只接受--time=x
参数的批处理作业,以使job start time + x
小于给定时间?例如,如果维护中断是星期五晚上的时间表,那么周三以--time=2-0
到达队列顶部的作业将会运行,但是周四提交--time=2-0
的作业不会。
答案 0 :(得分:3)
您应该创建所有节点的预留。以下命令(未经测试)应该执行技巧
scontrol create reservation reservationname="maintenance1" start=03/31T08:00 Duration=10-00 Nodes=ALL Users=root
这将为3月31日开始使用的所有节点创建一个预留,持续10天。这也是一种很好的做法,因为一旦维护完成,您可以提交一些作业来测试群集是否按预期工作。
您可以使用以下网址删除预订:
scontrol remove reservationname="maintenance1"