PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ntpd synchronisiert nur ein einziges Mal



xplod
09.04.09, 12:24
Hallo zusammen.

Ich habe ein Problem mit meinem Server:
Ich habe ntpd installiert, da sich andernfalls innerhalb einer Woche die Zeit um mehrere Minuten ändert. Wenn ich ntpdate von Hand starte, passiert folgendes:


>> ntpdate ntp1.ptb.de
9 Apr 13:13:08 ntpdate[6671]: adjust time server 192.53.103.108 offset -228.025534 sec

Soweit so gut. Ich habe es auch hinbekommen, dass ntpd beim Systemstart anläuft und permanent läuft:


>>/etc/init.d/ntp start
Try to get initial date and time via NTP from ptbtime1.ptb.de done
Starting network time protocol daemon (NTPD) done

>>ps auxw | grep ntpd
ntp 6701 0.0 0.2 4552 1304 ? Ss 13:14 0:00 /usr/sbin/ntpd -p /var/lib/ntp/var/run/ntp/ntpd.pid -u ntp -i /var/lib/ntp

Das Problem: Der ntpd synchronisiert sich nur ein einziges Mal, nämlich genau beim Start. Danach nie wieder. Wenn ich /etc/init.d/ntp restart aufrufe, dann holt er sich die aktuelle Zeit, allerdings läuft es danach relativ schnell wieder aus dem Ruder.
Das Logfile sagt folgendes:


4 Mar 20:45:06 ntpd[19102]: ntpd exiting on signal 15
4 Mar 20:46:09 ntpd[29505]: synchronized to LOCAL(0), stratum 10
4 Mar 20:46:09 ntpd[29505]: kernel time sync enabled 0001
5 Mar 18:41:46 ntpd[29505]: ntpd exiting on signal 15
5 Mar 18:46:34 ntpd[3341]: synchronized to LOCAL(0), stratum 10
5 Mar 18:46:34 ntpd[3341]: kernel time sync enabled 0001
9 Apr 13:11:37 ntpd[3341]: ntpd exiting on signal 15

Ein ntp start verursacht nur einen Eintrag wie am 9. Apr. Wann die anderen Einträge entstanden sind, weiss ich nicht.

Meine ntp hänge ich als Attachment an, um den Text nicht nochmehr zu versauen.

Ich hoffe, es kann mir jemand von euch helfen.

Gruß
Dirk

mborchi
09.04.09, 14:16
meiner meinung nach wirfst du zwei verschiedene sachen über einen haufen:

ntp ist ein client um die aktuelle zeit von einem ntp-server irgendwo abzuholen. ntp stellt die lokale zeit nach dem angegebenen server.
ntpd ist ein zeit-server-daemon und bietet anderen clients seine zeit an, damit sie sich nach ihm richten können.

wenn dein rechner innerhalb kurzer zeit einige minuten falsch geht, dann empfehle ich dir, auf diesem KEINEN ntpd laufen zu lassen.

wenn du regelmäßig die aktuelle zeit auf deinen rechner holen möchtest, so erstelle einen bspw. täglichen cronjob, der


ntpdate ptbtime1.ptb.de

aufruft.

was dein log angeht, dies sind logs des daemon, der die lokale zeit abfragt. sieh dir die .conf-datei an, dort steht, dass er sich diese fake-zeit holen soll.

asi_dkn
09.04.09, 15:32
Soweit ich weiss kann man ntpd sehr wohl brauchen um die Zeit des lokalen Servers anzupassen. ntpd lernt dabei wie stark die uhr des servers abweicht und "weiss" nach einer gewissen zeit wie oft er die richtige zeit abholen muss damit diese eigentlich immer stimmt. Wieso der das aber nicht macht, resp. nur einmal beim Start, weiss ich auch nicht, kenn mich zu wenig gut damit aus.

nopes
09.04.09, 16:24
Hi,

nimm nicht cron, lies das


In some cases it may not be practical for ntpd to run continuously. A common workaround has been to run the ntpdate program from a cron job at designated times. However, this program does not have the crafted signal processing, error checking and mitigation algorithms of ntpd. The -q option is intended for this purpose. Setting this option will cause ntpd to exit just after setting the clock for the first time. The procedure for initially setting the clock is the same as in continuous mode; most applications will probably want to specify the iburst keyword with the server configuration command. With this keyword a volley of messages are exchanged to groom the data and the clock is set in about 10 s. If nothing is heard after a couple of minutes, the daemon times out and exits. After a suitable period of mourning, the ntpdate program may be retired.

When kernel support is available to discipline the clock frequency, which is the case for stock Solaris, Tru64, Linux and FreeBSD, a useful feature is available to discipline the clock frequency. First, ntpd is run in continuous mode with selected servers in order to measure and record the intrinsic clock frequency offset in the frequency file. It may take some hours for the frequency and offset to settle down. Then the ntpd is stopped and run in one-time mode as required. At each startup, the frequency is read from the file and initializes the kernel frequency.

Soweit so gut, du must also prüfen ob dein ntpd mit -g, -x oder aber -q gestartet wird, wenn ja liegt das Problem hier, da er dann direkt wieder beendet wird, wenn nicht kannst du den driftfile prüfen und ggf. in der config korrigieren (vgl. http://linux.die.net/man/1/ntpd).

xplod
10.04.09, 11:33
Die einzige Option, die gesetzt ist, ist "-u ntp" (username=ntp).

Ich habe in meiner ntp.conf einen zweiten Server eingetragen, und beide mit den Schlüsselwörtern "burst" und "iburst" versehen. Es hat sich trotzdem noch nichts geändert.

Ich habe noch weiter nachgeforscht, und habe die Ausgabe von xntpdc angesehen:


>> xntpdc -p
remote local st poll reach delay offset disp
================================================== =====================
=LOCAL(0) 127.0.0.1 10 64 10 0.00000 0.000000 2.81735
=ptbtime1.ptb.de (meineIP) 16 64 0 0.00000 0.000000 3.99217
=netzwerkteufel. (meineIP) 16 64 0 0.00000 0.000000 3.99217

Lese ich das Logbuch richtig, wenn ich daraus sehe, dass nur der lokale Server erreicht werden konnte? Die anderen beiden hingegen nicht?

Gruß
Dirk

xplod
12.04.09, 10:54
Da ich es nicht hinbekommen habe, den ntpd dauerhaft an einen Internetserver zu binden habe ich den ntpd entfernt und lasse nun per cron ntpdate "manuell" ausführen.
So konnte ich nun auch zum ersten mal sehen, dass der Server pro Stunde ca. 0.3 Sek zu schnell läuft...

pibi
12.04.09, 17:20
Lese ich das Logbuch richtig, wenn ich daraus sehe, dass nur der lokale Server erreicht werden konnte? Die anderen beiden hingegen nicht?Hmmm, das Gleichheitszeichen hatte ich als "tally code character" noch nicht. Guckst Du zB. hier (http://support.ntp.org/bin/view/Support/TroubleshootingNTP). Dort werden die Codes erklaert. Und sonst nimm einfach mal ein minimales ntp.conf, zB. so:
server 127.127.1.0 # local clock (LCL)
fudge 127.127.1.0 stratum 10 # LCL is unsynchronized
server 0.ch.pool.ntp.org
server 1.ch.pool.ntp.org
server 2.ch.pool.ntp.org
driftfile /var/lib/ntp/ntp.drift # path for drift file
logfile /var/log/ntp # alternate log fileNach einiger Zeit sollte sich die Zeit eingependelt haben, der Output des Console-Programms "ntpq -p" sollte dann etwa so aussehen:
remote refid st t when poll reach delay offset jitter
================================================== ============================
LOCAL(0) .LOCL. 10 l 33 64 377 0.000 0.000 0.001
*192.33.214.57 192.33.214.12 2 u 419 1024 377 13.767 -0.601 2.727
+bigben.solnet.c 193.62.22.74 2 u 483 1024 377 9.625 -2.235 42.635
+eth0-0.yuffie.p 134.34.3.19 2 u 432 1024 377 8.373 -2.486 0.810

Gruss Pit.