- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
centos8时间同步——chrony
chrony的优点:
时间同步的速度比 ntpd 更快
chrony 很好的处理了同步延迟以及网络延迟
即使出现网络降级,chrony 仍然能正常工作
本地机器可以作为时间服务器,其他机器从这台服务器上同步时间
在新的 Linux 发行版(centos8、Ubuntu 20.04、Fedora 30)及以后的版本中,系统默认已经安装了 chrony,在这之前的版本是没有安装的,可以使用下面的命令进行安装
yum install chrony
安装完成后,chrony 服务默认会自动加到 systemctl 中管理,下面列出了一些常用的命令
#查询 chronyd 服务状态
systemctl status chronyd
#启动 chronyd 服务
systemctl start chronyd
#关闭 chronyd 服务
systemctl stop chronyd
#重启 chronyd 服务
systemctl restart chronyd
#设置 chronyd 服务开机自启
systemctl enable chronyd
systemctl daemon-reload
注意:ntpd 和 timesyncd 都是时间同步工具,但是它们和 chrony 冲突,只能启动其中一个服务
chrony 是由 守护进程 chronyd 以及 命令行工具 chronyc 组成的,具体如下图
chronyd 在后台静默运行并通过 123 端口与时间服务器定时同步时间,默认的配置文件是 /etc/chrony.conf
chronyc 通过 323 端口与 chrond 交互,可监控 chronyd 的性能并在运行时更改各种操作参数
chronyc 通过下面的方式访问 chronyd
配置chrony时间同步服务器10.0.0.15 客户端10.0.0.13 10.0.0.14
安装客户端服务器
yum install chrony
客户端配置
# 同步时间的服务器 IP 或 域名
server 10.0.0.15 iburst
# 系统时钟的预估漂移保存到指定的文件中,是为了在下次启动时能稳定的同步
driftfile /var/lib/chrony/drift
# 如果系统时钟由于某种原因与启动后的服务器时间相差甚远,允许 chronyd
# 通过步进而不是回转来快速纠正它
makestep 1 3
# 为了使客户端实时时钟接近服务器的时钟,以便下次时钟启动时更接近真实的时间
# 增加了一种 rtcsync 模式,该模式下,系统时间会定期的拷贝到实时时钟里
rtcsync
# 日志
logdir /var/log/chrony
服务器配置
安装 chrony 之后,默认的配置是客户端的启动配置的,要想作为一个时间服务器来运行的话, 需要在配置中增加 allow 配置项,它表示允许客户端通过该地址和服务器同步时间
另外,时间服务器的时间也需要从网络上其他的时间服务器进行同步,这里直接用默认的即可,具体的配置如下
# 同步时间的服务器 IP 或 域名
pool 0.centos.pool.ntp.org iburst
pool 1.centos.pool.ntp.org iburst
pool 2.centos.pool.ntp.org iburst
pool 3.centos.pool.ntp.org iburst
# 为了在下次启动时稳定的同步,系统时钟的预估漂移需要保存到指定的文件中
driftfile /var/lib/chrony/drift
# 如果系统时钟由于某种原因与启动后的服务器时间相差甚远,允许 chronyd
# 通过步进而不是回转来快速纠正它,这个过程将花费很长时间
makestep 1 3
# 为了使客户端实时时钟接近服务器的时钟,以便下次时钟启动时更接近真实的时间
# 增加了一种 rtcsync 模式,该模式下,系统时间会定期的拷贝到实时时钟里
rtcsync
# 允许客户端通过该地址和服务器同步时间,其实这里配置的就是时间服务器的地址
allow 10.0.0.0/24
处理防火墙
时间服务器如果有开启防火墙的话,需要开启 UDP 协议 的 123 端口,以允许客户端向服务器发送获取时间的请求
firewall-cmd --permanent --add-port=123/udp
firewall-cmd --reload
重启chrony
systemctl restart chronyd
查询信息
在服务器端输入 chronyc clients 命令查看同步的客户端信息
在客户端输入 chronyc sources 命令查查看时间服务器的信息
售前咨询
售后咨询
备案咨询
二维码
TOP