您好,目前我有一个本地 ntp 服务器(chrony)和一个 ntp 客户端(chrony),所有这些都在工作,但是当我尝试将 ntp 服务器时间更改为从当前时间减去 6 年时。ntp 客户端无法与之同步,它只会在 syslog 上显示:
1 月 9 日 17:29:11 localhost chronyd[9192]:系统时钟错误 6780812.328260 秒,调整开始
ntp 客户端(chrony)/etc/chrony.conf 是默认配置,除了服务器指向我的本地 NTP 服务器(chrony)。这是我的配置
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server local.ntp.server iburst
# 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
我不知道它不会同步,我读过它需要更长的时间,但是我让我的机器坐了 1 天,但 ntp 客户端仍然没有与 ntp 服务器相同的时间(不同步) . 有任何想法吗?我试着不重新启动 chronyd 服务,让它自动同步时间
请注意,“local.ntp.server”是在我的 /etc/hosts 上定义的。此外,NTP 服务器和 NTP 客户端没有使用 ntpd 服务,但它使用的是 chronyd。这种设置是孤立的
如果您的时间已经过时(几天甚至几个月),时间同步将不起作用(“这将需要很长时间”),因为像 Chrony 这样的 NTP 客户端通过减慢或加快时钟逐渐调整时钟。
将此行附加到您的 Chrony 配置(例如,
/etc/chrony.conf
或/etc/chrony/chrony.conf
):然后重新启动 Chrony。
解释:
https://chrony.tuxfamily.org/faq.html#_is_code_chronyd_code_allowed_to_step_the_system_clock
你的问题似乎是你试图通过扭曲时钟来完成六年的时间变化,并在一天后放弃。
如果偏斜算法使时钟偏移多达 1%(这是相当多的),那么时钟偏斜需要六百年。即使时钟完全静止,也需要经过六年才能倒退六年。在不到六年的时间里实现六年时间倒流的唯一方法是倒计时,我认为不会有任何反应。一天之内完成这意味着以比实时速度略多两千倍的速度倒退时钟!
我的感觉是,运行 NTP 服务器是一个非常糟糕的主意,但如果你坚持这样做,并且你突然将服务器倾斜了相当大的数量,你将需要在客户端时钟有任何同步机会之前强行更改它们. 这最容易通过确保客户端在启动时从服务器强制重置其时钟(使用
ntpd
,这是ntpdate
在启动时完成的;我不知道 chrony)并重新启动客户端。如果时差很大
chrony
可能不会接受您的来源。我的时钟是几年前的,chronyc tracking
它正在报告:对我有用的是添加
maxdistance 1000000000
,/etc/chrony.conf
然后(chronyd
重新启动后)做chrnoyc -a makestep 1000 -1
.