[Eisfair] smartmon (3.4.8) Fehler beim Update
Marcus Röckrath
marcus.roeckrath at gmx.de
Fr Mär 15 10:53:50 CET 2024
Hallo Peter,
Peter Bäumer wrote:
> systemd Service Unit schreiben ist schöne Sache wenn man Zeit tot schlagen
> möchte....
Wozu ist man Pensionär. ;-))
> Hab den Eindruck das der Dämon gestartet wird, sich dann aber beendet,
> von den 6 HDDs bekam ich nur 5 Test E-Mails.
>
> Starte ich den Dämon per Hand (/usr/libexec/smartmon/smartmon start) läuft
> er...
Habe in der gerade veröffneltlichten Version nochmal komplett umgestellt;
das libexec-Skript macht jetzt nur noch das Anlegen oder Löschen der
cronjobs.
> Bei debian sieht die System Unit so aus:
So ähnlich ist es auch nun auch bei mir, bitte teste mal die neue Version.
> Da zu gibt es noch einen Environment File /etc/default/smartmontools :
>
> # Defaults for smartmontools initscript (/etc/init.d/smartmontools)
> # This is a POSIX shell fragment
>
> # List of devices you want to explicitly enable S.M.A.R.T. for
> # Not needed (and not recommended) if the device is monitored by smartd
> #enable_smart="/dev/hda /dev/hdb"
>
> # uncomment to pass additional options to smartd on startup
> #smartd_opts="--interval=1800"
Die eisfair-Konfigurationsschicht arbeitet da etwas anders.
> Beim Starten vom SMART-Dämon auf dem Debian gibt es diese meldung:
> ... systemd[1]: smartmontools.service - Self Monitoring and Reporting
> Technology (SMART) Daemon was skipped because of an unmet condition check
> (ConditionVirtualization=no).
>
> Bei der Einstallung ConditionVirtualization=yes in der system Unit startet
> der Dämon (Debian)
Ich habe das erstmal auf no stehen, denn wenn eis virtualisiert läuft, kommt
er ja an die Hardware-Plattendevices nicht ran, oder?
Brauchst du das auf yes?
> Da müsste für SMARTMON_PLOT cron Job noch was geschrieben werden Timer
> Unit oder Cron Job,
Ich bleibe bei cron-Jobs, die über das libexec-Skript erzeugt oder gelöscht
werden.
> PS.:
> loadproc ${DAEMON} -n -p ${smartd_PIDFILE} &
> das -n und & passen nicht zusammen...
Doch, musste so, weshalb ja dann auch dieses waitforpid notwendig war, um
abzuwarten, bis der Service up ist; aber die etwas verrückte Konstruktion
ist nun komplett raus.
> -n, --no-fork
> Do not fork into background
> (systemd 'Type=notify' is assumed if $NOTIFY_SOCKET is set)
smartd sieht den Socket und will, egal was Type= sagt, im Notify-Modus
starten; dieser erfordert -n.
Geschieht aber der Start über den libexec-Wrapper steht das Skript dann bei
Verwendung von -n in der Zeile mit dem Daemonstart und erzeugt dann nicht
mehr die cronjobs; daher: ab in den Hintergrund mit &, warten auf die PID
und dann erzeugen der Jobs.
In der aktuellen Paketversion ist das nun eben anders gelöst; man lenrt nie
aus.
Andererseits ist das Paket in den Grundzügen, habe ich so geerbt, von 2004;
da muss man auch bei Umstellungen immer schön auspassen, das man da nichts
aushebelt.
--
Gruß Marcus
[eisfair-Team]
Mehr Informationen über die Mailingliste Eisfair