1.什么是chrony
chrony 是网络时间协议(NTP)的通用实现。
chrony 包含两个程序:chronyd 是一个可以在启动时启动的守护程序。chronyc 是一个命令行界面程序,用于监视 chronyd 的性能并在运行时更改各种操作参数。
与其它时间同步软件的对比:https://chrony.tuxfamily.org/comparison.html
2.ntp和chrony区别
其实以前版本RHEL和centos是用ntp的,只不过从centos7.2变成了chrony,而RHEL从7.0开始改用chrony同步时间,原ntp同步方式也可以使用,但要安装ntp服务。
chrony是linux7开始使用的时间同步服务,系统内置。比ntp更加快捷,简单
传统ntp安装部署时间同步方法可以参见https://blog.csdn.net/weixin_33755847/article/details/93586528
本人主讲chrony同步方式
3.阿里的几个ntp服务器地址,你可以写在你的配置文件内/etc/chrony.conf
4.配置chrony
一般可以把内网服务器1(10.30.40.221)作为ntp服务端,此服务器在配置文件vim /etc/chrony.conf里面修改2部分,第一部分是修改连接一个外网ntp服务器,譬如阿里的1第二部分是修改允许连接本服务器1的哪些ip网段!
而内网服务器2(10.30.40.216)作为客户端,只需要修改配置文件vim /etc/chrony.conf内指定内网服务器1作为时间同步的服务器端即可。
服务端配置:内网服务器1(10.30.40.221)
yum -y install chrony
vim /etc/chrony.conf
server iburst allow 10.30.0.0/16
systemctl enable chronyd
systemctl start chronyd
客户端配置:内网服务器2(10.30.40.216)
yum -y install chrony
vim /etc/chrony.conf
server 10.30.40.221 iburst
systemctl enable chronyd
systemctl start chronyd
最后可以用下面2个命令查看时间同步情况
# 查看时间同步状态 timedatectl status 或者 date查看当前系统时间
参考博文https://www.cnblogs.com/jhxxb/p/11526098.html
PS:配置文件中 iburst 选项作用我查了一下:
iburst : 选项作用是如果在一个标准的轮询间隔内没有应答,客户端会发送一定数量的包(八个包而不是通常的一个)给 NTP 服务器。
iburst :当一个运程NTP服务器不可用时,向它发送一系列的并发包进行检测。
iburst : 当server不可达时,以默认发包速率的8倍向服务器发包。
而且我测试了修改系统时间,过一会,时间会自动变为正确时间:
[root@nessus ~]# systemctl stop chronyd
[root@nessus ~]# date -s 20140712
2014年 07月 12日 星期六 00:00:00 CST
[root@nessus ~]#
[root@nessus ~]# date
2014年 07月 12日 星期六 00:00:03 CST
[root@nessus ~]#
[root@nessus ~]#
[root@nessus ~]#
[root@nessus ~]# systemctl start chronyd
[root@nessus ~]# date
2014年 07月 12日 星期六 00:00:16 CST
[root@nessus ~]#
[root@nessus ~]# date
2020年 09月 17日 星期四 15:30:21 CST
==============================第二次测试
[root@nessus ~]# date -s 20140715
2014年 07月 15日 星期二 00:00:00 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:00:02 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:00:04 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:00:05 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:00:06 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:00:09 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:00:11 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:00:12 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:00:17 CST
2014年 07月 15日 星期二 00:01:18 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:01:19 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:01:20 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:01:26 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:01:46 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:01:47 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:01:49 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:01:50 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:01:51 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:02:27 CST
[root@nessus ~]# date
2014年 07月 15日 星期二 00:02:28 CST
[root@nessus ~]# date
2020年 09月 17日 星期四 15:34:57 CST
[root@nessus ~]#
此外:这个文章
https://www.cnblogs.com/createyuan/p/4301491.html
提到1:
最后提醒一下使用vmware的各位,因为虚拟机的时钟不太正常,比正常速度慢好多秒,所以在虚拟机上测试ntpd很难得到理想的结果,我当年就是为这个问题耽搁了好几天。
提到2:
ntpd(不是本文的chrony)在打开NTP服务器之前先和这些服务器做一个同步,使得我们机器的时间尽量接近标准时间. 这里我们可以用ntpdate命令!
之后我联想到https://www.cnblogs.com/jhxxb/p/11526098.html文章在配置chrony时候说用下面命令开启网络时间同步,我觉得后期配置时候还是执行下该命令,确保本机时间更新嘛
# 开启网络时间同步
timedatectl set-ntp true (chrony也搞一下这个命令)
有时候认为修改系统时间,譬如下面我的修改,等了九分钟也没有同步,用chronyc sources -v查看是问号不可达,之后我重启服务来解决的。那个timedatectl set-ntp true中间也试过,还是最后重启服务好的!