El problema
Después de que un servidor se haya reiniciado después de la aplicación de parches:es posible que se observe el siguiente error durante el arranque y el mismo error se puede ver en /var/log/boot.log :
Starting udev: udevd inotify_init failed: too many open files
Debido a que udev no se inicia, faltan las interfaces de enlace y de red (incluidos los módulos/controladores).
La solución
Hubo un cambio en /etc/sysctl.conf , /etc/sysctl.d/99-install-oracle que se incluye a continuación para solucionar algún problema con Veritas Cluster:
fs.inotify.max_queued_events = 0 fs.inotify.max_user_instances = 0 fs.inotify.max_user_watches = 0 fs.dir-notify-enable = 0
fs.inotify es utilizado por varios programas/aplicaciones y udev también para realizar un seguimiento de los cambios en los archivos; en este caso, los observadores se establecen en 0, por lo tanto, udev no puede utilizar los observadores para realizar un seguimiento de todos los cambios en el sistema operativo y generar errores en demasiados archivos abiertos. Cuando se reinició el sistema, el sistema operativo comenzó a usar nuevas configuraciones para fs.inotify y causó todo el problema con udev.
Para resolver el problema, siga los pasos que se describen a continuación:
1. Revierta los cambios de /etc/sysctl.conf y cualquier archivo que aún pueda tener un nuevo valor en la carpeta /etc/sysctl.d/, el siguiente comando se puede usar para encontrar fácilmente todos los archivos donde se aplicó el cambio en /etc.
# grep -rnw /etc -e "fs.inotify" 2>/dev/null
2. Para revertir los cambios, abra vi edit para /etc/sysctl.conf y comente la nueva estrofa:
#fs.inotify.max_queued_events = 0 #fs.inotify.max_user_instances = 0 #fs.inotify.max_user_watches = 0 #fs.dir-notify-enable = 0
3. Guarde el archivo y reinicie:después de reiniciar, verifique si las interfaces están activas y si udev se inicia sin problemas. De forma predeterminada en CentOS/RHEL 6, las estrofas fs.inotify están configuradas en:
fs.inotify.max_queued_events = 16384 fs.inotify.max_user_instances = 128 fs.inotify.max_user_watches = 8192 fs.dir-notify-enable = 1
4. Puede comprobar la configuración actual de fs.inotify ejecutando el comando sysctl:
# sysctl -a | grep fs.inotify