Time 即使使用NTP,时间也会漂移吗?

Time 即使使用NTP,时间也会漂移吗?,time,ntp,drift,Time,Ntp,Drift,我们在服务器上安装了NTP,以保持时间同步。服务器的时间还会漂移吗?如果是,我们如何检测到?我们可以强制服务器在特定的最大漂移后重置吗?这是一个非常棘手的问题,在不了解更多时域设置的情况下回答 如果您的时间设置配置正确,则不会。您的所有服务器将保持在可接受的真实时间距离内。但这假定您拥有自己的0/1时间层接收器和至少5个低层外部参考源 如果您的时间设置为“关闭”,其中您仅从自己的S0/1参考源获取时间,则根据该源,您的服务器可以偏离UTC,但所有服务器都将保持同步。只有当您使用的是纯PPS类型的

我们在服务器上安装了NTP,以保持时间同步。服务器的时间还会漂移吗?如果是,我们如何检测到?我们可以强制服务器在特定的最大漂移后重置吗?

这是一个非常棘手的问题,在不了解更多时域设置的情况下回答

如果您的时间设置配置正确,则不会。您的所有服务器将保持在可接受的真实时间距离内。但这假定您拥有自己的0/1时间层接收器和至少5个低层外部参考源

如果您的时间设置为“关闭”,其中您仅从自己的S0/1参考源获取时间,则根据该源,您的服务器可以偏离UTC,但所有服务器都将保持同步。只有当您使用的是纯PPS类型的源,而实际上没有提供时间戳时,这才是真的

如果您的时间设置“不好”,比如说只有1或2台高层次的外部参考服务器,那么如果参考源由于意外或其他干扰而出错,那么您的服务器可能会因很大的因素而关闭。如果您的所有服务器都使用相同的上游源,那么如上所述,它们都应该彼此同步,但可能与UTC不同步。如果您的所有服务器都使用了不同的源,那么它们可能彼此不同步&UTC

接下来回答问题的最后一部分;不,我不会强迫任何服务器做任何事情(比如跳过时间/日期),我会确保我的ntp设置工作正常,以便它始终使用有效的漂移文件运行,并保持主机处于检查状态(在运行期间)

至于监测ntp,这可能是一个棘手的问题。如果你想让它自动化,那么你可以在网上找到脚本,它将允许把ntp统计数据收集到mrtg中,从而允许你绘制漂移、偏移、处置等。我已经成功地在许多主机上实现了这一点,而且它似乎工作得很好。如果您超出定义的限制,它将为您提供图形和警报。否则,您可以浏览ntpstats和其他日志文件,但我怀疑这正是您试图避免的

如果您需要更好或更具体的答案,请随时更新您的问题。希望这能有所帮助

您可以尝试通过脚本和MRTG链接获取有关监控的想法。还有一些Icinga/Nagios插件可能会有所帮助。我的脚本基于第一个链接中的示例,但它们允许在我的RRD文件中使用+ive和-ive绘图。为此,您需要先生成RRD,然后运行
rrdtool tune.RRD-i ds1:U-a ds1:U


但我也注意到,在ntp-4.2.6p5的源文件中,我找到了以下目录
/ntpsnmpd/
,其中有一个有趣的
自述文件
,它说您可以通过SNMP代理访问一些值。看一看-我到现在还没有看到这一点&从未测试过它。

如果您作为守护进程运行NTP,漂移应该最小,除非您的参考时间源本身不稳定(这使它们成为参考时间源的一个糟糕选择)。如果您在服务器启动时运行一次NTP(而不是在守护进程模式下),那么您就会受到时间漂移的影响—可以通过再次运行NTP来修复。(我没有检查NTP守护进程是否可以作为“单次启动”进程运行,但您可能不是偶然地以这种方式运行的。)您是否检查了存在漂移问题的机器上实时时钟上的电池?(电池可能不是问题。)谢谢你的详细回答!你能提供一些ntp统计收集脚本的例子吗?