chrony时间同步服务

342 阅读2分钟

一、服务端

1、安装chrony软件包

yum -y install chrony

2、修改配置文件

#表示与本机IP同步时间,其他server注释或删除
#注:内网环境必须这么做,否则其他会无法同步成功。 如果通公网,可以使用公网的服务器时间
server 127.127.1.0

#为了在下次启动时稳定的同步,系统时钟的预估漂移需要保存到指定的文件中
driftfile /var/lib/chrony/drift

#如果系统时钟由于某种原因与启动后的服务器时间相差甚远,允许chronyd 
#通过步进而不是回转来快速纠正它,这个过程将花费很长时间
makestep 1.0 3

#为了使客户端实时时钟接近服务器的时钟,以便下次时钟启动时更接近真实的时间
#增加了一种 rtcsync 模式,该模式下,系统时间会定期的拷贝到实时时钟里
rtcsync

#允许指定网络的主机同步时间,不指定就是拒绝所有,且默认不开启。
#如果要允许所有则:allow 0.0.0.0/24
#如下,允许一个网段,如果有多个网段,则添加多个allow
allow 177.6.218.0/24

#不去同步任何人的时间,时间同步服务级别
#开启后,即使server指令中时间服务器不可用,也允许将本地时间作为标准时间授予其他客户端
#注:内网环境必须开,否则其他虚拟机无法同步时间
local stratum 10

#chrony日志存放路径
logdir /var/log/chrony

3、手动更新服务端时间

date -s "2023-01-10 17:12:00"
clock -w #写入硬件时间

4、启动服务端

systemctl enable chronyd
systemctl restart chronyd

5、查看连接上来的客户端

chronyc clients

二、客户端

1、安装chrony软件包

yum -y install chrony

2、修改配置文件

# 同步时间的服务器 IP 或 域名
# 这直接使用服务端的ip即可
server 177.6.218.3 iburst

#系统时钟的预估漂移保存到指定的文件中,是为了在下次启动时能稳定的同步
driftfile /var/lib/chrony/drift

#如果系统时钟由于某种原因与启动后的服务器时间相差甚远,允许 chronyd 
#通过步进而不是回转来快速纠正它
makestep 1.0 3

#为了使客户端实时时钟接近服务器的时钟,以便下次时钟启动时更接近真实的时间
#增加了一种 rtcsync 模式,该模式下,系统时间会定期的拷贝到实时时钟里
rtcsync

#chrony日志存放路径
logdir /var/log/chrony

3、启动客户端

systemctl enable chronyd
systemctl restart chronyd

4、查看同步情况

chronyc sources -v
  • ^?同步失败
  • ^* 同步成功

如果没有开始同步,执行chronyc tracking立即同步。

如果等了较久还不同步,在客户端上多重启几次chronyd服务。