我开始克罗尼德(3.4)有 4 个初始服务器,2 个远程服务器(来自一个池)和 2 个本地主机位于同一子网上,例如:
initstepslew 1 0.xxx.pool.ntp.org 1.xxx.pool.ntp.org 192.168.63.114 192.168.63.121
makestep 1 3
可能是因为系统未连接到互联网,因此可以与其他本地主机同步。但是,其他本地玩家也有可能几乎同时重启,因此他们可能也试图同时获得初始时间同步。
有时结果可能是所有 4 台服务器都被标记为 falsetickers,并且启动永远无法完成(不会进入后台),系统时间仍为 1970 年 1 月 1 日。
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^x 199.182.221.110 2 6 0 18h -18717d[-18717d] +/- 60ms
^x 206.75.147.25 2 6 0 18h -18717d[-18717d] +/- 66ms
^x 192.168.63.114 4 6 0 18h -18717d[-18717d] +/- 1115us
^x 192.168.63.121 4 6 0 18h -18717d[-18717d] +/- 2394us
知道这里发生了什么事吗?我能做些什么来避免和/或纠正这种情况?
答案1
简而言之,我认为这是因为你有两对处于同一 Stratum 的时间服务器。如果同一 Stratum 的两个服务器报告的时间不同,chronyd
将无法确定其中哪一个是正确的时间源。
为了解决这个问题,您可以添加更多的时间源/服务器,以便有chronyd
更好的机会找出“正确”的时间。
或者,您可以告诉chronyd
它“信任”每对服务器中的一台。这将允许它简单地“假设”其中一台服务器报告了正确的时间,并且它将同步而不将它们定义为错误的行情机。即在您的配置定义中您将执行以下操作:
server 199.182.221.110 trust
server 206.75.147.25
server 192.168.63.114 trust
server 192.168.63.121
请参阅此处的答案和参考资料: