Chrony 在动态环境(如虚拟机、移动网络)中相对于此前我们学习过的ntp时间同步表现更优,尤其适合时间偏差大或网络不稳定的场景,并且ntp默认拒绝客户端与服务器时间差 >1000 秒(约 16.7 分钟)的同步请求,也就是说ntp服务端和客户端之间的时间差超过16.7分钟时客户端会自动停止ntp服务。
我的server端IP为:10.0.2.207,client端IP为:10.0.2.125
首先我们进行server端配置,安装chrony,直接在线安装即可
apt install chrony ntpdate -y
然后更改时区并验证
timedatectl set-timezone Asia/Shanghai
timedatectl
然后手动校对下时间
ntpdate pool.ntp.org
然后添加配置文件,以下配置中的允许连接地址需要根据自己的情况进行修改,我们是将server端作为本地时钟源
mv /etc/chrony/chrony.conf /etc/chrony/chrony.conf_bak
cat >/etc/chrony/chrony.conf<<EOF
server 10.0.2.207 iburst
local stratum 10
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
logdir /var/log/chrony
allow 10.0.2.0/24
EOF
如果不做地址限制allow后面的IP范围改成all即可。
然后启动服务并设置开机启动
systemctl start chrony
systemctl enable chrony
再检查下状态
systemctl status chrony
服务端可以使用以下命令手动同步时间源时间
chronyc sources -v
查看时间源命令如下
chronyc sourcestats -v
接着我们配置client端,client可以是多个,还是先安装
apt install chrony ntpdate -y
然后更改时区并验证
timedatectl set-timezone Asia/Shanghai
timedatectl
添加配置文件
mv /etc/chrony/chrony.conf /etc/chrony/chrony.conf_bak
cat >/etc/chrony/chrony.conf<<EOF
server 10.0.2.207 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
logdir /var/log/chrony
EOF
然后client端重启服务,并设置开机启动
systemctl restart chrony
systemctl enable chrony
再检查下状态
systemctl status chrony
着在客户端节点执行以下命令查看时间同步源和状态
chronyc sources -v
chronyc sourcestats -v
检查同步状态
chronyc tracking
Reference ID : 0A0002CF (10.0.2.207) Stratum : 11 Ref time (UTC) : Tue Aug 05 01:41:10 2025 System time : 0.000218513 seconds slow of NTP time Last offset : -0.000432835 seconds RMS offset : 1802.048583984 seconds Frequency : 10.359 ppm fast Residual freq : +0.250 ppm Skew : 25.846 ppm Root delay : 0.001980493 seconds Root dispersion : 0.001556550 seconds Update interval : 64.3 seconds Leap status : Normal
可以看到时间源均为我们server端,配置是没有问题的。
最后我们再验证一下,我们修改client端到一个错误时间
date -s "2025-08-05 09:00:00"
然后等待一会发现能够正常修正时间,说明我们配置的时间同步服务没有问题。
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://sulao.cn/post/1115
评论列表