Назад | Перейти на главную страницу

Как мне управлять и устранять проблемы с NTP?

В течение некоторого времени я борюсь с некоторыми проблемами NTP в сети моей компании, и мне трудно понять, как команды сочетаются со службой. Например: на сервере /etc/ntp.conf там строчка:

server IP_of_internal_ntp_server

Но когда я печатаю ntpq -p он показывает мне IP другого сервера. Кроме того, со временем я узнал, что способ повторной синхронизации времени сервера с сервером NTP таков:

service ntpd stop && ntpdate ntp_server && service ntpd start

Мои вопросы:

  1. Являются ли ntpd демон и ntpdate команда работать вместе? если да, то почему я должен останавливать ntpd демон для синхронизации ntp?
  2. В ntpq -p команда, влияет ли это /etc/ntp.conf файл?
  3. На некоторых серверах возвращается проверка 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 работать.

Но я понял это строго из запущенных серверов пула; Я не программист ядра, и могу ошибаться.