配置 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
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
启动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