事情本身不复杂,线索都在日志里。监控显示时间偏差越来越大,同步源列表里所有服务器前面都是问号,系统时间靠本地时钟一点点漂。

把日志和配置对完,能解释这个现象的基本就这几处。授时用的端口被安全组或者防火墙挡住。还有一种是配置的授时服务器不可达或者已经停服。

另外,虚拟机的时钟源受宿主机影响。

第一件事是看同步源状态

chronyc sources -v

接着确认端口是否放行

ss -lun | grep 123

再往下换一组可用授时源

grep -E '^(server|pool)' /etc/chrony.conf

强制立即校正一次

chronyc makestep

同样的操作我在测试机上先走了一遍,线上只做验证过的部分。

恢复的判定其实很直接。源列表前面变成正常标记,时间偏差收敛到毫秒级并保持稳定。

补一句。云主机优先用厂商内网授时地址,走公网容易被限速;时间偏差大时证书校验也会跟着出问题。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。

作者 9823189