Serverseitiges Zeitmanagement

05.02.2012  ·  Es ist immer gut zu wissen, wie spät es gerade ist. Und falls sich alle Beteiligten auf eine gemeinsame Uhrzeit einigen können, wird das Leben mit einem Schlag sehr viel leichter. Ganz besonders wichtig ist eine gemeinsame Zeitbasis bei der systemübergreifenden Datenkorrelation oder Fehlersuche. Das Mittel zur Wahl für die Uhr im Rechner ist unbestritten wohl NTP.

Von Torsten Kohlmann

Daher ist eine der ersten Aufgaben, die ich erledige, sobald ein neuer Rechner in Betrieb geht, das Einstellen der Uhr und die Installation von NTP. Dabei ist eigentlich nur von Bedeutung, ob der Rechner nur seine eigene Uhr synchron halten soll, oder ob er auch als Zeit-Server für weitere Rechner dienen soll. Beide Anwendungsfälle werde ich hier vorstellen.

Ein wenig trockene Theorie

xxx

Installation und Konfiguration des Clients

Die Installation des NTP-Pakets auf einem Gentoo-System ist dabei denkbar einfach. Besondere USE-Flags oder Abhängigkeiten sind dabei nicht zu beachten:

1
kerberus ~ # emerge ntp

Damit steht sowohl ein NTP-Client zur Synchronisierung der eigenen Uhr, als auch ein NTP-Server zur Synchronisation weiterer Rechner zur Verfügung.

Konfiguration eines NTP-Servers

1
2
3
4
5
6
7
8
9
kerberus ~ $ ntpq -c readvar
associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
version="ntpd 4.2.6p5@1.2349-o Tue Aug 21 09:18:53 UTC 2012 (1)",
processor="x86_64", system="Linux/3.2.18-x86_64-jb1", leap=00, stratum=2,
precision=-20, rootdelay=28.386, rootdisp=53.088, refid=192.53.103.104,
reftime=d4bdef83.0fe63897  Thu, Feb  7 2013 10:16:51.062,
clock=d4bdf4de.5faed484  Thu, Feb  7 2013 10:39:42.373, peer=23429,
tc=10, mintc=3, offset=0.596, frequency=-26.358, sys_jitter=0.042,
clk_jitter=0.345, clk_wander=0.010
1
2
3
4
5
6
kerberus ~ $ ntpq -c peers
     remote           refid           st t when poll reach   delay   offset  jitter
     ==============================================================================
     +ptbtime1.ptb.de .PTB.            1 u  229 1024  377   28.393   -0.083   1.999
     *ptbtime2.ptb.de .PTB.            1 u  404 1024  377   28.386   -0.146   0.208
     +ptbtime3.ptb.de .PTB.            1 u  353 1024  377   28.484   -0.058  16.062
Discover if a number is primeSource Article
1
2
3
4
5
class Fixnum
  def prime?
    ('1' * self) !~ /^1?$|^(11+?)\1+$/
  end
end