Chrony 似乎没有与我指定的服务器同步

Chrony 似乎没有与我指定的服务器同步

我已将 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 地址,因为它是一个池。

别担心,它可以工作,只是需要一些时间来同步。

相关内容