


















集群中节点之间需要时间同步,Chronyd不依赖外部的时间服务NTP,在内部搭建时间服务器。
Chrony是网络时间协议(NTP)的一种实现,是一个类Unix系统上NTP客户端和服务器的替代品。Chrony客户端可以与NTP servers同步系统时间,也可以与参考时钟(例如:GPS接受设备)进行同步,还与手动输入的时间进行同步。同样Chrony也可以作为一个NTPv4(RFC 5905) server为其他计算机提供时间同步服务。
Chrony 可以更快的同步系统时钟,具有更好的时钟准确度,并且它对于那些不是一直在线的系统很有帮助。Chrony在Internet上同步的两台机器之间的典型精度在几毫秒内,而在LAN上的机器之间的精度在几十微秒内。chronyd 更小、更节能,它占用更少的内存且仅当需要时它才唤醒 CPU。即使网络拥塞较长时间,它也能很好地运行。它支持 Linux 上的硬件时间戳,允许在本地网络进行极其准确的同步。Chrony 是自由开源的,并且支持 GNU/Linux 和 BSD 衍生版(比如 FreeBSD、NetBSD)、macOS 和 Solaris 等。
[root@192 ~]# yum install chrony
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Package chrony-3.4-1.el7.x86_64 already installed and latest version
Nothing to do
[root@192 ~]# systemctl start chronyd
[root@192 ~]# systemctl enable chronyd
# server配置,vim /etc/chrony.conf 添加以下两项
# Allow NTP client access from local network.
allow all # 允许所有主机从server端同步时间
# Serve time even if not synchronized to a time source.
local stratum 10 # 即使server端无法从互联网同步时间,也同步本机时间至client
# client配置,vim /etc/chrony.conf 注释原server配置,改为prod1机器IP地址
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 192.168.247.136 iburs
# 都重启服务
[root@192 ~]# systemctl restart chronyd
# 服务端查看server端在线情况和时间同步情况
[root@192 ~]# chronyc activity
200 OK
0 sources online
0 sources offline
1 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
[root@192 ~]# chronyc tracking
Reference ID : B65C0C0B (time5.aliyun.com)
Stratum : 3
Ref time (UTC) : Tue Dec 28 08:56:41 2021
System time : 0.000352393 seconds fast of NTP time
Last offset : +0.000411336 seconds
RMS offset : 0.000915787 seconds
Frequency : 1.113 ppm slow
Residual freq : -0.518 ppm
Skew : 55.244 ppm
Root delay : 0.024603928 seconds
Root dispersion : 0.003826973 seconds
Update interval : 64.2 seconds
Leap status : Normal
# 客户端查看server端(也就是本地服务器)在线情况和时间同步情况
[root@192 ~]# chronyc activity
200 OK
1 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
[root@192 ~]# chronyc tracking
Reference ID : C0A8F788 (192.168.247.136)
Stratum : 4
Ref time (UTC) : Tue Dec 28 08:55:38 2021
System time : 0.000000145 seconds slow of NTP time
Last offset : +0.000075000 seconds
RMS offset : 0.000075000 seconds
Frequency : 31.362 ppm slow
Residual freq : +0.119 ppm
Skew : 198.082 ppm
Root delay : 0.024361094 seconds
Root dispersion : 0.004769796 seconds
Update interval : 2.0 seconds
Leap status : Normal
三 为处于孤立网络中的系统配置chrony 孤立网络指的是不连接到互联网的网络。为处于孤立网络中的系统配置chrony,我们首先需要选择一台计算机作为master timeserver。网络中的其他计算机都作为客户端与master同步时间,或者作为客户端的客户端与master的客户端同步时间。在master上,必须用系统时钟的平均偏移率手动设置drift文件。加入master重启,它将会从周围的系统上获取时间数据,并计算平均值来设置它的系统时间。然后它基于drift文件恢复调整系统时间。drift文件会在使用settime命令后自动更新。
# 在master上,编辑/etc/chrony.conf配置文件如下
driftfile /var/lib/chrony/drift #指定存储chronyd计算的系统时钟增益和损耗数据的drift文件位置。
commandkey 1
keyfile /etc/chrony.keys #ntp数据包验证密钥文件
initstepslew 10 client1 client3 client6
local stratum 8
manual #使得可以在chronyc中使用settime命令手动设置时间
allow 192.0.2.0 #其中192.0.2.0是允许连接到master的客户端的网络地址。
# 在master的客户端上,编辑/etc/chrony.conf配置文件如下:
server master #设置master为同步时间源
driftfile /var/lib/chrony/drift
logdir /var/log/chrony
log measurements statistics tracking
keyfile /etc/chrony.keys
commandkey 24
local stratum 10
initstepslew 20 master
allow 192.0.2.123 #192.0.2.123是master的ip地址
# 客户端的chrony.conf配置与以上客户端的配置类似,但是没有local和allow指令。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。