我们正在构建一个新的服务器堆栈。我们的第一个 Windows 2019 虚拟机同步到它所在的 ESX 7 主机,而不是我们路由器上的 NTP 服务。
“w32tm /query /configuration”的结果如下。请注意设置“NtpClient”已启用“1”。并且“VMICTimeProvider”已启用“0”。
尽管如此,命令“w32tm /query /source”返回“本地 CMOS 时钟”
我已经运行“w32tm /config /manualpeerlist:”10.233.0.1”/syncfromflags:manual /reliable:yes /update”,然后重新启动 Windows 时间服务。但它没有任何效果。
为了测试这一点,我手动将 ESX 主机上的时间设置为比 NTP 服务器晚 20 分钟(并关闭 ESX 主机上的 NTP 服务)。然后我手动将 VM 时间设置为午夜。
命令“w32tm /resync”失败。但是在重新启动 VM 后,时间从午夜更改为 ESX 主机的时间。它没有重置为 NTP 服务器上的时间。
我们可以ping通NTP服务器。其他主机正在同步到 NTP 服务器。我不知道为什么这个虚拟机拒绝与它同步。根据下面的配置,你能给我一些想法吗?
[配置]
EventLogFlags: 2 (Local) AnnounceFlags: 5 (Local) TimeJumpAuditOffset: 28800 (Local) MinPollInterval: 6 (Local) MaxPollInterval: 10 (Local) MaxNegPhaseCorrection: 172800 (Local) MaxPosPhaseCorrection: 172800 (Local) MaxAllowedPhaseOffset: 300 (Local)
FrequencyCorrectRate: 4 (Local) PollAdjustFactor: 5 (Local) LargePhaseOffset: 50000000 (Local) SpikeWatchPeriod: 900 (Local) LocalClockDispersion: 10 (Local) HoldPeriod: 5 (Local) PhaseCorrectRate: 7 (Local) UpdateInterval: 100 (Local)
[时间提供者]
NtpClient (Local) DllName: C:\windows\SYSTEM32\w32time.DLL (Local) 启用: 1 (Local) InputProvider: 1 (Local) AllowNonstandardModeCombinations: 1 (Local) ResolvePeerBackoffMinutes: 15 (Policy) ResolvePeerBackoffMaxTimes: 7 (Policy) CompatibilityFlags :2147483648(本地)EventLogFlags:0(策略)LargeSampleSkew:3(本地)SpecialPollInterval:1024(策略)类型:NTP(策略)NtpServer:10.233.0.1(策略)
NtpServer (Local) DllName: C:\windows\SYSTEM32\w32time.DLL (Local) 启用: 1 (Local) InputProvider: 0 (Local) AllowNonstandardModeCombinations: 1 (Local)
VMICTimeProvider (Local) DllName: C:\windows\System32\vmictimeprovider.dll (Local) Enabled: 0 (Local) InputProvider: 1 (Local)
重新启动时,虚拟 CMOS(及其模拟的实时时钟)由管理程序重置为默认值(即:它自己的时钟)。这样做是为了给新启动的虚拟机一个合理的启动“基准时钟”。
换句话说,客户时钟在启动时从管理程序初始化其时间是完全正常的(并且非常需要);之后,您可以在来宾操作系统中使用您选择的 NTP 客户端以高精度同步其时钟。
对于 VMWare,请务必从 VMWare 工具中取消选中“将访客时间与主机同步”选项,并注意此处说明的其他同步点
默认情况下,有许多事件会导致 VM 与主机同步其时间。可以关闭它们: https ://kb.vmware.com/s/article/1189