我在笔记本电脑上测试 Slurm 的配置时遇到了一些问题。我试图slurmd
在一台机器上运行四个实例,该机器也是我slurmctld
运行的同一台机器。我有一个本地munged
实例,以用户munge
.的身份运行,slurmd
并slurmctld
以我的用户身份运行,这也是在 中设置的/etc/slurm-llnl/slurm.config
。
所有slurmd
实例都连接到slurmctld
,我可以使用sbatch
来启动一个简单的作业,回显“Yay!”并毫无问题地退出。当我尝试在分配的 shell 中使用 时,会出现问题。salloc
除了第一台启动的机器外,mpirun
我在所有机器上都收到以下错误消息:slurmd
slurmd: error: Crenedtial signature check: Credential replayed
slurmd: error: Invalid job credential from [email protected]: Invalid job credential
将会mpirun
失败:
--------------------------------------------------------------------------
An ORTE daemon has unexpectedly failed after launch and before
communicating back to mpirun. This could be caused by a number
of factors, including an inability to create a connection back
to mpirun due to a lack of common network interfaces and/or no
route found between them. Please check network connectivity
(including firewalls and network routing requirements).
--------------------------------------------------------------------------
我读到过,这可能是由于系统时间关闭或不同机器上使用不同的 uid,但所有进程都在同一台机器上运行。
有人有什么想法吗?
答案1
原来,我忘了用 配置 slurm --enable-multiple-slurmd
。我猜测发生了什么,所有四个 slurmd 守护进程都尝试针对在本地主机上运行的同一个 mungod 验证同一个作业凭证。这导致 mungod 拒绝了除第一个验证请求之外的所有请求Credential replayed
。slurm--enable-multiple-slurmd
中的开关似乎启用了某种机制来阻止这些对 mungod 的重复验证请求。