更新时间:2024-07-02 GMT+08:00
低版本内核的CentOS节点出现容器OOM时,偶现ext4文件系统卡死问题
故障现象
CentOS 7.6节点内核低于3.10.0-1160.66.1.el7.x86_64的场景下,节点上容器出现OOM后,可能遇到节点上所有容器无法访问,docker、jdb等相关进程处于D状态,节点重启后恢复。
问题根因
业务容器内存使用超过容器的内存限制量时,触发cgroup OOM,被系统内核终止。容器cgroup OOM在CentOS 7会偶现触发ext4文件系统卡死,ext4/jbd2会因为死锁而永远挂起。在文件系统上执行I/O的所有任务都将受到影响。
解决方法
- 临时解决方案:该问题触发后可以通过重启节点临时恢复。
- 长久解决方案:
- 若您的集群版本为1.19.16-r0、1.21.7-r0、1.23.5-r0、1.25.1-r0及以上,请将节点重置为最新版本的操作系统即可修复该问题。
- 若您的集群版本不满足要求,请将集群升级到上述指定的版本后,再将节点重置为最新版本的操作系统。