我想将 Slurm 作业调度系统中的用户从其当前组移至其他组。但是当我尝试以下操作时,会出现错误:
sacctmgr modify user where name=example set account=groupb
我得到的唯一方法是删除它并使用新帐户重新创建:
sacctmgr delete user example account=groupa
sacctmgr add user example account=groupb
谢谢
答案1
我找到了另一种使用多个帐户并将默认帐户设置为最后添加的帐户的方法:
sacctmgr add user example account=groupb
sacctmgr modify user where user=example set defaultaccount=groupb
答案2
我偶然发现了这个答案,想在这里分享我的见解:在 Slurm 中,一切都以关联为中心。Zhens 的回答绝对正确。只需为该用户添加一个新关联并删除旧关联即可。或者甚至保留旧关联,以便用户可以决定在哪个帐户下运行作业(请参阅 srun 的 -U 选项)
sacctmgr remove user where user=example and account=oldgroup
sacctmgr add user name=example defaultaccount=newgroup ...