我有一个在 ESX 环境中运行的 Windows 2008 服务器 - 32 位。
我可以手动将时间同步到时间服务器(time.microsoft.com、tick.gatech.edu 或任何其他时间服务器),并且时间已正确设置并显示在系统托盘时钟中。我还将时区正确设置为东部时间 - 已根据 DST 进行调整。
目前看来一切都很好。
但是,如果我重新启动系统,则系统时钟将提前 4 个小时(即,实际时间下午 4:00 在系统上变为下午 12:00)。
然后我必须强制重新同步时间或手动将时间设置为正确的小时。分钟不受影响——但时间被精确地调回了 4 小时。
这让我很抓狂,我正在寻找解决方案。不幸的是,这台服务器上的几个关键任务都是时间敏感的,这造成了真正的问题。
我已仔细检查 VMtools 是否未设置为将时钟同步到 ESX 服务器。
谢谢你的帮助。
答案1
我们上周遇到了同样的问题。事实证明 ESX 主机的时间确实很重要,因为服务器在重置时会从该时间开始(我们在 Microsoft 补丁重启后才发现这一点)。真正可疑的是,它在重启后一直重置为相同的时间尺度。在您的例子中,现在是现在 4 小时,在我们的例子中,现在是现在 42 天。一旦我们理清了 ESX 主机的时间,它就不再这样做了,正常的 Windows 时间同步能够让它保持准时。
答案2
@ScottWarren - 你说得对,这是长期解决方案。但是我想花点时间充分解释一下为什么会发生这种情况,以便其他用户知道为什么会发生这种情况。
请记住 - 在客户端的 VM Tools 中,我选择客户端不应将系统时间与 ESX 主机同步,但是这种情况仍然发生。
原因解释如下VMWare 的 KB 1189。
基本上,有两种情况虚拟机会忽略您的不让客户机同步到 ESX 主机的请求:
- 当您暂停虚拟机时,下次恢复该虚拟机时,它会同步时间以将其调整到主机。
- 当您使用 VMotion 迁移虚拟机、创建检查点、还原到检查点、缩小虚拟磁盘或重新启动虚拟机中的工具服务时,时间会重新同步 (包括重新启动虚拟机)。
这就是每次系统重新启动时时间都会重置的原因。奇怪的是,VMware 一开始就忽略了用户不要发生这种情况的请求,但现在我完全明白了这种情况是如何发生的以及为什么会发生。
在这种情况下,我看到的时间差异是因为我们的环境中新安装了 ESXi 4.1。新服务器没有 NTP 设置,因此向客户端提供了错误的时间信息。
答案3
几天前我也遇到了同样的问题。最重要的是 ESX 时间必须正确,否则 BIOS(由 ESX 主机提供)每次重新启动后都会显示错误的时间,从而与 Windows 中的时间混淆。如果时间差太大,则 w32tm 将无法同步。
最好的办法是校正 ESX 主机上的时间,但如果您无法做到这一点,您可以随时更改最大相位校正(MS 知识库文章)更改为更大的数字(默认只有 5 分钟),这将允许您在所处的条件下进行同步...尽管如果你把它设置得很高,可能会产生负面影响(阅读知识库文章中的注释以获取示例)