在使用集群安装 OceanBase,需要保证集群内各机器的时间同步。
OceanBase 集群中的服务器时间必须保持一致,否则会导致 OceanBase 集群无法启动,运行时也会出现故障。物理机与时钟服务器的误差在 50ms 以下可认为时钟是同步状态,OceanBase 集群最大容忍误差不能超过 100ms。当超过 100ms 时,会出现无主情况。恢复时钟同步后。重启 OceanBase 集群, 可以恢复正常。
环境
系统:CentOS 7
服务器:10.168.2.100
客户端:10.168.2.101
NTP公网地址:常见的NTP授时服务器地址
一、配置服务器
1、先安装NTP服务器(服务器是最小安装,不带ntp)
yum install ntp* -y
2、配置ntpd服务
cp /etc/ntp.conf /etc/ntp.conf.bak #做好备份
vi /etc/ntp.conf
配置文件中一般有restrict default语句,注释掉第二种或选择第一种
restrict default nomodify notrap noquery # 默认允许所有可连接客户端ntpdate到本机
restrict default ignore # 默认所有客户端禁止ntpdate到本机
配置与上级互联网服务端连续性同步时间,prefer表示优先,如无可不设置
server 上级ntp服务器IP或者域名 [prefer]
如果之前设置了restrict default ignore的情况下,可以设置哪些客户可以ntpdate到本机
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
其余为可选设置,以默认值即可
3、开启ntpd服务
service ntpd start
chkconfig ntpd on #设置为默认启动,关掉使用off
4、在防火墙开放对应端口
服务器和客户端均需开放123/udp端口
firewall-cmd --zone=public --add-port=123/udp --permanent
firewall-cmd --reload
5、关闭chronyd服务
因为centos7默认使用chronyd来进行时间同步服务,所以使用ntp服务需要关闭chronyd服务
service chronyd stop
chkconfig chronyd off #设置为默认启动,关掉使用off
二、配置客户端
1、先确保到NTP服务器网络可达
ping 10.168.2.100
2、先安装NTP服务器(服务器是最小安装,不带ntp)
yum install ntp* -y
3、使用ntpdate同步一次时间,查看是否有正确回显
ntpd进程进行同步时,只能同步较小的时间差,为防止时间差别太大,提前使用ntpdate进行一次时间同步
ntpdate 10.168.2.100
4、设置ntpd服务
cp /etc/ntp.conf /etc/ntp.conf.bak #做好备份
vi /etc/ntp.conf
方法同上,但注意将设置的上级ntp server端需要设置为
server 10.168.2.100 prefer
设置开启服务后自动同步上级ntp server时间
vi /etc/ntp/step-tickers
加入10.168.2.100
5、开启ntpd服务和关闭chronyd服务
service ntpd start
chkconfig ntpd on #设置为默认启动,关掉使用off
service chronyd stop
chkconfig chronyd off #设置为默认启动,关掉使用off
6、在防火墙开放对应端口
服务器和客户端均需开放123/udp端口
firewall-cmd --zone=public --add-port=123/udp --permanent
firewall-cmd --reload
7、检查状态 每2秒刷新一次
watch ntpq -p