最近我注意到在 VMWare 客户机上运行的这个 RHEL 系统上的时钟严重不同步(正常运行时间约为半年):
$ timedatectl
Local time: Sun 2021-11-07 09:54:12 CET
Universal time: Sun 2021-11-07 08:54:12 UTC
RTC time: Sun 2021-11-07 08:59:27
Time zone: Europe/Berlin (CET, +0100)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: no
Last DST change: DST ended at
Sun 2021-10-31 02:59:59 CEST
Sun 2021-10-31 02:00:00 CET
Next DST change: DST begins (the clock jumps one hour forward) at
Sun 2022-03-27 01:59:59 CET
Sun 2022-03-27 03:00:00 CEST
我相信 RTC 实际上是 VMWare 主机的系统时钟,事实上它是正确的,并且本地时间晚了五分钟。VMWare 主机的管理员告诉我,我不应该使用 ntpd 或 chrony *) 来保持时钟同步,而应该依赖主机时钟。而这正是我一直认为我在做的事情:
$ vmware-toolbox-cmd timesync status
Enabled
那么为什么系统时钟不同步?
VMWare文档说:
启用定期时间同步后,VMware Tools 会将客户机操作系统的时间设置为与主机时间相同。时间同步后,VMware Tools 每分钟检查一次,以确定客户机和主机操作系统上的时钟是否仍然匹配。如果不匹配,则客户机操作系统上的时钟将同步以匹配主机上的时钟。
你可能会问,既然有“VMWare 主机管理员”,我为什么不直接向他提出这个问题呢?我当然会这么做。我只是好奇这里发生了什么。
*) 大约一年前,我注意到我的系统时钟到处乱跳。原来是我无意中同时启用了 ntpd 和 chrony。VMWare 管理员发现了问题所在,告诉我不要使用它们,只需使用 vmware-toolbox-cmd 依赖主机时钟即可。
答案1
使用贵组织使用的 NTP 服务器在客户端上配置 chrony(或 ntpd)。重新启动,等待 3 分钟以接收前几个数据包。
如果本地时间与 RTC 仍然有很大差异,则 VM 主机的时钟可能不正确。您现在的五分钟偏移量肯定很大。请虚拟机管理程序管理员确认VM 主机上设置的 NTP 服务器与您的组织在整个网络中使用的相同。
NTP 可以在客户机中继续运行,并且比客户机时间同步具有更好的性能。尽管您可以选择停止 ntpd,但一旦解决了时钟偏移之谜。