我应该如何管理和解决 NTP 问题?

我应该如何管理和解决 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,而在所有其他服务器中我都得到了正确的响应,并且所有其他服务器的配置都相同,这是为什么?

提前致谢,Itai

编辑#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工作。

但我的理解严格来自于运行池服务器;我不是内核程序员,在这方面可能是错的。

相关内容