ntpd 配置优化

ntpd 配置优化

我有一个嵌入式Linux系统没有RTC,因此(当前)在启动时认为是 1970 年 1 月 1 日。

我已经ntpd安装并启动为:

/usr/bin/ntpd -g

有一个相当标准的/etc/ntp.conf

server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst

restrict default nomodify nopeer noquery limited kod
restrict 127.0.0.1
restrict [::1]

不幸的是,这需要很长的时间(有时> 120秒)才能实现锁定(即:用*in标记的对等点ntpq -nc peers)。

我可以使用哪些其他选项(如果有)来尽可能缩短同步时间?

相关问题:合理的同步时间是多少(假设合理的网络连接ping时间约为 16 毫秒0.pool.ntp.org)?

注:我做过阅读man 8 ntpdman 5 ntp.conf,但我很困惑,我需要专家的建议。

更新:

鉴于评论,我认为我需要详细说明我的用例:

  1. 我的嵌入式Linux系统是这样的不是有一个 RTC,所以它在 1970 年 1 月 1 日醒来。
  2. ntpd从 sysV 初始化脚本开始start-stop-daemon -S -q -x /usr/sbin/ntpd -- -g
  3. 我需要知道系统时间何时“相当接近”(我可以接受几秒的错误,而不是在“分钟”范围内)。
  4. 网络可能是有线网络或 WiFi(或两者),因此可能需要大量时间才能启动。
  5. 即使 LAN 已启动并运行,由于连接、NAT 或防火墙,我也可能在访问时间服务器时遇到问题;这意味着等待固定的时间是行不通的(即使我可以ping服务器!)。
  6. 我可以通过不同的方式获得“正确”时间ntp(例如:用户显式设置日期和时间,可能存在巨大错误!)。

我的目标是尽快获取信息,无论当前时间是否从ntp服务器检索(因此可以“可信”)。如前所述,我不需要亚秒级精度,但我需要尽快“确定”知道分钟是否正确以及何时正确,当然前提是网络正常工作)。

相关内容