管理节点与浏览器时间不一致并出现时间漂移
故障排查ZCF · Cloud适用版本源素材未说明文章 IDKB-200147更新于2026-09-17
问题现象
- 由于管理节点存在时间漂移,Web UI 上显示的云平台时间与用户浏览器时间不一致。
适用环境
- 产品:ZCF
- 版本:未指定
- 组件:ZStack Cloud
- 触发条件:双管理节点(主备 / active-standby)部署,且全局 HA 已启用。
判断方法
- 将 ZStack Web UI 右上角显示的时间与当前本地浏览器时间进行比较。
- 在管理节点上运行
date 命令,并将其与外部时间源进行比对。 - 运行
chronyc tracking,检查 chronyd 是否未能与有效的 NTP 对等节点同步。
问题根因
- 管理节点上的内置 NTP/时间源不可达或不稳定。
- 不当的 DNS 配置导致
chronyd 无法解析外部 NTP 主机名。 - 在未通过
hwclock -w 与系统时钟同步的情况下,长时间运行的节点上会出现硬件时钟漂移累积。
解决方案
1. 在云平台上禁用全局 HA
- 操作路径:进入云平台页面,选择 设置 -> 全局设置 -> 全局高可用,将其禁用。
2. 在两台节点上分别备份管理节点数据库
- 检查项:确认两台节点均可访问。
- 执行命令(在每台节点上分别执行):
zstack-ctl dump_mysql --file-name zstack-db-backup-master # 主节点
zstack-ctl dump_mysql --file-name zstack-db-backup-slave # 备节点
3. 分别停止两台节点上的管理节点服务
zsha2 stop-node
- 预期结果:两台节点上的管理节点服务均被停止, 可以通过检查
zsha2 status。
4. 更新 DNS 并验证 NTP 主机名解析
- 检查项:查看
/etc/resolv.conf 中已配置的 nameserver。 - 执行命令:
vim /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8
ping ntp1.aliyun.com
- 预期结果:主机名能够解析,并且能 ping 通阿里云 NTP 服务器。
5. 将一台管理节点手动同步至阿里云 NTP 源
- 配置文件:所选节点上的
/etc/chrony.conf。 - 新增或修改:
server ntp1.aliyun.com iburst
systemctl restart chronyd
6. 验证所有节点时间同步,再将系统时间写回硬件时钟
- 检查项:在所有管理节点上执行
date,均应显示一致的时间。 - 执行命令(在每台节点上分别执行):
hwclock -w
- 预期结果:
hwclock --show 的输出与 date 输出一致。
7. 启动两台节点上的管理节点服务
zsha2 start-node
8. 验证物理机时间
- 检查项:登录一台物理机(非管理节点),确认
date 与管理节点一致。
9. 重新启用全局 HA
- UI操作路径:设置 → 全局设置 → 重新启用全局高可用。
验证方法
- 在受影响管理节点上执行
chronyc sources -v。输出应显示已选定外部 NTP 服务器,且 offset 较小(通常 < 100 ms)。然后检查 ZStack UI:右上角显示的时间与浏览器时间相差不超过 1 秒。节点重启后,因硬件时钟已被 hwclock --systohc 更新,系统时钟应保持正确。 - 请确认 Web UI 右上角显示的时间与浏览器时间一致,误差在 1 秒以内。
- 执行
hwclock --show 以确保硬件时间与系统时间一致。
补充信息
- 相关命令 / 文件:
/etc/resolv.conf、/etc/chrony.conf、chronyc tracking、hwclock -w、zsha2 stop-node、zsha2 start-node、zstack-ctl dump_mysql。