如何在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
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要判断chrony客户端时间同步是否失败,可以通过查看服务器和客户端的时间是否同步完成来判断。首先,需要以交互式方式查看时间同步资源。在命令行中输入以下命令: ``` [root@time-server ~]# chronyc ``` 接着,在chronyc命令行中输入以下命令查看时间同步资源: ``` chronyc> sources ``` 如果输出结果中的Number of sources为0,表示没有成功同步时间源。如果输出结果中有时间源,可以根据LastRx和Last sample字段的值来判断时间同步的情况。如果LastRx和Last sample字段的值较小且为负数,表示时间同步较为成功。 另外,要注意的是,由于操作系统在运行过程中CPU繁忙等各种原因,久而久之可能导致系统时钟不精确,从而引起客户端时间同步失败。因此,在生产环境中,可能会出现集群中一些主机的时间同步的情况。为了解决这个问题,CentOS7.x版本将CentOS6.x版本的ntpd替换为chronyd服务,以提高时间同步的精确度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [时间同步---chrony](https://blog.csdn.net/weixin_42502744/article/details/117123841)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值