PDA

Просмотр полной версии : синхронизация по NTP


Telepoozeeck
07.06.2007, 12:20
стоит машинка клиента CentOS 4.4.
имеется удалённый NTP сервер.
конфиг на кленте

/etc/ntp.conf:
server ntp1-ip prefer
server ntp2-ip
restrict 127.0.0.1 nomodify
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
keys /etc/ntp/keys

запускаю инит скрипт ntpd

проходит 3 минуты

/var/log/messages:
Jun 7 14:35:25 toldot ntpd[10643]: Listening on interface wildcard, 0.0.0.0#123
Jun 7 14:35:25 toldot ntpd[10643]: Listening on interface wildcard, ::#123
Jun 7 14:35:25 toldot ntpd[10643]: Listening on interface lo, 127.0.0.1#123
Jun 7 14:35:25 toldot ntpd[10643]: Listening on interface eth0, <локальный-адрес>#123
Jun 7 14:35:25 toldot ntpd[10643]: kernel time sync status 0040
Jun 7 14:35:25 toldot ntpd[10643]: frequency initialized 38.989 PPM from /var/lib/ntp/drift
Jun 7 14:35:25 toldot ntpd: ntpd startup succeeded
Jun 7 14:38:36 toldot ntpd[10643]: synchronized to ,<адрес-сервера> stratum 2

как бы классно. просинхронизировался.
говорю :

$ ntpstat
unsynchronised
polling server every 64 s

"не понялО", подумал я.
говорю:

$ echo $?
0

из man ntpstat - клиент синхронизирован с сервером.

ещё через 10 минут:

/var/log/messages:
Jun 7 14:40:46 toldot ntpd[10643]: kernel time sync disabled 0041
Jun 7 14:48:19 toldot ntpd[10643]: kernel time sync enabled 0001

т.е. по идее (судя по messages и возврату кода ntpstat) клиент синхронизирован с сервером.
а вот unsynchronised и запись от 14:40:46 и 14:48:19 меня смущают.

что за беспорядок?

100% где то напортачил... как в том анекдоте : нутром чувствую, что лирт, а доказать не могу.

esper
07.06.2007, 19:31
Сделай

flow:~# ntpdate -uv ntp.ac.il
7 Jun 22:23:55 ntpdate[20357]: ntpdate 4.2.2@1.1532-o Mon Oct 2 17:50:09 UTC 2006 (1)
7 Jun 22:23:57 ntpdate[20357]: adjust time server 128.139.6.20 offset 0.012352 sec

Более подробно дает ntptime

flow:~# ntptime
ntp_gettime() returns code 0 (OK)
time ca12da44.53114000 Thu, Jun 7 2007 22:25:56.324, (.324482),
maximum error 489760 us, estimated error 1015 us
ntp_adjtime() returns code 0 (OK)
modes 0x0 (),
offset 776.000 us, frequency 114.028 ppm, interval 4 s,
maximum error 489760 us, estimated error 1015 us,
status 0x1 (PLL),
time constant 6, precision 1.000 us, tolerance 512 ppm,
pps frequency 0.000 ppm, stability 512.000 ppm, jitter 200.000 us,
intervals 0, jitter exceeded 0, stability exceeded 0, errors 0.

На одном стратуме допустимая 10-20 милисекунд. Или тебе самому нужно быть прецизионным сорсом ? Тогда лучше бери сорсом настроенную на несколько сорсов Сиску или что-там у тебя гейтвеем стоит. В хороших раутерах стоят прецизионные термостабилизированные клоки - будет тебе микросекундная точнность.

На ПиСи как ты видишь RTC - гуано за пять копеек, с батарейкой.