技术博客

Linux 时间同步为什么重要?chrony 在生产环境中的检查清单

时间不同步会影响日志关联、证书、Kerberos、数据库和分布式系统,本文总结 chrony 的生产检查方法。

chronyNTP时间同步Linux运维

时间同步是最容易被忽视的基础设施问题之一。服务器还能访问、应用还能跑,不代表时间就是对的。但只要时间漂移,日志排序、证书校验、分布式锁、Kerberos、数据库复制和审计都会受影响。

现代 Linux 服务器常用 chrony 做时间同步。相比传统 ntpd,chrony 对虚拟机、云主机和不稳定网络更友好。

基本检查

查看服务状态:

systemctl status chronyd

查看同步源:

chronyc sources -v

查看跟踪状态:

chronyc tracking

重点关注 Leap status、Last offset、System time、Stratum 和 Reference ID。如果偏移持续过大,要检查网络、时间源、防火墙和虚拟化平台。

生产环境建议

第一,统一时间源。企业内网最好有内部 NTP 服务,所有服务器不要随意指向不同公网源。

第二,监控时间偏移。不要等证书报错或日志对不上才发现。可以把 chrony 偏移采集进 Prometheus。

第三,虚拟机要关注宿主机时间。云平台或虚拟化平台时间异常,会影响大量实例。

第四,关键系统变更前确认时间。比如数据库主从切换、证书更新、域控维护、Kubernetes 集群升级前,都应该检查时间同步。

故障表现

时间问题常常伪装成别的问题:TLS 握手失败、Token 过期、日志顺序混乱、CI 任务异常、对象存储签名失败、Kerberos 认证失败。遇到这类问题,先看时间,成本最低。

参考资料