Chrony是一个开源的自由软件,它能够让linux系统时间和时间(NTP)服务器同步,让时间始终保持同步

NTP的缺点在于如果修改时间到10年前,那么NTP服务就蒙圈了,但是Chrony不会出现这种问题

环境准备

主机名 IP地址 描述
linux-node1 172.16.1.170 Chrony服务端
linux-node2 172.16.1.171 Chrony客户端

NTP同步原理图(以阿里云NTP服务为例):
CentOS 7中Chrony时间同步_第1张图片

1.Cheony服务端

#1.使用前关闭ntp服务
[root@linux-node1 ~]# systemctl stop ntpd.service
[root@linux-node1 ~]# systemctl disable ntpd.service

#2.安装cheony服务
[root@linux-node1 ~]# yum install chrony -y

#3.修改chrony配置文件参数(添加的是阿里云NTP服务器的域名)
#删除自带的默认ntp服务器,修改为如下ntp服务器地址,并且设置允许访问改服务器的NTP服务的地址段
[root@m02 ~]# vim /etc/chrony.conf
....
server ntp1.aliyun.com iburst 
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst

allow 172.16.1.0/24 #只允许172.16.1.0/24网段访问本机NTP服务
....

#4.启动chrony服务,并加入开机自启动
[root@linux-node1 ~]# systemctl start chronyd.service
[root@linux-node1 ~]# systemctl enable chronyd.service

2.Cheony客户端同步

#1.安装ntpdate
[root@liunx-node2 ~]# yum install ntpdate -y

#2.使用ntpdate 指定ntp服务器的IP地址进行时间的同步
[root@liunx-node2 ~]# ntpdate 172.16.1.170
10 Feb 21:53:10 ntpdate[1665]: adjust time server 172.16.1.170 offset 0.005899 sec  # 出现该提示说明时间同步成功

#3.将NTP同步加入到定时任务,每五分钟同步一次
[root@liunx-node2 ~]# crontab -e
##NTP sync to linux-node1
*/5 * * * * /usr/sbin/ntpdate 172.16.1.170 &>/dev/null 2>&1

#4.将系统时间乱改
[root@liunx-node2 ~]# date -s "2018/11/11"
Sun Nov 11 00:00:00 CST 2018

#5.五分钟后系统时间被同步回正常的时间
[root@liunx-node2 ~]# date
Sun Feb 10 22:04:26 CST 2019