登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
VIP申请
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP申请
VIP网盘
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
科技
›
Linux搭建Slurm和pbs单机版
Linux搭建Slurm和pbs单机版
[ 复制链接 ]
眺愤
2025-6-9 16:46:04
Slurm
Slurm 是高性能计算集群的出色工作调度工具。此外,当你需要同时运行多个程序并将它们排成队列,同时确保计算机或服务器不超载时,它也是本地台式机或单台服务器上的重要工具。此外,在与其他用户共享服务器或需要通宵或连续数周运行多个工作时,它也非常有用!在这里,我将向你展示如何在使用 ubuntu单台机器上快速设置 slurm。你将不再需要为运行多个程序而编写杂乱无章的脚本,以避免超出硬件限制或与同事争论谁的程序先运行。
让我们先用 apt 安装,对于基本的单机设置,只需要控制守护程序 slurmctld 和计算节点守护程序 slurmd 这两个软件包:
$ sudo apt update -y
$ sudo apt install slurmd slurmctld -y
复制代码
接下来,我们需要创建 slurm.conf 文件,配置 slurm 队列的设置方式。这里我们使用一个非常简单的文件:(请根据你的机器规格调整 COMPUTE NODES 部分,例如,如果你有 10 个内核 CPU=10,内存为 32000MB RealMemory=32000 .
# slurm.conf file generated by configurator.html.
# Put this file on all nodes of your cluster.
# See the slurm.conf man page for more information.
#
ClusterName=localcluster
SlurmctldHost=localhost
MpiDefault=none
ProctrackType=proctrack/linuxproc
ReturnToService=2
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818
SlurmdSpoolDir=/var/lib/slurm-llnl/slurmd
SlurmUser=slurm
StateSaveLocation=/var/lib/slurm-llnl/slurmctld
SwitchType=switch/none
TaskPlugin=task/none
#
# TIMERS
InactiveLimit=0
KillWait=30
MinJobAge=300
SlurmctldTimeout=120
SlurmdTimeout=300
Waittime=0
# SCHEDULING
SchedulerType=sched/backfill
SelectType=select/cons_tres
SelectTypeParameters=CR_Core
#
#AccountingStoragePort=
AccountingStorageType=accounting_storage/none
JobCompType=jobcomp/none
JobAcctGatherFrequency=30
JobAcctGatherType=jobacct_gather/none
SlurmctldDebug=info
SlurmctldLogFile=/var/log/slurm-llnl/slurmctld.log
SlurmdDebug=info
SlurmdLogFile=/var/log/slurm-llnl/slurmd.log
#
# COMPUTE NODES
NodeName=localhost CPUs=1 RealMemory=500 State=UNKNOWN
PartitionName=LocalQ Nodes=ALL Default=YES MaxTime=INFINITE State=UP
# chmod 755 /etc/slurm-llnl/
复制代码
现在让我们用 systemd 启动 slurm:
$ sudo systemctl start slurmctld
$ sudo systemctl start slurmd
复制代码
最后,将机器设置为空闲状态,以便开始排队等待作业:
$ sudo scontrol update nodename=localhost state=idle
$ sinfo
partition avail timelimit nodes state nodelist
LocalQ* up infinite 1 idle localhost
复制代码
如果成功,您就看到了上面的内容,很好,您已经启动并运行了 slurm。您现在有了一个名为 LocalQ 的队列(或 slurm 行话中的 “分区”),可以向其提交工作。如果遇到任何问题,可以查看 /var/log/slurm-llnl/slurmd.log 和 /var/log/slurm-llnl/slurmctld.log 中的日志进行调试。
现在,您已经有了一个正常运行的 slurm 队列,如果需要更改配置,只需编辑 slurm.conf,然后通过 systemd 重启 slurmctld 和 slurmd 即可。关于如何使用 slurm 的更多信息,网上有很多文章。只需谷歌搜索 “如何向 slurm 提交作业”,或访问 slurm 网站。
参考资料
软件测试精品书籍文档下载持续更新 https://github.com/china-testing/python-testing-examples 请点赞,谢谢!
本文涉及的python测试开发库 谢谢点赞! https://github.com/china-testing/python_cn_resouce
python精品书籍下载 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
Linux精品书籍下载 https://www.cnblogs.com/testing-/p/17438558.html
https://github.com/Artlands/Install-Slurm
https://drtailor.medium.com/how-to-setup-slurm-on-ubuntu-20-04-for-single-node-work-scheduling-6cc909574365
https://drtailor.medium.com/how-to-quickly-set-up-openpbs-on-ubuntu-20-04-for-single-node-workload-scheduling-704140d074e8
https://slurm.schedmd.com/documentation.html
https://github.com/openpbs/openpbs/blob/master/INSTALL
https://medium.com/@satishdotpatel/setup-slurm-web-for-slurm-hpc-clusters-13a9873094a1
OpenPBS
OpenPBS 是高性能计算集群的工作调度工具。此外,当你需要同时运行多个程序并将它们排成队列,同时确保计算机或服务器不超载时,它也是本地桌面或单台服务器上的重要工具。此外,在与其他用户共享服务器或需要通宵或连续数周运行多个工作时,它也非常有用!在这里,我将向你展示如何在使用 ubuntu 20.04单台机器上快速设置 OpenPBS 。你将不再需要为运行多个程序而编写复杂的脚本,以避免超出硬件限制或与同事争论谁的程序先运行。
安装 postgresql
$ sudo apt install gcc make libtool libhwloc-dev libx11-dev \
libxt-dev libedit-dev libical-dev ncurses-dev perl \
postgresql-server-dev-all postgresql-contrib python3-dev tcl-dev tk-dev swig \
libexpat-dev libssl-dev libxext-dev libxft-dev autoconf \
automake g++
$ sudo apt install expat libedit2 postgresql python3 postgresql-contrib sendmail-bin \
sudo tcl tk libical3 postgresql-server-dev-all
复制代码
下载 OpenPBS:
打开:https://www.openpbs.org/Download.aspx#download
点击:openpbs_23.06.06.ubuntu_20.04.zip
安装OpenPBS
$ unzip openpbs_23.06.06.ubuntu_20.04.zip
$ cd openpbs_23.06.06.ubuntu_20.04
$ sudo apt install ./openpbs-server_23.06.06-1_amd64.deb ./openpbs-devel_23.06.06-1_amd64.deb ./ openpbs-debuginfo_23.06.06-1_amd64.deb
$ sudo /opt/pbs/libexec/pbs_postinstall
# 现在应将 PBS_START_MOM 的值从 0 改为 1
$ sudo vi /etc/pbs.conf
PBS_EXEC=/opt/pbs
PBS_SERVER=noteboo
PBS_START_SERVER=1
PBS_START_SCHED=1
PBS_START_COMM=1
PBS_START_MOM=1
PBS_HOME=/var/spool/pbs
PBS_CORE_LIMIT=unlimited
PBS_SCP=/usr/bin/scp
$ sudo vi /etc/hosts
172.16.36.204 noteboo localhost
$ sudo chmod 4755 /opt/pbs/sbin/pbs_iff /opt/pbs/sbin/pbs_rcp
$ sudo systemctl start pbs.service
复制代码
验证
现在,让我们使用 pbsnode -a 命令确认一切正常,本地计算机已注册到 PBS:
$ . /etc/profile.d/pbs.sh
$ qstat -B
Server Max Tot Que Run Hld Wat Trn Ext Status
---------------- ----- ----- ----- ----- ----- ----- ----- ----- -----------
noteboo 0 0 0 0 0 0 0 0 Active
$ pbsnodes -a
noteboo
Mom = noteboo
ntype = PBS
state = free
pcpus = 16
resources_available.arch = linux
resources_available.host = noteboo
resources_available.mem = 16052476kb
resources_available.ncpus = 16
resources_available.vnode = noteboo
resources_assigned.accelerator_memory = 0kb
resources_assigned.hbmem = 0kb
resources_assigned.mem = 0kb
resources_assigned.naccelerators = 0
resources_assigned.ncpus = 0
resources_assigned.vmem = 0kb
resv_enable = True
sharing = default_shared
license = l
last_state_change_time = Sat Jan 18 14:16:17 2025
last_used_time = Sat Jan 18 14:21:57 2025
$ echo "sleep 60" | qsub
2.noteboo
$ qstat -a
noteboo:
Req'd Req'd Elap
Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time
--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
2.noteboo andrew workq STDIN 162200 1 1 -- -- R 00:00
复制代码
现在您的服务器上已经有了一个正常运行的 OpenPBS 队列系统。如果您想通过 PBS 脚本提交作业,只需在谷歌上搜索 PBS 提交脚本示例,就会出现大量指南/示例。可在OpenPBS主页,了解更多信息 https://www.openpbs.org。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
Linux
搭建
Slurm
pbs
单机版
相关帖子
Docker Desktop里搭建RabbitMq 4.1.3集群的保姆级教程
简单4步,快速搭建数字人实时视频通话功能
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
linux系统目录和文件夹的区别
Linux gzip 命令使用说明
Linux tar 命令使用说明
零成本个人公网网站搭建全流程(服务器搭建+内网穿透+绑定域名)
Linux性能分析工具和方法
挑战用飞算JavaAI 半小时搭建 spring boot 入门程序 #飞算JavaAI炫技赛 #Java开发
在鸡哥14x上安装Linux:Fedora 42 上手体验
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
Docker Desktop里搭建RabbitMq 4.1.3集群的保姆级教程
0
954
金娅鸣
2025-08-23
业界
简单4步,快速搭建数字人实时视频通话功能
0
186
扈季雅
2025-08-25
业界
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
0
371
锄淫鲷
2025-08-27
安全
linux系统目录和文件夹的区别
0
942
颖顿庐
2025-08-28
业界
Linux gzip 命令使用说明
0
970
郗燕岚
2025-08-29
安全
Linux tar 命令使用说明
0
1023
庾签
2025-08-30
业界
零成本个人公网网站搭建全流程(服务器搭建+内网穿透+绑定域名)
0
699
靳谷雪
2025-08-30
业界
Linux性能分析工具和方法
0
122
眸胝
2025-09-01
业界
挑战用飞算JavaAI 半小时搭建 spring boot 入门程序 #飞算JavaAI炫技赛 #Java开发
0
820
橘芜
2025-09-06
业界
在鸡哥14x上安装Linux:Fedora 42 上手体验
0
872
闰咄阅
2025-09-08
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
签约作者
程序园优秀签约作者
发帖
眺愤
2025-6-9 16:46:04
关注
0
粉丝关注
15
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
黎瑞芝
9990
杭环
9988
4
凶契帽
9988
5
氛疵
9988
6
猷咎
9986
7
里豳朝
9986
8
肿圬后
9986
9
蝓俟佐
9984
10
虽裘侪
9984
查看更多