自夏令时以来,Sensu 监视器表明在 Digital Ocean(DO)上运行的多个服务器的 NTP 不同步(12.345404ms
- 98.338222ms
):
CheckNTP WARNING: NTP offset by 34.073039ms
讨论
也许NTP配置不正确?
NTP 配置有偏差,但现在已使用相同的配置应用Geerlingguy 的 ntp 角色。
如果 NTP 服务器重新启动,会发生什么情况?
监视器显示NTP已同步,但过了一会儿问题又出现了。
如果 NTP 服务器停止,手动设置时间并重新启动 ntp 服务器,会发生什么情况?
与三相同。
也许该问题与 DO 平台有关?
未知。互联网上未找到任何解决方案。
如果选择最近的位置作为时间服务器,会发生什么情况?
server 0.nl.pool.ntp.org iburst server 1.nl.pool.ntp.org iburst server 2.nl.pool.ntp.org iburst server 3.nl.pool.ntp.org iburst
当 NTP 服务器重新启动时,时间已同步,但之后时间又不同步。
水滴是否会同步,但后来又不再同步?
是的,似乎是这样:
答案1
NTP(和 SNTP)不是提供有关时区/夏令时的信息。相反,它提供了一个精确的 UTC 参考时钟,需要由客户端解释才能显示正确的当地时间。这意味着夏令时对 NTP 时钟漂移/偏差绝对没有影响。
一些建议:
您使用的是什么 NTP 客户端?RHEL7 附带了
chrony
,我发现它的准确性不如普通的ntpd + ntpdate
iburst
从 ntp 配置文件中删除该选项并重新启动 NTP 客户端确保使用可访问的 NTP 服务器低 RTT(即:你可以快速 ping 通)
检查网络拥塞
请务必阅读NTP 手册页因为它确实有一些很棒的文档
答案2
请注意,根据我的经验,所有 VPN 系统(不仅仅是 DigitalOcean 系统)都使用主时钟,也就是运行主机服务器上的时钟。该服务器已按预期同步(可能使用 NTP),而且我还没有看到即使没有运行 NTP 也未同步的 VPN。
我还注意到一个问题,即运行 NTP 比不运行 NTP 更容易导致问题。这是因为 CPU 时钟可能不是 100% 为您的 VPN 保留的,因此计时器不会像预期的那样精确。NTP 需要这些计时器的准确性来知道如何扭曲系统时钟。但是,我认为在 DigitalOcean,您总是会获得为您保留的 CPU。因此,计时器可以按预期工作。在我运行 VirtualBox 的家用服务器上,我得到的 CPU 计时器时间完全不准确……因为 VirtualBox 不会为其运行的每个 VPN 保留一组特定的 CPU。