配置 Chrony

示例配置如下所示:

# cat /etc/chrony.conf
server a.b.c offline
server d.e.f offline
server g.h.i offline
keyfile /etc/chrony.keys generatecommandkey
driftfile /var/lib/chrony/drift makestep 10 3

参数说明如下:
server:标识要使用的 NTP 服务器。
offline关键字表示在 chronyd 收到 Internet 链接存在的通知之前不会联系服务器。

keyfile:包含管理员密码的文件。
密码允许 chronyc 登录到 chronyd 并通知 chronyd 存在到 Internet 的链接。

generatecommandkey:在第一次 chronyd 启动时自动生成一个随机密码。

driftfile:包含漂移数据的文件的位置和名称。

makestep:如果需要大的修正,则步进(重新开始)系统时钟。
如果调整大于 10 秒,参数 10 和 3 将步进系统时钟,但仅在前三个时钟更新中。

虽然,所有这些参数都不是必需的。
对于这篇文章,我只使用配置文件中的两行以下。

# cat /etc/chrony.conf
server 192.0.2.1
allow 192.0.2/24

停止chrony

使用 systemctl 命令停止 chrony 守护进程 chronyd。

# systemctl stop chronyd

运行 chronyc tracking命令, 注意现在 chronyc 无法与 chronyd 守护进程对话。

# chronyc tracking
506 Cannot talk to daemon
CentOS/RHEL 7:使用 chrony 配置 NTP

Chrony 提供了另一种 NTP 实现。

Chrony 专为经常断电或者与网络断开连接的系统而设计。

Chrony主要的配置文件是 /etc/chrony.conf 。

Chrony的参数与/etc/ntp.conf 文件中的参数类似。

chronyd 是在用户空间运行的守护进程。

chronyc 是一个命令行程序,它提供命令提示符和许多命令。

例如:

  • tracking :显示系统时间信息
  • sources:显示有关当前来源的信息。

安装 Chrony

使用以下命令安装 chrony 包:

# yum install chrony

使用以下命令启动 chronyd 并确保 chronyd 在引导时启动:

# systemctl start chronyd
# systemctl enable chronyd
欢迎 on it road

启动chrony

使用 systemctl 命令启动 chrony 守护进程 chronyd。

# systemctl start chronyd

检查确认

要检查 chrony 是否同步,请使用 tracking、sources 和 sourcestats 命令。
运行chronyc tracking命令查看chrony跟踪。
或者,我们可以运行 chronyc 以显示 chronyc> 提示符,然后从 chronyc> 提示符运行跟踪命令。

# chronyc tracking
Reference ID : 192.0.2.1 (192.0.2.1) 
Stratum : 12
Ref time (UTC) : Fri Aug 05 19:06:51 2016
System time     : 0.000823375 seconds fast of NTP time
Last offset     : 0.001989304 seconds
RMS offset      : 0.060942811 seconds
Frequency       : 1728.043 ppm slow
Residual freq   : 1.100 ppm
Skew            : 94.293 ppm
Root delay	    : 0.000207 seconds 
Root dispersion : 0.016767 seconds
Update interval : 65.1 seconds
Leap status     : Normal

一些重要的字段是:

Reference ID:这是计算机当前同步到的服务器的引用 ID 和名称(或者 IP 地址)(如果可用)。

Stratum:该层表示我们距离带有添加参考时钟的计算机的跳数。

Ref time:参考时间,这是处理来自参考源的最后一次测量的时间 (UT C)。

运行 chronyc sources 命令以显示有关 chronyd 正在访问的当前时间源的信息。

# chronyc sources
210 Number of sources = 1
MS Name/IP address    Stratum    Poll   Reach   LastRx   Last sample 
=============================================================================
^* 192.0.2.1           11        6      377      63      +1827us[+6783us]...

部分字段描述如下:

M:源的模式。
^ 表示服务器,= 表示对等方,# 表示 本地连接的参考时钟。

S:来源的状态。
“*”表示 chronyd 当前同步到的源。
“+”表示与所选来源组合的可接受来源。
“-”表示被合并算法排除的可接受的来源。
“?”表示连接丢失或者数据包未通过所有测试的源。
“x”表示 chronyd 认为是假时钟的时钟,即它的时间与大多数其他来源不一致。
“~”表示时间似乎有太多可变性的源。
这 ”?”启动时也会显示条件,直到从中收集到至少三个示例。

Name/IP address:这显示源的名称或者 IP 地址,或者参考时钟的参考 ID。

运行 chronyc sourcestats 命令。
此命令显示有关漂移率和偏移估计的信息
chronyd 当前正在检查的每个源的过程。

# chronyc sourcestats
210 Number of sources = 1
Name/IP Address   NP   NR   Span   Frequency   Freq Skew   Offset    Std   Dev 
==================================================================================
192.0.2.1         5    4    259    -747.564   1623.869    -2873us          30ms
日期:2020-09-17 00:12:47 来源:oir作者:oir