I
Member
系统时间漂移是个慢刀子:证书突然失效、定时任务错峰、日志时间对不上、分布式锁莫名超时,最后查下来都是时间问题。分享一套排查流程。
第一步确认漂移方向和幅度。用 chronyc tracking 看系统时间与参考源的偏差,用 timedatectl 看 RTC 时间与系统时间是否一致。漂移是单向越走越快,还是来回跳变,指向的问题完全不同:单向漂移多是晶振或虚拟化时钟源问题,来回跳变多是多个时间源打架。
第二步检查时间源配置。chrony.conf 里 server 数量、iburst、makestep 的设置很关键。虚拟机上要确认时钟源:kvm-clock、tsc、hpet 选错,时间就会漂。云主机还要看宿主机时间同步是否正常,客户机再怎么调也追不上宿主机的漂移。
第三步检查 RTC。系统重启后时间跳回旧值,往往是 RTC 电池没电或硬件时钟没写入。hwclock -w 同步一次,再重启验证,别只在运行态修。
第四步看业务影响面。证书有效期、Token 过期、数据库主从复制延迟,都对时间敏感。修好时间后要复查这些服务,别以为时间对了就万事大吉。
你们有没有遇到过时间漂移导致的诡异故障?虚拟机上你们一般选哪种时钟源?
第一步确认漂移方向和幅度。用 chronyc tracking 看系统时间与参考源的偏差,用 timedatectl 看 RTC 时间与系统时间是否一致。漂移是单向越走越快,还是来回跳变,指向的问题完全不同:单向漂移多是晶振或虚拟化时钟源问题,来回跳变多是多个时间源打架。
第二步检查时间源配置。chrony.conf 里 server 数量、iburst、makestep 的设置很关键。虚拟机上要确认时钟源:kvm-clock、tsc、hpet 选错,时间就会漂。云主机还要看宿主机时间同步是否正常,客户机再怎么调也追不上宿主机的漂移。
第三步检查 RTC。系统重启后时间跳回旧值,往往是 RTC 电池没电或硬件时钟没写入。hwclock -w 同步一次,再重启验证,别只在运行态修。
第四步看业务影响面。证书有效期、Token 过期、数据库主从复制延迟,都对时间敏感。修好时间后要复查这些服务,别以为时间对了就万事大吉。
你们有没有遇到过时间漂移导致的诡异故障?虚拟机上你们一般选哪种时钟源?