使用 NTP 同步时间的推荐方法是什么?

使用 NTP 同步时间的推荐方法是什么?

这个问题以本地化的方式出现了很多次,这个问题旨在提供使用 NTP 同步系统时钟的首选/最佳方法。

该解决方案应正确处理多个问题,例如:

  1. 在时钟有较大偏差的情况下,快速校正启动时的时间。

  2. 提供一种配置来保护和/或纠正时钟有时会随着时间的推移而出现较大偏差的情况。

  3. 一个强大的解决方案,可以在出现某些问题时快速处理和同步时间,例如:“启动期间无法访问时间服务器”或“启动期间无法访问互联网”。

理想的解决方案是单身的NTP配置文件能够处理这一切。

参考

许多提供“最终”解决方案的内容都分布在 U&L 网站上,问题如下:

肯定还有其他的,但这些是我所看到的相关的。

答案1

由于您无法使用 ntp 纠正较大的时间偏差(除非您有几个小时的时间让时钟赶上或放慢速度),我这样做:

服务 ntpd 停止
ntpdate us.pool.ntp.org
服务 ntpd 启动

我每天都会执行一次。我还将 ntpdate 放入 init 脚本中,以便在启动后 ntp 启动之前运行,因为重新启动和电源周期是最有可能/最常见的扰乱系统时间的事件。

答案2

您正在寻找的就是ntpd--panicgate选项。

panicgate 选项允许在ntpd开始后第一次调整为任意大小。这正是您所描述的用例,其中机器出现并且其时钟非常不准确。当 ntpd 在启用此选项的情况下启动时,它可能需要一些时间来查找服务器并与其建立同步。

该选项本身就解决了您的第 1 个问题。

#2 是 vanilla ntpd。Ntpd 保存一个偏移文件,该文件记录了系统时钟偏移的速率。

#3 也与#1 相同。该--panicgate选项不限于 ntpd 启动时立即启动,它仅限于“第一次调整”(无论何时调整)。

答案3

使用 chronyd/chronyc 而不是 ntp/ntpdate。它已经是 fedora 中的默认方法,我想,一旦准备好,它也会出现在 RHEL 7.0 中。

文档可以在以下位置找到:http://chrony.tuxfamily.org/

相关内容