OB替换时钟源问题

【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】4.3.5
【问题描述】
生产环境存量已经有几十台OB了,时钟源是随着OS版本来的,
比如说有的是:server 0~3.rhel.pool.ntp.org iburst
有的是:server 0~3.centos.pool.ntp.org iburst
然后呢现在有了个时钟源同步服务,之后打算统一用server xxx_ip iburst了,但是替换又不能批量替换一把梭哈,肯定得串行。串行也肯定不能先换OCP机器上的时钟源,因为OCP机器是源头,要是出问题就和所有机器的时钟源出差错了。所以现在看下来只能一个个observer机器替换时钟源,看和OCP机器上的老时钟源会不会出偏差,有没有更好的办法?以及如果真的出偏差了会有什么影响?

2 个赞

@论坛小助手

2 个赞

根据提供的文档片段,您可以逐步替换各个 OBServer 节点的时钟源,以确保在替换过程中集群的时钟同步不受影响。以下是推荐的步骤和注意事项:

  1. 逐步替换时钟源

    • 优先替换非关键节点的时钟源,避免对整个集群造成影响。
    • 逐个节点进行替换,每次替换后检查该节点的时钟同步情况,确保没有偏差。
  2. 检查时钟同步

    • 使用 ntpq -p 命令检查每个节点的时钟同步状态。
    • 确保每个节点的时钟偏差在 2s 以内,超出 2s 可能会导致集群选举模块出现问题。
  3. 监控集群状态

    • 在替换过程中,密切监控 OCP 和集群的状态,确保没有异常告警。
    • 使用 OCP 的监控功能检查集群的时钟同步情况。
  4. 备份配置文件

    • 在替换前,备份每个节点的 NTP 配置文件,以便在出现问题时可以快速回滚。
  5. 处理时钟偏差

    • 如果发现某个节点的时钟偏差超过 2s,可以按照以下步骤处理:
      • 停止 OBServer 服务。
      • 手动同步时钟:
        ntpdate <new_ntp_server_ip>
        
      • 重新启动 OBServer 服务。
  6. 影响

    • 如果时钟偏差超过 2s,可能会导致 OceanBase 集群的选举模块出现问题,导致没有主副本或者脑裂。
    • 时钟偏差还可能影响 OCP 的操作,导致 OCP 操作异常。
  7. 建议

    • 在替换过程中,建议先在一个非生产环境中进行测试,确保替换流程和步骤的正确性。
    • 保持与运维团队的沟通,确保在替换过程中及时响应任何异常情况。

以上步骤可以帮助您安全地替换时钟源,并最小化对生产环境的影响。

详情请参考:

  1. (可选)配置时钟源
  2. 检查 NTP 偏移量
  3. host_ntp_offset_too_large 服务器与时钟源偏移过大
  4. ocp_remote_server_time_diff_too_large OCP 与远程主机时间差过大
2 个赞

时钟源支持向前调整不支持向后调整。时钟相差过大ocp会检测告警。ob集群节点之前相差大于2s也会出现集群异常问题。

1 个赞

时钟源最好在规划的时候解决,后面比较麻烦

时钟源只能是一个么,不应该吧,有几个时钟源,再把新的加上去,再把旧的删掉,类似滚动更新,这样是不是可以啊

点赞~~