📜  如何在 Linux 中安装和使用 Chrony?

📅  最后修改于: 2021-10-28 02:47:49             🧑  作者: Mango

chrony 是一种灵活的网络时间协议实现 (NTP)。它可以将系统时钟与 NTP 服务器、参考时钟(例如 GPS 接收器)以及通过手表和键盘手动输入同步。它还可以充当 NTPv4 (RFC 5905) 服务器和对等点,允许网络上的其他计算机及时接收更新。

本地服务器必须使用 NTP 客户端从远程 NTP 服务器获取正确时间。 Chrony就是这样的客户之一。由于这个原因,Chrony 是一个很好的选择,因为它旨在在各种情况下运行,包括不可靠和/或高度拥塞的网络连接,以及其他不利条件。在启动时,Chrony 将计算机的内部时钟与更高的 Stratum NTP 服务器、参考时钟或计算机的实时时钟同步。使用手表和键盘,也可以手动与输入同步。这不是最可靠的同步形式,强烈建议不要这样做。

在局域网上,两台同步机器之间的精度通常在几毫秒内。 Chrony分为两个系统:chronyc和chronyd。

  • Chronyc 是一个命令行界面,用于监控和调整 chronyd 的输出。
  • Chronyd 是一个后台运行的守护进程,它启动和激活 chrony NTP 服务并跟踪时间服务器的时间和状态。

chrony.conf 文件指定 chronyd 跟踪的时间 NTP 服务器。 Chronyd 系统的主要功能是从主要 NTP 服务器源之一获取准确时间。如果服务器时间关闭,chronyd 将调整设备时钟进行补偿。

Chrony 包括两个程序:

  • chronyd — 可以在启动时启动的守护进程
  • chronyc — chrony 的命令行界面

如何在 Linux 中安装 Chrony:

Chrony 可能默认安装在某些设备上。如果缺少套件,安装也很简单。使用以下命令,在各自的 Linux 发行版上使用默认的包管理器实用程序。

# yum -y install chrony    [On CentOS/RHEL]
# apt install chrony       [On Debian/Ubuntu]
# dnf -y install chrony    [On Fedora 22+]
如何在 Linux 中安装和使用 Chrony

安装 chrony

要检查 chronyd 的状态,请使用以下命令:

# systemctl status chronyd      [On SystemD]
# /etc/init.d/chronyd status    [On Init]

使用以下命令在启动时启用 chrony 守护进程:

  • 残余频率 —残余频率表示参考源的测量值与当前使用的频率之间的差异。
  • Skew —频率的估计误差范围。
  • 根延迟 –到正在同步计算机的层计算机的网络路径延迟的总和。
  • 跳跃状态 —这是可以具有以下值之一的跳跃状态 – 正常、插入第二个、删除第二个或不同步。
# systemctl enable chronyd       [On SystemD]
# chkconfig --add chronyd        [On Init]

在 Linux 中检查时间同步:

我们将使用 chrony 的命令行软件 chronyc 来查看它是否真正同步。它具有监控功能,可提供有用的详细信息。

# chronyc tracking
如何在 Linux 中安装和使用 Chrony

检查时间同步的结果

列出的文件提供以下信息:-

  • 残余频率— 残余频率表示参考源的测量值与当前使用的频率之间的差异。
  • Skew – 频率的估计误差界限。
  • 根延迟– 到正在同步计算机的层计算机的网络路径延迟的总和。
  • 跳跃状态— 这是跳跃状态,它可以具有以下值之一 – 正常、插入秒、删除秒或不同步。
  • 参考 ID — 计算机当前同步到的参考 ID 和名称。
  • Stratum — 到具有附加参考时钟的计算机的跳数。
  • 参考时间— 这是从参考源进行最后一次测量的 UTC 时间。
  • 系统时间 —来自同步服务器的系统时钟延迟。
  • 上次偏移量 —上次时钟更新的估计偏移量。
  • RMS 偏移— 偏移值的长期平均值。
  • 频率——这是如果 chronyd 没有纠正系统时钟错误的比率。它以 ppm(百万分之一)提供。

要检查有关 chrony 来源的信息:

# chronyc sources
如何在 Linux 中安装和使用 Chrony

检查 Chrony 来源

在 Linux 中配置 Chrony:

chrony 的配置文件位于 /etc/chrony.conf 或 /etc/chrony/chrony.conf 并且示例配置文件可能如下所示:

如何在 Linux 中安装和使用 Chrony

上述配置提供了以下信息:

  • 服务器– 此指令用于描述要同步的 NTP 服务器。
  • 层权重— 每个层应向同步源添加多少距离。默认值为 0.0001。
  • Driftfile — 包含漂移数据的文件的位置和名称。
  • Makestep — 该指令使 chrony 通过根据需要加快或减慢时钟来逐渐纠正任何时间偏移。
  • logdir — chrony 日志文件的路径。

如果您想立即调整系统时钟并忽略当前正在进行的任何调整:

# chronyc makestep

如果您决定停止 chrony,您可以使用以下命令:

# systemctl stop chrony          [On SystemD]
# /etc/init.d/chronyd stop       [On Init]

这是 chrony 实用程序以及如何在 Linux 系统上使用它的演示。