如何正确同步 3 台 Hyper-V 机器的时间(主机不在虚拟机的域上)?

如何正确同步 3 台 Hyper-V 机器的时间(主机不在虚拟机的域上)?

我了解,对于生产用途,如果您有一个 Hyper-V 域控制器 VM,并且主机也在域上,则应该让 DC VM 访问外部源以获取日期/时间,然后其他机器将同步到该 DC VM。

但是,我和一位同事正在尝试创建一个实验练习,其中涉及 3 个 Hyper-V VM,它们使用仅限内部的 VM 网络交换机,因此无法与外界通信。有一个域控制器 VM 和另外两个连接到域的 Windows 服务器 VM。主机本身不在 VM 所在的域上,我不希望它在那里。所有 VM 和主机都使用 Server 2012 R2。

我们打算使用虚拟机进行集群练习,为此,所有虚拟机都需要具有同步的时间。

我的同事应该对虚拟机很了解,他声称,为了使所有 3 个虚拟机之间的时间同步正常工作,主机必须是虚拟机使用的域的一部分。我想我的同事担心的是域控制器虚拟机有一个时间,而其他两个虚拟机从硬件中获取时间。

我的问题是,为了使我们的虚拟机彼此都具有同步时间,我们应该:

A)在所有 3 台虚拟机上启用时间同步(在 Hyper-V 管理器的集成服务屏幕中)

B)仅在 1 或 2 个虚拟机上启用时间同步 - 如果是,请启用哪些虚拟机

C)在所有 3 台虚拟机上禁用时间同步

如果无法通过我所描述的场景避免时间漂移,那么只要所有 3 个虚拟机具有相同的漂移量并且彼此的时间仍然同步,那么一些时间漂移是可以接受的。

如果让我猜测我应该怎么做,基于浏览过类似的问题,我会说我应该禁用 DC VM 上的时间同步,但在其他两个 VM 上启用它。但在这种情况下,其他两个 VM 的时间会同步到主机硬件时间还是 DC VM 时间?我想要后者,绝对不是前者。

感谢您的帮助!

答案1

我的问题是,为了使我们的虚拟机彼此都具有同步时间,我们应该:

A)在所有 3 台虚拟机上启用时间同步(在 Hyper-V 管理器的集成服务屏幕中)

B)仅在 1 或 2 个虚拟机上启用时间同步 - 如果是,请启用哪些虚拟机

C)在所有 3 台虚拟机上禁用时间同步

我建议您通过 Hyper-V 集成服务仅为域控制器 VM 启用时间同步。默认情况下,域成员系统将从域控制器同步其时间,这是所需的行为。

在所述场景中,唯一真正重要的事情是域成员虚拟机与域控制器的时间一致,误差在五分钟以内(标准 Kerberos 考虑)。主机不相关,也不需要成为域的一部分。严格来说,您可以选择选项 C(禁用所有 3 个的时间同步),但我想您希望有一个相当准确的时间。只要主机向域控制器提供时间,域成员就会同步到 DC VM,您将获得所需的结果。

答案2

I should disable the time synchronization on the DC VM, but enable it on the other two VMs

那是倒退的。最重要的是所有成员计算机都需要使用 domhier/NT5DS 与域控制器同步时间。即使时间不准确。

鉴于这是一个测试环境,您永远不会在生产中这样做,您可以将域控制器虚拟配置为与主机同步,并且所有剩余的虚拟使用通常的 domhier/NT5DS 配置与域控制器同步。

或者,您可以将虚拟配置为专用路由器。有多个选项,例如 Windows/RRAS 或 VyOS。

答案3

在您的场景中,DC VM 启用时间同步集成服务以便此 VM 与主机同步是完全合理的。所有其他加入域的 VM 都应与域层次结构 (NT5DS) 同步,这是默认设置,不需要您采取任何措施。您应该在这些其他加入域的 VM 上禁用时间同步集成服务。

当虚拟机启动时,它会从主机获取其初始时间,因为虚拟机没有实时时钟来获取其初始时间。此后,虚拟机将与主机(如果配置为这样做)、域层次结构(如果加入 AD 域)或您配置它们与之同步的任何其他时间源同步时间。

相关内容