RHEL 6.4, tmpfs und OMD: can't find /omd/sites/... in /etc/fstab or /etc/mtab
Hinweis: Der nachfolgende geschilderte Fehler wurde inzwischen durch einen RHEL-/CentOS-Patch behoben (util-linux-ng
) - einfach das System updaten!
Wer Open Monitoring Distribution auf RHEL oder CentOS 6.4 einsetzen möchte, hat vermutlich das Problem, dass das Erstellen von Sites nicht wie gewohnt funktioniert:
1# omd create test
2Adding /omd/sites/test/tmp to /etc/fstab.
3Creating temporary filesystem /omd/sites/test/tmp...mount: can't find /omd/sites/test/tmp in /etc/fstab or /etc/mtab
4ERROR
Auch das Starten der Site funktioniert nicht:
1# omd start test
2Creating temporary filesystem /omd/sites/test/tmp...mount: can't find /omd/sites/test/tmp in /etc/fstab or /etc/mtab
3ERROR
4Starting dedicated Apache for site test...OK
5Starting rrdcached...OK
6Starting npcd...touch: cannot touch `/omd/sites/test/tmp/pnp4nagios/run/npcd.pid': No such file or directory
7chown: cannot access `/omd/sites/test/tmp/pnp4nagios/run/npcd.pid': No such file or directory
8An Error occured while reading your config on line 197
9Message was: "Could not open pidfile '/omd/sites/test/tmp/pnp4nagios/run/npcd.pid': No such file or directory"
10OK
11/omd/sites/test/etc/rc.d/80-nagios: line 58: /omd/sites/test/tmp/nagios/nagios.cfg: No such file or directory
12Nagios configuration file /omd/sites/test/tmp/nagios/nagios.cfg not found. Terminating...
13Initializing Crontab...OK
Beim Recherchieren bin ich auf den folgenden Thread in der check_mk-Mailinglist gestoßen: http://comments.gmane.org/gmane.network.nagios.checkmk.german/1694.
Der Fehler wird anscheinend durch ein Update von RHEL / CentOS 6.4 verursacht: https://bugzilla.redhat.com/show_bug.cgi?id=917678.
Das OMD-Skript (/usr/bin/omd
) erstellt für den /tmp
-Verzeichnisbaum von Sites Ramdisks - in dieser werden dann temporäre Dateien und Pidfiles angelegt. Hierfür werden entsprechende Zeilen in der /etc/fstab
des Servers angelegt - mit der Verwendung eines symbolischen Links für den Pfadnamen.
Mit dem letzten 6.4-Update dürfen in der /etc/fstab
keine Namen mit symbolischen Links mehr verwendet werden. Ein nachträgliches Anpassen der entsprechenden Zeile in der Textdatei löst das Problem nicht, da beim Ausführen des omd create
-Kommandos die Ramdisk auch eingehängt wird - aus diesem Grund stürzt auch das omd start
-Kommando mit einem Fehler ab.
Das Problem lässt sich durch Anpassen der Zeile 747 des Skriptes /usr/bin/omd
beheben - hier muss einfach ein /opt
angefügt werden, damit kein symbolischer Link mehr verwendet wird:
1file("/etc/fstab", "a+").write("tmpfs /opt%s tmpfs noauto,user,mode=755,uid=%s,gid=%s 0 0n" %
Ich habe dafür eine Patch-Datei erstellt, mit der man diese Änderung kinderleicht übernehmen kann: omd.patch
1# wget https://cstan.io/files/2013/03/omd.patch_.txt
2# cd /usr/bin
3# cp omd omd.initial
4# patch < /PATH/omd.patch_.txt
Und schon funktioniert das Anlegen von OMD-Sites wieder:
1# omd create test
2Adding /omd/sites/test/tmp to /etc/fstab.
3Creating temporary filesystem /omd/sites/test/tmp...OK
4Created new site test with version 0.56.
Auch der Start von Sites läuft nun ohne Probleme durch:
1# omd start test
2Starting dedicated Apache for site test...OK
3Starting rrdcached...OK
4Starting npcd...OK
5Starting nagios...OK
6Initializing Crontab...OK
🙂