CentOS 7 配置NTP服务端和客户端

2023/01/30 02:21 上午 posted in  服务器

在使用集群安装 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