【chrony】CentOS7.2 上chrony的安装与配置

【chrony】CentOS7.2 上chrony的安装与配置,第1张

NTP:Network Time Protocol 网络时间协议

Chrony 应用本身已经有几年了,其是是网络时间协议的 (NTP) 的另一种实现。

Chrony可以同时做为ntp服务的客户端和服务端

一直以来众多发行版里标配的都是ntpd对时服务,自rhel7/centos7 起,Chrony做为了发行版里的标配服务,不过老的ntpd服务依旧在rhel7/centos7里可以找到 。

Chrony有两个核心组件:

chronyd:是守护进程,主要用于调整内核中运行的系统时间和时间服务器同步。它确定计算机增减时间的比率,并对此进行调整补偿。

chronyc:提供一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。

chrony用来同步时间,来代替ntp服务,优点是很精巧的时间同步工具,更快响应时钟变化,在应对延时提供更好的稳定性能,不会出现时间空白,跨越互联网同步时间只需要几毫秒。

操作系统: CentOS7.x

chronyServer  192.168.1.106

chronyClient  192.168.1.100

在chronyServer 和chronyClient 服务器:

# yum -y install chrony

# rpm -ql chrony

开启防火墙

#  firewall-cmd --add-service=ntp  --permanent

# firewall-cmd --reload

关闭selinux

# setenforce 0

# sed -i 's/^SELINUX=.*/SELINUX=permissive/g'  /etc/selinux/config

在chronyServer服务器:

# vim /etc/chrony.conf

#########################

server pool.ntp.org iburst prefer

server 192.168.1.106 iburst

driftfile /var/lib/chrony/drift

makestep 1.0 3

rtcsync

allow 192.168.1.0/24

local stratum 10

logdir /var/log/chrony

bindaddress 192.168.1.106

port 123

###############################

# systemctl start chronyd

# systemctl enable chronyd

#  systemctl status  chronyd

查看服务端绑定的IP和端口监听

# ss  -uan 

chronyd默认监听两个端口: 123/udp   323/udp

123/udp  ,是供客户端通讯连接用的,安全起见,请绑定服务端socket的IP,而不是0.0.0.0

323/udp,供chronyc连接用,安全起见,默认绑定的本地socket的IP为 127.0.0.1

在chronyClient服务器:

# vim /etc/chrony.conf

################################

server 192.168.1.106 iburst

driftfile /var/lib/chrony/drift

makestep 1.0 3

rtcsync

logdir /var/log/chrony

bindacqaddress  192.168.1.100

acquisitionport  1234

#######################################

# systemctl start chronyd

# systemctl enable chronyd

#  systemctl status  chronyd

# ss -uan

注意:chrony作为客户端是采用随机的udp端口与服务端进行通讯的,但是我们可以绑定客户端socket的的IP和端口,以便于相应的防火墙管理控制,,本客户端,我们配置的与服务端通讯的端口为 1234。

#  watch chronyc tracking

Chrony Introduction

https://chrony.tuxfamily.org/

https://wiki.archlinux.org/index.php/Chrony

chrony.conf(5) Manual Page

https://chrony.tuxfamily.org/doc/3.4/chrony.conf.html

CentOS / RHEL 7 : Chrony V/s NTP (Differences Between ntpd and chronyd)

https://www.thegeekdiary.com/centos-rhel-7-chrony-vs-ntp-differences-between-ntpd-and-chronyd/

CHAPTER 17. CONFIGURING NTP USING THE CHRONY SUITE

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-configuring_ntp_using_the_chrony_suite

CentOS 7.x中正确设置时间与时钟服务器同步

https://linux.cn/article-4764-1.html

https://www.jianshu.com/p/a8cc55c894e9?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

chronyd Can't synchronise: no majority

https://forums.fedoraforum.org/showthread.php?298929-Automatic-time-set

CentOS / RHEL 7 : How to sync chrony to local clock

https://www.thegeekdiary.com/centos-rhel-7-chrony-how-to-sync-to-local-clock/

Manage NTP with Chrony

https://opensource.com/article/18/12/manage-ntp-chrony

Chrony:一个类 Unix 系统上 NTP 客户端和服务器替代品

https://linux.cn/article-10250-1.html

How to Install and Use Chrony in Linux

https://www.tecmint.com/install-chrony-in-centos-ubuntu-linux/

Centos 8不在直接使用ntp,而是使用chrony作为时间同步,chrony既可以当服务器端广播时间,又可以作为客户端同步时间

安装

sudo dnf install chrony -y

sudo yum install chrony -y

Centos8使用firewalld服务对防火墙进行管理。放行ntp服务(123/udp)

firewall-cmd --add-service=ntp --permanent &&firewall-cmd --reload

作为服务器端

配置chrony服务端

sudo vim /etc/chrony.conf

删除配置自带的NTP服务器。换成国内阿里云的NTP服务器地址。

添加上游NTP服务器

server time1.aliyun.com iburst   

server time2.aliyun.com iburst

server time3.aliyun.com iburst

允许 192.168.1.0/24 内的客户端通过这台服务器获取时间

allow 192.168.1.0/24

配置无误后,重启chrony服务,并配置开机自启动:

systemctl restart chronyd.service

systemctl enable chronyd.service

使用ss -tlunp | grep chrony或者 lsof -i:123 命令 检查chrony服务使用的123/udp端口是否启动成功

作为客户端

同样安装,然后修改客户端chrony配置文件

sudo vim /etc/chrony.conf

# Use public servers from the pool.ntp.org project.

# Please consider joining the pool (http://www.pool.ntp.org/join.html).

# pool 2.centos.pool.ntp.org iburst

#添加NTP服务器

server time1.aliyun.com iburst   

server time2.aliyun.com iburst

server time3.aliyun.com iburst

如果有自建的chrony客户端也可以自行配置

server 192.168.1.30 iburst

重启chrony客户端服务,重启chrony服务,并配置开机自启动:

systemctl restart chronyd.service &&systemctl enable chronyd.service --now

查看同步状态

chronyc sources -v

Chrony是NTP(Network Time Protocol,网络时间协议,服务器时间同步的一种协议)的另一种实现,与ntpd不同,它可以更快且更准确地同步系统时钟,最大程度的减少时间和频率误差。

在CentOS6中,默认是使用ntpd来同步时间的,但ntpd同步时间并不理想,有可能需要数小时来同步时间。而且ntp也已经很老了。所以在Centos7中换成了chrony来实现时间同步。chrony并且兼容ntpd监听在udp123端口上,自己则监听在udp的323端口上。

如果在chrony配置文件中指定了ntp服务器的地址,那么chrony就是一台客户端,会去同步ntp服务器的时间,如果在chrony配置了允许某些客户端来向自己同步时间,则chrony也充当了一台服务器,所以,安装了chrony即可充当客户端也可以充当服务端。一般我们只需要做客户端就好,不需要对外提供时间同步功能。

一、chrony是两个用来维持计算机系统时钟准确性的程序,这两个程序命名为chronyd和chronyc。

chronyd是一个在系统后台运行的守护进程。主要用于调整内核中运行的系统时间和时间服务器同步,他根据网络上其他时间服务器时间来测量本机时间的偏移量从而调整系统时钟。对于孤立系统,用户可以手动周期性的输入正确时间(通过chronyc)。在这两种情况下,chronyd决定计算机快慢的比例,并加以纠正。chronyd实现了NTP协议并且可以作为服务器或客户端。

chronyc是用来监控chronyd性能和配置其参数的用户界面。他可以控制本机及其他计算机上运行的chronyd进程。

服务unit文件: /usr/lib/systemd/system/chronyd.service

监听端口: 323/udp,123/udp

配置文件: /etc/chrony.conf

二、chrony 的优势:

更快的同步,从而最大程度减少了时间和频率误差,对于并非全天 24 小时运行的虚拟计算机而言非常有用

能够更好地响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节能技术而言非常有用

在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响

在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更好的稳定性

无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/357605.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存