适用场景
- 产品:ZCF
- 组件:ZStone
- 涉及对象:Cloud 5.3.37 + ZStone 5.4.6、chrony、网内 NTP 服务器
- 版本:5.4.6
- 触发条件: 集群内时间与互联网时间不同步,需要将所有节点统一切换到网内 NTP 服务器。
问题现象
- 集群内时间与互联网时间不同步。
- 需要将集群时间源调整为网内 NTP 服务器。
- 整个变更过程中需要停止服务并关闭云主机。
判断方法
- 确认当前环境属于本文适用范围,并记录当前版本、目标版本、系统架构、操作系统、部署形态和存储类型等关键信息。
- 检查所有节点当前
/etc/chrony.conf时间源配置。 - 执行
chronyc sources -v,确认时间源切换后输出为*。 - 检查
ceph -s和存储平台状态,确认恢复前后均保持健康。
原因说明
集群内时间与互联网时间不同步,需要将所有节点时间同步到网内 NTP 服务器,以恢复时间一致性并避免集群运行异常。
解决方案
1. 执行前准备
- 风险等级:高风险
- 变更前关闭云主机高可用,并在存储平台关闭数据恢复。
- 修改时间配置时,要求时间采用平滑同步,不直接大步跳时。
- 变更完成后需要把当前时间写入硬件时钟。
2. 处理步骤
- 关闭云主机高可用。
- 预期结果:高可用关闭成功。
- 检查存储状态并关闭数据恢复。
ceph -s
- 预期结果:确认当前存储状态健康,数据恢复关闭成功。
- 检查所有节点
chrony.conf,并在集群内部时间源服务器上添加网内 NTP 时间源。
vim /etc/chrony.conf
- 方案示例:
server 192.168.224.13 iburst - 预期结果:内部时间源服务器已指向网内 NTP 服务器。
- 注释所有节点
makestep 1.0 3参数,使服务器采用平滑同步。
- 预期结果:避免直接大幅跳时。
- 重启集群内部时间源服务器时间服务,并确认与 NTP 同步正常。
systemctl restart chronyd
chronyc sources -v
- 预期结果:
chronyc sources -v输出为*。
- 重启其他节点时间服务,并确认节点时间同步正常。
systemctl restart chronyd
chronyc sources -v
- 预期结果:所有节点输出为
*。
- 将现有时间写入硬件时钟。
hwclock -w
- 预期结果:硬件时钟与系统时间一致。
- 检查 Ceph 集群状态健康,恢复存储平台数据恢复,并开启平台高可用。
- 预期结果:集群恢复正常,平台重新进入健康状态。
验证方法
- 执行
chronyc sources -v,确认所有节点时间源输出为*。 - 检查
ceph -s与存储平台健康状态正常。 - 确认高可用和数据恢复功能恢复后业务运行正常。
风险与回滚
- 风险:直接修改时间源属于高风险操作,处理不当可能影响业务、存储和集群一致性。
- 风险:若未采用平滑同步,时间跳变可能影响集群服务。
- 回滚:处理要求说明如出现异常,应立即请求技术支持或技术支持协助排查;同时可恢复原 chrony 配置并重新同步。
