如何修复系统时钟漂移

如何修复系统时钟漂移

服务器是 14.04

我的timedatectl status

www-data@Mercury:$ timedatectl status
      Local time: Fri 2017-08-04 14:34:31 SGT
  Universal time: Fri 2017-08-04 06:34:31 UTC
        Timezone: Asia/Singapore (SGT, +0800)
     NTP enabled: no
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

当我运行 ntpq 时,我收到拒绝连接的消息。我在 Google 上搜索过,但没有一个解决方案对我有用。

www-data@Mercury:$ sudo ntpq -p
ntpq: read: Connection refused

这是我的/etc/ntp.conf

server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org

# Use Ubuntu's ntp server as a fallback.
server ntp.ubuntu.com

答案1

花了一年时间,现在我终于明白了这个问题。我工作的服务器位于内部网络中,该网络仅限于某些 NTP 服务器。

以下是针对 Ubuntu 14.04 无头服务器进行故障排除的有用步骤列表

如何修复系统时钟漂移

如何检查当前日期时间

timedatectl status

你应该看到

# timedatectl status
      Local time: Mon 2018-09-17 10:49:04 +08
  Universal time: Mon 2018-09-17 02:49:04 UTC
        Timezone: Asia/Singapore (+08, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

如何查看是否可以访问 NTP 服务器

ntpq -p

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ns1.ericsson.se 194.58.202.148   2 u    3   64    1  237.716  1217396   0.000
 sesblx50.mgmt.e 194.58.202.148   2 u    2   64    1  242.759  1217391   0.000
 chilipepper.can .INIT.          16 u    -   64    0    0.000    0.000   0.000

如果你看到.INIT.refid 中显示所有内容未连接到 NTP 服务器. 向您的网络管理员询问 NTP 服务器。这最初是我的问题。如果您看到refid正确指向某个 IP 地址,则表示您的 NTP 服务已正确连接到 NTP 服务器。

如何更新 NTP 服务器

作为root,转到vim /etc/ntp.conf

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
#server 0.ubuntu.pool.ntp.org
#server 1.ubuntu.pool.ntp.org
#server 2.ubuntu.pool.ntp.org
#server 3.ubuntu.pool.ntp.org

server time1.suppliedbyadmin.com
server time2.suppliedbyadmin.com

然后改变这个service ntp restart

如何强制 ntp 系统时间更新

即使您更新到正确的 ntp 服务器,系统时钟仍可能不正确。因此您需要强制进行 NTP 更新。

  1. 停止 ntp 服务

  2. 强制更新ntpd -gq

  3. 然后再次启动ntp服务

它看起来应该是这样的:

 # service ntp stop
 # ntpd -gq
 ntpd: time set +1217.437601s
 # service ntp start

这应该有效

如何检查 ntp 服务是否正在运行

使用service ntp status

 # service ntp status
 * NTP server is running

即使您发现服务正在运行,也并不意味着 NTP 服务已正确连接到 NTP 服务器。检查ntpq -p命令以确保

答案2

连接被拒绝意味着 ntp 服务未运行

尝试使用sudo service ntp start

相关内容