为什么badmin reconfig以后始终不能提交任务
最近遇到的怪事:修改了openlava配置以后运行badmin reconfig激活配置变更,但是长时间始终不能提交任务。
首先查看进程,发现openlava管理节点上的所有服务进程都在运行状态;查看mbd日志没有发现错误信息;再看mbd进程的系统调用(strace -p mbd_pid)发现始终在读取lsb.events文件;再通过gdb -p mbd_pid 查看调用栈发现 读取lsb.events的行号始终在增长。再通过wc -l lsb.events发现文件有2500000+行数据,至此不能提交任务的原因比较清楚了,MBD一直忙于恢复集群状态,在状态恢复之前不会响应其它请求,包括提交任务、查询等。
终于在一个多小时的等待后集群恢复正常。
进一步查看集群配置,发现CLEAN_PERIOD参数设为7天,从而导致大量任务保存在lsb.events文件中。而reconfig是其实是重启MBD服务,MBD在重启过程中首先要读取lsb.events中的记录,根据读取的记录恢复集群状态。
因此要解决此问题,可行的方法就是减少CLEAN_PERIOD,建议保持默认值3600秒。