Как я должен управлять и устранять проблемы 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. На некоторых серверах возвращается проверка 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 работать.

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

Другие вопросы по тегам