SLURM 安装测试

本文详细介绍了SLURM(SimpleLinuxUtilityforResourceManagement)在集群计算中的实施过程,包括下载、编译安装、配置slurm.conf、启动守护进程、测试作业以及用户管理等内容,适合HPC和大数据处理领域的技术人员参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实施 SLURM(Simple Linux Utility for Resource Management)是一个相对复杂的过程,它涉及到安装、配置和管理多个组件,以建立一个高效的集群计算环境。在这篇文章中,我将详细介绍 SLURM 的实施步骤,包括安装、配置、启动、测试以及一些高级配置和集成方面的内容。

第一部分:引言

1.1 SLURM 简介

SLURM 是一个用于集群计算的作业调度系统,旨在有效地管理和分配计算资源。它是开源的,广泛用于科学计算、高性能计算(HPC)和大数据处理领域。通过 SLURM,用户可以提交作业,而系统会负责调度和分配资源,以确保作业能够在集群中顺利运行。

1.2 SLURM 组件

SLURM 主要由两个核心组件组成:

  • slurmd: 节点守护进程,运行在每个集群节点上。它负责接收作业任务,启动和监控计算进程,以及将计算结果返回给用户。

  • slurmctld: 控制守护进程,运行在集群的主节点上。它负责全局资源分配、作业调度和监控整个集群的状态。

此外,SLURM 还提供了其他一些辅助组件,如 slurmdbd(用于数据库支持)、sview(用于集群可视化监控)等。

第二部分:安装 SLURM

2.1 下载 SLURM

首先,从 SLURM 的官方网站(https://slurm.schedmd.com/)下载最新版本的 SLURM。你可以选择下载源代码并进行编译,或者使用预编译的二进制包。


bashCopy code

# 下载 SLURM 源代码 wget https://download.schedmd.com/slurm/slurm-x.x.x.tar.bz2 # 解压缩文件 tar -xjf slurm-x.x.x.tar.bz2

2.2 编译和安装

进入解压缩后的 SLURM 目录,执行以下命令编译和安装 SLURM。


bashCopy code

# 进入 SLURM 目录 cd slurm-x.x.x # 配置 SLURM ./configure # 编译 make # 安装 sudo make install

2.3 配置环境变量

为了让系统能够找到 SLURM 的可执行文件,需要将 SLURM 的 bin 目录添加到系统的 PATH 中。编辑用户的 .bashrc 文件或者系统的 /etc/profile 文件,添加如下行:


bashCopy code

export PATH=$PATH:/usr/local/slurm/bin

保存文件并执行以下命令以应用更改:


bashCopy code

source ~/.bashrc # 或者 source /etc/profile

第三部分:配置 SLURM

3.1 配置 slurm.conf

SLURM 的主要配置文件是 slurm.conf,位于 /etc/slurm/ 目录下。这个文件包含了集群的各种配置信息,如节点信息、队列设置、账户信息等。

以下是一个简化的 slurm.conf 示例:


iniCopy code

# slurm.conf 示例 ClusterName=MyCluster ControlMachine=master AuthType=auth/munge CheckpointType=checkpoint/none CryptoType=crypto/munge JobAcctGatherType=jobacct_gather/none # 节点配置 NodeName=node1 CPUs=4 State=UNKNOWN NodeName=node2 CPUs=4 State=UNKNOWN # 队列配置 PartitionName=batch Nodes=node[1-2] Default=YES MaxTime=24:00:00

你需要根据你的集群规模和需求修改这个文件。详细的配置选项可以在 SLURM 官方文档中找到。

3.2 配置 slurmdbd(可选)

如果你需要记录作业和集群统计信息,可以配置 SLURM 数据库守护进程(slurmdbd)。编辑 /etc/slurm/slurmdbd.conf 文件,配置数据库连接信息和其他选项。

3.3 启用 MUNGE(可选)

SLURM 使用 MUNGE(MUNGE Uid 'N' Gid Emporium)来进行身份验证。你可以在 SLURM 的配置文件中启用 MUNGE。编辑 /etc/slurm/slurm.conf 文件,在合适的位置添加如下行:


iniCopy code

AuthType=auth/munge

第四部分:启动 SLURM

4.1 启动 slurmd

在每个集群节点上启动 slurmd 守护进程:


bashCopy code

sudo slurmd

4.2 启动 slurmctld

在主节点上启动 slurmctld 守护进程:


bashCopy code

sudo slurmctld

第五部分:测试 SLURM

5.1 提交测试作业

使用 sbatch 命令提交一个简单的测试作业:


bashCopy code

sbatch -n 4 my_job_script.sh

其中,my_job_script.sh 是你的作业脚本,-n 4 指定使用 4 个核心。

5.2 查看作业状态

使用 squeue 命令查看当前队列中的作业状态:


bashCopy code

squeue

5.3 监控集群状态

使用 sinfo 命令查看集群节点的状态:


bashCopy code

sinfo

第六部分:用户管理

6.1 添加用户

使用 sacctmgr 命令进行用户管理。例如,添加一个新用户:


bashCopy code

sudo sacctmgr add user username

6.2 分配账户

### Slurm 安装教程 #### 1. 准备工作 在安装之前,需要确保操作系统已经更新到最新版本,并且已安装必要的依赖项。可以通过以下命令完成这些操作: ```bash sudo apt update && sudo apt upgrade -y sudo apt install wget mlocate build-essential libmunge-dev libssl-dev -y ``` #### 2. 下载并编译 Slurm 下载最新的 Slurm 版本源码包,并解压后进行编译和安装[^2]。 ```bash wget https://download.schedmd.com/slurm/slurm-23.02.0.tar.bz2 tar xf slurm-*.tar.bz2 cd slurm-* ./configure --prefix=/usr --sysconfdir=/etc/slurm-llnl --with-munge=/usr make sudo make install ``` #### 3. 创建所需目录结构 为了使 Slurm 正常运行,需创建特定的文件夹来存储日志和其他数据[^3]。 ```bash sudo mkdir -p /var/spool/slurmd sudo mkdir -p /var/spool/slurmctld sudo chown -R slurm:slurm /var/spool/slurmd sudo chown -R slurm:slurm /var/spool/slurmctld sudo chmod -R 755 /var/spool/slurmd sudo chmod -R 755 /var/spool/slurmctld ``` #### 4. 配置 MUNGE 认证服务 Slurm 使用 MUNGE 来提供节点间的安全认证功能。以下是设置 MUNGE 的方法[^1]。 ```bash sudo systemctl enable munge sudo systemctl start munge ``` #### 5. 编辑 Slurm 主配置文件 编辑 `/etc/slurm-llnl/slurm.conf` 文件以定义集群参数。下面是一个基础示例配置[^1]: ```plaintext ControlMachine=localhost NodeName=compute-[1-8] CPUs=4 State=UNKNOWN PartitionName=debug Nodes=compute-[1-8] Default=YES MaxTime=INFINITE State=UP ``` #### 6. 启动 Slurm 组件 启动 `slurmctld` 和 ` slurmd` 进程以便管理系统资源[^2]。 ```bash sudo systemctl enable slurmctld sudo systemctl start slurmctld sudo systemctl enable slurmd sudo systemctl start slurmd ``` #### 7. 测试安装 最后一步是验证 Slurm 是否正常工作。可以尝试提交一个简单的测试作业脚本来确认其功能性[^2]。 ```bash sinfo squeue sbatch test_job.sh ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值