首批通过分布式安全可靠测评,为关键业务系统打造
OceanBase 数据库的选举协议为何依赖于时钟同步
更新时间:2026-06-12 07:31
本文主要介绍 OceanBase 数据库依赖时钟同步的原理,以及 OceanBase 数据库推荐的时间同步配置。
Paxos 选举协议会检查每个消息在发送端和接收端的时间差(即消息的延迟时间),并且设置了最大允许的延迟,其中同时考虑了 2 个机器间的时钟延迟上限(最大为 100 ms)和 rpc 延迟上限(最大为 200 ms)。
当消息延迟超过上限后,就认为是过期消息,就会被 RootService 的选举模块忽略,此时选举不能正常进行,会导致 OceanBase 数据库集群没有主副本或者发生脑裂。
OceanBase 数据库推荐的时钟同步配置如下。
保证每台 OBServer 与时钟服务器的时钟偏差小于 100 ms。
其中
ntp_server_ip为时钟服务器的 IP 地址,如果返回synchronised to NTP server则说明已同步。[root@ntp_server_ip /]# ntpstat synchronised to NTP server (ntp_server_ip) at stratum 4 time correct to within 92 ms polling server every 64 s保证时钟服务器时间同步服务正常运行。
保证各个 OBServer 的 NTP 服务状态同步到统一的时钟服务器。
保证各 OBServer 服务器的配置文件中记录了至少 1 个时钟服务器。
[root@hostname /]# cat /etc/ntp.conf server xxx.xxx.x.x Fudge xxx.xxx.x.x stratum 10