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

article/2025/9/15 0:55:10

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

  • 1. 环境基础

  • 2. 环境配置

    • 2.1 hostname配置

    • 2.2 关闭SELinux (master, slave)

    • 2.3 关闭Firewall (master, slave)

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

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

  • 4. 安装munge

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

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

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

  • 5. 安装slurm

    • 5.1 安装slurm依赖 (master, slave)

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

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

    • 5.4 修改配置文件 (master)

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

      • a. 在master上执行

      • b. 在slave上执行

      • c. 在master上执行

      • d. 在slave上执行

      • e. 启动munge

  • 6. 运行测试

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 mungeuseradd  -m -c "MUNGE Uid 'N' Gid Emporium" -d /var/lib/munge -u $MUNGEUSER -g munge  -s /sbin/nologin mungeexport SLURMUSER=992 && groupadd -g $SLURMUSER slurmuseradd  -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 -yyum install munge munge-libs munge-devel -yyum install rng-tools -yrngd -r /dev/urandom

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

/usr/sbin/create-munge-key -rdd if=/dev/urandom bs=1 count=1024 > /etc/munge/munge.keychown munge: /etc/munge/munge.key && chmod 400 /etc/munge/munge.keyscp /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 mungesystemctl start mungesystemctl 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 -yyum 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 -ycd /usr/local/wget https://download.schedmd.com/slurm/slurm-20.11.9.tar.bz2rpmbuild -ta --with mysql slurm-20.11.9.tar.bz2

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

cd /root/rpmbuild/RPMS/x86_64yum localinstall slurm-*.rpm -y

5.4 修改配置文件 (master)

cp /etc/slurm/slurm.conf.example /etc/slurm/slurm.confcp /etc/slurm/slurmdbd.conf.example /etc/slurm/slurmdbd.confcp /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/slurmctldmkdir /var/log/slurm && touch /var/log/slurm/slurmctld.log && chown slurm: /var/log/slurm/slurmctld.logtouch /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.logchown 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/slurmdmkdir /var/log/slurm && touch /var/log/slurm/slurmd.log && chown slurm: /var/log/slurm/slurmd.log

c. 在master上执行

# 启动slurmdbd
systemctl enable slurmdbd.servicesystemctl start slurmdbd.servicesystemctl status slurmdbd.service# 启动slurmctld
systemctl enable slurmctld.servicesystemctl start slurmctld.servicesystemctl status slurmctld.service

d. 在slave上执行

systemctl enable slurmd.servicesystemctl start slurmd.servicesystemctl status slurmd.service

e. 启动munge

systemctl start munge
systemctl status munge
systemctl enable munge

6. 运行测试

us slurmctld.service


#### d. 在slave上执行```bash
systemctl enable slurmd.servicesystemctl start slurmd.servicesystemctl status slurmd.service

e. 启动munge

systemctl start munge
systemctl status munge
systemctl enable munge

至此结束


http://chatgpt.dhexx.cn/article/9WcH1dmI.shtml

相关文章

Tomcat服务器集群搭建

Tomcat服务器集群与负载均衡 一、前言 在单一的服务器上执行WEB应用程序有一些重大的问题,当网站成功建成并开始接受大量请求时,单一服务器终究无法满足需要处理的负荷量,所以就有点显得有 点力不从心了。另外一个常见的问题是会产生单点故障…

Hadoop分布式集群搭建完整版(持续更新中)

1.前期准备工作 各类软件以及工具包下载 2.网络环境配置 2.1 打开 VMware 找到编辑,点击虚拟网络配置 2.2 点击第二行,然后更改设置 2.3 点击第三行VMnet8,把本地DHC服务将IP地址分配给虚拟机取消,配置子网,子网掩码&a…

保姆级教学——集群环境搭建及创建集群

保姆级教学——集群环境搭建及创建集群 新建虚拟机 一些默认,加载镜像开启虚拟机,在安装位置选择自己目录,然后建立分区,首先添加 挂载点,类型标准分区,文件系统ext4 加载分区,期望给2G, 类…

集群搭建完整版

集群搭建完整版 1.集群搭建的准备工作 1.克隆虚拟机 (要三台,创建一台 JDK、Hadoop 都安装完成的虚拟机,看 1.1 和 1.2) 2. 修改克隆虚拟机的静态 IP vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICEeth0 TYPEEthernet ON…

搭建服務器集群【3大注意事項】

简述 服务器集群是现时很多企业选用的建站科案选用技术, 为企业提供更稳定可靠的运作, 服务器出现超载或宕机也不会导致整个业务无法运作, 是企业服务器热备的不二之选, 我们为你一一说明一下 什么是服务器集群? 服务器集群指多台服务器集合及共同管理一个业务, …

通过vnc自动连接linux,通过VNC连接Linux远程桌面

因为特殊的需求关系,琢磨了一下如何在本地连接远程Linux主机的桌面环境。翻了不少网上的相关文章,大部分都只讲了步骤没有说为什么这么做,我就简单再复述一遍吧,加深一下印象。 环境如下: 本地:OS X 10.8.2…

Linux和Windows间的远程桌面访问

在Windows上面,我们都用过系统自带的远程桌面连接或者TeamViewer这样的工具,可以方便的让我们用图形化方式远程操作其他计算机。但是在Linux上,我们一般都是使用SSH来操作终端。那么在Linux上有没有一些工具可以让我们像Windows那样用图形化的…

Linux远程桌面初体验——todesk、向日葵终极对决

文章目录 前言一、使用环境及软件介绍二、使用步骤总结 前言 大家都知道,Linux桌面的功能很少被人使用,但目前包括但不限于红帽系的发行版本慢慢开始重视桌面环境,尤其是国产操作系统。今天我就来大家看一下国产操作系统下远程桌面的使用体验…

linux远程桌面连接

rdesktop这个软件 sudo apt-get install rdesktoprdesktop -g 1366*768 -P -z -x l -r sound:off -u username 192.168.123.5参数意义-g后面代表要使用的分辨率-P启用位图缓存-z启用RDP数据流压缩-x l使用局域网级别的图像质量-r sound:off关闭声音-u windowuser指定要使用的用…

Linux 远程桌面实现

硬件环境:树莓派3B 操作系统: Raspberry Jessie 安装xrdp服务(属于tightVNC服务的一部分) sudo apt-get install xrdp 安装完成后,输入如下命令: sudo /etc/init.d/xrdp start sudo update-rc.d xrdp de…

Linux配置VNC远程桌面

环境:CentOS7 VNC需要系统安装的有桌面,如果是生产环境服务器,安装时使用的最小化安装,那么进行下面操作按章GNOME 桌面。 # 列出的组列表里有GNOME Desktop。 yum grouplist #安装之 yum groupinstall -y "GNOME Desktop&…

如何远程linux服务器桌面,LINUX操作系统如何远程登录桌面

相比window来说linux远程桌面登陆需要第三方软件来实现,之前用ssh登陆的都是字符界面;昨天试了试远程桌面也是可以的,方法很多,这儿只阐述比较好用的一种;使用时,关闭windows防火墙,或者开启相应的防火墙端口;这里使用…

linux远程桌面rdesktop,Linux下通过rdesktop连接Windows远程桌面

rdesktop是linux下支持Windows远程桌面连接的客户端程序,在linux系统下可通过它远程访问Windows桌面,支持多种版本。rdesktop是sourceforge下支持GPL协议的一个开源项目,采用RDP(Remote Desktop Protocol,远程桌面协议),几乎可以连接windows的所有版本,诸如NT 4 Terminal …

red hat linux 远程,Red Hat Linux 远程桌面 – 如何设置

远程访问 RHEL 计算机。运行 RHEL 7.3-8.1 的 Linux 计算机的远程桌面。从任何计算机、平板电脑或移动设备进行访问。立即免费试用! 如果您是在家中或在旅途中工作,则可能需要一段时间才能在办公室或在家中访问台式计算机。如果该桌面恰巧在 Linux 操作系…

linux系统开远程桌面,Linux 系统开启远程桌面的方法

Linux操作系统开启远程桌面的方法 一、组网需求: 我司iMC不仅支持Windows系统环境下的安装部署,还支持Linux系统环境下的安装部署,在定位网上问题或者远程安装部署时,远程桌面是一种快捷的方法,Windows操作系统下开启远程桌面的方法众所周知,下面介绍开启Linux操作系统远…

vnc连接linux远程桌面

文章目录 1, centos6安装vnc服务端vnc常用命令设置vnc随机登录密码设置ssh 密钥文件登录:禁止密码登录 2, ubuntu安装vnc服务端3, windows 安装vncviewer客户端 1, centos6安装vnc服务端 # 1, install vncserver yum -y install epel-release yum -y install vnc-s…

linux远程桌面连接_如何从Linux连接到远程桌面

linux远程桌面连接 根据Wikipedia的说法, 远程桌面是“一种软件或操作系统功能,它允许个人计算机的桌面环境在一个系统(通常为PC,但该概念同样适用于服务器)上远程运行,同时显示在服务器上。单独的客户端设备。” 换句话说,远程桌面用于访问另一台计算机上运行的环境。…

linux的远程桌面服务配置

一、 实验题目 Linux的远程桌面服务配置 二、 理论分析 Xrdp是一个开源工具,允许用户通过Windows RDP访问Linux远程桌面。 除了Windows RDP之外,xrdp工具还接受来自其他RDP客户端的连接,如FreeRDP,rdesktop和NeutrinoRDP。 Xrdp现在支持TLS安全层。 XFCE是一个桌面环境&#…

查看java编程环境是否配置成功

验证Java编程环境是否配置成功 点击键盘Windowsr键,打开运行提示框输入cmd按回车键打开命令框 输入javac,点击回车,查看java编译环境是否正常。 输入“java”,点击回车,查看java运行环境是否正常。 输入java -versi…

java环境变量一键配置工具

java环境变量一键配置工具是一款环境变量配置软件,对于需要学编程的新手来说,第一步就是配置环境变量,通过java环境变量一键配置工具可以一键进行配置,方便好用。 相关软件软件大小版本说明下载地址 java环境变量一键配置工具是一…