Systemd: Problem mit dem raid-check.timer

Nicht nur ich hatte Probleme den raid-check.timer zu finden, auch Systemd zeigt seit dem 1. März in Irland und Großbritannien Probleme bei Booten von Fedora 33+ . Ursache ist .. ta ter a ta .. die Zeitumstellung auf Sommerzeit 😀

Systemd: Problem mit dem raid-check.timer

… so sieht das Problem aus:

# cat /usr/lib/systemd/system/raid-check.timer
[Unit]
Description=Weekly RAID setup health check

[Timer]
OnCalendar=Sun *-*-* 01:00:00
Persistent=true
AccuracySec=24h

[Install]
WantedBy=timers.target

Ich habe einmal rot markiert wo da das Problem liegt. Es ist leider noch nicht so ganz raus, warum das erst seit dem 1.3. ein Problem ist, ich tippe auf einen kleine Vergesslichkeit im Code ein Datum zu entfernen, ab wann andere Routinen zum Einsatz kommen sollte. Es ist aber nur eine Vermutung.

Keine Vermutung ist, daß nur England und Irland betroffen sind. Aufgrund der kommenden Zeitumstellung wechselt die Zeitzone dort von GMT auf IST bzw. BST , Sommerzeit halt. Eine alte Regel von Cronos, dem Schutzpatron aller sich wiederholenden Aufgaben, besagt, daß man zwischen 0:59 und 2:01 keine Cronjobs einträgt. Bei einer Zeitumstellung fliegt es einem dann um die Ohren, weil Jobs zweimal ausgeführt werden.

Nicht lachen, ist erst letzten Herbst bei einem Kunden passiert 😀

Die Lösung

Als merkwürdige Konsequenz bootet Fedora 33+ nicht mehr sauber und man muß den Timer vom Start ausnehmen:

systemctl mask raid-check.timer

Das kann man bei noch gestartetem System machen, oder wenn man seinen Rechner über Grub in den „Nur-Root“ Modus bootet. Wer aber schon am Grubeintrag dran ist, der kann sich alternativ auch behelfen, in dem er einen Kernelparameter hinzufügt: „systemd.mask=raid-check.timer“.

Alle diese Lösung verhindern den Start der Einheit. Wer sowieso keinen Softwareraid im System hat, kann den Timer auch gleich beenden.