我是第一次安装 slurm。 我已经安装了 19.05.1-2 tarball 并使用配置器创建了一个非常简单的两节点集群。 控制节点是 sdc,计算节点(运行 slurmd)是 sdc 和 sdc1。两者均使用 Ubuntu 18.04 重建
我可以启动控制器和计算节点 sdc,并使用 srun 成功提交作业。 那太棒了。 但是,当我在第二个节点 SDC1 上启动 slurmd 时,我得到:
slurmd: error: Unable to register: Zero Bytes were transmitted or received
这很快就引导我找到了我的 munge 配置。 控制器 (sdc) 上的 Munge.log 每秒显示“无效凭证”。 我三次检查两台主机上的 munge.key 是否相同。 我确认 ntp 也在运行。
所以我手动做了 munge -s foobar | unmunge 在 SDC1 上当然可以在本地工作。 然后我将 SDC1 中的 munged 文本保存到 SDC 上的文件中,并尝试 unmunge。 这确实再次给了我错误“无效凭证”。
因此,我在两个系统上卸载并重新安装了 munge,分发密钥并重复该测试,结果相同。
我想我错过了一些简单的事情。 我不知道还能做什么才能正确安装 munge。
这是节点之间的 UID/GID 不匹配。 当然安装指南里有提到。
将 munge.key 复制到 /etc/munge 后,您是否记得重新启动 munge 守护进程?我也犯了同样的错误
1:安装slurm:
$ apt install -y slurm-client
2:复制slurm.conf (也许事先创建 slurm-llnl):
$ cp slurm.conf /etc/slurm-llnl
3:将 munge 密钥复制到客户端 (munge.key之前从slurm服务器/slurmctld复制)
$ cp munge.key /etc/munge
然后我收到了此处和报告中报告的所有无效凭证错误和问题,包括客户端的“零字节”错误
[CLIENT]$ sinfo
slurm_load_partitions: Zero Bytes were transmitted or received
Slurm SERVER/slurmctld 日志中的相应条目
[SERVER]$ tail /var/log/munge/munged.log
2022-12-30 22:57:23 +0100 Notice: Running on ..
2022-12-30 23:01:11 +0100 Info: Invalid credential ...
和
[SERVER]$ tail /var/log/slurm-llnl/slurmctld.log
[2022-12-30T23:01:11.440] error: Munge decode failed: Invalid credential
[2022-12-30T23:01:11.440] ENCODED: Thu Jan 01 01:00:00 1970
[2022-12-30T23:01:11.440] DECODED: Thu Jan 01 01:00:00 1970
[2022-12-30T23:01:11.440] error: slurm_unpack_received_msg: REQUEST_PARTITION_INFO has authentication error: Invalid authentication credential
[2022-12-30T23:01:11.440] error: slurm_unpack_received_msg: Protocol authentication error
所有这些都可以通过重新启动客户端来解决,如其他人建议的那样,或者稍微不那么侵入性,只需重新启动客户端 munge 守护进程
(CLIENT)$ sudo systemctl restert munge.service
然后在客户端上 munge / 在服务器上 unmunge 可以工作,但它也解决了我的主要问题,即让客户端查看 slurm 服务器,而不会出现可怕的“零字节”错误
[CLIENT]$ sinfo
slurm_load_partitions: Zero Bytes were transmitted or received
带有服务器日志条目
[SERVER]$ tail /var/log/slurm-llnl/slurmctld.log
...
[2022-12-30T23:17:14.017] error: slurm_unpack_received_msg: Invalid Protocol Version 9472 from uid=-1 at XX.XX.XX.XX:44150
[2022-12-30T23:17:14.017] error: slurm_unpack_received_msg: Incompatible versions of client and server code
[2022-12-30T23:17:14.027] error: slurm_receive_msg [XX.XX.XX.XX:44150]: Unspecified error
并且,在 munge 重新启动后,瞧:
[CLIENT] $ sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
LocalQ* up infinite 1 idle XXX
示例:SERVER Ubuntu 20.04、CLIENTS Ubuntu 20.04(日志显示,22.04 似乎与 SERVER slurm 版本不兼容)
这可能是节点之间未同步的日期和时间