一、简介:
Chrony是一个开源自由的网络时间协议 NTP 的客户端和服务器软软件。它能让计算机保持系统时钟与时钟服务器(NTP)同步,因此让你的计算机保持精确的时间,Chrony也可以作为服务端软件为其他计算机提供时间同步服务。
Chrony由两个程序组成,分别是chronyd和chronyc
chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。
chronyc提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。
NTP 是网络时间协议(Network Time Protocol)的简称,通过 udp 123 端口进行网络时钟同步。
RHEL7中默认使用chrony作为时间服务器,也支持NTP,需要额外安装。
NTP与chrony不能同时存在,只能用其中一个,并将另一个mask掉。
前提说明:
1、主机A (172.25.8.10)、主机B(192.168.2.10)、主机C(192.268.254.10) 在同一局域网,可不在同一网段中
2、下文中主机A为server端 主机B和主机C为client端
二、离线安装(局域网安装)
提前准备两个离线包:chrony 和 ntpdate及卸载系统自带的systemd-timesyncd
chrony下载地址:
链接:https://pan.baidu.com/s/1PNUAzEBa8WySL6LKcgyZcw
提取码:xddk
ntpdate下载地址:
链接:https://pan.baidu.com/s/1ryfSDwDxWnaZNtytScK3-w
提取码:324g
卸载systemd-timesyncd
安装chrony和ntpdate
安装chrony:
sudo dpkg -i chrony_4.2-2ubuntu2_amd64.deb
安装ntpdate:
sudo dpkg -i ntpdate_4.2.8p15+dfsg-1ubuntu2_amd64.deb
启动chrony
service chrony start
修改主机A配置文件
$ sudo vim /etc/chrony/chrony.conf
在文章末尾添加以下配置
local stratum 10
【注释:值10可以被其他值取代(1~15),stratum 1表示计算机具有直接连接的真实时间的参考时间源,例如gps,原子钟都和真实时间很接近欸, #stratum 2表示计算机有一个stratum 1的计算机作为同步时间源,stratum 3表示该计算机有一个stratum 10的计算机作为同步时间源。 #选择stratum 10.这个值是比较大的,表示距离有真实时间的服务器比较远,它的时间不太可靠,因此,local命令选取stratum 10可以 #防止机器本身的时间与真实时间混淆,可以保证该机器不会将本身的时间授给那些可以连接同步到真实时间的ntp服务器的ntp客户端】
allow 192.168.2.0/24
allow 192.268.254.0/24
【注释:开通可访问网段】
配置后重启服务 service chrony restart
修改主机B、C配置文件
$ sudo vim /etc/chrony/chrony.conf
# 在文章末尾添加以下配置
server 172.25.8.10 minpoll 0 maxpoll 5 maxdelay .05
配置后重启服务 service chrony restart
在主机B、C ntpdate测试
$ ntpdate -q 172.25.8.10
server 172.25.8.10, stratum 2, offset 0.045977, delay 0.12383 9 Oct 15:08:50 ntpdate[79795]: adjust time server 172.25.8.10 offset 0.045977 sec
问题总结:
如果同步异常有两种情况
主机A、B、C三台主机的防火墙端口未开
123/UDP 323 /UDP
当主机通外网的情况下优先同步网络时间,故如果只想内网同步需要将client端配置文件中pool外网地址全部注释掉
来源地址:https://blog.csdn.net/weixin_42340143/article/details/129435988