以下是针对 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 增强监控粒度。
浙公网安备 33010602011771号