云服务器
香港服务器centos8时间同步—chrony
2025-07-20 09:49  点击:0
提升时间同步效率chrony 的优势与应用

在网络环境中,时间同步是确保系统一致性的关键任务。chrony 是一款功能强大且高效的时间同步工具,它在众多 Linux 发行版中得到广泛应用,包括 CentOS 8、Ubuntu 20.04 和 Fedora 30 及更高版本。本文将详细介绍 chrony 的优点、安装过程以及如何在客户端和服务端配置时间同步。

chrony 的优点

- 快速同步chrony 能够比传统的 NTP(网络时间协议)服务器更快地同步时间,这得益于其先进的算法和优化。
- 处理延迟chrony 能够很好地处理同步延迟和网络延迟,确保时间同步的准确性。
- 稳定性即使在网络条件不稳定或出现降级的情况下,chrony 也能够保持稳定运行。
- 本地时间服务器chrony 允许本地机器作为时间服务器,其他机器可以从此服务器同步时间,无需额外的硬件设备。

安装 chrony

在新的 Linux 发行版中,chrony 通常已经预装。对于旧版本,可以通过以下命令安装

bash
yum install chrony


安装完成后,chrony 服务将自动添加到 systemctl 中进行管理。以下是一些常用的管理命令

bash
查询 chronyd 服务状态
systemctl status chronyd

# 启动 chronyd 服务
systemctl start chronyd

# 关闭 chronyd 服务
systemctl stop chronyd

# 重启 chronyd 服务
systemctl restart chronyd

# 设置 chronyd 服务开机自启
systemctl enable chrony

# 更新 systemd 配置
systemctl daemon-reload


配置时间同步

chrony 提供了两种同步模式客户端模式和服务端模式。

客户端模式

在客户端配置中,需要指定同步时间的服务器 IP 或域名。以下是一个客户端配置的例子

bash
# 同步时间的服务器 IP 或 域名
server 10.0.0.15 iburst

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

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

# 为了使客户端实时时钟接近服务器的时钟,以便下次时钟启动时更接近真实的时间
rtcsync

# 日志
logdir /var/log/chrony


服务端模式

要将 chrony 配置为时间服务器,需要在配置中增加 allow 配置项,允许客户端通过特定地址与服务器同步时间。同时,时间服务器本身也需要从网络上的其他时间服务器同步时间。以下是一个服务端配置的例子

bash
# 同步时间的服务器 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

# 允许客户端通过该地址和服务器同步时间,这里配置的就是时间服务器的地址
allow 10.0.0.0/24


防火墙配置

如果时间服务器有开启防火墙,需要确保 UDP 协议的 123 端口是开放的,以便客户端能够通过该端口向服务器发送时间同步请求。可以通过以下命令永久添加端口规则并重新加载防火墙配置

bash
firewall-cmd --permanent --add-port=123/udp
firewall-cmd --reload


查询信息

在服务器端,可以使用 chronyc clients 命令查看同步的客户端信息。在客户端,可以使用 chronyc sources 命令查看时间服务器的信息。