一、Chrony介绍
Chrony是NTP(Network Time Protocol,网络时间协议,服务器时间同步的一种协议)的另一种实现,与ntpd不同,它可以更快且更准确地同步系统时钟,最大程度的减少时间和频率误差。
二、chrony的信息
Chrony运行于UDP323端口,ntp运行于UDP123端口,使用chrony服务器可以同时为chrony客户端和ntp客户端提供服务。
Chrony包括两个核心组件:
1、chronyd:一个后台运行的守护进程,用于调整内核中运行的系统时钟与NTP服务器同步。它确定服务器增减时间的比率,并对此进行调整补偿,即是服务器端进程也可以是客户端进程;
2、chronyc:提供用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的服务器上工作,也可以在一台不同的远程服务器上工作。
三、安装及配置chrony
yum install chrony
配置文件:
服务端
[root@k8s-master01 ~]# vim /etc/chrony.conf
server ntp.aliyun.com iburst # 配置时间服务器,以server开头,可以添加多个。 driftfile /var/lib/chrony/drift # 根据实际时间计算出服务器增减时间的比率,然后记录到一个文件中重启补偿校正 makestep 1.0 3 #如果系统时钟的偏移量大于1秒,则允许系统时钟在前三次更新中步进。 rtcsync # 将启用一个内核模式,在该模式中,系统时间每1分钟会拷贝到实时时钟(RTC)。 allow 10.0.0.0/24 #允许或者拒绝客户端ip同步时间 local stratum 10 # 当chrony服务器提供的时间不可用时,采用本地时间作为同步标准继续作为时间服务器让其他主机来同步时间 keyfile /etc/chrony.keys # 指定包含NTP验证密钥的文件 logdir /var/log/chrony # 指定存放日志文件的目录
#重启并设为开机自启
systemctl restart chronyd
systemctl enable chronyd
客户端
~]# vim/etc/chrony.conf
server 10.0.0.10 #修改为需要同步的服务端IP
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
logdir /var/log/chrony
#重启并设为开机自启
systemctl restart chronyd
systemctl enable chronyd
#使用客户端进行验证
chronyc sources -v
clockdiff -o 10.0.0.10 #查看和服务端的时间偏差
chronyc可以进行交互模式
常用指令说明:
-
help:查看完整的命令帮助列表
-
tracking:显示系统时间信息
-
activity:检查多少NTP源在线/离线
-
add server:手动添加一台新的NTP服务器
-
delete:手动移除NTP服务器或对等服务器
-
clients:在客户端报告已访问到的服务器
-
accheck:在服务端检查NTP服务是否对特定客户端主机可用
- 具体命令可以用man chronyc