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

如何设置Slurm中DOWN状态云节点为POWER_DOWN并触发自动处理脚本?

问题解答

1. 将DOWN状态云节点设置为POWER_DOWN状态

直接使用scontrol命令手动更新节点状态:

scontrol update nodename=<节点名称> state=POWER_DOWN reason="故障节点触发销毁流程"

如果需要批量处理多个DOWN状态节点,可结合sinfo筛选节点后批量执行:

sinfo -h -t down -o "%N" | while read node; do
    scontrol update nodename=$node state=POWER_DOWN reason="批量处理故障节点"
done

2. 节点被标记为DOWN时自动触发脚本

Slurm支持通过事件触发器实现节点状态变更时的脚本自动执行,具体配置步骤如下:

  1. 在slurm.conf中添加EventTrigger配置项,指定触发条件与脚本路径:
    EventTrigger=/opt/slurm/scripts/node_down_handler.sh NodeState=DOWN
    
    该配置表示当节点状态变为DOWN时,自动执行指定脚本。
  2. 编写处理脚本node_down_handler.sh,实现销毁节点并重置状态的逻辑:
    #!/bin/bash
    # 获取触发事件的节点名称
    NODE_NAME=$SLURM_NODE_NAME
    
    # 调用你的SuspendProgram逻辑销毁云服务器(比如调用云API删除实例)
    /opt/slurm/scripts/suspend_program.sh $NODE_NAME
    
    # 将节点状态更新为RESUME,使其重新进入调度队列
    scontrol update nodename=$NODE_NAME state=RESUME
    
    注意:需给脚本赋予可执行权限(chmod +x node_down_handler.sh),且Slurm服务用户(通常为slurm)需具备执行脚本和调用scontrol的权限。

关于ReturnToService的说明

你提到的ReturnToService确实不适合当前场景,该参数仅允许处于POWER_DOWN等状态的节点自动恢复服务,但不会更换节点实例,原有节点的故障问题可能依然存在,无法实现销毁重建的需求。

内容的提问来源于stack exchange,提问作者Xaver

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 19:36:03