Dienste laufen nach Reboot unerklärlicherweise nicht mehr
Marcus Röckrath <[email protected]>
| Newsgroups | spline.eisfair,spline.eisfair.dev |
|---|---|
| Message-ID | <[email protected]> |
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]