Lösung 1:
Ich sehe hier einige Verwirrung in den Antworten. Für den Anfang, 06
, zumindest in 14
Modus, fungiert nicht als vollständiger NTP-Client, sondern sendet und empfängt nur ein Paket , also gibt es keine "letzten 8 empfangenen Pakete". Es schätzt eigentlich überhaupt nicht seine eigene Streuung.
Stattdessen ist der ausgegebene Wert der Wert namens "Root Dispersion" (rootdisp) in dem vom Server zurückgegebenen Paket, der eine Schätzung der Gesamtmenge an Fehlern/Varianzen zwischen diesem Server und der korrekten Zeit darstellt. Die Berechnung ist recht einfach:Jeder NTP-Server bezieht seine Zeit entweder von einer externen Uhr (zB einem Funk- oder GPS-Empfänger) oder von einem anderen NTP-Server. Wenn ein Server seine Zeit von einer externen Uhr erhält, ist seine Wurzelstreuung der geschätzte maximale Fehler dieser Uhr. Wenn es seine Zeit von einem anderen NTP-Server erhält, ist seine Root-Dispersion die Root-Dispersion dieses Servers plus die Streuung, die durch die Netzwerkverbindung zwischen ihnen hinzugefügt wird.
Ein verwirrender Punkt ist hier, dass ntpq und chrony die Dispersion und Root-Dispersion in Sekunden anzeigen, was die Leute gewohnt sind, ntpclient in Mikrosekunden anzeigt . Unabhängig davon ist ein Wert von 1217163 immer noch ziemlich hoch. Ein guter NTP-Server kennt die Uhrzeit innerhalb weniger Millisekunden; ein schlechter innerhalb weniger zehn oder hundert Millisekunden. Ihres sagt Ihnen, dass seiner Zeit nur auf +/- 1,2 Sekunden vertraut werden kann.
Sie können ntpclient trotzdem dazu bringen, sich mit diesem Server zu synchronisieren, indem Sie den 22
übergeben oder 35
Option (abhängig von der Version von ntpclient), die die NTP-Sicherheitsprüfungen deaktiviert. Wenn Sie nur eine ungefähr genaue Zeit benötigen (bis auf wenige Sekunden), kann das gut genug sein. Allerdings ist ntpclient ziemlich vernünftig, wenn er sich weigert, mit einem so schlechten Server zu synchronisieren. Ihre 47
Die Ausgabe auf dem Ubuntu-Rechner zeigt einen Jitter von Hunderten von Millisekunden für alle seine Server, obwohl sie eine geringe Verzögerung haben, was entweder auf ein sehr unzuverlässiges Netzwerk oder eine Verschwörung aller hinweist der Server, um unregelmäßige Zeit bereitzustellen, oder ein grundlegendes Zeitproblem auf dem Server selbst.
Es beunruhigt mich auch, dass der Server 10.31.10.22 eine Refid von 54
ankündigt (undisziplinierte lokale Uhr), hat aber eine Schicht von 1. Normalerweise wird die lokale Uhr auf eine Schicht von 10 gefälscht, so dass sie nur als letzte Synchronisierungsquelle verwendet wird, um zu verhindern, dass eine Herde auseinander driftet. Entweder ist 10.31.10.22 falsch konfiguriert und verschafft dem Rest des Netzwerks eine schlechte Zeit, oder es wird von einem Programm außerhalb der Kontrolle von NTP zu einer guten Zeit diszipliniert. In diesem Fall besteht die Fehlkonfiguration einfach darin, dass es den 64
erneuern; es sollte überschrieben werden, um z. 71
oder was auch immer seine Zeit zur Verfügung stellt.
Lösung 2:
Nur eine Teilantwort für "Was ist Streuung?":
Ein typischer NTP-Roundtrip:
client | | server
t1 |------->| t2
t3 |<-------| t4
Dies ergibt zwei Werte, Offset (die Zeitdifferenz zwischen Client und Server) und die Verzögerung (wesentlich die Netzwerklaufzeit) mit den folgenden Formeln:
offset= ((t4 - t3) + (t1 - t2)) / 2
delay = (t4 - t1) - (t3 - t2)
Der Client wählt den aktuellen Offset aus den letzten 8 empfangenen Paketen aus, wobei er dasjenige mit der kleinsten Verzögerung auswählt.
Dieselben 8 Pakete werden verwendet, um die Streuung zu berechnen indem ein gewichteter Mittelwert der Differenz dieser 8 Offsets zu dem im letzten Schritt ausgewählten verwendet wird, wobei die Verzögerung als Gewichtungsfaktor verwendet wird, wodurch kleinere Verzögerungen stärker gewichtet werden. Sie ist ein Maß für die „Streuung“ der Werte und dient zur Berechnung der Qualität eines Zeitservers, insbesondere wenn man mehrere zur Auswahl hat.
Lösung 3:
Ihre Streuung und Verzerrung sind enorm, es gibt einen sehr großen Versatz von der lokalen Uhr zu diesem Peer. Sie sollten die Offsets mit dem lokalen 89
vergleichen und stellen Sie die Uhr manuell ein.
Bringen Sie ntpd zum Laufen und zeigen Sie 94
an von einem Host, der alle Peers verwendet. Es wird die besseren auswählen.
Lösung 4:
Laut dieser Cisco-Dokumentation ist „dispersion , angegeben in Sekunden, ist die maximale Uhrzeitdifferenz, die jemals zwischen der lokalen Uhr und der Serveruhr beobachtet wurde.“ Bei nicht vollständig kaputten NTP-Servern sollte niemals eine hohe Streuung auftreten und hat bisher nur seine lokale Uhr zur Verfügung. Und selbst dann entspricht eine Streuung, die so hoch ist, wie Sie sie melden, Uhren, die um mehr als zwei Wochen falsch sind .
Es sollte ausreichen, dafür zu sorgen, dass die lokale Uhr am Anfang nicht zu weit abweicht (auch ein paar Stunden wären noch akzeptabel), entweder durch Einstellen der Uhr (und sogar des Datums!) im BIOS oder durch Ausgabe von 108
einmal vor dem Start von 110
auf dem Client.