Linux下的时钟同步

场景

数据库集群服务器之间的时钟同步

如何同步

通过ntp

可以用下面的命令查看是否安装

 rpm -aq | grep ntp

操作步骤

1、安装

在线安装

 yum install ntp

离线安装

1)需要自己下载rpm包(centos 7)

Linux下的时钟同步_第1张图片

链接:https://pan.baidu.com/s/1LY0_aha4ZOPv6HviPShgQQ 
提取码:e30w 

下载完成后依次安装

[root@localhost ntp]# rpm -ivh autogen-libopts-5.18-5.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:autogen-libopts-5.18-5.el7       ################################# [100%]
[root@localhost ntp]# rpm -ivh ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:ntpdate-4.2.6p5-29.el7.centos.2  ################################# [100%]
[root@localhost ntp]# rpm -ivh ntp-4.2.6p5-29.el7.centos.2.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:ntp-4.2.6p5-29.el7.centos.2      ################################# [100%]

2、配置主服务器

选取集群中的主节点作为主服务器

1)修改 ntp 配置文件 /etc/ntp.conf

[root@localhost ~]# vi /etc/ntp.conf

修改内容如下:

a)授权当前网段内所有主机可通过此主机查询和同步时间

restrict 10.99.56.193 mask 255.255.255.0 nomodify notrap

b)设置无网络连接时使用本地时间为集群机器提供时间同步

server 127.127.1.0
Fudge 127.127.1.0 stratum 8

Linux下的时钟同步_第2张图片

(2)重启 ntp 服务

[root@localhost ~]# systemctl restart ntpd

(3)设置 ntp 服务开机自启

[root@localhost ~]# systemctl enable ntpd.service

3. 配置所有其他客户主机

(1)安装ntp服务

参照前面的步骤

(2)修改 ntp 配置文件 /etc/ntp.conf

[root@localhost ~]# vi /etc/ntp.conf

添加如下内容:

server 10.99.56.193
Fudge 10.99.56.193 stratum 8

(2)重启 ntp 服务

[root@localhost ~]# systemctl restart ntpd

(3)设置 ntp 服务开机自启

[root@localhost ~]# systemctl enable ntpd.service

(4)验证是否同步

ntpq -p

出现上面的结果代表同步成功

4、问题

当用ntpdate -d 来查询时 如果出现 no server suitable for synchronization found 的错误

这是因为NTP server还没有和其自身或者它的server同步上。
以下的定义是让NTP Server和其自身保持同步,如果在/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。

#同步主机配置

server 127.127.1.0
Fudge 127.127.1.0 stratum 10 

在ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server suitable for synchronization found的错误。

那么如何知道何时ntp server完成了和自身同步的过程呢?

在ntp server上使用命令:

# watch ntpq -p

出现画面:

注意LOCAL的这个就是与自身同步的ntp server。

注意reach这个值,在启动ntp server服务后,这个值就从0开始不断增加,当增加到17的时候,从0到17是5次的变更,每一次是poll的值的秒数,是64秒*5=320秒的时间。

如果之后从ntp客户端同步ntp server还失败的话,用ntpdate –d来查询详细错误信息,再做判断。

你可能感兴趣的:(Linux,linux,同步)