[Eisfair] Dienste laufen nach Reboot unerklärlicherweise nicht mehr
Marcus Röckrath
marcus.roeckrath at gmx.de
Sa Aug 31 09:12:45 CEST 2024
Hallo,
einen Punkt, den man untersuchen sollte, wenn plötzlich bestimmte Dienste t
beim Boot
- nicht starten,
- mal starten, mal nicht,
- eventuell mal der eine mal ein anderer Dienst nicht startet,
ist einen Blick ins journalctl zu werfen, ob systemd über einen "ordering
cycle" stolpert und dann, um den Ringschluss zu durchbrechen "Services
deleted". Der nicht startende Dienst kann durchaus nicht das Problem sein,
sondern ein ganz anderer Dienst.
Gründe für solche Ringschlüsse können SysV-Initskripte sein, insbesondere,
wenn sie keinen LSB-Header haben oder dieser Header falsch ausgestaltet ist.
Ebenso kann der Fehler auch in einer falsch konfigurierten systemd-Unit
liegen.
Hier mal ein paar Beispiele:
ip-eth.service: Found ordering cycle on network-online.target/stop
ip-eth.service: Found dependency on pure-ftpd.socket/stop
ip-eth.service: Found dependency on sockets.target/stop
ip-eth.service: Found dependency on basic.target/stop
ip-eth.service: Found dependency on ip-eth.service/stop
ip-eth.service: Job network-online.target/stop deleted to break ordering
cycle starting with ip-eth.service/stop
Beim Start von ip-eth.service wird der "ordering cycle" festgestellt und die
Abhängigkeiten anschliessend aufgelistet. Als Konsequenz wird das network-
online.target gestoppt.
Das heißt nun aber nicht, das ip-eth.service der Verursacher ist, den hat
man in der Regel in irgendeinem der genannten Services oder Targets zu
suchen. nach meiner Erinnerung war es in diesem Fall wirklich ip-eth.service
oder der pure-ftpd.socket.
basic.target: Found ordering cycle on ip-eth.service/stop
basic.target: Found dependency on network.target/stop
basic.target: Found dependency on network-online.target/stop
basic.target: Found dependency on pure-ftpd.socket/stop
basic.target: Found dependency on sockets.target/stop
basic.target: Found dependency on basic.target/stop
basic.target: Job ip-eth.service/stop deleted to break ordering cycle
starting with basic.target/stop
Hier führte der Fehler zum Verlust des Netzwerkes und ein falsche
Konfiguration pure-ftpd.socket war der Grund.
Beide Beispiele stammen von meinem eisfair-Hauptserver und lustigerweise
traten sie nichtmal bei jedem Boot auf. Systemd versucht ja Dienste
möglichst parallel zu starten, so dass gegebenenfalls auch unterschiedlich
lang dauernde Startzeiten eines Dienstes dann auch nur manchmal zum Problem
werden.
Nun ein Beispiel aus dem von Martin eröffneten Thread, in dem er beschrieb,
dass nach Updates Mail und das Netzwerk nicht mehr funktionieren würden:
vmware-tools.service: Found ordering cycle on mail.service/start
vmware-tools.service: Found dependency on route.service/start
vmware-tools.service: Found dependency on network-online.target/start
vmware-tools.service: Found dependency on vmware-tools.service/start
vmware-tools.service: Job mail.service/start deleted to break ordering cycle
starting with vmware-tools.service/start
Hier war das Initskript der vmware-tools Schuld, aber der Systemd "killt"
zum Durchbrechen den Mail-Service.
Auf dem gleichen System führte das bacula-Initskript zum Nichtanlegen der
Default-Route durch Nichtausführen des route-Initskripts.
Wer Lust hat, kann ja mal schauen, ob sich unerkannt auch bei ihm solche
Effekte, die bei der laufenden Umstellung auf systemd durchaus passieren
können, (zeitweise) auftreten:
Meldungen des aktuellen Boots:
journalctl -b | grep -A 10 "ordering cycle"
Meldungen des vorigen Boots:
journalctl -b 1 | grep -A 10 "ordering cycle"
Meldungen des vor-vorigen Boots:
journalctl -b 2 | grep -A 10 "ordering cycle"
usw.
Wenn ja, bitte melden, um gegebenenfalls an betroffenen Paketen Korrekturen
zu machen.
--
Gruß Marcus
[eisfair-Team]
Mehr Informationen über die Mailingliste Eisfair