Root delay 或 Root dispersion 异常大说明上游 NTP 源不可靠,可能因过载、拥塞、防火墙干扰或自身未同步;常伴 Leap status: Not synchronised 等报错,导致系统时间漂移或跳变。
chronyc tracking 显示 Root delay 或 Root dispersion 异常大,说明什么
chronyc tracking 中 Root delay(通常应 Root dispersion(理想值 500 ms 或几秒),基本意味着当前 NTP 源已不可靠:可能是上游服务器过载、网络路径拥塞、中间防火墙干扰,或该源本身未良好同步(例如它自己也只连了单个不稳定的上游)。这不是 chrony 配置错误,而是源头质量崩了。
这类异常往往伴随 Leap status: Not synchronised 或 System clock wrong by 报错,系统时间会缓慢漂移甚至跳变。
如何用 chronyc 快速识别问题 NTP 源
chronyc sources -v 和 chronyc sourcestats -v 是关键命令:
-
sources -v看每个源的状态:*表示当前选中的主源,+是候选源,?或空白表示被拒绝(通常是抖动过大或离群) -
sourcestats -v查看每个源的长期统计:Offset偏移量是否稳定、RMS offset是否持续升高、RTT(往返时延)是否忽高忽低——这些比单次tracking更能暴露问题 - 特别注意
Source state字段:若长期显示Offline或Lost,说明 chrony 已主动弃用该源,但配置里还留着,容易误导
如果某个源在 sources 里带 *,但 sourcestats 显示其 RTT 波动剧烈、RMS offset > 100 ms,基本可以判定它是“假主源”——chrony 因缺乏更好选择而被迫用它。
更换 NTP 源的实操步骤(不重启 chronyd)
更换不是简单改 /etc/chrony.conf 再 systemctl reload chronyd,要避免时间跳变和短暂失同步:
- 先用
chronyc add server加入新源(例如国内可用ntp.ntsc.ac.cn或阿里云ntp.aliyun.com),加iburst和prefer(仅对可信源):chronyc add server ntp.ntsc.ac.cn iburst
- 等 2–3 分钟,运行
chronyc sources -v确认新源状态变为+或*,且sourcestats中RMS offset开始收敛( - 再用
chronyc delete移除旧源(不是注释配置文件!):chronyc delete 2001:db8::1
(填实际 IP 或域名)
- 最后更新配置文件,删掉对应
server行,防止服务重启后重新加载坏源
注意:iburst 只在初始同步时加速,不会影响后续行为;prefer 要慎用——仅当新源是组织内高精度本地 NTP 服务器时才加,否则可能压制更稳定的公网源。