
Ich habe einige Linux-Geräte (ohne TOY-Chips, die also vollständig auf NTP angewiesen sind), die möglicherweise ohne Internetzugang booten (die Verbindung zum Switch ist aktiv). Der ntp
Dienst wird gestartet, aber offensichtlich werden keine Peers kontaktiert. Ich lande dann bei einem ntp
Dienst, der zwar läuft, aber nicht mit Peers synchronisiert wird ( ntpq -p
gibt einen .INIT.
Status an).
Das Problem besteht darin, dass sich dies ändert, wenn eine Verbindung zum Internet hergestellt wird.
Wenn die Verbindung beim Booten verfügbar ist, funktioniert alles einwandfrei. Dasselbe, wenn ich manuell eine Verbindung ausstelle service ntp restart
( ntp
stellt eine Verbindung zu den Peers her und die Zeit wird korrekt synchronisiert).
Sollte NTP nicht in regelmäßigen Abständen versuchen, die Verbindung wiederherzustellen?
- wenn ja: ist das etwas, das ich konfigurieren muss (ich habe in der Konfiguration nichts gesehen)
- wenn nicht: was wäre ein guter Weg, um den Neustart des Dienstes oder die Verzögerung des Dienststarts zu handhaben (ich könnte davon ausgehen, dass die Verbindung zum Internet wiederhergestellt wirdNMinuten nach dem Booten)
Hinweis: Es sieht aus wieaus den Dokumentendass die maximale Poolzeit (soweit ich weiß, ist das die maximale Zeit, die NTP versucht, eine Verbindung zu Peers herzustellen, bevor es aufgibt?) 1024 Sekunden = 17 Minuten beträgt, was viel mehr Zeit ist als die Zeit, die zum Herstellen eines Internetzugangs benötigt wird (im schlimmsten Fall etwa 2 bis 5 Minuten)
Antwort1
Möglicherweise liegt Ihnen ein Sonderfall für ntpd vor:
Soweit ich mich erinnere, haben ntpd-Versionen < 4.2.4p3 alle Server aus der Synchronisierungsliste entfernt, die irgendwann nicht mehr erreichbar waren. Das ist in diesem Fall natürlich ziemlich schlecht, da ntpd die Liste seiner Peers durchaus „erschöpfen“ könnte, bevor eine Internetverbindung hergestellt wird.
Um dieses Problem zu umgehen, könnte/kann man die dynamic
Option für diese Server einrichten.ntp.conf
Bei neueren Versionen sollte dies nicht mehr notwendig sein (außerdem wurde die dynamische Option irgendwann außer Betrieb gesetzt, was bei einigen Leuten zu kleineren Ärgernissen führte, da sich NTPs plötzlich beschwerten).
Sie können also entweder Ihr NTPD aktualisieren oder die Option festlegen.
Als dritte Möglichkeit können Sie eine entsprechende Abhängigkeit in Ihrem Init-System erstellen. So können Sie ntpd auf eine etablierteInternetVerbindung (nichtnur Netzwerk). Der Vorteil wäre, dass Sie dies auch für andere Dienste wiederverwenden können.
Antwort2
Debian OpenNTPD-Verpackungen starten es automatisch neu, wenn eine Schnittstelle auftaucht. Das kommt häufig vor.
Auch,Sie müssen (normalerweise) eine einmalige Synchronisierung durchführen, bevor Sie xntpd startenwie auch immer, ich schlage vor, dass dies der richtige Weg ist.