为什么我的 Hyper-V 中托管的 Ubuntu 虚拟机会在未来的某个日期启动?

为什么我的 Hyper-V 中托管的 Ubuntu 虚拟机会在未来的某个日期启动?

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

虚拟机首次启动时,它们的时间戳似乎通常为未来几天。这可以在系统日志中看到。网络连接建立并启动 NTP 后,系统时间就会得到更正。

为什么在 Hyper-V 下运行的虚拟机从未来几天的日期开始运行?

Hyper-V 主机服务器连接到 UPS,因此正常运行时间非常长。它目前具有正确的日期和时间。它设置为使用 0.uk.pool.ntp.org 服务器作为时间源。我网络上的 ADDC 和 DC 也充当大多数客户端计算机的时间服务器。这两个服务器目前都有正确的时间和日期。这两个服务器也设置为使用多个 .pool.ntp.org 服务器作为参考。 w32tm /query /peers确认所有三台机器上的设置。

启动时出现的时间错误也导致虚拟机的 DNS 条目出现问题。Ubuntu 系统启动时会获取具有 DHCP 预留的 IPv4 地址。我的网络目前提供 8 天的预留。有时,开机日期错误非常大,以至于预留看起来好像是在当前日期之后的未来请求的。当我查看文件/var/lib/dhcp/dhclient.eth0.leases修改日期时,它是未来几天。这似乎让 Ubuntu DHCP 客户端认为它有一个预留,该预留将持续到未来几天的日期。然后客户端不会通过 DHCP 保留(或续订)新的 IP 地址,并且其 DNS 条目在服务器端过期。

答案1

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

答案2

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

祝你好运!!

相关内容