以下是针对 OpenLava/LSF 集群调度系统中核心守护进程及节点服务的详细说明:


一、核心守护进程作用

守护进程 全称/角色 核心功能 运行节点
lim Load Information Manager 监控节点资源(CPU/内存/负载),维护集群状态,同步配置文件。 所有节点
res Remote Execution Server 在计算节点上执行作业脚本,管理进程生命周期,限制资源(cgroups/ulimit)。 计算节点
sbatchd Slave Batch Daemon 接收主节点指令,为作业预留资源,协调本地作业执行并反馈状态。 计算节点
mbatchd Master Batch Daemon 全局作业调度核心,管理队列、分配资源、处理依赖关系和调度策略。 Master节点
pim Process Information Manager 监控作业进程状态,收集运行指标(如内存泄漏检测)。 计算节点
mbschd Master Batch Scheduler 扩展调度策略模块,支持自定义调度算法(需独立配置)。 Master节点

二、节点服务分布

1. Master 节点运行服务

• 关键服务:

lim       # 资源信息管理
mbatchd   # 全局作业调度
mbschd    # 扩展调度策略(若启用)

• 作用:
负责集群状态维护、作业队列管理、调度决策及用户请求处理(如 bsub 提交作业)。

2. 计算节点运行服务

• 关键服务:

lim       # 上报本地资源状态
sbatchd   # 接收并执行作业指令
res       # 启动/监控作业进程
pim       # 进程级监控

• 作用:
执行具体作业任务,确保资源隔离,并实时反馈节点状态至主节点。


三、协作流程示例(作业调度)

sequenceDiagram participant User participant mbatchd participant sbatchd participant res User->>mbatchd: bsub提交作业 mbatchd->>mbatchd: 解析资源需求,匹配队列 mbatchd->>sbatchd: 发送作业到计算节点 sbatchd->>res: 分配资源并启动作业 res->>sbatchd: 上报作业状态(运行中) sbatchd->>mbatchd: 同步全局作业状态 mbatchd->>User: 返回作业状态(bjobs查看)

四、关键运维命令

1. 检查服务状态

# 查看所有守护进程
ps -ef | grep -E 'lim|res|sbatchd|mbatchd|pim|mbschd'

# 验证 Master 节点服务
lsid         # 显示集群主节点信息
badmin mbdstatus  # 检查 mbatchd 状态

# 验证计算节点服务
bhosts       # 查看节点在线状态
lsload       # 检查节点负载

2. 重启服务

# Master 节点
badmin mbdrestart   # 重启 mbatchd
lsadmin limrestart  # 重启 lim

# 计算节点
lsadmin resrestart  # 重启 res(需节点权限)

五、常见问题定位

现象 关联守护进程 排查方向
作业无法提交 mbatchd 检查主节点服务状态及端口(默认 3159)
作业卡在 PEND 状态 mbschd 验证调度策略配置和资源匹配条件
计算节点资源未释放 sbatchd/res 检查作业残留进程或 cgroups 泄漏
节点显示为 Unavailable lim 检查心跳通信和网络连通性

总结

• Master 节点:核心调度大脑(mbatchd + mbschd),负责全局决策。
• 计算节点:作业执行终端(sbatchd + res),专注任务运行。
• 跨节点协作:通过 lim 实现资源状态同步,通过 pim 增强监控粒度。

posted on 2025-04-17 17:45  LeeHang  阅读(229)  评论(0)    收藏  举报