【问题标题】:Can time drift even after using NTP?使用 NTP 后时间会漂移吗?
【发布时间】:2016-10-07 23:56:31
【问题描述】:

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

【问题讨论】:

  • 如果您将 NTP 作为守护程序运行,则偏差应该很小,除非您的参考时间源本身不稳定(这使得它们成为参考时间源的糟糕选择)。如果您在服务器启动时运行一次 NTP(不是在守护程序模式下),那么您会随着时间的推移而受到影响——可以通过再次运行 NTP 来解决。 (我没有检查过 NTP 守护进程是否可以作为“单次”进程运行——但你可能不会意外地以这种方式运行它。)你检查过机器上实时时钟上的电池吗?你有漂移问题吗? (电池可能不是问题。)

标签: time ntp drift


【解决方案1】:

在不了解您的时域设置的情况下,这是一个非常棘手的问题。

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

如果您的时间设置是“关闭”的,其中您只从您自己的 S0/1 参考源中获取时间,那么根据该来源您的服务器可能会偏离 UTC,但都会保持同步.仅当您使用实际上不提供时间戳的纯 PPS 类型源时,这才会真正成立。

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

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

至于监控 ntp,这可能是一个棘手的问题。如果你想自动化它,那么你可以在网上找到脚本,它允许将 ntp 统计数据收集到 mrtg 中,这将允许你绘制漂移、偏移、处置等。我已经成功地为许多主机实现了这个,它出现了工作得很好。如果您超出您定义的限制,它将为您提供图表和警报。否则,您将拥有诸如 ntpstats 和其他日志文件之类的东西,您可以通过这些文件进行搜索,但我怀疑这是您试图避免的。

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

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

但我也注意到在 ntp-4.2.6p5 的源文件中,我发现以下目录 /ntpsnmpd/ 有一个有趣的 README,它表示您可以通过 SNMP 代理访问一些值。看看 - 到目前为止我还没有看到过,也从未测试过。

【讨论】:

  • 感谢您的详细解答!能否提供一些 ntp stats 收集脚本示例?
猜你喜欢
  • 2010-11-02
  • 2014-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-29
  • 2018-04-13
  • 1970-01-01
相关资源
最近更新 更多