Am Freitag, 21. Dezember 2007 16:09:12 schrieb Martin Burnicki: Hallo Martin, hoffe, du hattest ein schönes Weihnachtsfest! Habe während der Feiertage in der Tat ein bisschen rumprobiert...
Christian Pubanz (GMX) schrieb:
Wenn ntpd die Zeit nicht dauerhaft synchronisieren kann, obwohl die Netzwerkverbindung besteht, kann das auf das andere Problem hindeuten, dass der Kernel in der verwendeten Timer-Konfiguration die Zeit nicht sauber weiterführen kann.
Hmm... in deiner langen Erklärung vom 7.12. schriebst du, dass event. der Quarz auf dem Mainboard, der den Timer-Tick angibt, Probleme bereiten könnte.
Ich weiß ja nicht, in wiefern ich damit auf dem richtigen Dampfer bin, aber ich habe einen relativ alten PC (Fujitsu-Siemens, Scenic L 815i, Systembaugruppe D1219); im technischen Handbuch von dem Mainboard (eben das 1219) konnte ich leider nichts näheres zu dem Timer-Quarz finden, aber könnte es vielleicht daran liegen?
Ich mit meinen laienhaften Linux-Kenntnissen könnte mir durchaus vorstellen, dass der Kernel-speziell mit DIESEM Mainboard- nicht klarkommt. Schließlich ist es ja ein älteres Modell, wie bereits erwähnt.
Ich fürchte, das ist der Fall. Die Frage ist, ob das Grundproblem im Kernel oder an der Hardware liegt. Wenn z.B. der Timer-Takt aus Energiespargründen rauf und runtergeschaltet wird, aber der kernel bekommt die Umschaltung nicht korrekt mit, weil das (ACPI-) BIOS einen Fehler hat, dann hat ntpd kaum eine Chance, vernünftige Korrekturen anzubringen.
Hmm... Habe heute morgen einen Beitrag im User-Forum von Fujitsu-Siemens verfasst, die Problematik dargestellt und gefragt, ob jemand mir nähere technische Infos zu dem in meinem Mainboard verarbeiteten Timer-Quarz geben kann. (siehe http://support.fujitsu-siemens.de/forum/viewtopic.php?t=27483) Leider ist ja aus dem technischen Handbuch das ja nicht so ersichtlich!
Auf der anderen Seite sind in Deinem Log oben verschiedene ntpds mit unterschiedlichen Prozeß-IDs. "time reset" gibt jeweils an, dass der ntpd die Zeit hart gestellt hat, weil die Abweichung mehr als 128 ms beträgt. Normalerweise sollte das nur kurz nach dem Start passieren. Anschließend sollte der mit "ntpq -p" angezeigt Zeitoffset _langsam_ gegen ein Minimum gehen.
Richtig! Die Zeit stellt sich beim Booten kurz "hart", dass kam in meiner letzten Mail wohl nicht ganz rüber. Sobald Suse mit Starten des X-Window-Systems fertig ist, wird mein Bildschirm kurz schwarz. Das ist der Zeitpunkt, wo die Uhr sich "hart" korriegiert.
Ja, "Bildschirm schwarz" kann während des Zeitsetzvorgangs passieren. Ich bin nicht 100% sicher, aber ich denke, es ist der Bildschirmschoner, der scheinbar eine längere Zeit der Untätigkeit erkennt.
Das glaube ich auch! Ist ja auch logisch-wenn die Uhr ganz neu gestellt wird...
Zu den Logs: der ntpd seine Startup-Meldungen immer ins syslog, auch wenn ein "alternate log file" in ntp.conf eingetragen wurde. Zur Fehlersuche kann es hilfreich sein, den "alternate log file"-Eintrag auszukommentieren, damit man im Syslog alle Meldungen beisammen hat.
Wenn Du dann noch die "loopstats" freischaltest (siehe auskommentierte Einträge in ntp.conf) kann man nach einigen Stunden im loopstats-File sehen, ob ntpd die Zeitsynchronisierung hinbekommt.
Ähm... sorry, aber das ist der Punkt, an dem ich mit meinem Verständnis kapituliere. Oder einfach gesagt: Ich verstehe nur BAHNHOF! :-)
Wie kommentiere ich den "alternate log file" Eintrag aus? Was ein Kommentar in Bezug auf Computertechnik ist, kann ich mir aus HTML/Java ja noch herleiten, aber was muss ich genau machen?!
In der Datei /etc/ntp.conf, wie sie von openSUSE angelegt wird:
Zeile: logfile /var/log/ntp # alternate log file
Kommentar-Zeichen am Anfang einfügen: # logfile /var/log/ntp # alternate log file
Nach dem nächsten Start des ntpd landen alle Meldungen des ntpd auch in /var/log/messages.
Hab ich gemacht-läuft; Log findet sich anbei
Und wie wird "loopstats" freigeschaltet?
In der gleichen Datei:
# statsdir /tmp/ # directory for statistics files # filegen peerstats file peerstats type day enable # filegen loopstats file loopstats type day enable # filegen clockstats file clockstats type day enable
ändern in:
statsdir /tmp/ # directory for statistics files # filegen peerstats file peerstats type day enable filegen loopstats file loopstats type day enable # filegen clockstats file clockstats type day enable
D.h., im Verzeichnis /tmp/ wird eine Datei "loopstats" angelegt, die täglich mit Datumsangabe umgespeichert wird, z.B.:
loopstats.20071220 loopstats.20071221 usw.
Der Inhalt sieht so aus:
54455 52542.007 0.000004846 35.417 0.000004976 0.020081 6 54455 52608.009 -0.000000544 35.417 0.000009995 0.018784 6 54455 52671.012 0.000002531 35.417 0.000008630 0.017571 6
Die Spalten bedeuten:
1. Datum als "Modified Julian Day", MJD 2. UTC-Zeit des Tages in Sekunden und Bruchteilen 3. Zeit-Offset (Sekunden) 4. Frequenz-Offset (Parts Per Million, PPM) 5. Mittlerer Jitter (Sekunden) 6. Allan Deviation (ein statistischer Wert in PPM) 7. Die Zeitkonstante der Regelschleife als Zweierpotenz
Die Zeitkonstante "6" im Beispiel oben bedeutet, dass alle 2^^6 = 64 Sekunden eine Zeitnachregelung erfolgt.
Interessant für uns ist, wie sich Zeit-Offset, Frequenz-Offset und Jitter im Dauerbetrieb verhalten. Nach dem "time reset" sollte der Zeitoffset erst klein sein.
Es gibt ein paar Skripte, mit denen man das Ergebnis grafisch darstellen kann.
Für einen Test solltest Du so vorgehen:
# ntpd anhalten rcntp stop
# Syslog-Messages löschen (oder Datei umbenennen, wenn Du # sie archivieren willst
/var/log/messages
# Drift-File löschen, falls es exitiert. # Wo die Datei liegt, kannst Du in ntp.conf sehen, z.B.: # driftfile /var/lib/ntp/drift/ntp.drift # path for drift file rm /var/lib/ntp/drift/ntp.drift
# Loopstats löschen rm /tmp/loopstats
Dann neu Booten und den Rechner ein paar Stunden laufen lassen. Zwischendurch kannst Du kontrollieren, ob eine Datei /tmp/loopstats angelegt wird, und was drinsteht. Auch ein "ntpq -p" zwischendurch kann nicht schaden.
Hab ich gemacht-läuft nicht! :-( Anbei findet sich meine NTP.conf-habe die entsprechenden Zeilen genau so ersetzt, wie du beschrieben hast... Schaue ständig ins /tmp-Verzeichnis-bisher ist leider noch keine loopstats-Datei aufgetaucht;auch keine versteckte... :-( PC läuft seit heute 14:00 Uhr...
Eine schöne Beschäftigung über Weihnachten ;-))
Viele Grüße,
Martin
Viele Grüße und einen guten Rutsch! Christian