【HPC】slurm集群资源管理和工作调度系统

简介

坚持官网为第一手资料,努力做到按照本文即可快速使用slurm
As depicted in Figure 1, Slurm consists of a slurmd daemon running on each compute node and a central slurmctld daemon running on a management node (with optional fail-over twin). The slurmd daemons provide fault-tolerant hierarchical communications. The user commands include: sacct, sacctmgr, salloc, sattach, sbatch, sbcast, scancel, scontrol, scrontab, sdiag, sh5util, sinfo, sprio, squeue, sreport, srun, sshare, sstat, strigger and sview. All of the commands can run anywhere in the cluster.
Slurm components

快速部署使用

本次部署说明
10.192.55.66作为管理节点(也是计算节点),其他的作为计算节点,管理节点需要运行的slurm服务有slurmdbd(记账服务)、slurmctld(控制管理服务)、slurmd(作业调度服务),其他的节点只需要运行slurmd(作业调度服务)即可。

1.依赖服务-munge认证服务部署

munge是认证服务,用于生成和验证证书。应用于大规模的HPC集群中,slurm官方推荐使用munge作为slurm作业调度系统的认证服务,用于主控节点和计算节点之间的认证通信。配置时分为server端和client端,其中server端应作为slurm调度服务的主控节点,用于管理认证服务。

本次配置系统为:Centos stream 9
server端IP:10.192.55.66
client端:10.192.55.66、87-88

  • server端配置:

1)server端首先需要确保以前没有安装过munge,如果安装过需要把以前的munge用户删掉

dnf remove munge-libs munge -y
userdel -r munge

2)删除完之后需要新建munge用户,server端和client端的munge用户UID必须保持一致,因此必须在创建时指定UID,执行如下命令即可。

export MUNGEUSER=1120
groupadd -g $MUNGEUSER munge 
useradd -m -c "MUNGE Uid 'N' Gid Emporium" -d /var/lib/munge -u $MUNGEUSER -g munge -s /sbin/nologin munge 

3)安装包

yum install munge munge-devel munge-libs rng-tools -y

4)为系统新增熵池

rngd -r /dev/urandom

5)创建munge.key文件:

create-munge-key

6)在/etc/munge/下面会生成munge.key,需修改munge.key的权限以及所属用户,把所属用户改成munge。

dd if=/dev/urandom bs=1 count=1024 > /etc/munge/munge.key
chown munge: /etc/munge/munge.key
chmod 400 /etc/munge/munge.key
chown -R munge: /var/lib/munge
chown -R munge: /var/run/munge
chown -R munge: /var/log/munge

7)把munge.key分发给其他的client端的机器:

scp /etc/munge/munge.key root@hik7:/etc/munge/
scp /etc/munge/munge.key root@hik8:/etc/munge/

6)启动munge service

systemctl status munge.service
systemctl start munge.service
systemctl enable munge.service
  • client 配置
    1)server端首先需要确保以前没有安装过munge,如果安装过需要把以前的munge用户删掉
dnf remove munge-libs munge -y
userdel -r munge

2)删除完之后需要新建munge用户,server端和client端的munge用户UID必须保持一致,因此必须在创建时指定UID,执行如下命令即可。

export MUNGEUSER=1120
groupadd -g $MUNGEUSER munge 
useradd -m -c "MUNGE Uid 'N' Gid Emporium" -d /var/lib/munge -u $MUNGEUSER -g munge -s /sbin/nologin munge 

3)安装包

yum install munge munge-devel munge-libs rng-tools -y

4)为系统新增熵池

rngd -r /dev/urandom

5)在配置server端时,已经把munge.key发送至了client端,此时在client端同样需修改munge.key文件的所属用户,并修改相关目录的权限,改成munge即可。

chmod 700 /etc/munge
chown -R munge: /etc/munge
chown -R munge: /var/lib/munge
chown -R munge: /var/run/munge
chown -R munge: /var/log/munge

6)启动munge service

systemctl status munge.service
systemctl start munge.service
systemctl enable munge.service

2.主控节点配置slurm

1)配置slurmdbd服务

  • 添加slurm用户
export SLURMUSER=1121
groupadd -g $SLURMUSER slurm 
useradd -m -c "SLURM workload manager" -d /var/lib/slurm -u $SLURMUSER -g slurm -s /bin/bash slurm
  • 安装slurm rpm包
dnf install slurm -y;dnf install slurm-* -y
systemctl enable slurmctld.service slurmdbd.service 
systemctl start slurmctld.service slurmdbd.service 

-修改权限



  • 修改配置文件/etc/slurm/slurmdbd.conf
    修改项:
AuthInfo=/var/run/munge/munge.socket.2

2)配置slurmd服务

  • 编辑/etc/slurm/slurm.conf
    修改项:
SlurmctldHost=hik6
# COMPUTE NODES
NodeName=hik[6-8] CPUs=1 State=UNKNOWN
# PARTITIONS
PartitionName=daos_client Nodes=ALL Default=YES MaxTime=INFINITE State=UP
  • 启动slurmd 、slurmctld
systemctl enable slurmd.service
systemctl start slurmd.service
systemctl enable slurmctld.service
systemctl start slurctld.service

3.计算节点

dnf install slurm -y;dnf install slurm-* -y
systemctl enable slurmd.service 
systemctl start slurmd.service 

4.检查slurm部署的正确性-闭环

在主控节点:可以看到partition 信息了

[root@hik6 ftest]# sinfo
PARTITION    AVAIL  TIMELIMIT  NODES  STATE NODELIST
daos_client*    up   infinite      3   idle hik[6-8]

参考链接
1.slurm官网
2.munge认证服务配置
3.slurm作业调度管理系统配置

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Slurm是一个用于作业调度和管理的开源软件。它被广泛应用于各种场景,包括本地服务器集群、混合云计算和云端计算等。在本地服务器集群中,Slurm可以组织多台服务器进行计算任务的调度和编排。在混合云计算环境中,Slurm同样可以使用,可以直接让供应商提供技术支持。云端的计算和超算中心也使用Slurm进行作业编排,而且云端环境不需要自己部署,直接使用即可,并且由专业的公司维护,稳定性更高。此外,还有一些开源工具可用于部署和管理Slurm集群,例如Omnia。Omnia是Dell HPC推出的开源集群部署工具,基于ansible进行部署k8s/slurm集群。你可以在GitHub上找到有关Omnia的更多信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [基于Centos7的slurm集群部署方案(测试环境)](https://blog.csdn.net/mogui60/article/details/125069490)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Slurm集群部署](https://blog.csdn.net/weixin_31105189/article/details/113999400)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Slurm集群安装部署](https://blog.csdn.net/qq_31910613/article/details/123983153)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值