Christian Pubanz (GMX) schrieb:
Am Freitag, 21. Dezember 2007 13:08:05 schrieb Martin Burnicki: [...]
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.
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.
Der gezeigte Offset bewegt sich aber leider nicht gegen ein Minimum-im Gegenteil: es wird mehr!
remote refid st t when poll reach delay offset jitter ============================================================================== *LOCAL(0) .LOCL. 10 l 21 64 377 0.000 0.000 0.001 rustime01.rus.u .DCFp. 1 u 437 1024 377 14.215 -30171. 26159.6 ntps1-0.cs.tu-b .PPS. 1 u 443 1024 377 24.514 -63769. 30438.3 ntp2.belwue.de .PPS. 1 u 426 1024 377 14.556 -41347. 21774.2 pc-christian:/home/christian # ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *LOCAL(0) .LOCL. 10 l 60 64 377 0.000 0.000 0.001 rustime01.rus.u .DCFp. 1 u 670 1024 377 15.116 -84587. 41094.1 ntps1-0.cs.tu-b .PPS. 1 u 678 1024 377 25.444 -125382 41071.6 ntp2.belwue.de .PPS. 1 u 661 1024 377 15.315 -126059 41038.4
Das sieht in der Tat schlimm aus. Leider erkennt man nicht, in welchem Zeitabstand die beiden Abfragen gemacht wurden. Das kann man aber aus der "loopstats"-Datei sehen. Siehe unten.
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.
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. Eine schöne Beschäftigung über Weihnachten ;-)) Viele Grüße, Martin -- Martin Burnicki Meinberg Funkuhren Bad Pyrmont Germany -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org