RedHat release 7.3 这是一台开发机器,所以我不知道它的安装历史。人们注意到,尽管 ntpd 正在运行,但它并没有很好地保持时间同步。
我的调查显示 ntp 工作正常,但还有另一个正在运行的服务也在更新时间 - 不幸的是,该服务快了 12 分钟!
例如,我禁用 ntpd 并运行 ntpdate。计算机时间已重置。
#timedatectl status
Local time: Tue 2016-11-22 13:27:56 GMT
Universal time: Tue 2016-11-22 13:27:56 UTC
RTC time: Tue 2016-11-22 13:27:17
Time zone: Europe/London (GMT, +0000)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: no
但几分钟之内时间又恢复到 12 分钟快(与 RTC 相比)
#timedatectl status
Local time: Tue 2016-11-22 13:41:09 GMT
Universal time: Tue 2016-11-22 13:41:09 UTC
RTC time: Tue 2016-11-22 13:28:49
Time zone: Europe/London (GMT, +0000)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: no
我在 /var/log/messages 中找到了一些相关消息
*Nov 22 14:26:00 development systemd: Time has been changed
Nov 22 14:38:27 development systemd: Time has been changed
*Nov 22 14:27:00 development systemd: Time has been changed
Nov 22 14:39:27 development systemd: Time has been changed
*Nov 22 14:27:00 development systemd: Time has been changed
Nov 22 14:40:27 development systemd: Time has been changed
*Nov 22 14:39:00 development systemd: Time has been changed
Nov 22 14:42:27 development systemd: Time has been changed
标有“*”的地方是我已经完成的地方date 11221426
。
您可以看到某处有东西将时间重置回 12 分钟快。请注意,时间始终为“27 秒”,因此它似乎每分钟运行一次,尽管它会缓慢漂移(当前以 28 秒运行!)。
我花了很长时间禁用服务,但一直无法找到迫使我的机器在未来 12 分钟运行的服务。 ntpd 已禁用,但我知道它会同步到正确的时间。
请任何人建议任何其他时间更新服务,我可以检查它们是否正在运行。
附加信息
正如答案中所建议的,我查看了 chronyd。它没有在我的机器上运行,即使我让它运行,它也会将机器设置为正确的时间,而不是快 12 分钟。
chronyd.service - NTP client/server
Loaded: loaded
(/usr/lib/systemd/system/chronyd.service; disabled; vendor preset: enabled)
Active: inactive (dead)
答案1
Red Hat 版本 7 引入了chronyd
用于系统时钟管理的守护进程。它可以用来代替ntpd
守护进程。 chronyd
适用于可能间歇性与网络断开连接的系统。chronyd
可以比 更快地调整系统时间ntpd
。
要查看此守护进程是否正在运行,请执行以下操作:
# systemctl status chronyd
要确定守护进程如何运行:
# chronyc tracking
# chronyc sources
配置通过 控制/etc/chrony.conf
。
答案2
我没有想到提及该机器在 VMware 下运行,这就是问题所在。 VMware 工具可以选择时间同步,但建议您使用 ntp。
就我而言,启用了时间同步,虚拟机快了 12 分钟。因此,每当我更正时间时,vmware 工具就会启动并恢复我的更改。另外,12 分钟对于 ntpd 来说太长了,无法处理,所以 ntpd 放弃了。
作为记录,查看 vmware 时间同步是否正在运行...
#vmware-toolbox-cmd timesync status
Enabled
是的,它已启用。要禁用....
#sudo vmware-toolbox-cmd timesync disable
Disabled
不再有不准确的更新!注意,我对VMware设置不熟悉,所以我不确定重启后是否会重新启用。