同步到主服务器后,ntpd 将系统时间设置为 2156 年

同步到主服务器后,ntpd 将系统时间设置为 2156 年

我有几个委员会,它们被设置为从另一个委员会获得时间作为事实来源。

主服务器具有正确的时间,但是当其他支持板尝试与其同步时,它们会选择主服务器,并且一切看起来都很好。然而,他们给出的日期是完全错误的。这是不是将主服务器设置为虚假代码或类似的东西。即使所有板之间的时间一开始都是相同的,当辅助板选择主板作为真正的时间源时,它们也会产生这个错误的日期。它还不会将硬件时钟设置为该日期,因为如果尝试将以下时间与其同步,hwclock 将出错。

例子

date
Fri Dec 24 05:17:51 UTC 2156
remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*{PRIMARY}        {IP}        6 u   13   32  377    0.307   +0.051   0.036

这是我用来编译和运行 ntpd 的源代码。

www.eecis.udel.edu/\~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p15.tar.gz

运行ntpdate -u primaryWORKS 并修复问题直至重新启动,但 ntpd 总是自行生成 2156 年的内容。我很困扰。

配置

server PRIMARY iburst minpoll 3 maxpoll 5
fudge PRIMARY stratum 2 time1 0.0 refid PRIMARY

答案1

当前的ntp时代开始于1900年,持续2^32-1秒,大约136.1年。看来您的系统选择了错误的时代。这通常是因为 RTC 电池没电了或者您根本没有 RTC 电池(从 2004 年开始)。解决方法之一是建立伙伴纪元(buddy epoch)——请参阅 Mills 博士所著的《计算机网络时间同步:网络时间协议》中的第 9 页和第 216 页。

相关内容