You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Slurmctld启动失败,MariaDB连接权限错误求助

Slurm slurmctld启动失败:MariaDB连接权限问题

问题现象

执行systemctl status slurmctld得到以下失败输出:

root@MyCluster:/opt/WorkLoadManager/slurm/23.11.5# systemctl status slurmctld
× slurmctld.service - Slurm controller daemon
     Loaded: loaded (/etc/systemd/system/slurmctld.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Tue 2024-04-09 16:18:33 CEST; 4s ago
    Process: 2592430 ExecStart=/opt/WorkLoadManager/slurm/23.11.5/sbin/slurmctld --systemd $SLURMCTLD_OPTIONS (code=exited, status=1/FAILURE)
   Main PID: 2592430 (code=exited, status=1/FAILURE)
        CPU: 44ms

Apr 09 16:18:32 MyCluster.num.lab slurmctld[2592430]: slurmctld: Job accounting information stored, but details not gathered
Apr 09 16:18:32 MyCluster.num.lab slurmctld[2592430]: slurmctld: slurmctld version 23.11.5 started on cluster MyCluster
Apr 09 16:18:32 MyCluster.num.lab systemd[1]: Started Slurm controller daemon.
Apr 09 16:18:32 MyCluster.num.lab slurmctld[2592430]: slurmctld: accounting_storage/slurmdbd: clusteracct_storage_p_register_ctld: Registering slurmctld at port 6817 with slurmdbd
Apr 09 16:18:33 MyCluster.num.lab slurmctld[2592430]: slurmctld: priority/multifactor: _read_last_decay_ran: No last decay (/var/spool/slurmctld/priority_last_decay_ran) to recov>
Apr 09 16:18:33 MyCluster.num.lab slurmctld[2592430]: slurmctld: No memory enforcing mechanism configured.
Apr 09 16:18:33 MyCluster.num.lab slurmctld[2592430]: slurmctld: error: mysql_real_connect failed: 1045 Access denied for user 'root'@'localhost' (using password: NO)
Apr 09 16:18:33 MyCluster.num.lab slurmctld[2592430]: slurmctld: fatal: You haven't inited this storage yet.
Apr 09 16:18:33 MyCluster.num.lab systemd[1]: slurmctld.service: Main process exited, code=exited, status=1/FAILURE
Apr 09 16:18:33 MyCluster.num.lab systemd[1]: slurmctld.service: Failed with result 'exit-code'.

环境信息

  • Slurm版本:23.11.5
  • 数据库:mariadb Ver 15.1 Distrib 10.6.16-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper

已尝试操作

为解决初始的1045无密码访问错误,执行了以下MariaDB操作:

MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWD';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> USE mysql;
MariaDB [mysql]> SELECT User, Host, plugin FROM mysql.user;
+-------------+-----------+-----------------------+
| User        | Host      | plugin                |
+-------------+-----------+-----------------------+
| mariadb.sys | localhost | mysql_native_password |
| root        | localhost | mysql_native_password |
| mysql       | localhost | mysql_native_password |
| slurm       | localhost | mysql_native_password |
| slurm       | system0   | mysql_native_password |
+-------------+-----------+-----------------------+
quit

重启MariaDB后,出现新错误:

slurmctld: error: mysql_real_connect failed: 1698 Access denied for user 'root'@'localhost'

解决方案

1. 改用专用slurm数据库用户

Slurm账户数据库不应使用root用户连接,安全且容易引发权限冲突,应使用已存在的slurm用户。先为该用户设置密码:

ALTER USER 'slurm'@'localhost' IDENTIFIED BY 'your_slurm_db_password';
FLUSH PRIVILEGES;

2. 修正slurmdbd.conf配置

编辑Slurm数据库守护进程配置文件(通常路径为/etc/slurm/slurmdbd.conf),确保数据库连接参数指向slurm用户:

StorageType=accounting_storage/mysql
StorageHost=localhost
StorageUser=slurm
StoragePass=your_slurm_db_password
StorageLoc=slurm_acct_db

3. 初始化Slurm账户数据库

如果尚未初始化数据库,执行以下命令完成初始化:

slurmdbd -D -v
# 看到"Database initialized"提示后,按Ctrl+C停止进程

4. 修复文件权限

确保Slurm相关目录和文件归slurm用户所有:

chown -R slurm:slurm /var/spool/slurmctld /var/spool/slurmdbd /etc/slurm

5. 重启服务验证

依次重启相关服务并检查状态:

systemctl restart mariadb
systemctl restart slurmdbd
systemctl restart slurmctld
# 验证启动状态
systemctl status slurmctld

内容的提问来源于stack exchange,提问作者ZushiWuxian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 06:25:06