【 使用环境 】生产环境
【 OB or 其他组件 】obproxy版本:4.3.2.0 oceanbaser 4.3.5.0版本
【 使用版本 】
【问题描述】告警中会间歇性出现服务器与时钟源便宜过大的告警,过一会自己又可以恢复。请问下这个问题会对数据库的使用产生影响吗?需不需要处理,怎么操作呢?感谢!
根据文档库中的信息,以下是关于您提到的“服务器与时钟源偏移过大”的详细解答:
1. 问题的影响
-
对 OceanBase 集群的影响:OceanBase 是一个分布式数据库,集群中多个节点的时间同步非常重要。如果时钟偏移超过 2 秒,可能会导致以下问题(参考文档片段 1 和 4):
- 集群选举模块异常,可能导致没有主副本或脑裂。
- 如果时钟偏差恢复后,需要重启 OceanBase 集群才能恢复正常运行。
- 间歇性告警的影响:虽然您的告警是间歇性的,并且能够自行恢复,但仍然可能在偏移较大的时间段内影响集群的稳定性。即使当前未出现明显问题,长期来看仍需解决以避免潜在风险。
2. 是否需要处理
- 需要处理:尽管告警能够自行恢复,但为了保证生产环境的高可用性和稳定性,建议及时处理时钟偏移问题,确保所有节点的时间偏差始终在 2 秒以内。
3. 操作步骤
以下是具体的处理方法(参考文档片段 1、3 和 4):
(1) 检查 NTP 偏移量
- 使用以下命令检查当前服务器与 NTP 时钟源的偏移量:
输出示例:ntpq -p
如果remote refid st t when poll reach delay offset jitter ============================================================================== +time.google.co .GOOG. 2 u 50 64 1 12.345 367.613 0.012
offset
超过 100 毫秒,则需要调整。
(2) 调整操作系统时间
- 如果偏移量较大,NTP 服务可能不会自动调整系统时间。可以通过以下命令手动调整:
替换sudo ntpdate -u <ntp_server>
<ntp_server>
为您的 NTP 服务器地址。
(3) 配置 NTP 服务
- 确保 NTP 服务已正确配置并持续运行。编辑
/etc/ntp.conf
文件,添加或修改以下内容:server <ntp_server> iburst driftfile /var/lib/ntp/drift
- 启动或重启 NTP 服务:
sudo systemctl start ntpd sudo systemctl enable ntpd
(4) 验证配置
- 再次运行
ntpq -p
命令,确认偏移量已降至合理范围(小于 100 毫秒)。
(5) 检查 OBProxy 和 OBServer 时间
- 确保 OBProxy 和 OBServer 所在的所有节点都已完成上述配置,并验证时间同步状态。
4. 其他注意事项
- OCP 节点同步:如果 OCP Express 或 OCP 的节点与 OceanBase 集群不在同一节点上,也需要同步时钟源(参考文档片段 4)。
- 动态修改时钟支持:从 OceanBase 4.0.0 开始,支持动态修改时钟,修改间隔在 2 秒以内不会影响数据正确性和集群稳定运行(参考文档片段 4)。
总结
间歇性时钟偏移告警可能会对 OceanBase 集群的稳定性产生潜在影响,建议按照上述步骤进行处理,确保所有节点的时间偏差始终在 2 秒以内。完成配置后,继续观察告警情况,确保问题彻底解决。
如果您还有其他疑问,请随时联系 OceanBase 的技术支持团队获取进一步帮助。
检索到的文档如下: