一、流程图
二、NTP最佳实践
- 首先,在server和pool条目上使用iburst选项。
- 如果你也能保持一个良好的ntp.drift文件,然后ntpd(8)将有效地“热启动”,您的系统时钟将在11秒的时间内稳定。
- 在启动序列中,至少使用-g或-N选项启动ntpd(8)。然后,开始其余的“正常”流程。这将给ntpd(8)尽可能多的时间来使系统的时钟同步和稳定。
- 最后,如果您有像dovecot或数据库服务器这样需要单调增加时间的进程,请在引导序列中尽可能晚地运行ntp-wait(8)^注释,让ntpd有充足的时间稳定系统时钟和频率。在ntp-wait(8)成功退出之后,启动任何需要稳定时间的进程都是安全的。
[^注释]:ntpwait程序阻塞,直到ntpd处于同步状态。这在引导时非常有用,可以将引导顺序延迟到“ntpd -g”设置好时间之后。Ntpwait将向ntpd(8)发送最多数量的查询,在每次状态返回表示ntpd(8)尚未产生同步和稳定的系统时钟后休眠数秒。Ntpwait将安静地执行此操作,除非提供了-v选项。
三、参考
https://docs.ntpsec.org/latest/ntpwait.html
https://www.ntp.org/ntpfaq/ntp-s-algo/#5161-how-will-ntp-discipline-my-clock
https://www.ntp.org/reflib/rfc/rfc5905.txt