WCKey是一种正交的方式,用于对可能不相关的账户进行核算。这在来自不同账户的用户都在同一个项目上工作的情况下很有用。
slurm(dbd).conf
设置在slurm.conf文件的AccountingStorageEnforce
选项中包括 "WCKey"
将强制执行每个作业的WCKeys。这意味着只有具有有效WCKeys(之前通过sacctmgr
添加的WCKeys)的作业才会被允许运行。
如果你想跟踪作业的WCKey值,你必须在slurm.conf
和slurmdbd.conf
文件中设置TrackWCKey
选项。这将确保WCKey在每个作业中被跟踪。如果你在AccountingStorageEnforce
行中设置了 "WCKey"
,TrackWCKey就会被自动设置,但它仍然需要被添加到slurmdbd.conf
文件中。
每个提交工具都有--wckey=
选项,可以为一个作业设置WCKey。[SBATCH|SALLOC|SLURM]_WCKEY
也可以在环境中设置WCKey。如果没有给出WCKey,作业的WCKey将被设置为用户对集群的默认WCKey,这可以通过sacctmgr
设置。同样,如果没有指定WCKey,会计记录会附加一个 '*'
,表示没有指定WCKey。这对管理员确定一个用户是否指定了他们的WCKey很有用。
Sacct可以通过在--format
选项中添加 "wckey"
来查看WCKey。你也可以通过使用--wckeys=
选项来单独列出作业,这将只发送以特定WCKeys运行的作业信息。
Sacctmgr 用来管理WCKeys。你可以添加和删除用户的WCKeys或者列出它们。
你将一个用户添加到一个WCKey中,就像你添加一个帐户一样,只是WCKey不需要事先创建。
sacctmgr add user da wckey=secret_project
你可以用同样的方式从WCKey中删除它们。
sacctmgr del user da wckey=secret_project
要改变用户的默认WCKey,你可以运行以下一行
sacctmgr mod user da cluster=snowflake set defaultwckey=secret_project
这将改变集群 "snowflake "上的用户 "da "的默认WCKey为 "secret_project"
。如果你想让所有集群都这样,只需删除cluster=
选项。
关于WCKeys可用的报告的信息可以在sreport手册中找到。