为什么我的ntpd不工作?

编辑

我已经尝试了所有的build议,但似乎ntpd只是拒绝同步到服务器。

[vivs@peter-centos ~]$ /usr/sbin/ntpq -np remote refid st t when poll reach delay offset jitter ============================================================== 192.168.0.30 .LOCL. 1 u 11 64 3 0.984 232732. 20083.2 

这个抖动“20083.2”是否表示手动更改时间?

我已经closures了vmware的时间同步。

原来的问题

这里是ntp的状态

 [root@peter-centos gw]# /usr/sbin/ntpq -pn remote refid st t when poll reach delay offset jitter ============================================= 192.168.0.30 .LOCL. 1 u 153 1024 377 0.950 1905553 274023. *127.127.1.0 .LOCL. 10 l 9 64 377 0.000 0.000 0.001 

你可以看到它只能同步到本地时钟“127.127.1.0”。

是因为它的偏移量太大?

但是,我手动设置datedate命令后,它仍然拒绝同步到192.168.0.30

这可能是ntp.conf

 # Permit time synchronization with our time source, but do not # permit the source to query or modify the service on this system. restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery # Permit all access over the loopback interface. This could # be tightened as well, but to do so would effect some of # the administrative functions. restrict 127.0.0.1 restrict -6 ::1 # Hosts on local network are less restricted. #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.centos.pool.ntp.org #server 1.centos.pool.ntp.org #server 2.centos.pool.ntp.org server 192.168.0.30 #blf #broadcast 192.168.1.255 key 42 # broadcast server #broadcastclient # broadcast client #broadcast 224.0.1.1 key 42 # multicast server #multicastclient 224.0.1.1 # multicast client #manycastserver 239.255.254.254 # manycast server #manycastclient 239.255.254.254 key 42 # manycast client # Undisciplined Local Clock. This is a fake driver intended for backup # and when no outside source of synchronized time is available. #server 127.127.1.0 # local clock #fudge 127.127.1.0 stratum 10 # Drift file. Put this in a directory which the daemon can write to. # No symbolic links allowed, either, since the daemon updates the file # by creating a temporary in the same directory and then rename()'ing # it to the file. driftfile /var/lib/ntp/drift # Key file containing the keys and key identifiers used when operating # with symmetric key cryptography. keys /etc/ntp/keys # Specify the key identifiers which are trusted. #trustedkey 4 8 42 # Specify the key identifier to use with the ntpdc utility. #requestkey 8 # Specify the key identifier to use with the ntpq utility. #controlkey 8 lkey 8 h the ntpdc utility. #requestkey 8 # Specify the key identifier to use with the ntpq utility. #controlkey 8 lkey 8 olkey 8 lkey 8 

啊 – 现在很清楚:

我的机器安装在vmware工作站上。 所以,形成所有的答案,我想也许抖动变得如此之大是因为vmware调整时间。 我会看看我是否正确。

不要在VM中运行ntp。 主机不保证CPU片,所以VM的时钟不准确。 正如你所看到的,ntp试图跟上看起来像一个变化很大的外部时钟,并最终放弃。

这个问题的一般答案是不运行ntp,安装VMware工具并将虚拟机的时钟locking到主机的时钟。

具体的答案取决于你正在运行的Linux版本。 我在CentOS上有一些笔记(可能通常适用于其他RedHat系列分发版)。

首先,停止ntpd,并尝试使用ntpdate {server}设置date:

 /etc/init.d/ntp停止
 / usr / sbin / ntpdate 192.168.0.30

这是否正确设置你的时间? 还是超时?

如果超时,请尝试另一个NTP服务器:

 / usr / sbin / ntpdate pool.ntp.org

从高抖动,我期望ntpdate工作 – 一旦它有,重新启动如果可能的话(只要重新启动ntpd,如果你不能重新启动 – 虽然很多服务会被这样的时间跳转混淆),再次检查ntpq -p

这是一个非常大的抖动值(274023)。 这表明您可能试图在ntpd运行时手动更改时间。 你应该做的是停止ntpd,将时间设置到正确的时间,然后重新启动ntpd。

正如上面提到的,我认为主要答案是不正确的。

对于VMWare,他们明确build议在Linux客户端的计时最佳实践中使用NTP over VMWare工具。 另外,对于所有的虚拟机,您应该在/etc/ntp.conf文件的顶部添加tinker panic 0指令,以确保无论当前漂移如何,时间将会正确。

摘录:Linux客人的计时最佳实践

NTPbuild议

VMwarebuild议使用NTP而不是VMware Tools定期时间同步。 NTP是一个行业标准,并确保您的客人准确计时。 可能需要打开防火墙(UDP 123)以允许NTP通信。

链接到完整的文档: https : //kb.vmware.com/selfservice/microsites/search.do? language = en_US & cmd = displayKC & externalId =1006427