为什么要用chrony代替ntp?
CentOS8以前,推荐使用的时间同步软件都是ntpd,但是现在,官方更多的会推荐使用chrony。这里要分清一个概念ntpd软件和NTP协议不是一个东西,NTP协议是网络时间同步协议。而chrony和ntpd都是实现NTP协议的软件。我们所谓的的“chrony代替ntp”,只是chrony代替了ntpd这个软件。
再强调一遍:chrony是实现NTP协议的其中一个软件。
之所以chrony会代替ntp,Tristone认为主要有如下几个原因:
1、chrony是新的设计,ntpd是老的设计,chrony的设计思想更先进;
2、chrony的配置参数比ntpd稍微简单一些;
3、chrony的运行速度比ntpd要快得多。
Chrony相关知识
Chrony有两个核心组件,chronyd和chronyc
chronyd:是守护进程,它负责:
1、将server上时间获取到本机;
2、调整本机内核中运行的系统时间(完成时间同步);
3、对外提供时间同步服务(作为时间同步服务器server)。
在细节上,如果本机时间与服务器时间差距过大,chronyd还会确定每次增减时间的比率,并对此进行调整补偿。
chronyc:是用户界面,它负责:
1、监控chrony的性能;
2、对chrony进行多样化配置;
测试环境
两台CentOS Linux 8服务器,IP配置如下:
192.168.1.240:服务端(Server),负责给客户端提供时间同步服务
192.168.1.241:客户端(client),从240上获取时间,客户端可以增加到N个都没有问题
安装Chrony
chrony的安装特别简单,以下一个命令搞定
yum -y install chrony
配置Chrony
运行下列命令,修改配置文件
vi /etc/chrony.conf
相关的参数设置如下:
#从时间服务器192.168.1.231上获取时间,如果有别的时间服务器,再添加一行就行,总数没上限。
server 192.168.1.240 iburst
#根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中是最合理的,它会在重启后为系统时钟作出补偿
#甚至可能的话,会从时钟服务器获得较好的估值
driftfile /var/lib/chrony/drift
#chronyd根据需求减慢或加速时间调整,Tristone发现网上有好多互相抄的内容,让人不知所云
#这里表示时间的误差如果小于5秒,则通过减慢或加快时钟速度来逐渐调整时钟。
#如果时间的误差大于5秒,前3次更新时间时允许步进时间(一步到位调整时间)。
#如果改为:makestep 5 -1,则一直是按照一步到位的方式调整时间(慎用)
makestep 5 3
#rtcsync指令将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC);
rtcsync
#允许哪个IP访问本服务器的时间服务
allow 192.168.1.0/24
#禁止哪个IP访问本服务器的时间服务
deny 192.168/16
#Get TAI-UTC offset and leap seconds from the system tz database.
#从system tz数据库中获取TAI-UTC偏移量和闰秒。
leapsectz right/UTC
#指定日志文件的目录。
logdir /var/log/chrony
#指定包含NTP验证密钥的文件。
#keyfile /etc/chrony.keys
如果你担心配置有问题,可以将你的“/etc/chrony.conf ”内容清空,并将上述内容复制到里面。
每次修改完“/etc/chrony.conf ”都需要重启一下chronyd服务
基本操作:
systemctl stop chronyd #停止chronyd服务
systemctl start chronyd #开始chronyd服务
systemctl restart chronyd #重启chronyd服务
systemctl status chronyd #查看chronyd服务状态
systemctl enable chronyd #开机启动chronyd服务
systemctl disable chronyd #禁止开机启动chronyd服务
chronyc sources -v #查看时间同步源,查看时间同步进度
#结果解释: *说明时间同步完成,如果为?说明不成功,检查防火墙再看看chronyd有没有重启。
chronyc sourcestats -v #查看时间同步源状态:
timedatectl set-local-rtc 1 #硬件时间默认为UTC:
timedatectl set-ntp yes #启用NTP时间同步:
chronyc tracking #校准时间服务器:
防火墙允许对外提供服务
firewall-cmd --add-service=ntp --permanent #永久允许对外提供NTP时间服务
firewall-cmd --reload
两台服务器都按照这个配置操作,就完成了服务器的时间同步工作。同理,多台服务器依然可以采用这个配置进行时间同步,也就是一台Chrony可以给N台服务器提供时间校对服务。
举报/反馈

石哥话科技

11获赞 5粉丝
分享最新的科技、技术、软件和硬件知识。
关注
0
0
收藏
分享