文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Ubuntu服务器安装配置slurm (Ubuntu 22.04 LTS)

2023-09-24 10:31

关注

Ubuntu服务器安装配置slurm (Ubuntu 22.04 LTS)

1. slurm简介

Slurm 全称 Simple Linux Utility for Resource Management。通常被用于大型Linux服务器 (超算) 上,作为任务管理系统。本文详细讲述如何在 Ubuntu 22.04 LTS 上安装slurm,并进行简单的配置。

其实网上相关的教程已经非常多,但在旧版本的Ubuntu上安装slurm时,通常需要安装一个名为slurm-llnl的软件包。但Ubuntu 22.04 LTS 的软件源不包含slurm-llnl,强行安装就会报出如下的错误:

$ sudo apt install slurm-llnlReading package lists... DoneBuilding dependency tree... DoneReading state information... DoneE: Unable to locate package slurm-llnl

2. slurm的安装步骤

Step 1. 安装依赖的软件包

  1. slurmd: 完成计算节点的任务(启动任务、监控任务、分层通信)
  2. slurmctld: 完成管理节点的任务(故障切换、资源监控、队列管理、作业调度)
$ sudo apt update$ sudo apt install slurm-wlm# `slurmd`: compute node daemon$ sudo apt install slrumd  (提示已安装)# `slurmctld`: central management daemon$ sudo apt install slurmctld  (提示已安装)

Step 2. 找到slurm-wlm-configurator.html文件,进入该目录下

# 输入以下命令,并$ dpkg -L slurmctld | grep slurm-wlm-configurator.html/usr/share/doc/slurmctld/slurm-wlm-configurator.html$ cd /usr/share/doc/slurmctld$ sudo chmod +r slurm-wlm-configurator.html

Step 3. 利用 web 生成配置文件

$ python3 -m http.serverServing HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

打开浏览器,输入 http://:8000/,进入配置页面,点击进入 slurm-wlm-configurator.html 按照自己的需求填写设置。

Cluster Name:随意起名

Control Machines:控制节点的计算机名

Compute Machines:计算机名、ip地址、分区名和任务时间限制

cpus:虚拟机直接指定虚拟cpu数量

Sockets: 物理机不指定cpus,指定cpu插槽

CoresPerSocket: 物理机每个插槽有多少core

ThreadsPerCore: 物理机每个core有多少个线程,超线程的CPU此数字为2

slurmuser:指定为root用户

Process Tracking:选择 LinuxProc: Use parent process ID records, processes can escape from Slurm control

web 生成slurm.conf

填写完毕后,点击submit,将生成的内容拷贝进 /etc/slurm/slurm.conf (slurm 的配置文件)

# 创建$ sudo touch /etc/slurm/slurm.conf# 将网页生成的内容 copy 进来$ sudo vim /etc/slurm/slurm.conf# ctrl + v

Step 4. 手动创建slurm的输出文件目录

$ sudo mkdir /var/spool/slurmd$ sudo mkdir /var/spool/slurmctld

Step 5. 启动 slurm 服务

# 启动 slurmd, 日志文件路径为 `/var/log/slurmd.log`$ sudo systemctl start slurmd# 启动 slurmctld, 日志文件路径为 `/var/log/slurmctld.log`$ sudo systemctl start slurmctld

启动后无法正常使用 slurm 的话,先查看slurmd和slurmctld的状态,打开日志查看报错。

# 查看 slurmd 的状态$ sudo systemctl status slurmd# 查看 slurmctld 的状态$ sudo systemctl status slurmctld

3. slurm.conf 中几个关键 column 的填写

C1. ClusterName

集群名,随便取

C2. SlurmctldHost

管理节点的主机名

# 获取主机名$ hostname -smu01

C3. SlurmUser

最好 SlurmUser=root,权限最高,填写日志文件不会由于权限问题报错

C4. 管理节点和计算节点的配置(slurm.conf的最后三行)

此处以单节点集群举例(单个节点既作为管理节点,又作为计算节点)

EnforcePartLimits=ALLNodeName=mu01 CPUs=36 State=UNKNOWN     # 本行可以通过 `slurmd -C` 获取PartitionName=compute Nodes=mu01 Default=YES  MaxTime=INFINITE State=UP   # 创建一个名为compute的队列

slurmd -C 的输出:

$ slurmd -CNodeName=mu01 CPUs=36 Boards=1 SocketsPerBoard=1 CoresPerSocket=10 ThreadsPerCore=2 RealMemory=63962

脚本内容111.sh

#!/bin/bash
#SBATCH -p debug
#SBATCH -J test
#SBATCH -N 1
#SBATCH -n 4
#SBATCH -o out.log
#SBATCH -e error.log

mpirun -np 4 vasp_std

作业提交命令:(在slurm安装配置完成,提交作业之前需要重启一次服务器)

sbatch -n 4 111.sh

sbatch 111.sh

作业队列:squeue

作业状态:sinfo

作业输出:tail -f out.log

来源地址:https://blog.csdn.net/snow5255/article/details/131148524

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯