这个问题以本地化的方式出现了很多次,这个问题旨在提供使用 NTP 同步系统时钟的首选/最佳方法。
该解决方案应正确处理多个问题,例如:
在时钟有较大偏差的情况下,快速校正启动时的时间。
提供一种配置来保护和/或纠正时钟有时会随着时间的推移而出现较大偏差的情况。
一个强大的解决方案,可以在出现某些问题时快速处理和同步时间,例如:“启动期间无法访问时间服务器”或“启动期间无法访问互联网”。
理想的解决方案是单身的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/