文章背景图

Linux 服务器时间漂移:chrony、NTP、虚拟化时钟与安全恢复

2026-08-09
1
-
- 分钟

服务器时间漂移会导致证书校验失败、日志顺序混乱、分布式锁异常、Kerberos 认证失败,甚至影响数据库复制和集群选举。处理时既要恢复准确时间,也要避免突然跳时给业务造成二次故障。

一、确认系统时间与时区

date -Ins
timedatectl status
hwclock --show

记录当前时区、NTP 状态、系统时钟与硬件时钟。跨多台服务器对比时统一使用 UTC 或带时区的 ISO 时间,避免把时区差异误判为时钟漂移。

二、检查 chrony 同步状态

chronyc tracking
chronyc sources -v
chronyc sourcestats -v
chronyc activity

重点关注:

  • Reference ID 和 Stratum 是否合理;

  • System time 的剩余偏差;

  • Last offset、RMS offset 和 Skew;

  • 源状态是否为 *+?x

  • 是否所有时间源都不可达。

若使用 systemd-timesyncd:

timedatectl timesync-status
journalctl -u systemd-timesyncd --since '-30 min' --no-pager

不要同时运行多个 NTP 客户端,让 chronyd、ntpd 和 systemd-timesyncd 互相调整时钟。

三、检查网络、DNS 和防火墙

NTP 通常使用 UDP 123:

getent hosts <ntp-server>
chronyc sources -v
ss -uapn | grep ':123'

确认出口 ACL、安全组、防火墙和企业 NTP 服务可达。不要只用 ping 判断,ICMP 可达不代表 UDP 123 正常。

四、检查服务和配置

systemctl status chronyd --no-pager
journalctl -u chronyd --since '-1 hour' --no-pager
chronyd -p

chronyd -p 可打印解析后的配置,适合检查语法和 include 文件。关注 server/pool、makestep、rtcsync、bindaddress 和访问控制。

五、虚拟机与宿主机时间问题

systemd-detect-virt
dmesg -T | grep -Ei 'clocksource|timekeeping|tsc'
cat /sys/devices/system/clocksource/clocksource0/current_clocksource

虚拟机暂停、快照恢复、热迁移或宿主机过载都可能造成时间跳变。检查云平台事件和虚拟化工具是否也在同步时间,避免与 chrony 重复校时。

六、安全恢复时间

偏差较小时,chrony 通常通过 slew 逐渐修正,业务感知较小。偏差很大时,可以先增加测量样本:

chronyc burst 4/4
chronyc tracking

强制跳时命令:

chronyc makestep

makestep 会让系统时钟立即跳变。数据库、消息队列、分布式锁、定时任务和审计系统可能受到影响,生产环境执行前必须评估业务、暂停敏感任务并记录变更时间。

七、恢复后的验证

chronyc waitsync 60 0.01
chronyc tracking
chronyc sources -v
timedatectl status

从多台机器对比日志时间,验证证书、认证、集群和监控是否恢复。不要只看到 System clock synchronized: yes 就结束排查,还要确认偏差和时间源质量。

八、长期治理

  • 使用至少 3 个可靠时间源,避免单点和错误源。

  • 监控 offset、stratum、source reachability 和同步状态。

  • 云环境使用平台推荐的本地时间服务,并保留公共或企业备用源。

  • 将时钟偏差检查加入证书、数据库、Kubernetes 和身份认证故障流程。

  • 快照恢复、虚拟机迁移和长时间暂停后自动检查时间。

时间故障的处理原则是:先测量偏差,再决定渐进校正还是跳时,绝不能在不了解业务影响时直接修改系统时间。

原创

Linux 服务器时间漂移:chrony、NTP、虚拟化时钟与安全恢复

本文链接: Linux 服务器时间漂移:chrony、NTP、虚拟化时钟与安全恢复

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

评论交流

文章目录