You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Slurm分区QoS?配置完成后不生效该如何排查解决?

Slurm分区绑定QoS不生效故障排查与修复方案

故障根因

根据你提供的配置信息,故障大概率由以下几个原因导致:

  • QoS名称不匹配:sacctmgr默认会截断超过10个字符的QoS名称,返回结果中的batchdisa+无法确认和分区绑定的batchdisable是同一QoS,存在拼写、大小写不一致的可能。
  • 记账强制规则未启用:Slurm默认只做QoS数据记账,不会强制执行QoS的限制规则,必须在slurm.conf中开启AccountingStorageEnforce参数包含qos、limits选项,QoS的作业数、时长等限制才会生效。
  • 分区未强制关联QoS:你当前分区配置的QoS=batchdisable仅为分区默认QoS,搭配AllowQos=ALL的配置时,用户提交作业时可手动指定其他QoS绕过限制,规则无法强制覆盖所有作业。
  • 配置未重载或测试作业为规则生效前提交:修改QoS、分区配置后未重载slurmctld配置会导致规则不生效;且你当前正在运行的测试作业如果是配置修改前提交的,在未开启抢占的场景下不会被自动终止,会继续运行。

修复步骤

  • 第一步:确认QoS名称匹配
    执行非截断的QoS名称查询命令,确认QoS全称正确:
    sacctmgr show qos format=name%30
    
    如名称不匹配,可执行命令修改QoS名称:
    sacctmgr modify qos <实际QoS名称> set name=batchdisable
    
  • 第二步:开启记账强制规则
    编辑所有控制节点、计算节点的slurm.conf文件,添加/修改如下配置:
    AccountingStorageEnforce=limits,qos
    
    配置同步完成后执行重载命令生效:
    scontrol reconfigure
    
    如重载不生效可重启slurmctld、slurmd服务。
  • 第三步:配置分区强制应用QoS
    执行命令修改分区配置,限制该分区仅允许使用batchdisable QoS,避免用户绕过限制:
    scontrol update partitionname=sample01 allowqos=batchdisable
    
    如需强制该分区所有作业叠加该QoS规则,可执行命令:
    scontrol update partitionname=sample01 qos=+batchdisable
    
  • 第四步:验证规则生效
    先终止之前提交的测试作业:
    scancel 67109044 67109045
    
    重新提交测试作业,正常会被拒绝或进入Pending状态,原因为QOSMaxJobsPerUserLimit即代表规则生效。
  • 第五步:日志排查
    如规则仍未生效,可查看slurmctld日志(默认路径/var/log/slurm/slurmctld.log),根据QoS校验相关的报错信息定位问题。

内容的提问来源于stack exchange,提问作者masataka.n

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 03:36:02