无法在 Debian 9 上通过 NTP 同步日期

无法在 Debian 9 上通过 NTP 同步日期

Debian 9 作为 Guest Hyper-V 无法同步时钟并设置正确的日期,总是落后约 6 分钟:

(时区已混淆)

#  systemctl start ntp
#  date
    sáb jul  7 09:42:59 -03 2018
#  timedatectl 
    Local time: sáb 2018-07-07 09:43:09 -03
    Universal time: sáb 2018-07-07 12:43:09 UTC
    RTC time: sáb 2018-07-07 12:45:22
    Time zone: XXXXXXXXXXXXXX (-03, -0300)
    Network time on: yes
    NTP synchronized: no
    RTC in local TZ: no
 #  ntpstat 
     unsynchronised
     polling server every 64 s
 #  ntpq -p
         remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.001
 1.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.001
 2.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.001
 3.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.001
 66.60.22.202 (a 64.113.44.54     2 u   20   64    1   10.385  321656.   7.049
 time.unnoba.edu 200.89.75.197    3 u   19   64    1   14.119  321640. 185704.
 131.0.232.2 (st 216.218.254.202  2 u   16   64    1    9.568  321660. 185705.


What could be wrong?

答案1

Hyper-V 包含默认启用的系统时钟同步服务;换句话说,您的ntpdsystemd-timesyncd正在与 Hyper-V 斗争,将客户虚拟机的时间同步到主机系统的时间。

在实施任何基于 NTP 的时间同步之前,必须关闭 Hyper-V 时间同步。

请参阅 Superuser.SE 上的这个问题,了解有关禁用 Hyper-V 时间同步的说明。

答案2

我发现现在 systemd 已经同步了时间。因此,我做了:

chmod -x /usr/sbin/ntpd
systemctl restart systemd-timesyncd

现在时间正确了。但是 timedatectl 说时钟不同步:

timedatectl | grep no$

NTP synchronized: no
RTC in local TZ: no

相关内容