文档目录

适用场景

  • 产品:ZCF
  • 组件:ZStone
  • 涉及对象:Cloud 5.3.37 + ZStone 5.4.6、chrony、网内 NTP 服务器
  • 版本:5.4.6
  • 触发条件: 集群内时间与互联网时间不同步,需要将所有节点统一切换到网内 NTP 服务器。

问题现象

  • 集群内时间与互联网时间不同步。
  • 需要将集群时间源调整为网内 NTP 服务器。
  • 整个变更过程中需要停止服务并关闭云主机。

判断方法

  1. 确认当前环境属于本文适用范围,并记录当前版本、目标版本、系统架构、操作系统、部署形态和存储类型等关键信息。
  2. 检查所有节点当前 /etc/chrony.conf 时间源配置。
  3. 执行 chronyc sources -v,确认时间源切换后输出为 *。
  4. 检查 ceph -s 和存储平台状态,确认恢复前后均保持健康。

原因说明

集群内时间与互联网时间不同步,需要将所有节点时间同步到网内 NTP 服务器,以恢复时间一致性并避免集群运行异常。

解决方案

1. 执行前准备

  • 风险等级:高风险
  • 变更前关闭云主机高可用,并在存储平台关闭数据恢复。
  • 修改时间配置时,要求时间采用平滑同步,不直接大步跳时。
  • 变更完成后需要把当前时间写入硬件时钟。

2. 处理步骤

  1. 关闭云主机高可用。
  • 预期结果:高可用关闭成功。
  1. 检查存储状态并关闭数据恢复。
   ceph -s
  • 预期结果:确认当前存储状态健康,数据恢复关闭成功。
  1. 检查所有节点 chrony.conf,并在集群内部时间源服务器上添加网内 NTP 时间源。
   vim /etc/chrony.conf
  • 方案示例:server 192.168.224.13 iburst
  • 预期结果:内部时间源服务器已指向网内 NTP 服务器。
  1. 注释所有节点 makestep 1.0 3 参数,使服务器采用平滑同步。
  • 预期结果:避免直接大幅跳时。
  1. 重启集群内部时间源服务器时间服务,并确认与 NTP 同步正常。
   systemctl restart chronyd
   chronyc sources -v
  • 预期结果:chronyc sources -v 输出为 *。
  1. 重启其他节点时间服务,并确认节点时间同步正常。
   systemctl restart chronyd
   chronyc sources -v
  • 预期结果:所有节点输出为 *。
  1. 将现有时间写入硬件时钟。
   hwclock -w
  • 预期结果:硬件时钟与系统时间一致。
  1. 检查 Ceph 集群状态健康,恢复存储平台数据恢复,并开启平台高可用。
  • 预期结果:集群恢复正常,平台重新进入健康状态。

验证方法

  • 执行 chronyc sources -v,确认所有节点时间源输出为 *。
  • 检查 ceph -s 与存储平台健康状态正常。
  • 确认高可用和数据恢复功能恢复后业务运行正常。

风险与回滚

  • 风险:直接修改时间源属于高风险操作,处理不当可能影响业务、存储和集群一致性。
  • 风险:若未采用平滑同步,时间跳变可能影响集群服务。
  • 回滚:处理要求说明如出现异常,应立即请求技术支持或技术支持协助排查;同时可恢复原 chrony 配置并重新同步。
修改 NTP 时间源 | 技术方案 · KB | ZStack 资源中心