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

🙂

Übersetzungen: