Das Problem
Nachdem ein Server nach dem Patchen neu gestartet wurde – Der unten stehende Fehler kann möglicherweise während des Bootens beobachtet werden und derselbe Fehler ist in /var/log/boot.log sichtbar :
Starting udev: udevd inotify_init failed: too many open files
Da udev nicht gestartet werden kann, fehlen Netzwerk- und Verbindungsschnittstellen (einschließlich Module/Treiber).
Die Lösung
Es gab eine Änderung in /etc/sysctl.conf , /etc/sysctl.d/99-install-oracle die die folgende Strophe enthält, um ein Problem mit Veritas Cluster zu lösen:
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 wird von verschiedenen Programmen/Apps und auch von udev verwendet, um Änderungen in Dateien zu verfolgen – in diesem Fall werden Beobachter auf 0 gesetzt, daher kann udev keine Beobachter verwenden, um alle Änderungen auf dem Betriebssystem zu verfolgen und Fehler in zu viele geöffnete Dateien zu werfen. Als das System neu gestartet wurde, begann das Betriebssystem, neue Einstellungen für fs.inotify zu verwenden, und verursachte ein ganzes Problem mit udev.
Führen Sie die folgenden Schritte aus, um das Problem zu beheben:
1. Machen Sie Änderungen von /etc/sysctl.conf und allen Dateien rückgängig, die möglicherweise noch neue Werte im Ordner /etc/sysctl.d/ enthalten. Der folgende Befehl kann verwendet werden, um leicht alle Dateien zu finden, in denen Änderungen in /etc vorgenommen wurden.
# grep -rnw /etc -e "fs.inotify" 2>/dev/null
2. Um Änderungen rückgängig zu machen, öffnen Sie vi edit für /etc/sysctl.conf und kommentieren Sie die neue Strophe:
#fs.inotify.max_queued_events = 0 #fs.inotify.max_user_instances = 0 #fs.inotify.max_user_watches = 0 #fs.dir-notify-enable = 0
3. Speichern Sie die Datei und starten Sie neu – überprüfen Sie nach dem Neustart, ob die Schnittstellen aktiv sind und ob udev ohne Probleme startet. Standardmäßig sind fs.inotify-Stanzas unter CentOS/RHEL 6 auf:
gesetztfs.inotify.max_queued_events = 16384 fs.inotify.max_user_instances = 128 fs.inotify.max_user_watches = 8192 fs.dir-notify-enable = 1
4. Sie können die aktuelle Einstellung für fs.inotify überprüfen, indem Sie den sysctl-Befehl ausführen:
# sysctl -a | grep fs.inotify