KingbaseES V8R2集群运维案例之---crond资源限制导致failover切换
案例说明:
KingbaseES V8R2集群主库kingbasecluster进程‘ping 网关’故障,导致failover切换,发现主库kingbasecluster进程fork子进程‘ping’故障,导致主库无法ping网关。
适用版本:
KingbaseES V8R2
一、问题现象
主备发生failover切换,查看主库cluster.log日志,如下图故障:
集群通过ping网关地址判断集群网络的连通性,如上图所示,kingbasecluster fork ping子进程时失败,判断是主库主机内核资源限制所导致。
二、问题分析
1、查看资源limit配置
如下图所示,系统主机内核资源limit配置,应该可以满足当前主机服务的需求:
2、查看cgroup下TasksMax限制
如下图所示,对systemd下的进程crond查看,有个‘Tasks: limit 512’的限制:
查看systemd配置文件:
[kingbase@node102 kingbase]$ cat /etc/systemd/system.conf
systemd 也提供了一个基于 cgroup 的限制资源使用的机制。对于任一 systemd 服务来说,在其服务文件中,设置 TasksMax 值来限制最大进程数。TasksMax 的默认值由 DefaultTasksMax 指定,默认为512。
三、问题解决
1、修改/etc/systemd/system.conf中 DefaultTasksMax,将参数调大或屏蔽。
2、执行systemctl daemon-reload重新加载。
3、重启crond服务,systemctl restart crond
4、再查看crond进程下子进程的限制:systemctl status crond
四、总结
此次故障,kingbasecluster和数据库,如果故障后都是通过定时任务启动的,都属于定时任务服务下的子进程,会受到定时任务的进程数量限制。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2022-08-09 KingbaseES V8R6集群运维案例之---repmgr standby switchover故障