NTP funktioniert nur nach manuellem restart

  • Ich finde das Problem nicht.

    Der ntp Prozess wird beim Booten gestartet, ich finde ihn nach dem Booten mit ps aux | grep ntp,
    aber die Zeit wird nicht korrigiert. Je nachdem, wie lange der Pi aus war, geht sie konstand ein paar Minuten / Stunden falsch.

    ntpq -p liefert "no IDs associated".

    Starte ich ntp mit /etc/init.d/ntp restart neu, läuft alles einwandfrei.

    Ich wollte den restart des ntp als Workaround automatisiern und habe ihn wahlweise in die rc.local oder die /etc/network/if-up.d/ aufgenommen: ohne Wirkung. Die Zeit bleibt falsch, bis ich auf der Konsole den ntp restarte.

    Googlen hat viele Ansätze gebracht (Rechteproblem mit der config Datei, tinker... Zeile am Ende des config - nichts davon hat geholfen. Jetzt sind meine Ideen "alle". Wie und wo kann ich suchen? Bin über jeden Wink dankbar!

    Gruß
    df8oe


  • Starte ich ntp mit /etc/init.d/ntp restart neu, läuft alles einwandfrei.

    Ich wollte den restart des ntp als Workaround automatisiern und habe ihn wahlweise in die rc.local oder die /etc/network/if-up.d/ aufgenommen: ohne Wirkung. Die Zeit bleibt falsch, bis ich auf der Konsole den ntp restarte.

    Erstelle dir eine service-unit (... die Du nicht aktivierst) für den ntp und für diese service-unit, eine timer-unit die die service-unit 30 Sekunden nach dem Booten (d. h. zu einem Zeitpunkt, zu dem der ntpd bereits Zugang zu einem Zeitserver haben kann) ausführt.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (1. November 2016 um 16:43)

  • ...das war ja meine Idee mit dem "if-up". Das mit den 30 Sekunden funktioniert ja nur, wenn die Netzwerkverbindung sofort nach dem Booten aufgebaut ist. Was aber, wenn es z.B. WLAN ist und das kommt erst in 10 Minuten hoch?

    An welcher Stelle muss ich mein Script reinbasteln damit es nach dem Aktivieren einer Netzwerkverbindung zuschlägt? Also sozuagen zum Zeitpunkt wenn die "resolv.conf" geschrieben wird?

    Danke für deinen Ansatz!

    LG
    df8oe


  • ...das war ja meine Idee mit dem "if-up". Das mit den 30 Sekunden funktioniert ja nur, wenn die Netzwerkverbindung sofort nach dem Booten aufgebaut ist. Was aber, wenn es z.B. WLAN ist und das kommt erst in 10 Minuten hoch?

    Naja, das mit den 30 Sekunden ist ja nur ein Beispiel (und hat mit "sofort" nichts zu tun, denn sofort ist sofort und nicht 30 Sekunden später) bzw. funktioniert auf meinem PI so. Du kannst auch 40 Sekunden oder mehr wählen. Aber wenn das WLAN die 10 Minuten braucht, dann ist dein WLAN bzw. der PI, m. E. nicht richtig konfiguriert.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Das Gerät wird mobil eingesetzt und manchmal kommt es erst nach längerer Zeit in ein WLAN. Aber die Zeit muss auch erst dann stimmen. Aber dann sollte sie schnell stimmen. Also: Netzwerkverbindung hergestellt, Zeit holen. So, wie das ntp eigentlich von sich aus machen sollte - was es aber aus unerklärlichen Gründen NICHT tut.

    LG
    df8oe


  • Das Gerät wird mobil eingesetzt und manchmal kommt es erst nach längerer Zeit in ein WLAN. Aber die Zeit muss auch erst dann stimmen. Aber dann sollte sie schnell stimmen. Also: Netzwerkverbindung hergestellt, Zeit holen.

    Das ist alles kein Problem und kann in der timer-unit auch so berücksichtigt werden. Zusätzlich zum ntpd kannst Du auch rdate zum sofortigen (d. h. wenn Verbindung zum Zeitserver möglich ist) holen/setzen der Zeit, verwenden.



    ... - was es aber aus unerklärlichen Gründen NICHT tut.

    Wieso "unerklärlich"? Du hast doch selber, die Ursache festgestellt.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • "unerklärlich" deswegen, weil ich ntp mit exakt derselben Konfiguration auf vielen meiner anderen Linux-Maschinen auch einsetze. Wird beim Booten hoch gefahren und läuft dann. Baut sich eine Netzwerkverbindung auf (wodurch auch immer, z.B. LAN-Kabel wird eingesteckt) dann stimmt wenige Sekunden danach auch die Zeit.

    Nur bei meinen RPs nicht. Dort muss ich nach erfolgter Netzwerkverbindung den ntp-Dienst neu starten. Aber auch dort lief er bereits - wie auf den anderen Linux-Rechnern (alle Debian-basiert). Dort muss ich keine Klimmzüge machen.

    LG
    df8oe


  • Aber auch dort lief er bereits - wie auf den anderen Linux-Rechnern (alle Debian-basiert).

    Lief er dort auf wheezy (SysVinit) und jetzt hast Du jessie (systemd)?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • "unerklärlich" deswegen, ....
    Nur bei meinen RPs nicht. Dort muss ich nach erfolgter Netzwerkverbindung den ntp-Dienst neu starten. Aber auch dort lief er bereits - wie auf den anderen Linux-Rechnern (alle Debian-basiert). Dort muss ich keine Klimmzüge machen.

    ist doch völlig normal, ich verstehe nicht wieso Linux immer so hochgelobt wird, seit ich mit Linux und Derivaten zu tun habe stelle ich fest es ist alles andere als perfekt, sei es das im NAS von raidsonic, der Webserver alle Nase lang abschmierte was nur mit einem workaround behoben werden konnte, crontab und kill prozess und Neustart, oder ein Überlaufen der LOG Files ein cut tail auf die letzten 100 Einträge nötig machte, oder bei Fedora23 wo Nautilus immer abschmierte und dies noch immer auf dem PI gelegentlich tut .... oder, oder, oder

    Das einzig positive an Linux, wer sich sehr auskennt kann das schaffen, aber man muss schon ziemlich gut dafür sein.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (2. November 2016 um 08:26)

  • Es sind alles systemd Systeme.

    Linux ist deswegen perfekt, weil man mit genügend Know-How solche Dinge auch lösen kann. Und sei es mit einem Workaround (aber bitte beim Thema bleiben - Flames in welche Richtung auch immer bringen nichts...)

    LG
    df8oe


  • Es sind alles systemd Systeme.

    OK, dann schau bzw. vergleiche mal mit z. B.:

    Code
    systemd-analyze plot > dateiname.svg


    auf deinen PIs, wann (Zeitpunk) auf den "funktionierenden" bzw. "nicht funktionierenden" Systemen, ntp.service gestartet wird.

    EDIT:

    Was die Ursache betrifft, könntest Du auf deinen Systemen während dem Booten, auch die Erreichbarkeit des Zeitservers an Hand vom Rückgabewert testen. Z. B.:

    Code
    :~ $ rdate -4npu 192.168.178.1 > /dev/null 2>&1 ; echo $?
    0
    Code
    :~ $ rdate -4npu 192.168.178.2 > /dev/null 2>&1 ; echo $?
    1


    oder

    Code
    :~ $ nc -zv4 -u 192.168.178.1 123 > /dev/null 2>&1 ; echo $?
    0
    Code
    :~ $ nc -zv4 -u 192.168.178.1 124 > /dev/null 2>&1 ; echo $?
    1

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (2. November 2016 um 10:13)

  • Ich habe mir mittels des rdate-Ansatzes ein Script gebastelt, dass bei Nichterreichbarkeit eines Zeitservers den ntp-Dienst neu startet. Dieses Script rufe ich minütlich via cron auf.

    Seitdem habe ich spätestens nach 1 Minute einen lauffähigen ntp.

    Man muss nicht alles verstehen. Man muss sich nur zu helfen wissen :)

    LG
    df8oe


  • ... den ntp-Dienst neu startet. ...

    OK, ... btw. statt den ntp-Dienst neu zu starten, kann man alternativ, die Zeit (zum geeigneten Zeitpunkt) auch gleich von rdate (im Script) setzen lassen. Z. B. so:

    Code
    /usr/bin/rdate -4nu -s <IP-Adresse-erreichbarer-Zeitserver>

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • Man muss nicht alles verstehen. Man muss sich nur zu helfen wissen :)

    sag ich doch :)


    ....der Webserver alle Nase lang abschmierte was nur mit einem workaround behoben werden konnte, crontab und kill prozess und Neustart, oder ein Überlaufen der LOG Files ein cut tail auf die letzten 100 Einträge nötig machte

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!