Wie weit ist "zu weit weg" für NTPD? Kann es durch einen plötzlichen Sprung zu schwerer Last dorthin gelangen? Kann das überschrieben werden?

21

In vielen Primern auf ntpd, wie diesem , gibt es immer eine Warnung, dass ntpd aufhört, die Uhr zurückzusetzen "[wenn] Ihre Uhr zu weit weg ist."

Wie weit weg ist "zu weit weg"?

Wenn ein Server plötzlich zu stark ausgelastet ist, z. B. von totaler Inaktivität auf 100% CPU, führt der Temperaturanstieg dazu, dass die Uhr zu weit abweicht?

Kann ntpd so konfiguriert werden, dass die Uhr auch dann zurückgesetzt wird, wenn die Zeit zu weit entfernt ist oder zumindest etwas weiter entfernt ist?


quelle
How far off is "too far off"?Hängt davon ab. Welche Betriebssysteme / Distributionen verwenden Sie speziell?
HopelessN00b
@ HopelessN00b Ubuntu Server. Aufgrund der Komplexität des Algo war es schwierig, sich ein Bild zu machen, damit ich mit einer Baseball-Figur leben kann.
Alle Ihre Fragen sind Variablen, die Sie in der Konfiguration festlegen können
Jacob
@Jacob Danke Jacob! Würde es Ihnen etwas ausmachen, mir zu zeigen, wo? Ich habe noch nie etwas gesehen, das das Reset-Band erweitert, und alles, was ich für eine höhere Synchronisationsfrequenz finden kann, ist, burstdass Sie gebannt werden. :/ Vielen Dank im Voraus!
Ich denke nicht, dass CPU-Auslastung oder Temperatur einen Einfluss auf Ihre Uhr haben sollten. Alle Timer auf einem typischen Computer stammen letztendlich von einem Oszillator, der sich meines Wissens außerhalb des CPU-Pakets befindet und von nichts beeinflusst wird, was die CPU tut.
Nate Eldredge

Antworten:

19

Zunächst einmal beträgt die maximale Standarddifferenz 1000s, wie andere bereits erwähnt haben. Wie bei @kyle angegeben, können Sie das -gFlag verwenden, um diese EINE Zeit zu ignorieren, und nur, um Ihre Uhr zu Beginn einzustellen.

Danach sollte Ihre Uhr zwischen den Aktualisierungen auch bei hoher Auslastung nicht mehr um 1000 s verschoben sein, und wenn Sie dies tun, müssen Sie die Uhr wirklich ersetzen. Die Einstellungen in der Konfiguration, die Sie benötigen, sind minpollund maxpoll. Hiermit können Sie die Intervalldauer auf die Potenz von 2 setzen (z. B. 10 bedeutet 2 10 = 1024 s).

Bitte beachten Sie, dass Ihr System wahrscheinlich auch unter hoher Last nicht wesentlich driften wird und die Standardeinstellungen es in Schach halten sollten. Sie möchten NTP-Server nicht jede Sekunde mit Aktualisierungen bombardieren, da Sie Ressourcen verschwenden. Dadurch werden Sie blockiert und wahrscheinlich wird Ihr ISP-NOC angerufen. Wenn Sie wirklich extrem genaue Zeit benötigen, verwenden Sie GPS oder richten Sie Ihren eigenen NTP-Server ein.

Jacob
quelle
2
Je nachdem, was Sie tun, sind die wenigen ms, die es pro Tag treiben kann, für die Menschen "wesentlich".
PlasmaHH
2
@PlasmaHH Dann würde ich vorschlagen, eine bessere Zeitquelle wie GPS zu verwenden.
Jacob
Vielen Dank Jacob! Wissen Sie zufällig, was die häufigste Tarifbeschränkung ist? Ich würde gerne eine gute Zeit in dem hier gezeigten 10-ms- Band ohne teure Hardware haben. Ntp.org/ntpfaq/NTP-s-algo.htm#Q-ACCURATE-CLOCK . Vielen Dank im Voraus!
1
@Gracchus Es liegt an den einzelnen NTP-Servern, und Sie müssen sie kontaktieren. Meiner Meinung nach versuchen Sie, NTP als Krücke für etwas zu verwenden, bei dem Sie eine hochpräzise Zeit benötigen. Als solches sollten Sie eine bessere Lösung (wie GPS) verwenden, um sie zu erhalten, anstatt einen kostenlosen Dienst zu belasten.
Jacob
3
@Gabe: Hier ersetzen kann auch bedeuten, eine weitere Uhr zum System hinzuzufügen. Es gibt auch einige Optionen, um verschiedene Arten von Uhren als PCI-Karten hinzuzufügen.
PlasmaHH
12

NTPD kann Ihre Uhr in langsamen Schritten einstellen, wenn es ausgeschaltet ist. Die Idee dahinter ist, dass langsame Schritte keine Probleme mit Software-Timern, merkwürdigen Lücken in Protokolldateien usw. verursachen.

Die maximal mögliche Anstiegsrate ist vom Unix-Kernel auf 500 ppm begrenzt. Infolgedessen kann die Uhr für jede Sekunde, in der sie sich außerhalb des zulässigen Bereichs befindet, 2000 Sekunden dauern.

Laut Handbuch funktioniert ntpd nicht, wenn Ihre Uhr mehr als 1000 Sekunden abweicht.

Da das Drehen der Uhr um 1000 Sekunden mindestens 3 Wochen dauert und während dieser Zeit alle Datums- / Zeitstempel noch ausgeschaltet sind, erscheint dies nicht unangemessen.

Der ntpdateBefehl hat einen Schalter -b , um die Zeit einfach einzustellen, ohne sie zu drehen. Dies ist nützlich, wenn die lokale Systemuhr zu stark von der "richtigen" Zeit abweicht.

HBruijn
quelle
9

Dies ist in angegeben man ntpd, und Sie überschreiben es, dass Sie an der -gOption interessiert sein könnten (Beachten Sie die "die standardmäßig 1000 s ist":

-g ntpdWird normalerweise mit einer Meldung im Systemprotokoll beendet, wenn der Offset den Panikschwellenwert überschreitet, der standardmäßig 1000 s beträgt. Mit dieser Option kann die Zeit ohne Einschränkung auf einen beliebigen Wert eingestellt werden. Dies kann jedoch nur einmal vorkommen. Wird der Schwellenwert danach überschritten, ntpdwird mit einer Meldung das Systemprotokoll beendet. Diese Option kann mit den Optionen -qund verwendet werden -x. tinkerWeitere Optionen finden Sie im Befehl.

Sie können dies anpassen ntpd.conf. Wenn Sie es deaktivieren möchten, können Sie festlegen tinker panic 0. Weitere Informationen finden Sie in der Dokumentation zu den verschiedenen Optionen .

Kyle Brandt
quelle
Perfekt! Endlich gefunden minpollund maxpoll. Vielen Dank!
Kyle, das ist falsch. Dies ist ein einmaliger Befehl, der sich nicht mit zukünftigen Problemen befasst. Noch erwähnen Sie minpolloder maxpoll.
Jacob
1
Damit dies für mich funktioniert, musste ich die folgenden Schritte ausführen: 'sudo service ntp stop' 'ntpq -gq' und 'sudo service ntp start'
Terry Horner