SLURM配置服务器一

SLURM配置

还没有。 你现在的 gres.conf 里 没有写 Type= ,两张卡都只是普通的 gpu,脚本里写 --gres=gpu:card1:1 会报错(找不到这个类型)。

一、先把 /etc/slurm-llnlgres.conf 改成这样

复制代码
NodeName=yin-PowerEdge-R750 Name=gpu Type=card0 File=/dev/nvidia0
NodeName=yin-PowerEdge-R750 Name=gpu Type=card1 File=/dev/nvidia1

二、slurm.conf 也必须同步改

你用的是 /etc/slurm-llnl/ 目录(Debian/Ubuntu 的包),所以 slurm.conf 在:

bash 复制代码
nano /etc/slurm-llnl/slurm.conf

找到你的 NodeName 那一行,加上 Gres(其余参数保持你原来的不动):

复制代码
GresTypes=gpu
NodeName=yin-PowerEdge-R750 Gres=gpu:card0:1,gpu:card1:1 ...原有参数...
AccountingStorageTRES=gres/gpu,gres/gpu:card0,gres/gpu:card1
AccountingStorageEnforce=limits,qos

gres.conf 和 slurm.conf 里的 Type 必须一致 ,否则节点会变成 drain/inval。

三、cgroup.conf

bash 复制代码
nano /etc/slurm-llnl/cgroup.conf

加上:

复制代码
ConstrainDevices=yes

四、重启并检查

bash 复制代码
systemctl restart slurmctld
systemctl restart slurmd
sudo scontrol reconfig
scontrol show node yin-PowerEdge-R750 | grep -i gres

应该看到 Gres=gpu:card0:1,gpu:card1:1。如果节点状态异常:

bash 复制代码
sinfo -N -l
scontrol show node yin-PowerEdge-R750 | grep Reason

五、然后才是限制用户

bash 复制代码
sacctmgr modify user where name=用户名 set GrpTRES=gres/gpu:card0=0

六、脚本里这样写

bash 复制代码
#SBATCH --gres=gpu:card1:1

提醒

脚本里指定只是"选卡",不是"限制"。 用户随时可以改成 card0。真正禁止用户用 0 号卡的是第五步的 GrpTRES=...card0=0,而这一步需要 slurmdbd 记账功能开着。先检查:

bash 复制代码
scontrol show config | grep -i AccountingStorageType

如果输出是 accounting_storage/none,第五步不会生效,把输出贴给我,我帮你看怎么开。

补充:如果你不想折腾记账

更简单的办法是直接在 gres.conf 里只暴露一张卡,让 Slurm 根本不知道 card0 的存在:

NodeName=yin-PowerEdge-R750 Name=gpu File=/dev/nvidia1

slurm.conf 里对应改成 Gres=gpu:1。这样所有用户只能用 1 号卡,不用 sacctmgr,也不用写 Type。缺点是这是对所有用户生效,不能只针对某个用户。

只想限制个别用户的话,就用前面的 GrpTRES 方案。

相关推荐
进击的荆棘2 分钟前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
蜗牛一步步往上爬1 小时前
第六章 BMC常用的调试工具
服务器
小李不困还能学1 小时前
VSCode_RemoteSSH_一直卡在下载服务器_解决教程
服务器·ide·vscode
瑞雪兆丰年兮1 小时前
JavaWeb-day11-SpringBootWeb案例(文件上传)
java·运维·服务器·javaweb·oss
那明眸似水1 小时前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器
小南家的青蛙3 小时前
微服务体系下DevOps运维岗位面试方案设计
运维·面试·职场和发展·devops
知已难寻13 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
星恒随风19 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
Alluxio20 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
坤坤子吖1 天前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json