Как я должен управлять и устранять проблемы NTP?
В течение некоторого времени я боролся с некоторыми проблемами 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
файл?- На некоторых серверах возвращается проверка NTP Nagios
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 ~]#
1 ответ
Если вы хотите, чтобы NTP-сервер работал надежно, вам не нужно лгать ему о надежности своих часов; линии
server 127.127.1.0
а также
fudge 127.127.1.0 stratum 10
сделать именно это, и похоже, что избавление от них исправило вещи.
Что касается остановки ntpd
перед тем как перебрать время с ntpdate
Насколько я понимаю, внутри ядра есть единая структура для игры с часами, и ntpd
сидит на нем (для того, чтобы исказить время при необходимости). Пока это там, ntpdate
не могу заглянуть внутрь; поэтому необходимо вынимать его из картинки достаточно долго для ntpdate
работать.
Но мое понимание строго из работы серверов пула; Я не программист ядра, и могу ошибаться.