Zufallsmäßiges Verhalten von ntpd

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
NetFoxy
Beiträge: 107
Registriert: 12.11.2009 17:53:50

Zufallsmäßiges Verhalten von ntpd

Beitrag von NetFoxy » 24.04.2010 01:20:59

Hallo liebes Forum,

ich habe ein Problemchen mit dem ntp daemon. Im wesentlichen brauch ich etwas mehr Input, was seine Funktionsweise angeht. Da verstehe ich einiges nämlich nicht. dies ist ein Auszug aus meiner peerstats:

Code: Alles auswählen

55309 82197.094 192.53.103.104 9624 -107.352455524 0.123156833 0.000248899 0.000107352
55309 82201.094 192.53.103.108 9424 -107.352348776 0.123301083 0.000255745 0.000114609
...
55309 82426.094 192.53.103.104 9624 -107.352461092 0.123237675 0.000247668 0.000074164
55309 82440.094 192.53.103.108 9424 -107.352396412 0.123237210 0.000252937 0.004816899
55309 82334.741 192.53.103.104 8024 0.000000000 0.000000000 16.000000000 0.000000954
55309 82365.741 192.53.103.108 9034 0.000020380 0.123309027 7.937501521 0.000000954
55309 82380.741 192.53.103.104 9034 0.000063151 0.123432879 7.937501880 0.000000954
55309 82383.741 192.53.103.108 9034 0.000020380 0.123309027 3.937637281 0.000074266
...
Die zweite Spalte enthält die Sekunden des Tages, die fünfte die Abweichung der Systemuhr vom ntp Server. Wie man sieht, tut ntpd lange zeit gar nichts. Ich habe da so ca. 20 Zeilen gelöscht und durch ... ersetzt. Und dann, ohne Angaben von Gründen, entscheidet sich ntpd doch mal die Zeit anzugleichen.

Dies ist die peerstats auf meinem Rechner. Bei meiner Freundin macht ntpd gar nichts. Sie hat darüberhinaus auch noch das Problem, daß die Systemzeit gewaltig driftet (ein paar Sekunden pro minute). Daher wird bei ihr die Zahl in der fünften Spalte ständig größer (vor dem Komma!).

Kann mir jemand erklären, warum ntpd nicht bei jeder Serveranfrage auch die Uhr synchronisiert? Hat jemand eine Idee, warum das auf dem Rechner meiner Freundin nie funktioniert?

(Wenn jemand noch eine Idee hat, woher der Drift auf dem Rechner meiner Freundin kommt, wäre ich auch sehr dankbar. Aber das paßt natürlich nicht zur Überschrift...)

Vielen Dank und viele Grüße,
Andreas

PS.: Ich hab schon eine ganze Weile auf den Manual- und Hilfeseiten von ntpd herumgesucht, finde die aber nicht sonderlich übersichtlich. Wenn das da irgendwo steht, bin ich auch mit einem Link zufrieden. ;)

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Zufallsmäßiges Verhalten von ntpd

Beitrag von Blackbox » 24.04.2010 07:25:58

Hallo NetFoxy !

Lies dir mal dies hier durch, es ist zwar für Fedora geschrieben, aber im Grunde arbeiten die Demonen ja bis auf spezielle Kleinigkeiten nach dem gleichen Prinzip.

Dieses Beitrag könnte für den Rechner deiner Freundin interessant sein
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Zufallsmäßiges Verhalten von ntpd

Beitrag von cosmac » 24.04.2010 13:27:23

hi,
NetFoxy hat geschrieben:Wie man sieht, tut ntpd lange zeit gar nichts. Ich habe da so ca. 20 Zeilen gelöscht und durch ... ersetzt. Und dann, ohne Angaben von Gründen, entscheidet sich ntpd doch mal die Zeit anzugleichen.
Wenn das nur einmal nach dem Booten passiert, ist es völlig normal und gut so. Der ntpd vergleicht erstmal alle Referenzuhren und sortiert sie nach Qualität. Dann muss er die Laufzeit des Netzwerks (sowas wie ping) messen und schon mal eine grobe Schätzung der Genauigkeit der eigenen Rechneruhr machen. Das dauert ein wenig; ich finde 15 Minuten dafür noch ganz angemessen.
Kann mir jemand erklären, warum ntpd nicht bei jeder Serveranfrage auch die Uhr synchronisiert?
Das tut er, aber erst nach einiger Zeit und dann auch nur in unmerklich kleinen Schritten. Deine Rechneruhr war weit daneben, deshalb wurde sie direkt verstellt. Solche Sprünge der Zeit (besonders rückwärts) möchte man aber vermeiden. Programme, die die Uhrzeit brauchen, kommen damit oft nicht klar, z.B. kann der xserver dabei abstürzen. Deshalb wird die Rechneruhr normalerweise nur beim Booten verstellt. Im Betrieb lässt man sie ein wenig schneller oder langsamer laufen bis sie wieder richtig geht. So gibt es keine Sprünge, aber es dauert lange, große Fehler auszugleichen. Deine 107 Sekunden hätten gute 59 Stunden gebraucht.
Bei meiner Freundin macht ntpd gar nichts. Sie hat darüberhinaus auch noch das Problem, daß die Systemzeit gewaltig driftet (ein paar Sekunden pro minute).
Nicht "darüberhinaus", das ist das Problem. Der ntpd kann so extrem schlechte Uhren nicht korrigieren, also macht er nichts. Er könnte sie höchstens jede Minute neu stellen, aber siehe oben. Der ntpd ist für ganz andere Genauigkeiten gebaut. Wenn eine Uhr um mehr als 0.13 Sekunden falsch geht, wird sie schon mal als defekt angesehen. Hier im Firmennetzwerk weichen die Serveruhren typisch weniger als eine tausendstel Sekunde voneinander ab.
(Wenn jemand noch eine Idee hat, woher der Drift auf dem Rechner meiner Freundin kommt, wäre ich auch sehr dankbar.
Eine kleine Chance sehe ich, macht mal

Code: Alles auswählen

cat /sys/devices/system/clocksource/clocksource0/available_clocksource 
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
die current_clocksource ist die Hardware, die im Moment die Systemzeit liefert. Unter available_clocksource sollte eine Liste der möglichen Hardware-Uhren erscheinen. Mit dem Kernel-Parameter "clocksource=" kann man eine andere Uhr wählen. Der wird in der grub.cfg bzw. menu.lst an die Zeile mit "root=" angehängt, z.B.

Code: Alles auswählen

linux   /boot/vmlinuz-2.6.26-5ax3fne root=/dev/hda5 ro clocksource=jiffies
Unter http://www.ntp.org/documentation.html sollte eigentlich alles zu ntp zu finden sein, vielleicht etwas zu ausführlich ;) Andere Quellen sind oft veraltet bis irreführend, z.B. werden immer noch die Zeitserver der PTB empfohlen, obwohl de.pool.ntp.org seit Jahren funktioniert. Bei Debian kommt noch dazu, dass man an der Default-Konfiguration normal nicht ändern muss.
Beware of programmers who carry screwdrivers.

Benutzeravatar
NetFoxy
Beiträge: 107
Registriert: 12.11.2009 17:53:50

Re: Zufallsmäßiges Verhalten von ntpd

Beitrag von NetFoxy » 24.04.2010 23:15:47

Hallo zusammen!

Vielen Dank für die Antworten. Ich denke, das hilft mir.

Ich habe zwar immer noch nicht verstanden, warum, wenn die Uhr doch so gar nicht mit dem NTP Server übereinstimmt, der Client nicht sofort die Uhr synchronisiert, aber solange das irgendwann passiert, bin ich ja eigentlich zufrieden.

Die Umstellung der Clock Source beim Rechner meiner Freundin habe ich jetzt mal gemacht, ich weiß aber noch nicht, was dabei herausgekommen ist, da ich gerade in den USA bin. Ich hoffe, er bootet noch... ;)

Ich melde mich nochmal bezüglich des Resultats. :)

Viele Grüße,
Andreas

Benutzeravatar
NetFoxy
Beiträge: 107
Registriert: 12.11.2009 17:53:50

Re: Zufallsmäßiges Verhalten von ntpd

Beitrag von NetFoxy » 26.04.2010 16:06:07

Hallo!

Hier meine versprochene Rückmeldung.

Also, wie es aussieht, scheint die Uhr auf dem Rechner meiner Freundin nun richtig zu gehen. Zur Auswahl standen hpet und acpi_pm. Das alleinige setzen des clocksource Parameters hat aber nicht geholfen. Ich brauchte auch noch

Code: Alles auswählen

hpet=force
Die Linux Kernel Dokumentation sagt dazu:

Code: Alles auswählen

hpet= [X86-32,HPET] option to control HPET usage
      Format: { enable (default) | disable | force |
       verbose }
      disable: disable HPET and use PIT instead
      force: allow force enabled of undocumented chips (ICH4,
       VIA, nVidia)
      verbose: show contents of HPET registers during setup
Offenbar ist da einer oder sind da mehrere undokumentierte Chips im System verbaut. Möglicherweise hätte das Setzen von hpet=force daher bereits ausgereicht, aber ich bin mal vorsichtig gewesen und hab die Kernelzeile nun so modifiziert:

Code: Alles auswählen

kernel <Pfad zum Kernel> root=<Device> ro hpet=force clocksource=hpet
Die undokumentierten Chipse machen offenbar keine Probleme im Zusammenspiel mit hpet, denn der Rechner läuft und die Uhr geht, wie gesagt, auch richtig.

Ob ntpd nun mit der Uhr klar kommt, weiß ich noch nicht, aber soweit ich das an den paar Einträgen der peerstats ablesen kann, sieht die Sache nun ganz gut aus.

Vielen Dank nochmal!

Viele Grüße,
Andreas

Antworten