几分钟后RTC时间完全错了(Ubuntu 16.04 + Hyper-V)

我在Ubuntu 16.04上的RTC时间正在疯狂。 几分钟后,RTC时间将会大错特错。

奇怪的是,如果我禁用NTP服务(timedatectl set-ntp false和service ntp stop)并修复一次(hwclock -w),则RTC时间总是正确的。 当地时间(真正正确的时间)总是正确的。

我的configuration:

  • 具有正确的ntp时间的具有Hyper-V(Windows Server 2012 R2)的根服务器。
  • Hyper-V VM设置中的时间同步被禁用。 (否则,我在/ var / log / syslog中每5秒收到一次“Time has been changed”消息)
  • 游客:Ubuntu 16.04

没有NTP服务:

timedatectl Local time: Fri 2017-03-03 12:07:35 CET Universal time: Fri 2017-03-03 11:07:35 UTC RTC time: Fri 2017-03-03 11:07:35 Time zone: Europe/Berlin (CET, +0100) Network time on: no NTP synchronized: no RTC in local TZ: no 

使用NTP服务(服务ntp启动):

 timedatectl Local time: Fri 2017-03-03 12:09:15 CET Universal time: Fri 2017-03-03 11:09:15 UTC RTC time: Fri 2017-03-03 11:09:29 Time zone: Europe/Berlin (CET, +0100) Network time on: no NTP synchronized: yes RTC in local TZ: no 

和以后(启用NTP):

 timedatectl Local time: Fri 2017-03-03 13:12:28 CET Universal time: Fri 2017-03-03 12:12:28 UTC RTC time: Fri 2017-03-03 12:52:58 Time zone: Europe/Berlin (CET, +0100) Network time on: no NTP synchronized: yes RTC in local TZ: no 

甚至更晚(启用NTP):

 timedatectl Local time: Fri 2017-03-03 13:42:16 CET Universal time: Fri 2017-03-03 12:42:16 UTC RTC time: Fri 2017-03-03 12:51:46 Time zone: Europe/Berlin (CET, +0100) Network time on: no NTP synchronized: yes RTC in local TZ: no 

如果我使用“timedatectl set-ntp true”而不是ntpd,同样的事情会发生。 这只发生在Hyper-V上。 我的ESXI Ubuntu 16.04没有这个问题。 为什么使用NTP服务更改RTC时钟? 我该如何解决?

主要的问题是,启动时RTC时间正在使用,然后启动后时间倒退。 一些服务有这个问题,如果这个时间跳转发生,不能正常工作。