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 包含默认启用的系统时钟同步服务;换句话说,您的ntpd
或systemd-timesyncd
正在与 Hyper-V 斗争,将客户虚拟机的时间同步到主机系统的时间。
在实施任何基于 NTP 的时间同步之前,必须关闭 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