为什么我的Ubuntu虚拟机托pipe在Hyper-V未来的date上?

我有几个Ubuntu虚拟机在Hyper-V服务器中运行。 该服务器是Windows 2012r2机器。 Ubuntu虚拟机是Ubuntu 14.04或Ubuntu 16.04(当前的LTS版本)。

看起来虚拟机首次启动时往往会有几天的时间戳。 这可以在syslog中看到。 一旦networking连接启动并且NTP启动,系统时间就会被纠正。

为什么虚拟机在未来的几天内以Hyper-V运行?

Hyper-V主机服务器连接到UPS,因此运行时间很长。 目前它有正确的date和时间。 它设置为使用0.uk.pool.ntp.org服务器作为时间源。 我的networking上的ADDC和DC也作为大多数客户机的时间服务器。 目前这两个都有正确的时间和date。 这两个也被设置为使用几个.pool.ntp.org服务器作为参考。 w32tm /query /peers确认所有三台机器上的设置。

这次启动时的错误也会导致我的DNS的DNS条目出现问题。 当Ubuntu系统启动时,它获得一个DHCP保留的IPv4地址。 我的networking目前实施了8天的预订。 有时date错误的function非常强大,以至于在当前date之后,预订看起来好像是将来所要求的。 当我查看/var/lib/dhcp/dhclient.eth0.leases文件修改date时,这是将来几天。 这似乎使Ubuntu的DHCP客户端认为它有一个预定运行,直到日后的几天。 然后,客户端不会通过DHCP保留(或续订)新的IP地址,并且其DNS服务器端在服务器端失效。

根据我的经验:(每个)物理机上的OS从主板上的硬件时钟获取时间。 启动后,ntp客户端启动并可以根据来自ntp服务器的信息更正时间。 所以:Linux VM应该首先从HyperVM主机获取时间,然后ntp可以改变时间。 检查名为“Integration Services”的特定VM中的设置。 有“时间同步”服务。 它控制硬件主机是否共享虚拟机的时间。 有助于保持时间同步。

确保在Ubuntu中使用正确的时区。 您也可以安装适用于Linux的HyperV集成。 在虚拟机设置下的Hyper-Vpipe理器中,在pipe理>集成服务下,您可以validation“时间同步”;

祝你好运!!