我有一个现有的 slurm 集群正在运行,但是截至今天,由于没有更改配置,我在运行某些sacctmgr
命令时出现错误并slurmdbd
崩溃:
$ sacctmgr list associations
sacctmgr: error: slurm_persist_conn_open_without_init: failed to open persistent connection to slurm.domain.com:6819: Connection refused
sacctmgr: error: slurmdbd: Getting response to message type 1410
sacctmgr: error: slurmdbd: DBD_GET_ASSOCS failure: Connection refused
Error with request: Connection refused
演出systemctl status
:
Jul 03 10:01:46 slurm systemd[1]: slurmdbd.service: Main process exited, code=killed, status=11/SEGV
Jul 03 10:01:46 slurm systemd[1]: slurmdbd.service: Failed with result 'signal'.
slurmdbd.log 显示:
[2020-07-03T10:01:45.816] debug2: Opened connection 9 from 127.0.0.1
[2020-07-03T10:01:45.817] debug: REQUEST_PERSIST_INIT: CLUSTER:slurmcluster VERSION:8192 UID:0 IP:127.0.0.1 CONN:9
[2020-07-03T10:01:45.817] debug2: acct_storage_p_get_connection: request new connection 1
[2020-07-03T10:01:45.861] debug2: DBD_FINI: CLOSE:0 COMMIT:0
[2020-07-03T10:01:45.862] debug4: got 0 commits
[2020-07-03T10:01:45.949] debug2: DBD_GET_ASSOCS: called
[2020-07-03T10:01:45.950] debug4: 9(as_mysql_assoc.c:2032) query
call get_parent_limits('assoc_table', 'root', 'slurmcluster', 0); select @par_id, @mj, @msj, @mwpj, @mtpj, @mtpn, @mtmpj, @mtrm, @def_qos_id, @qos, @delta_qos;
但是其他命令可以工作(崩溃后需要重新启动 slurmdbd):
$ sacctmgr show cluster
Cluster ControlHost ControlPort RPC Share GrpJobs GrpTRES GrpSubmit MaxJobs MaxTRES MaxSubmit MaxWall QOS Def QOS
---------- --------------- ------------ ----- --------- ------- ------------- --------- ------- ------------- --------- ----------- -------------------- ---------
slurmclus+ 127.0.0.1 6817 8192 1 normal
我可以连接到数据库并执行命令。此外,我可以通过 进行连接telnet slurm.domain.com 6819
。
我正在使用标准 Ubuntu 18.04 存储库中的 slurm 17.11.2 和 MySQL 5.7。
答案1
事实证明,问题出在无人值守的升级上。其中 MySQL 从 更新为5.7.29
。MySQL5.7.30
一切正常5.7.29
。变更日志不包括一些显而易见的东西,但根据slurm-用户邮件列表这就是问题:
似乎(至少对于 mysql 过程 get_parent_limits)mySQL 5.7.30 返回 NULL,而 mySQL 5.7.29 返回一个空字符串。