Wie konfiguriere ich ntpd, um die Zeit häufiger zu synchronisieren?

9

Ich muss ntpd so einstellen, dass die Zeit so oft wie möglich synchronisiert wird. Wie geht das?

UPD Ich muss ntpd dazu bringen, die Systemuhr häufiger anzupassen, nicht Server abzufragen.
Dies ist notwendig, da die Systemuhr meines virtuellen PCs zu stark driftet. Maxpoll scheint nichts zu ändern, da ich minpoll / maxpoll auf 4 und 5 gesetzt habe und die Zeitanpassungen nur einmal in einigen Minuten vorgenommen werden

user626528
quelle
Warum willst du das tun?
Kyle Smith
Weil ich genaue Zeit für meine Aufgabe brauche. Irgendwelche Gründe, dies nicht zu tun?
user626528
8
@ user626528 definiere "genaue Zeit". Zu sagen, dass Sie Präzision benötigen, ohne den Grad der Präzision zu quantifizieren, den Sie benötigen, ist bedeutungslos: Sowohl ein Scharfschützengewehr als auch eine 51-Zoll-Mörsergranate sind "präzise" Munition.
voretaq7

Antworten:

19

ntpdDie Zeit wird nicht regelmäßig so synchronisiert, wie Sie denken. Weitere Informationen finden Sie hier (lesen Sie das Ganze, es ist alles wichtig. Kurzversion: ntpdSynchronisiert die Zeit und teilt dem System mit, wie schnell sie von der "wahren" Zeit abweicht Das System passt dann seine Taktfrequenz an, um die "wahre" Zeit richtig zu verfolgen. Innerhalb eines Tages verfolgen die meisten Systeme innerhalb von 5 ms von der Referenz.

Ohne einen AUSGEZEICHNETEN Grund sollten Sie sich nicht mit der Art ntpdund Weise herumschlagen, wie Sie Ihre Uhr einstellen und disziplinieren. Diese Algorithmen wurden gründlich getestet und getestet und führen bei einer angemessenen Zeitreferenz zu sehr geringen Fehlerraten.
Ehrlich gesagt, wenn Sie einen so AUSGEZEICHNETEN Grund haben, wissen Sie bereits, was es ist, und Sie haben ein beträchtliches Budget, um einen Experten zu beauftragen, der diese Änderungen für Sie vornimmt ("Sie würden diese Frage nicht stellen, wenn Sie dies wirklich brauchen").

Wenn Sie eine bessere ntpdZeitgenauigkeit benötigen, als Sie für die Synchronisierung mit einer Maschine über das Netzwerk benötigen, benötigen Sie eine spezielle Präzisions-Hardware-Referenzuhr, die lokal an die Maschine angeschlossen ist. Hochfrequenzhandel und pikosekundenkritische wissenschaftliche Experimente sind die einzigen Dinge, an die ich denken kann, die diese Art von Präzision erfordern.

voretaq7
quelle
@ ChrisS das ist ein ziemlich breites Band - Sie können Temperaturregelungsprobleme in Ihrem Rechenzentrum haben
voretaq7
3
Wir verwenden das Präzisionszeitprotokoll, wenn es wirklich kritisch ist ... en.wikipedia.org/wiki/Precision_Time_Protocol
ewwhite
6
-1 algorithm or program that requires high precision and accuracy! = mega corp with super massive budget.
TheLQ
@TheLQ Ein GPS-Empfänger (wie Chris S in seiner Antwort erwähnt) ist ebenfalls eine Präzisionsreferenz und erfordert nichts, was einem "supermassiven Budget" ähnelt (Sie können damit rechnen, für einen zwischen hundert und tausend Dollar auszugeben). Von dort steigt die Präzision und die Kosten steigen mit, typischerweise auf einer exponentiellen Kurve. Präzise Zeitmessung war noch nie kostenlos /
voretaq7
1
Eine andere Verwendung für eine lokale Referenzuhr: hochpräzise Einweg-Netzwerkleistungsmessung. internet2.edu/performance/owamp
Dan Pritts
11

Die iburstOption führt mehrere Überprüfungen schnell durch, sobald der Dämon gestartet wird und wenn der Server nicht erreichbar ist, wenn Sie dies in Ihrer Konfiguration haben. Die burstOption führt mehrere Überprüfungen schnell durch, wenn der Server erreichbar ist.

Standardmäßig ntpdfolgt dann ein exponentielles Backoff, bei dem die Zeit zwischen den Überprüfungen schrittweise zunimmt, beginnend bei 64 Sekunden und jedes Mal verdoppelt, bis zu maximal 1024 Sekunden.

Mit dieser maxpollOption können Sie den Maximalwert höher oder niedriger einstellen. Dieser Wert ist die Potenz von 2 in Sekunden zwischen den Überprüfungen, also 1024 Sekunden lang maxpoll10. Es gibt auch einen Wert, der minpollstandardmäßig 6 ist und auf 4 gesenkt werden kann.

Wenn Sie etwas häufiger als alle 16 Sekunden möchten, müssen Sie wahrscheinlich ntpdatestattdessen ntpdeine eigene Schleife verwenden und ausführen.

Bitte richten Sie dies nicht auf öffentliche Zeitserver, ohne vorher die Betreuer zu kontaktieren.

Ladadadada
quelle
3
Wahrscheinlich das Beste, dass er niemals NTPdate verwendet, da es KOD- oder ICMP-Nachrichten nicht gehorcht.
Chris S
Lesen Sie weiter über KoD und wie man einen guten NTP-Client im Allgemeinen
ausführt
Was @ChrisS gesagt hat, ntpdateeignet sich hervorragend zum einmaligen Synchronisieren der Uhr oder zum erzwungenen Synchronisieren mit Ihrem eigenen NTP-Server jede Sekunde auf Computern, auf denen die lokale Uhrendrift grausam ist. Wenn Sie sich in der letzteren Situation befinden, tauschen Sie die Maschine aus (eine so schlechte Uhr driftet jede Minute um einige Sekunden - Sie werden nie eine genaue Zeit haben).
voretaq7
10
Bitte, bitte, bitte NICHT der Typ sein, der die Standardeinstellungen auf NTP ändert. Ich muss wöchentlich auf meinen öffentlich zugänglichen NTP-Server schauen und die Leute dazu bringen, jede Sekunde 1 Paket zu senden. Wenn Ihr Server keine ICMP-Nachricht mit der Aufschrift "Administrativ verboten" abhört, rufe ich das NOC Ihres ISP an und Sie haben einen schlechten Tag. NTP stellt die Genauigkeit von selbst auf Millisekunden genau ein und passt die Abfragegeschwindigkeit nach Bedarf an. Geigen hilft nicht.
Jeff Ferland
7

Holen Sie sich einen GPS-Zeitempfänger, wenn Sie eine hochgenaue Zeit benötigen. Es wird jede Sekunde auf Ihre Uhr schauen. Wenn Sie nicht viel ausgeben möchten, können Sie einen Garmin 18x LVC bei eBay oder Amazon für <100 USD erwerben und an einen COM-Anschluss anschließen. Wegbeschreibungen rund um das Internet, erfordert jedoch ein Mindestmaß an Verkabelungsfähigkeiten. Es gibt Komplettlösungen, die mehr kosten, wenn Sie sich nicht für DIY-Projekte interessieren.

Chris S.
quelle