文档目录

适用场景

  • 产品:ZCF
  • 组件:ZCE-X
  • ZCE-X 版本:5.2.110
  • 对接云平台版本:4.x
  • 部署形态:单管理节点
  • 触发条件:云平台时间与浏览器侧显示的参考时间不一致,且当前没有外部时间源。

问题现象

  • 云平台显示时间与浏览器侧时间不一致。
  • 集群没有外部标准时间源可直接校正。
  • 需要通过手工校准服务端时间,再同步到其他节点。

判断方法

  1. 检查当前时间服务器的 Chrony 配置。
  2. 检查集群时间同步状态。
  3. 确认环境当前没有可用的外部时间源。

原因说明

环境无法使用外部标准时间源自动校正时间时,需要先手动校准时间服务器,再由其他节点通过 chronyd 与该服务器重新同步。

解决方案

1. 执行前准备

  • 先确认当前时间服务器节点。
  • 先检查集群内时间同步情况。
  • 变更前备份 chrony 配置,并记录当前原始时间。

2. 处理步骤

  1. 查看当前时间服务器:
   cat /etc/chrony.conf
  • 预期结果:确认当前 Chrony 时间服务器配置。
  1. 检查当前时间同步状态:
   chronyc -n sources -v
  • 预期结果:了解各节点当前同步情况。
  1. 在时间服务器节点停止时间服务:
   systemctl stop chronyd
  • 预期结果:允许手动校时。
  1. 手动设置时间服务器节点时间:
   date -s "<YYYY-MM-DD HH:MM:SS>"
  • 将 <YYYY-MM-DD HH:MM:SS> 替换为经确认的正确时间。
  • 确认时间服务器的 Chrony 配置未将自身作为上游时间源。
  • 预期结果:时间服务器节点时间被人工校正。
  1. 重启并启用时间服务器节点的 chronyd:
   systemctl restart chronyd
   systemctl enable --now chronyd
  • 预期结果:时间服务器节点开始以正确时间提供同步。
  1. 待时间服务器节点时间正常后,在其他服务器执行:
   systemctl restart chronyd
   systemctl enable --now chronyd
  • 预期结果:其他节点从正确的时间服务器节点重新同步时间。
  1. 再次检查集群内时间同步:
   chronyc -n sources -v
   date
  • 预期结果:所有节点时间同步完成。
  1. 将当前系统时间写入硬件时钟:
   hwclock -w
  • 预期结果:硬件时钟与系统时间保持一致。

验证方法

  • 检查 chronyc -n sources -v 输出同步关系正常。
  • 检查各节点 date 输出一致。
  • 检查硬件时钟已同步写入。

风险与回滚

  • 风险:重启 chronyd 服务会短暂影响时间同步稳定性。
  • 回滚:恢复变更前备份的 Chrony 配置并重启 chronyd,然后重新检查 chronyc -n sources -v 与各节点时间;必要时根据变更前记录的时间重新校准。
ZCE-X 无外部时间源场景下手动校准集群时间 | 技术方案 · KB | ZStack 资源中心