VM域控制器的Hyper-V时间同步

我们有两台运行8个虚拟机的物理Hyper-V服务器,每台物理服务器上都有一台运行在虚拟机上的域控制器,所有的服务器都是2008R2

VM PDC设置为NTP并与time.microsoft.com同步,其余的包括物理服务器是NT5DS。 这个主VM PDC一般保存FSMO,并且UDP 123处于活动状态

当我运行w32tm /查询/状态

我得到虚拟机IC时间同步提供商在两个虚拟数据中心,我知道这意味着与主机同步。

当我运行w32tm / resync /重新发现

我得到了“没有重新同步,因为没有时间数据可用”和日志中的事件ID 134任何想法呢?

我也通过日志看了事件144和12

我已经遵循MS KB的细节设置一个外部时间源,并做了所有registry的变化,但我认为DNS是让我吗?

但是,当我改变其中一台物理机器的时间,这是从何时开始设置的。 也许如果我注销他们所有的注册和更新和同步,但恐怕我创造一个更大的问题!

我试图让虚拟机和Hyper-V主机之间保持时间同步,因为我相信这是我读过的最佳实践。

谢谢你的帮助



我终于搞定了! 这样做的目的是帮助那些在开始设置域名时间的人开始。

在此示例中,所有服务器,主域控制器(PDC),其他域控制器(DC)和其他服务器都运行Windows 2008 R2并使用Hyper-V虚拟化。

首先,您将阅读在Hyper-V中的任何虚拟机上禁用“时间同步集成服务”,但是您应该从虚拟DC中操作Windows时间服务(w32tm服务),因此不应禁用此function,因为VM重启会造成问题,应该用w32tm来完成。 http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time-synchronization-in-hyper-v.aspx

您将需要找出什么服务器是PDC和运行FSMOangular色。 运行这个:netdom查询fsmo结果应该是你的PDC,这是你做大部分改变的地方。

请确保在防火墙中有一个“出站”规则UDP123和程序是%SystemRoot%\ System32 \ w32tm.exe只需浏览到Windows目录,并find该exe的时间

这是registry更改的地方! HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\ W32Time服务

请确保在上面的registry地址configuration中的PDC设置为“types”的NTP和所有其他服务器是NT5DS,这意味着NTP是爸爸! 这里的最佳做法是让PDC从外部看时间,并且一切都同步到它。

在所有的域控制器(包括PDC)上运行它,它将部分地禁用Windows时间,所以它不会查看主机的时间,这很重要,因为我们是虚拟化的。 reg添加HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ TimeProviders \ VMICTimeProvider / v启用/ t reg_dword / d 0

您可以到ntp.org http://support.ntp.org/bin/view/Servers/WebHome站点查找离您最近的服务器以同步您的外部时间。 我build议不要使用Microsoft,因为它们被大量使用,因此可能会漏掉。

下面的命令将PDC设置为外部查看,但也检查registry设置这里定义的外部同步(你需要做两个) http://support.microsoft.com/kb/816042

在PDC上运行w32tm / config /manualpeerlist:"0.pool.ntp.org,0x1“/ syncfromflags:MANUAL / reliable:yes w32tm / config / update w32tm / resync w32tm / resync / rediscover

在任何服务器上随时运行这两个命令以查看它们的源代码,以及在上次更新时,这些将在整个练习中使用,以确保您的PDC和其他服务器从正确的位置获得时间w32tm / query / status w32tm / query /资源

然后在除了PDC以外的所有DC上运行它,这将使他们看PDC的时间,并重新同步到它w32tm / config / syncfromflags:DOMHIER /更新networking停止w32timenetworking启动w32time w32tm / resync /强制

问题:在运行“状态”或“源”查询时,给它们一分钟或两分钟后,您不应该在查看本地CMOS时钟,也不应该使用vm ic时间同步提供程序作为源。

如果成功,PDC应读取已设置的外部站点,其他服务器应将PDC作为源

希望这有助于人们好运!

@PSaul大多是正确的。 您不希望使用time.microsofttime.windows.com作为持有PDC模拟器FSMOangular色的域控制器的时间源。 由于默认情况下,它们被大量使用,通常由于缺乏局部性而有些缓慢,有时不可用。 select一个离你更近的NTP池。

但是,请勿禁用Hyper-V时间同步集成。 对于某些function,如重新启动后重置时间或虚拟机从保存状态恢复时,需要这些function。 你想要做的就是告诉你的虚拟化域控制器忽略他们的Hyper-V主机作为时间源。

这可以如下完成:

 reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0 

该命令将删除Hyper-V时间源作为W32Time的可能来源。

 w32tm /config /syncfromflags:DOMHIER /update 

现在告诉W32Time去search域层次结构中最好的时间源。 如果您想为两个域控制器使用外部源,则可以使用发布的命令@PSaul或从这里进行configuration 。 一般来说,持有PDC模拟器angular色的域控制器应该从外部源同步,并且其他域控制器应该同步它。

 net stop w32time & net start w32time w32tm /resync /force 

重新启动时间服务并强制重新同步。

 w32tm /query /source 

最后你应该确认你的域控制器有正确的时间源。

看本阿姆斯特朗的优秀的博客文章了解更多细节。

我终于搞定了! 这样做的目的是帮助那些在开始设置域名时间的人开始。

在此示例中,所有服务器,主域控制器(PDC),其他域控制器(DC)和其他服务器都运行Windows 2008 R2,并使用Hyper-V进行虚拟化。

首先,您将阅读在Hyper-V中的任何虚拟机上禁用“时间同步集成服务”,但是您应该从虚拟DC中操作Windows时间服务(w32tm服务),因此不应禁用此function,因为VM重启会造成问题,应该用w32tm来完成。 MSDN信息

您将需要找出什么服务器是PDC和运行FSMOangular色。 运行这个:netdom查询fsmo结果应该是你的PDC,这是你做大部分改变的地方。

请确保在防火墙中有一个“出站”规则UDP123和程序是%SystemRoot%\ System32 \ w32tm.exe只需浏览到Windows目录,并findexe的时间

这是registry更改的地方!

HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\ W32Time服务

请确保在上面的registry地址configuration中的PDC设置为“ types ”的NTP和所有其他服务器是NT5DS,这意味着NTP是爸爸! 这里的最佳做法是让PDC从外部看时间,并且一切都同步到它。

在所有的域控制器(包括PDC)上运行它,它将部分禁用Windows时间,所以它不会在主机上查看时间,这很重要,因为我们是虚拟的。

 reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0 

你可以去ntp.org网站find离你最近的服务器来同步你的外部时间。 我build议不要使用Microsoft,因为它们被大量使用,因此可能会漏掉。

下面的命令将PDC设置为从外部查看,但也检查这里定义的registry设置以便外部同步(您需要同时执行) MS KB 816042

PDC上运行此

 w32tm /config /manualpeerlist:"0.pool.ntp.org,0x1" /syncfromflags:MANUAL /reliable:yes w32tm /config /update w32tm /resync w32tm /resync /rediscover 

在任何服务器上随时运行这两个命令以查看它们的来源以及上次更新的时间,这些将在整个练习中使用,以确保您的PDC和其他服务器从正确的位置获得时间

 w32tm /query /status w32tm /query /source 

然后在除了PDC之外的所有DC上运行它,这将使他们看PDC的时间并重新同步

 w32tm /config /syncfromflags:DOMHIER /update net stop w32time net start w32time w32tm /resync /force 

问题 :运行“状态”或“源”查询时,给他们1分钟或2分钟后,不应该查看本地CMOS时钟 ,也不应该使用VM IC时间同步提供程序作为源。

如果成功,PDC应读取已设置的外部站点,其他服务器应将PDC作为源

希望这有助于人们好运!

我会build议:

  • 不要在HyperV主机和来宾虚拟机之间启用时间同步 – 特别是对于DC。 PDCangular色持有者应该通过NTP从几个好的时间源更新。 主机的时钟也可以通过NTP更新,但是您希望PDC成为其他DC和成员服务器的“主”。 (至less在VMwre中,我假设和HyperV一样)
  • 确保您有出站stream量的UDP端口123打开。
  • 你可以解决NTP服务器的FQDN(你可以PING他们吗?)
  • 所有其他DC和成员机器应自动更新。

不要只使用time.windows.com或time.microsoft.com,使用其中一个* .pool.ntp.org服务器。 我使用north-america.pool.ntp.org或ca.north-america.pool.ntp.org – 越近越好。 您可以查看: http : //www.pool.ntp.org/以查找靠近您的服务器。

然后运行如下所示:

 w32tm /config /manualpeerlist:"north-america.pool.ntp.org 0.pool.ntp.org" /syncfromflags:MANUAL /update /reliable:YES 

(添加你想要的任何NTP服务器,在加拿大我也使用time.nrc.ca)

其次是:

 net stop w32time net start w32time 

你可以检查同行:

 w32tm /query /peers 

检查系统日志以查看它是否正在更新。 您应该能够提前1分钟设置时钟,重新启动w32time服务,它将在30秒内更新。 [AD域内​​less于5分钟的时间偏差是可以接受的]

根据其他人的build议,绝对没有从主机到客户机的硬件时间同步。 您还应该只与保存林根PDC模拟器angular色的域控制器同步外部NTP服务器。 如果您的林根PDC模拟器angular色域控制器不同步,依赖它的数据中心将有问题。

您可能还想要尝试以下修复程序:

即使W32Time服务在Windows Server 2008或Windows Server 2008 R2中成功启动,也不会执行时间同步

http://support.microsoft.com/kb/2493006

如果您对w32tm使用/ verbose标志,可能会发现它更有帮助:

 w32tm /query /status /verbose /computer:dcname 

附加信息:

https://technet.microsoft.com/en-us/library/virtual_active_directory_domain_controller_virtualization_hyperv%28WS.10%29.aspx

“对于configuration为域控制器的虚拟机,build议您禁用作为域控制器的主机系统和来宾操作系统之间的时间同步,这样您的来宾域控制器就可以从域层次结构同步时间。

“要禁用Hyper-V时间同步提供程序,请closures虚拟机并清除”Integration Services“下的”时间同步“checkbox。