如何在一秒鐘內同步ESXi Windows虛擬機器上的時間?

如何在一秒鐘內同步ESXi Windows虛擬機器上的時間?

我是一名開發人員,我們正在使用 Quartz.Net,這是一種廣泛使用的調度庫,具有 SQL 後備儲存來運行作業伺服器叢集(ESXI 叢集上的虛擬機器)。

石英網需要該時間將在作業伺服器實例之間同步,並建議使用 NTP。

時鐘之間的誤差必須在一秒鐘內。

我們的系統管理員使用 Windows NTP 與網域控制站同步時間。 VM 與 ESXI 主機的同步已關閉。

他們一直堅持認為「秒內」並不是正確的要求,如果沒有硬體 GPS 同步設備就無法滿足這項要求。他們的 SLA 和監控等級為「3 分鐘內」。

我們遇到週期性(2-3 個月一次)Quartz 實例不同步行為,這與時間不同步一致。

  1. 我們要求「在一秒鐘內」是否正確,或者我們需要完全放棄 Quartz?
  2. 如果是,建議對我們的設定進行哪些更改?

答案1

這是 2018 年。所以,你的問題不是問題。

我們的系統管理員使用 Windows NTP 與網域控制站同步時間。 VM 與 ESXI 主機的同步已關閉。

為什麼?主機可以更好地處理這個問題(作為硬體),並且您的數量要少得多。你的系統管理員搬起石頭砸自己的腳,然後抱怨他們流血了。

他們一直堅持認為「秒內」並不是正確的要求,如果沒有硬體 GPS 同步設備就無法滿足這項要求。他們的 SLA 和監控等級為「3 分鐘內」。

舊 - 古老 - Windows 在該時間範圍內同步,因為 Kerberos 票證的有效期為 5 分鐘。

但正如我所說,現在是 2018 年。 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 應該能夠執行相同的操作,但不確定您的版本有多大。

答案2

我們要求「在一秒鐘內」是否正確,或者我們需要完全放棄 Quartz?

各種應用程式堆疊需要嚴格的時間控制有很多很好的理由,而 Quartz 的要求絕非不尋常。

如果是,建議對我們的設定進行哪些更改?

最好的方法是讓系統的每個部分都使用 NTP 並將它們指向同一對 NTP 伺服器。因此,ESXi 主機及其上執行的虛擬機器都使用相同的 NTP 來源,其他涉及的內容也相同。這樣,即使 NTP 伺服器“關閉”,至少系統的每個部分都是最新的。

答案3

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

對 Windows 8.1 和 2012 R2(或更低版本)的高精度支援

早期版本的 Windows(Windows 10 1607 或 Windows Server 2016 1607 之前)無法保證高度準確的時間。這些系統上的 Windows 時間服務:

  • 提供必要的時間精度以滿足 Kerberos 版本 5 驗證要求

  • 為加入公用 Active Directory 林的 Windows 用戶端和伺服器提供鬆散準確的時間

更嚴格的精度要求超出了這些作業系統上 Windows 時間服務的設計規範,因此不受支援。

Windows 10 與 Windows Server 2016

Windows 10 和 Windows Server 2016 中的時間準確性得到了大幅提高,同時保持了與舊版 Windows 版本的完全向後 NTP 相容性。在正確的操作條件下,執行 Windows 10 或 Windows Server 2016 及更高版本的系統可以提供 1 秒、50 毫秒(毫秒)或 1 毫秒的精度。

目標精度:1 秒 (1s)

與高精度時間源相比,要使特定目標機器達到 1 秒的精度:

  • 目標系統必須執行 Windows 10、Windows Server 2016。

  • 目標系統必須從時間伺服器的 NTP 層次結構同步時間,最終形成高度準確、與 Windows 相容的 NTP 時間來源。

  • 上述 NTP 層次結構中的所有 Windows 作業系統都必須依照設定高精度系統文件中的說明進行設定。

  • 目標和來源之間的累積單向網路延遲不得超過 100 毫秒。累積網路延遲是透過將層次結構中從目標開始到來源結束的一對 NTP 用戶端-伺服器節點之間的各個單向延遲相加來測量的。有關更多信息,請查看高精度時間同步文檔。

https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/configuring-systems-for-high-accuracy

相關內容