以下是针对 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  阅读(53)  评论(0)    收藏  举报