如何在CentOS Linux 8上安装时间同步服务chrony集群?(ntp被代替了)

为什么要用chrony代替ntp?

这里要分清一个概念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.231     #服务端(Server),负责给客户端提供时间同步服务
192.168.1.232     #客户端(client),从231上获取时间,客户端可以增加到N个都没有问题

安装chrony

chrony的安装特别简单,以下一个命令搞定

yum -y install chrony

配置 chrony.conf

运行下列命令,修改配置文件

 vi /etc/chrony.conf 

相关的参数设置如下:

# 从时间服务器192.168.1.231上获取时间,如果有别的时间服务器,再添加一行就行,总数没上限。
server 192.168.1.231 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

你可能感兴趣的:(CentOS)