В течение некоторого времени я борюсь с некоторыми проблемами NTP в сети моей компании, и мне трудно понять, как команды сочетаются со службой. Например: на сервере /etc/ntp.conf
там строчка:
server IP_of_internal_ntp_server
Но когда я печатаю ntpq -p
он показывает мне IP другого сервера. Кроме того, со временем я узнал, что способ повторной синхронизации времени сервера с сервером NTP таков:
service ntpd stop && ntpdate ntp_server && service ntpd start
Мои вопросы:
- Являются ли
ntpd
демон иntpdate
команда работать вместе? если да, то почему я должен останавливатьntpd
демон для синхронизацииntp
?- В
ntpq -p
команда, влияет ли это/etc/ntp.conf
файл?- На некоторых серверах возвращается проверка Nagios NTP
NTP OK: Offset unknown
в то время как на всех других серверах я получаю правильный ответ, и все остальные серверы настроены одинаково, почему это так?
Заранее спасибо, Итаи
Редактировать # 1: /etc/ntp.conf
:
driftfile /var/lib/ntp/drift
fudge 127.127.1.0 stratum 10
keys /etc/ntp/keys
restrict 0.centos.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 127.0.0.1
restrict 1.centos.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 2.centos.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
server 127.127.1.0
server 130.117.52.203
Выход ntpq -p
:
[root@nyproxy15 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
38.74.128.71 .INIT. 16 u - 64 0 0.000 0.000 0.000
*LOCAL(0) .LOCL. 10 l 45 64 377 0.000 0.000 0.001
[root@nyproxy15 ~]#
Не обращайте внимания на слой 16, я знаю, что его нужно исправить.
Редактировать # 2: я редактировал /etc/ntp.conf
и закомментировал упомянутые вами строки.
[root@nyproxy15 ~]# service ntpd stop ; ntpdate 130.117.52.203 ; service ntpd start
Shutting down ntpd: [ OK ]
30 Sep 08:16:30 ntpdate[31192]: adjust time server 130.117.52.203 offset -0.078324 sec
ntpd: Synchronizing with time server: [ OK ]
Starting ntpd: [ OK ]
[root@nyproxy15 ~]# ntpq -p
localhost.localdomain: timed out, nothing received
***Request timed out
root@nyproxy15 ~]# ps -ef |grep ntp
root 31210 1 0 08:16 ? 00:00:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid
Редактировать # 3:
Кажется, сейчас, через несколько минут, ntpq -p
возвращает правильный ответ:
[root@nyproxy15 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*130.117.52.203 46.4.54.78 3 u 9 64 377 80.633 -9.950 1.420
[root@nyproxy15 ~]#
Если вы хотите, чтобы NTP-сервер делал что-либо надежно, вам не нужно лгать ему о надежности его собственных часов; линии
server 127.127.1.0
и
fudge 127.127.1.0 stratum 10
делайте именно это, и похоже, что избавление от них устранило ситуацию.
Что касается остановки ntpd
прежде, чем затащить время с помощью ntpdate
Насколько я понимаю, внутри ядра есть единственная структура для игры с часами, и ntpd
сидит на нем (чтобы при необходимости перекосить время). Пока он там, ntpdate
не могу заглянуть внутрь; поэтому необходимо убрать его с картинки достаточно долго, чтобы ntpdate
работать.
Но я понял это строго из запущенных серверов пула; Я не программист ядра, и могу ошибаться.