基于slurm框架的GPU服务器集群搭建方法

基于slurm框架的GPU服务器集群搭建操作文档

1. 环境基础

系统环境: Centos7

管理结点: 1个 (192.168.76.130)hostname: master

计算节点: 1个 (192.168.76.131)hostname: slave1

2. 环境配置

2.1 hostname配置

  • 查看hostname

    hostnamectl status

  • 配置master机hostname

    hostnamectl set-hostname master

  • 配置slave1机hostname

    hostnamectl set-hostname slave1

2.2 关闭SELinux (master, slave)

vi /etc/sysconfig/selinux 
# SELINUX=disable
reboot
getenforce

2.3 关闭Firewall (master, slave)

systemctl stop firewalld.service
systemctl disable firewalld.service

2.4 配置ip与hostname映射关系 (master, slave1)

vi /etc/hosts

添加映射关系:

192.168.76.133 master
192.168.76.132 slave1 

3. 创建munge和slurm用户 (master, slave)

export MUNGEUSER=991 && groupadd -g $MUNGEUSER munge

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

export SLURMUSER=992 && groupadd -g $SLURMUSER slurm

useradd  -m -c "SLURM workload manager" -d /var/lib/slurm -u $SLURMUSER -g slurm  -s /bin/bash slurm

注:uid和gid可以根据情况自行确定,但要保证集群中的各结点uid和gid一致。

4. 安装munge

4.1 下载munge及依赖包 (master, slave)

yum install epel-release openssh-clients -y

yum install munge munge-libs munge-devel -y

yum install rng-tools -y

rngd -r /dev/urandom

4.2 生成munge.key并发送到各计算节点 (master)

/usr/sbin/create-munge-key -r

dd if=/dev/urandom bs=1 count=1024 > /etc/munge/munge.key

chown munge: /etc/munge/munge.key && chmod 400 /etc/munge/munge.key

scp /etc/munge/munge.key root@192.168.76.132:/etc/munge/

4.3 修改munge.key权限并启动(slave)

chown -R munge: /etc/munge/ /var/log/munge/ && chmod 0700 /etc/munge/ /var/log/munge/

systemctl enable munge

systemctl start munge

systemctl status munge

在这里插入图片描述

5. 安装slurm

5.1 安装slurm依赖 (master, slave)

yum install openssl openssl-devel pam-devel numactl numactl-devel hwloc hwloc-devel lua lua-devel readline-devel rrdtool-devel ncurses-devel man2html libibmad libibumad -y

yum install python3-pip perl-ExtUtils-MakeMaker gcc rpm-build mysql-devel json-c json-c-devel http-parser http-parser-devel -y

5.2 下载slurm源码包并编译 (master, slave)

# 安装下载工具
yum install wget -y

cd /usr/local/

wget https://download.schedmd.com/slurm/slurm-20.11.9.tar.bz2

rpmbuild -ta --with mysql slurm-20.11.9.tar.bz2

5.3 安装生成的rpm文件 (master, slave)

cd /root/rpmbuild/RPMS/x86_64

yum localinstall slurm-*.rpm -y

5.4 修改配置文件 (master)

cp /etc/slurm/slurm.conf.example /etc/slurm/slurm.conf

cp /etc/slurm/slurmdbd.conf.example /etc/slurm/slurmdbd.conf

cp /etc/slurm/cgroup.conf.example /etc/slurm/cgroup.conf

修改/etc/slurm/slurm.conf

在这里插入图片描述

vi /etc/slurm/slurm.conf
# 注意,有两个路径要格外注意修改
... 

修改/etc/slurm/slurmdbd.conf

vi /etc/slurm/slurmdbd.conf

...

通过scp发动到各个计算节点

scp -p /etc/slurm/slurm.conf root@192.168.76.132:/etc/slurm/

scp -p /etc/slurm/slurmdbd.conf root@192.168.76.132:/etc/slurm/

scp -p /etc/slurm/cgroup.conf root@192.168.76.132:/etc/slurm/

5.5 修改slurm文件权限,并启动slurm

a. 在master上执行
mkdir /var/spool/slurmctld && chown slurm: /var/spool/slurmctld && chmod 755 /var/spool/slurmctld

mkdir /var/log/slurm && touch /var/log/slurm/slurmctld.log && chown slurm: /var/log/slurm/slurmctld.log

touch /var/log/slurm/slurm_jobacct.log /var/log/slurm/slurm_jobcomp.log && chown slurm: /var/log/slurm/slurm_jobacct.log /var/log/slurm/slurm_jobcomp.log


chown slurm: /etc/slurm/slurmdbd.conf
chmod 600 /etc/slurm/slurmdbd.conf
touch /var/log/slurm/slurmdbd.log
chown slurm: /var/log/slurm/slurmdbd.log
b. 在slave上执行
mkdir /var/spool/slurmd && chown slurm: /var/spool/slurmd && chmod 755 /var/spool/slurmd

mkdir /var/log/slurm && touch /var/log/slurm/slurmd.log && chown slurm: /var/log/slurm/slurmd.log
c. 在master上执行
# 启动slurmdbd
systemctl enable slurmdbd.service

systemctl start slurmdbd.service

systemctl status slurmdbd.service

# 启动slurmctld
systemctl enable slurmctld.service

systemctl start slurmctld.service

systemctl status slurmctld.service
d. 在slave上执行
systemctl enable slurmd.service

systemctl start slurmd.service

systemctl status slurmd.service
e. 启动munge
systemctl start munge
systemctl status munge
systemctl enable munge

6. 运行测试

us slurmctld.service


#### d. 在slave上执行

```bash
systemctl enable slurmd.service

systemctl start slurmd.service

systemctl status slurmd.service
e. 启动munge
systemctl start munge
systemctl status munge
systemctl enable munge

至此结束

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
slurm-gpu集群搭建是一种用于创建高性能计算环境的解决方案,它能够有效地利用多个GPU来加速任务执行。以下是关于如何搭建slurm-gpu集群的简要步骤: 1. 购买所需硬件:首先,您需要购买足够数量的GPU服务器和交换机来组成集群。确保GPU服务器的型号和配置都兼容并且能满足您的计算需求。 2. 安装并配置操作系统:在每个服务器上安装您选择的操作系统,并确保操作系统和组件的版本兼容。建议选择一个常用的Linux发行版,如Ubuntu或CentOS。 3. 安装Slurm:使用包管理器或从源代码编译安装Slurm调度系统。Slurm是一个开源的高性能计算和作业调度系统,为集群提供了任务分配和管理功能。 4. 配置Slurm集群:编辑Slurm配置文件以设置集群的参数,例如节点名称、队列配置、资源限制等。确保每个节点都被正确地添加到Slurm集群配置中。 5. 安装GPU驱动程序:为每个服务器上的GPU安装正确的驱动程序,并确保它们在操作系统中正确识别和配置。 6. 测试和优化:在完成集群配置后,进行一些基准测试,以确保GPU可以被正确地调用和使用。优化SlurmGPU驱动程序的配置,以最大程度地提高集群的性能。 7. 添加用户和作业:为集群上的用户创建账户,并允许他们提交作业。根据需要,在Slurm中配置用户权限和资源限制。 总结:通过购买适当的硬件,安装并配置操作系统、SlurmGPU驱动程序,以及进行测试和优化,您可以成功地搭建一个slurm-gpu集群。此集群能够高效地利用多个GPU来加速计算任务的执行,为您提供一个强大的计算环境。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值