我已将 Chrony 设置为与 4 个 NTP 服务器同步(配置文件如下)。当我运行chronyc tracking
和 时chronyc sources
,我的机器连接的 NTP 服务器似乎不正确。当我询问正在跟踪哪个服务器以及它正在使用哪些源时,我希望看到我在 chronyd.conf 文件中指定的服务器列表。
追踪:
$ chronyc tracking
Reference ID : 216.152.240.220 (216.152.240.220)
Stratum : 3
Ref time (UTC) : Thu Feb 18 19:05:11 2016
System time : 0.000564536 seconds fast of NTP time
Last offset : +0.000280794 seconds
RMS offset : 0.000322653 seconds
Frequency : 19.616 ppm fast
Residual freq : +0.003 ppm
Skew : 0.053 ppm
Root delay : 0.039604 seconds
Root dispersion : 0.000406 seconds
Update interval : 1042.6 seconds
Leap status : Normal
资料来源:
$ chronyc sources
210 Number of sources = 4
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^+ ntp.newfxlabs.com 2 10 377 754 -415us[ -143us] +/- 31ms
^* 216.152.240.220 2 10 377 221 +1823us[+2104us] +/- 21ms
^- nox.prolixium.com 2 10 273 22 +4137us[+4137us] +/- 93ms
^- triangle.kansas.net 2 10 376 34m -2860us[-2291us] +/- 103ms
配置文件(除顶部的服务器部分外,所有部分均为默认设置):
$ cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.rhel.pool.ntp.org iburst
##server 1.rhel.pool.ntp.org iburst
##server 2.rhel.pool.ntp.org iburst
##server 3.rhel.pool.ntp.org iburst
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
# Ignore stratum in source selection.
stratumweight 0
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Enable kernel RTC synchronization.
rtcsync
# In first three updates step the system clock instead of slew
# if the adjustment is larger than 10 seconds.
makestep 10 3
# Allow NTP client access from local network.
#allow 192.168/16
# Listen for commands only on localhost.
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
# Serve time even if not synchronized to any NTP server.
#local stratum 10
keyfile /etc/chrony.keys
# Specify the key used as password for chronyc.
commandkey 1
# Generate command key if missing.
generatecommandkey
# Disable logging of client accesses.
noclientlog
# Send a message to syslog if a clock adjustment is larger than 0.5 seconds.
logchange 0.5
logdir /var/log/chrony
#log measurements statistics tracking
时间日期控制:
$ timedatectl
Local time: Thu 2016-02-18 14:13:33 EST
Universal time: Thu 2016-02-18 19:13:33 UTC
RTC time: Thu 2016-02-18 19:13:33
Time zone: America/New_York (EST, -0500)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: no
Last DST change: DST ended at
Sun 2015-11-01 01:59:59 EDT
Sun 2015-11-01 01:00:00 EST
Next DST change: DST begins (the clock jumps one hour forward) at
Sun 2016-03-13 01:59:59 EST
Sun 2016-03-13 03:00:00 EDT
答案1
您指定的服务器:
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
顾名思义,是NTP 池项目。当您查找其中一个名称时,您可能会得到美国境内数百个公共 NTP 服务器中的任何一个(如果您选择其他国家,则得到全球数千个),它们都是该池的一部分。
实际地址的顺序可能会随着每次查找调用而改变,通常使用循环模式。
当您查看时chronyc sources
,您会看到池中实际使用的服务器。
但是,当通过名称使用池服务器时,您不应指定server
,而是pool
指定 。以下示例man chrony.conf
显示:
An example of the pool directive is
pool pool.ntp.org iburst maxsources 3
请参阅该手册页中的更多详细信息。
答案2
也许您正在通过名称对池进行 ping 操作,并认为在响应中看到的 IP 地址与您在源命令的响应中看到的 IP 地址相同。
几分钟后再次 ping 该池,您将看到不同的 IP 地址,因为它是一个池。
别担心,它可以工作,只是需要一些时间来同步。