本节主要介绍了时钟同步问题的排查方法。
适用版本
OceanBase 数据库所有版本问题排查思路
OceanBase 集群要求 OBServer 服务器间时钟同步时延在 100ms 以内。如果出现了时钟同步不稳定、偏移超出阈值的问题,会直接影响 OceanBase 集群的稳定性和可用性。因此出现集群不可用,频繁切主等问题时,可以考虑排查时钟同步情况。通常情况下经由 OceanBase 交付的 OceanBase 商业版本在搭建集群之前,已经进行了时钟同步相关的配置和检查。如时钟不同步,请检查时钟的状态与偏移量。
问题排查步骤
在 OceanBase 部署的环境中常见的有 NTP 和 Chrony 两种时钟同步的配置。请按如下步骤检查时钟同步状态与偏移量。采用 NTP 的时钟同步方式
NTP 服务需要以 -x 模式启动 (slew mode)保证如果在有时钟偏差的情况可以缓慢调整偏移。-x 的选项会保证默认按照 2000s 调整 1s 的步长来调整时钟偏移。1. 检查 NTP 状态
运行 ntpstat 检查 NTP 服务器状态。如果结果为 synchronised to NTP server,则可以认定 NTP 的配置处于同步状态。
[root@hostname /]# ntpstat
synchronised to NTP server (xx.xxx.xx.xxx) at stratum 4
time correct to within 4 ms
polling server every 32 s2. 检查 NTP 的偏移量。
可以多次执行如下命令,确保可以看到稳定的 offset。若 offset 值小于 50ms 则为时钟同步正常。
[root@hostname /]# ntpq -p|grep -E "\*|\=|remote"
remote refid st t when poll reach delay offset jitter
==========================================================================
*xxxxxxxxxxx xxxxx 2 u 16 64 377 1.333 0.046 0.033采用基于 Chrony 配置的时钟同步方式
1. 检查 Chronyc 的状态。
执行如下命令,检查 Chrony 的同步状态。如果状态为 Normal,则表示时钟同步。
$chronyc -n tracking |grep Leap
Leap status : Normal2. 检查 Chronyc 的偏移量。
多次执行如下命令, 显示内容的最后一列代表了时钟的偏移量,如果其值小于 50ms,则表示时钟同步在可接受范围内。
[admin@hostname ~]$ chronyc sources -v
MS Name/IP address strarum Poll Reach LastRX Last sample
==================================================================================
^- <hostname> 6 4 377 15 -251us [ -251us] -/- 12ms
^* <hostname> 6 4 377 16 -322us [ -340us] -/- 26ms在进行了上述检查后,仍没有查到时钟同步不符合预期的原因,请联系 OceanBase 技术支持人员处理。
最后修改时间:2022-11-25 18:47:15
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




