华为云ECS时间不同步排查:从系统时钟到chrony服务

举报
yd_252351073 发表于 2026/11/07 14:30:52 2026/11/07
【摘要】 按时区与真实时钟偏差分流,使用 timedatectl、date -u、systemctl、chronyc 和 journalctl 检查 chrony 同步源、日志与 UDP 123 网络,并说明生产环境执行 makestep 的风险。

先分清时区与时钟漂移

ECS 日志差几个小时,先别改系统时钟。时区只改变本地时间的显示,真实漂移则是 UTC 本身偏早或偏晚。容器通常沿用宿主机时钟,应在目标主机核对。

一、核对本地时间和 UTC

先读取状态,不要立即手动校时:


timedatectl status

date

date -u

timedatectl 中关注 Local time、Universal time、Time zone、System clock synchronized 和 NTP service。date 显示本地时间,date -u 显示 UTC;两者应是同一瞬间。如果 UTC 正常而本地显示与业务所在地不符,检查时区;确认应使用上海时区后,才考虑 timedatectl set-timezone Asia/Shanghai。改时区不会校正真实时钟;若 UTC 也偏离可信源,继续检查同步链路。

二、确认 chrony 服务

服务单元名称因发行版而异,分别核对 chronyd 或 chrony:


systemctl status chronyd

systemctl status chrony

关注 Loaded、Active 和最近日志。active (running) 仅表示进程运行,不保证已同步;其中一个单元不存在,可能只是发行版命名不同。

三、检查偏差和同步源


chronyc tracking

chronyc sources -v

tracking 中的 Reference ID、Stratum、System time、Last offset、RMS offset 和 Leap status 可显示参考源、偏差与同步状态,需结合上下文判断。sources -v 中 ^* 是当前选中源,^+ 是参与组合的可用源,^? 常见于不可达或尚未同步,^x 表示异常源。Reach 是近期八次轮询的八位八进制应答寄存器;持续为 0 说明没有收到有效响应,377 表示八次均有响应。

四、查看日志与网络


journalctl -u chronyd --since today

journalctl -u chrony --since today

第二条用于服务单元名为 chrony 的发行版。结合日志查启动失败、源不可达、名称解析失败或没有可用时间源。确认组织认可的 NTP 源,并检查解析、路由、本机防火墙及云侧安全组出方向策略;NTP 通常使用 UDP 123。服务运行不代表网络已放通。

五、核对 chrony 配置

配置路径随发行版而异,常见为 /etc/chrony.conf 或 /etc/chrony/chrony.conf。先确定实际使用的文件,再检查 server、pool 或 peer 项是否正确、源是否可达,避免重复或过期配置。不要照搬不适合当前区域或组织策略的公共源。按变更流程应用配置后,用 tracking 和 sources -v 复核。

六、生产环境谨慎校时

chronyd 通常渐进调速。chronyc makestep 会让系统时间跳变,可能影响数据库时间序、证书有效期判断、定时任务触发和跨主机日志排序。生产主机先确认偏差及可信源、评估业务影响;仅在获批维护窗口,通知相关负责人并准备监控和回退方案后,才考虑立即跳变。不要为消除时区显示差异而执行它。

排查顺序

先用 timedatectl status 与 date -u 分辨时区和 UTC 偏差,再查正确的 chrony 单元、tracking、sources -v、日志、NTP 源和 UDP 123 路径,最后才改配置或安排校时。每次只改一个因素并复核。本文是通用方法,不代表已在实际 ECS 上执行或验证。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。