munge 使用介绍

CentOS 7 安装MySQL 5.7 或安装指定版本MySQL「建议收藏」

slurm集群安装与踩坑详解

slurm安装常见问题

提示没有accounting_storage/xxx插件?

到安装目录的lib/slurm中查看是否有该插件,如果没有,请下载好该插件,放到该目录。

关于配置问题

_conn_readable: persistent connection for fd 11 experienced error[32]: Broken pipe
[2023-08-15T15:44:31.590] error: _slurm_persist_recv_msg: only read 70 of 171257399 bytes
[2023-08-15T15:44:31.590] error: slurm_persist_conn_open: No response to persist_init
[2023-08-15T15:44:31.590] error: Sending PersistInit msg: No error
如上问题,可能是slurm.conf中的AccountingStoragePort相关配置错误,我遇到的是端口配置错了,这个端口默认配置为:6819

配置关于cgroup的问题,

slurm.conf中配置了cgroup的,但是对应的配置文件不正确

关于NodeName节点配置问题

要根据自己电脑的实际配置进行配置
例如
NodeName=localhost CPUs=16 Sockets=4 CoresPerSocket=4 ThreadsPerCore=1 State=UNKNOWN
节点名称为localhost,拥有16个CPU,分为4个插槽,每个插槽有4个核心,每个核心有1个线程。节点的状态为UNKNOWN,表示当前状态未知。

使用lscpu查看本地相关信息

根据提供的slurmdbd.conf配置文件,以下是对配置文件中各个选项的解释:

  1. ArchiveEvents: 是否将事件存档。如果设置为"yes",则会将事件存档到数据库中。
  2. ArchiveJobs: 是否将作业存档。如果设置为"yes",则会将作业存档到数据库中。
  3. ArchiveResvs: 是否将保留存档。如果设置为"yes",则会将保留存档到数据库中。
  4. ArchiveSteps: 是否将步骤存档。如果设置为"yes",则会将步骤存档到数据库中。
  5. ArchiveSuspend: 是否将挂起存档。如果设置为"yes",则会将挂起存档到数据库中。
  6. ArchiveTXN: 是否将事务存档。如果设置为"yes",则会将事务存档到数据库中。
  7. ArchiveUsage: 是否将使用情况存档。如果设置为"yes",则会将使用情况存档到数据库中。
  8. AuthInfo: Munge认证信息的路径。指定用于认证的Munge套接字的路径。
  9. AuthType: 认证类型。指定用于认证的类型,这里使用的是Munge认证。
  10. DbdHost: slurmdbd守护进程的主机名。指定运行slurmdbd守护进程的主机名。
  11. DebugLevel: 调试级别。指定调试信息的详细程度,这里设置为"info",表示输出一般的调试信息。
  12. PurgeEventAfter: 存档事件后的保留时间。指定存档的事件在多长时间后被删除。
  13. PurgeJobAfter: 存档作业后的保留时间。指定存档的作业在多长时间后被删除。
  14. PurgeResvAfter: 存档保留后的保留时间。指定存档的保留在多长时间后被删除。
  15. PurgeStepAfter: 存档步骤后的保留时间。指定存档的步骤在多长时间后被删除。
  16. PurgeSuspendAfter: 存档挂起后的保留时间。指定存档的挂起在多长时间后被删除。
  17. PurgeTXNAfter: 存档事务后的保留时间。指定存档的事务在多长时间后被删除。
  18. PurgeUsageAfter: 存档使用情况后的保留时间。指定存档的使用情况在多长时间后被删除。
  19. LogFile: slurmdbd日志文件的路径。指定slurmdbd日志文件的路径。
  20. PidFile: slurmdbd进程ID文件的路径。指定slurmdbd进程ID文件的路径。
  21. SlurmUser: Slurm用户。指定运行Slurm相关进程的用户。
  22. StoragePass: 存储密码。指定用于连接到存储数据库的密码。
  23. StorageType: 存储类型。指定用于存储数据的类型,这里使用的是MySQL。
  24. StorageUser: 存储用户。指定用于连接到存储数据库的用户。
  25. StorageHost: 存储主机。指定存储数据库的主机名。
  26. StoragePort: 存储端口。指定存储数据库的端口号。

这些选项用于配置slurmdbd守护进程,该进程负责将Slurm的事件、作业、保留等信息存储到数据库中,以供后续查询和分析。

slurm常用命令

提交一个作业:

srun hostname

查看作业状态

squeue

查看MPI作业详细信息

scontrol show jobs

显示队列或节点状态

sinfo

终止作业

scancel xxx

再把节点恢复一下,修改节点状态

scontrol update NodeName=xxx State=idle

查看节点状态

scontrol show node

查询所有历史作业

sacct
sacct -u xxx 查询指定用户