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,列出所有可能的助手特性。
可以创建一个单独的 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 中为该节点定义了该特性,则该特性被视为可更改/可重启的特性。例如,如果在 node1 的 slurm.conf 中定义了特性 fa,但仅在 node2 的 helpers.conf 中列出,则如果该特性未激活,仍会触发节点重启。
Helper 是一个任意程序或脚本,用于报告和修改给定节点上的特性集。助手是特定于站点的,并不包含在 Slurm 中。由助手修改的特性需要使用 RebootProgram 重启节点。 Helper 程序/脚本必须可由 SlurmdUser 执行。 同一个程序/脚本可以用于控制多个特性。slurmd 将以两种方式之一执行 Helper:
-
1. 无参数执行以查询节点特性的状态。它必须返回 0 的退出代码,并打印出 Slurm 预期的特性的超集,或者可以什么都不打印。否则,节点将被排空。
2. 以单个参数执行以在节点重启时激活特性。在多个特性的情况下,脚本会被多次调用。
示例
- /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