一、实验环境
服务器类型 操作系统 IP地址
服务端 centos7.4 192.168.162.148
客户端1 redhat8.0 192.168.162.150
客户端2 redhat6.4 192.168.162.151
二、服务端配置
1、检查是否安装ntp服务
[root@localhost ~]# rpm -qa | grep ntp
ntp-4.2.6p5-25.el7.centos.2.x86_64
2、检查ntp服务是否开机自启
[root@localhost ~]# systemctl is-enabled ntpd #红帽7、8版本
[root@localhost ~]# chkconfig --list | grep ntp #红帽6版本
3、修改ntp配置文件
[root@localhost ~]# vi /etc/ntp.conf
加入下面两行:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
说明:第一行是要同步的时间服务器的IP地址(这里我用自己设备的硬件时间)
第二行是时间服务器的层次。设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0,而作为局域网的time service provider,通常将stratum设置为10。
4、重启ntp服务
[root@localhost ~]# systemctl restart chronyd #红帽8版本
[root@localhost ~]# systemctl restart ntpd #红帽7版本
[root@localhost ~]# service ntpd restart #红帽6版本
三、客户端配置
1、检查是否安装ntp服务
[root@localhost ~]# rpm -qa | grep ntp
ntp-4.2.6p5-25.el7.centos.2.x86_64
2、检查ntp服务是否开机自启
[root@localhost ~]# systemctl is-enabled ntpd #红帽7、8版本
[root@localhost ~]# chkconfig --list | grep ntp #红帽6版本
3、修改ntp配置文件
[root@localhost ~]# vi /etc/ntp.conf
加入:
server 192.168.162.148
说明:加入的这一行是服务端的IP地址,意思是同步192.168.162.148这台服务器的时间
4、重启ntp服务
[root@localhost ~]# systemctl restart chronyd #红帽8版本
[root@localhost ~]# systemctl restart ntpd #红帽7版本
[root@localhost ~]# service ntpd restart #红帽6版本
四、测试ntp时间同步
1、首先将服务端和客户端的时间做调整
服务端:
[root@localhost ~]# date
Tue Mar 30 16:15:11 CST 2021
客户端1:
[root@localhost ~]# date
Tue Mar 30 16:20:09 CST 2021
客户端2:
[root@localhost ~]# date
2021年 03月 30日 星期二 16:09:57 CST
说明:采集时间是同一时刻采集的,不存在执行命令的时差。服务端是标准时间,客户端1比服务端快大概5分钟,客户端2比服务端慢大概5分钟。
2、现在已经距离步骤1的时间调整过去25分钟了,我们查看一下时间:
服务端:
[root@localhost ~]# date
Tue Mar 30 16:38:44 CST 2021
客户端1:
[root@localhost ~]# date
Tue Mar 30 16:41:56 CST 2021
客户端2:
[root@localhost ~]# date
2021年 03月 30日 星期二 16:38:44 CST
此时客户端2比服务端时间慢的,已经同步正常,客户端1比服务端时间快的还没有完全同步,相差大概三分钟。
3、现在距离步骤2已过去30分钟,我们再次查看一下时间:
服务端:
[root@localhost ~]# date
Tue Mar 30 17:09:04 CST 2021
客户端1:
[root@localhost ~]# date
Tue Mar 30 17:09:44 CST 2021
客户端2:
[root@localhost ~]# date
2021年 03月 30日 星期二 17:09:04 CST
此时客户端1比服务端时间快40秒,已接近时间同步
4、现在距离步骤3已过去30分钟,我们再次查看一下时间:
服务端:
[root@localhost ~]# date
Tue Mar 30 17:38:12 CST 2021
客户端1:
[root@localhost ~]# date
Tue Mar 30 17:38:12 CST 2021
客户端2:
[root@localhost ~]# date
2021年 03月 30日 星期二 17:38:12 CST
此时客户端1和客户端2的时间已经和服务端的时间完全同步。
五、总结
1、按照以上方法配置ntp可实现时间很平滑的自动同步。
2、系统使用ntp服务或者chronyd服务均可使用此方法平滑的同步时间。
3、ntpd不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。
4、ntpdate会造成时钟的跃变,对于某些程序会导致很严重的问题。