[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