如何在一秒内同步 ESXi Windows 虚拟机上的时间?

Leo*_*rev 12 windows ntp time-synchronization vmware-esxi

我是一名开发人员,我们正在使用 Quartz.Net,这是一个广泛使用的带有 SQL 后备存储的调度库来运行作业服务器集群(ESXI 集群上的 VM)。

Quartz.Net要求作业服务器实例之间的时间同步,并建议为此使用 NTP。

时钟之间的时间必须在一秒之内。

我们的系统管理员使用 Windows NTP 与域控制器同步时间。VM 与 ESXI 主机的同步已关闭。

他们一直坚持认为“在一秒钟之内”不是正确的要求,并且在没有硬件 GPS 同步设备的情况下无法满足。他们的 SLA 和监控级别是“在 3 分钟内”。

我们正在经历周期性(每 2-3 个月一次)Quartz 实例不同步的行为,这与时间不同步一致。

  1. 我们要求“在一秒钟内”是否正确,或者我们需要完全放弃 Quartz?
  2. 如果是,建议对我们的设置进行哪些更改?

Tom*_*Tom 20

这是 2018 年。根据 MIFID II 法规的要求,Windows 能够在 2 毫秒左右的时间内保持服务器同步。所以,你的问题不是问题。

我们的系统管理员使用 Windows NTP 与域控制器同步时间。VM 与 ESXI 主机的同步已关闭。

为什么?主机可以更好地处理这个问题(作为硬件),而你的数量要少得多。您的系统管理员朝自己的脚开枪,然后抱怨他们在流血。

他们一直坚持认为“在一秒钟之内”不是正确的要求,并且在没有硬件 GPS 同步设备的情况下无法满足。他们的 SLA 和监控级别是“在 3 分钟内”。

旧 - 古老 - Windows 在该时间范围内同步,因为 Kerberos 票证的有效期为 5 分钟。

但正如我所说,这是 2018 年。如今金融行业的要求非常苛刻,而 MS 已经处理了这个问题——我认为,自 2012 年以来。2016年全面实施。互联网上的毫秒精度是一个已解决的问题 - 实际上在 50 年前就已解决,以实现良好的连接。NTP 可以处理它。如果您想减少流量(即制作您自己的第 3 层 NTP 时间源),您可能需要安装一个便宜的硬件盒,但这又不贵。

我们要求“在一秒钟内”是否正确,或者我们需要完全放弃 Quartz?

您需要针对偶尔的时间问题进行编程 - 就像您对硬件所做的那样。但“秒内”是一个要求的笑话——正常情况下满足是微不足道的。

一些参考:

https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/accurate-time

政府法规,例如:美国 FINRA 的精度为 50 毫秒 欧盟的 ESMA (MiFID II) 精度为 1 毫秒。

那里有很多细节和说明。如果您必须解决这个问题,这实际上是一本了不起的读物。您可能需要升级您的管理程序 - 他们谈论的都是 Hyper-V。VMWare 应该能够做同样的事情,但不确定你的版本有多旧。

  • 我同意 NTP 足够快,但 VMware 不建议使用集成服务来同步时间,在大多数(尽管不是全部)情况下,常规 NTP 做得更好更快。 (2认同)

Cho*_*er3 6

我们要求“在一秒钟内”是否正确,或者我们需要完全放弃 Quartz?

各种应用程序堆栈需要严格的时间控制有很多很好的理由,而 Quartz 所要求的绝非不寻常。

如果是,建议对我们的设置进行哪些更改?

最好的办法是让系统的每个部分都使用 NTP 并将它们指向同一对 NTP 服务器。因此,ESXi 主机和在其上运行的虚拟机都使用相同的 NTP 源,对于其他任何相关内容也是如此。这样,即使 NTP 服务器处于“关闭时间”,至少您系统的每个部分都是最新的。