Centos7中Chrony时间同步

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

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

Chrony的优势:

  • 更快的同步只需要数分钟而非数小时时间,从而最大程度减少了时间和频率误差,对于并非全天24小时运行的虚拟计算机而言非常有用
  • 能够更好的响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节能技术而言非常有用
  • 在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响
  • 在应对临时非对称延迟时,提供可更好的稳定性
  • 无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟

image-20201207163838608.png

1. Chrony服务端

  1. #1.使用前关闭ntp服务
  2. [root@linux-node1 ~]# systemctl stop ntpd.service
  3. [root@linux-node1 ~]# systemctl disable ntpd.service
  4. #2.安装cheony服务
  5. [root@linux-node1 ~]# yum install chrony -y
  6. #3.修改chrony配置文件参数(添加的是阿里云NTP服务器的域名)
  7. #删除自带的默认ntp服务器,修改为如下ntp服务器地址,并且设置允许访问改服务器的NTP服务的地址段
  8. [root@m02 ~]# vim /etc/chrony.conf
  9. ....
  10. server ntp1.aliyun.com iburst
  11. server ntp2.aliyun.com iburst
  12. server ntp3.aliyun.com iburst
  13. server ntp4.aliyun.com iburst
  14. allow 172.16.1.0/24 #只允许172.16.1.0/24网段访问本机NTP服务
  15. deny 10.0.0.0/24 #拒绝10.0.0.0/24访问本机NTP服务
  16. ....
  17. #4.启动chrony服务,并加入开机自启动
  18. [root@linux-node1 ~]# systemctl start chronyd.service
  19. [root@linux-node1 ~]# systemctl enable chronyd.service

2. Chrony客户端

  1. #1.安装ntpdate
  2. [root@liunx-node2 ~]# yum install ntpdate -y
  3. #2.使用ntpdate 指定ntp服务器的IP地址进行时间的同步
  4. [root@liunx-node2 ~]# ntpdate 172.16.1.170
  5. 10 Feb 21:53:10 ntpdate[1665]: adjust time server 172.16.1.170 offset 0.005899 sec # 出现该提示说明时间同步成功
  6. #3.将NTP同步加入到定时任务,每五分钟同步一次
  7. [root@liunx-node2 ~]# crontab -e
  8. ##NTP sync to linux-node1
  9. */5 * * * * /usr/sbin/ntpdate 172.16.1.170 &>/dev/null 2>&1
  10. #4.将系统时间乱改
  11. [root@liunx-node2 ~]# date -s "2018/11/11"
  12. Sun Nov 11 00:00:00 CST 2018
  13. #5.五分钟后系统时间被同步回正常的时间
  14. [root@liunx-node2 ~]# date
  15. Sun Feb 10 22:04:26 CST 2019