IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 在ubuntu环境下搭建slurm -> 正文阅读

[系统运维]在ubuntu环境下搭建slurm


前言

Slurm(Simple Linux Utility for Resource Management, http://slurm.schedmd.com/ )是开源的、具有容错性和高度可扩展的Linux集群超级计算系统资源管理和作业调度系统,所以今天我们来从零开始搭建slurm集群。


一、关闭防火墙以及SELinux

SELinux
临时关闭SELinux   setenforce 0
临时打开SELinux   setenforce 1
查看SELinux的状态  getenforce
永久关闭SELinux(重启后生效)编辑/etc/selinux/config 文件,将SELinux的默认值enforcing 改为 disabled,下次开机就不会再启动

临时关闭防火墙    systemctl stop firewalld
临时打开防火墙    systemctl start firewalld
永久关闭防火墙开机自关闭    systemctl disable firewalld
防火墙开机自启动    systemctl enable firewalld
重启防火墙(disable、enable 修改后重启防火墙生效,或重启linux)    systemctl restart firewalld
查看防火墙的状态    systemctl status firewalld


二、修改主机名/etc/hosts, /etc/hostname

将本机名改成相对应的节点名称,并且在master节点把需要搭建的集群ip放进来
在这里插入图片描述


三、配置SSH 免密、NTP、NFS

1.SSH免密

为每台机器生产自己公私钥(一路回车就行) ssh-keygen -t rsa

cd ~/.ssh 将密钥复制到相应服务器文件中 ssh-copy-id -i id_rsa.pub master@10.0.0.225 (如果还要输入密码需要设置vim /etc/ssh/sshd_config(重点修改该文件夹归属目录权限) 并重启systemctl restart sshd.service)

vim ~/.ssh/config
 增加以下配置
 Host master
 HostName 10.0.0.225
 User master
 IdentitiesOnly yes
 可以通过ssh master直接访问

2.NTP安装(不安装似乎也没影响)

master:sudo apt install ntp

其他节点:sudo apt install ntpdate
然后在/etc/ntp.conf 添加server 10.0.0.225 prefer,然后关闭ntp服务后nptdate 10.0.0.225

3.NFS安装

sudo apt install nfs-kernel-server
安装好后记得开启服务:
sudo systemctl start nfs-kernel-server
设置开机自动启动nfs:
sudo systemctl enable nfs-kernel-server
挂载服务:
sudo mount -t nfs 10.0.0.225:/nfs_share /nfs_share -o nolock

进入sudo vim /etc/fstab 添加开机自动挂载

10.0.0.225:/nfs_share /nfs_share nfs defaults 0 0

apt-get 无法安装时把需要的库依次安装好即可


四、安装munge

sudo apt install munge

将master的/etc/munge/munge.key复制到各节点中相同路径,注意其中的权限问题,所有节点复制完成后开启服务

sudo systemctl start munge
查看是否连通
munge -n | unmunge
munge -n | ssh node0 unmunge


五、slurm安装

sudo apt install slurm-wlm
sudo chown -R slurm:slurm /var/spool/


六、设置slurm.conf文件( 重中之重 )

一般在/etc/slurm-llnl/中,编辑slurm.conf文件,如果在slurm20.02版本以上支持无配置模式,就不需要将各个master的conf文件复制到节点上。

否则每次更改conf文件都需要将更改的内容在其他节点上面同步之后重启服务。

slurm.conf
ControlMachine=master #<YOUR-HOST-NAME>
ControlAddr=10.0.0.225
AuthType=auth/munge

SlurmctldParameters=enable_configless   #如果不是无配置模式则注销此行
MpiDefault=none
ProctrackType=proctrack/linuxproc
ReturnToService=1
SlurmUser=root                      #slurm
SwitchType=switch/none
SchedulerType=sched/builtin
#SelectType=select/linear
SelectType=select/cons_tres
SelectTypeParameters= CR_CPU     #基于CPU调度
#SelectTypeParameters=CR_Core,CR_CORE_DEFAULT_DIST_BLOCK      #基于Core和内存调度
TaskPlugin=task/affinity        #够将一个或多个进程绑定到一个或多个处理器上运行
ClusterName=slurmcls #<YOUR-HOST-NAME>
SlurmctldLogFile=/var/log/slurm-llnl/slurmctld.log
SlurmdLogFile=/var/log/slurm-llnl/slurmd.log
SlurmctldPort=6817    #slurmctld服务端口
SlurmdPort=6818        #slurmd服务的端口
MailProg=/var/spool/mail

#节点信息,通过lscpu查看对应的参数填入
NodeName=master NodeAddr=10.0.0.225 CPUs=32 RealMemory=120000 State=IDLE Sockets=2 CoresPerSocket=8  ThreadsPerCore=2 
NodeName=node0 NodeAddr=10.0.0.221 CPUs=32 RealMemory=120000 State=IDLE Sockets=2 CoresPerSocket=8 ThreadsPerCore=2
NodeName=node1 NodeAddr=10.0.0.65 CPUs=32 RealMemory=250000 State=IDLE Sockets=2 CoresPerSocket=8 ThreadsPerCore=2 

NodeName=hnode0 NodeAddr=10.0.0.35 CPUs=128 RealMemory=2000000 State=IDLE #Sockets=2 CoresPerSocket=32 ThreadsPerCore=2
NodeName=hnode1 NodeAddr=10.0.0.37 CPUs=128 RealMemory=1000000 State=IDLE #Sockets=2 CoresPerSocket=32 ThreadsPerCore=2 

#队列信息
PartitionName=control Nodes=master Default=NO MaxTime=INFINITE State=UP
PartitionName=all Nodes=master,node[0-1],hnode[0-1] Default=YES MaxTime=INFINITE State=UP
PartitionName=cp Nodes=master,node[0-1] Default=NO MaxTime=INFINITE State=UP
PartitionName=hcp Nodes=hnode[0-1] Default=NO MaxTime=INFINITE State=UP


总结

以上步骤全部没有问题的话,最后我们就可以启动集群啦
首先,在master节点需要重启控制和计算服务
sudo systemctl restart slurmctl.service && sudo systemctl restart slurmd.service
计算节点只需要重启计算服务
sudo systemctl restart slurmd.service

然后,通过systemctl status slurmctld.service 和 systemctl status slurmd.service服务状态
slurmctl状态
slurmd状态

最后,通过sinfo查看集群的状态(由于当时在跑任务,所以有节点state显示alloc,没有跑任务的时候均显示idle)
在这里插入图片描述

如果对于搭建过程中还有不懂的地方,可以在下方评论区留言,大家一起相互学习,共同进步。

参考链接

https://slurm.schedmd.com/documentation.html

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 01:24:17  更:2022-09-30 01:26:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 19:27:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码