Cuando se produce OOM del contenedor en el nodo de CentOS con una versión anterior del kernel, el sistema de archivos Ext4 se suspende ocasionalmente
Síntoma
Si la versión del núcleo de un nodo de CentOS 7.6 es anterior a 3.10.0-1160.66.1.el7.x86_64 y OOM ocurre en el contenedor en el nodo, es posible que no se pueda acceder a todos los contenedores en el nodo y procesos tales como Docker y jdb están en el estado D. La falla se rectifica después de reiniciar el nodo.
Causa posible
Cuando el uso de memoria de un contenedor de servicio excede su límite de memoria, se activa OOM de cgroup y el núcleo del sistema termina el contenedor. El contenedor de cgroup de OOM activa ocasionalmente la suspensión del sistema de archivos ext4 en CentOS 7, y ext4/jbd2 se suspende permanentemente debido al bloqueo. Todas las tareas que realizan la operación de E/S en el sistema de archivos se ven afectadas.
Solución
- Solución temporal: Reinicie el nodo para rectificar temporalmente la falla.
- Evolución a largo plazo:
- Si la versión de clúster es 1.19.16-r0, 1.21.7-r0, 1.23.5-r0, 1.25.1-r0 o posterior, restablezca el sistema operativo del nodo a la versión más reciente.
- Si la versión de clúster no cumple con los requisitos, actualice el clúster a la versión especificada y, a continuación, restablezca el sistema operativo del nodo a la versión más reciente.