helpers.conf

Section: Slurm 配置文件 (5)
更新: Slurm 配置文件
索引

 

名称

helpers.conf - Slurm 的 helpers 插件配置文件。

 

描述

helpers.conf 是一个 ASCII 文件,定义了 Slurm 的 “helpers” 节点特性插件使用的参数。 该文件将始终位于与 slurm.conf 相同的目录中。

 

参数

参数名称不区分大小写。 配置文件中以“#”开头的任何文本都被视为注释,直到该行结束。 文件中每行的大小限制为 1024 个字符。 对配置文件的更改在重新启动 Slurm 守护进程、守护进程接收到 SIGHUP 信号或执行命令“scontrol reconfigure”后生效,除非另有说明。

AllowUserBoot=<user1>[,<user2>...]
控制哪些用户被允许使用此插件更改特性。 默认是允许所有用户。

BootTime=<time>
控制节点在超时发生并假定故障之前可以重启的时间。默认值为 300 秒。

ExecTime=<time>
控制 Helper 程序可以运行多长时间,直到超时发生并假定故障。默认值为 10 秒。

Feature=<string> Helper=<file> <Flags=<flags>
定义 特性 和相应的 Helper 程序,该程序报告并修改特性的状态。允许多个 特性 条目,每个特性和相应的程序/脚本一个。也可以为一个 Helper 定义以逗号分隔的特性列表。

可以通过为每个节点创建唯一的文件来按节点定义特性。控制器必须有一个 helpers.conf,列出所有可能的助手特性。

当前支持的标志有:

rebootless
指示该特性不需要节点重启。如果设置,特性激活将不会执行 RebootProgram,节点将仅向 slurmctld 注册已重启,而无需实际重启。

可以创建一个单独的 helpers.conf,通过在 特性 行前添加 NodeName=<nodelist> 来为特定节点定义特性。未以 NodeName 开头的 特性 将适用于所有节点。

# helpers.conf
NodeName=n1_[1-10] Feature=a1,a2 Helper=/path/helper.sh
NodeName=n2_[1-10] Feature=b1,b2 Helper=/path/helper.sh
Feature=c1,c2 Helper=/path/helper.sh

如果在 helpers.conf 中定义了特性,并且在 helpers.conf 中未在特定节点上定义但在 slurm.conf 中为该节点定义了该特性,则该特性被视为可更改/可重启的特性。例如,如果在 node1slurm.conf 中定义了特性 fa,但仅在 node2helpers.conf 中列出,则如果该特性未激活,仍会触发节点重启。

Helper 是一个任意程序或脚本,用于报告和修改给定节点上的特性集。助手是特定于站点的,并不包含在 Slurm 中。由助手修改的特性需要使用 RebootProgram 重启节点。 Helper 程序/脚本必须可由 SlurmdUser 执行。 同一个程序/脚本可以用于控制多个特性。slurmd 将以两种方式之一执行 Helper

1. 无参数执行以查询节点特性的状态。它必须返回 0 的退出代码,并打印出 Slurm 预期的特性的超集,或者可以什么都不打印。否则,节点将被排空。

2. 以单个参数执行以在节点重启时激活特性。在多个特性的情况下,脚本会被多次调用。

MutuallyExclusive=<feature_list>
防止为同一作业指定某些特性。可以有多个 MutuallyExclusive 条目,每个条目都有自己的特性列表,这些特性在彼此之间是互斥的(即,一行上的特性仅与同一行上的其他特性互斥,但与其他行上的特性不互斥)。

 

示例

/etc/slurm/slurm.conf:
要启用助手插件,slurm.conf 需要包含以下条目:
NodeFeaturesPlugins=node_features/helpers

/etc/slurm/helpers.conf:
以下示例 helpers.conf 演示了多个特性可以使用相同的 Helper 脚本,并且可以有多个互斥的特性列表。例如,在以下配置中,一个作业不能同时请求 “nps1”和“nps2”,也不能同时请求“mig=on”和“mig=off”。但是,它可以同时请求“nps1”和“mig=on”。
# helpers.conf
Feature=nps1,nps2,nps4 Helper=/usr/local/bin/nps
Feature=mig=on Helper=/usr/local/bin/mig
Feature=mig=off Helper=/usr/local/bin/mig
MutuallyExclusive=nps1,nps2,nps4
MutuallyExclusive=mig=on,mig=off
ExecTime=60
BootTime=60
AllowUserBoot=user1,user2

示例 Helper 脚本:
Helper 脚本需要设置可执行位,并且必须存在于节点上,由 slurmd 执行。 当 Helper 脚本以无参数调用时,它应该返回当前节点上活动的特性,多个特性以换行符分隔。当 Helper 脚本以要为节点启用的特性调用时,它应该以某种方式配置节点,以便在节点重启时启用指定的特性。这个示例脚本只是将活动特性名称写入文件,但生产脚本可能会更复杂。
#!/bin/bash

if [ "$1" = "nps1" ]; then
    echo "$1" > /etc/slurm/feature
elif [ "$1" = "nps2" ]; then
    echo "$1" > /etc/slurm/feature
elif [ "$1" = "nps4" ]; then
    echo "$1" > /etc/slurm/feature
else
    cat /etc/slurm/feature
fi

 

版权

版权所有 (C) 2021 NVIDIA CORPORATION. 保留所有权利。
版权所有 (C) 2021 SchedMD LLC.

该文件是 Slurm 的一部分,这是一个资源管理程序。 有关详细信息,请参见 <https://slurm.schedmd.com/>。

Slurm 是自由软件;您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它;许可证的第 2 版,或(根据您的选择)任何更高版本。

Slurm 的分发希望它能有用,但不提供任何担保;甚至不包括对适销性或特定用途适用性的暗示担保。有关更多详细信息,请参见 GNU 通用公共许可证。

 

另见

slurm.conf(5)


 

索引

名称
描述
参数
示例
版权
另见

该文档由 man2html 使用手册页创建。
时间:2025年7月2日 13:21:55 GMT