我們可以在任意數量的電腦的本機網路中同步電腦時鐘,其精確度如何?

我們可以在任意數量的電腦的本機網路中同步電腦時鐘,其精確度如何?

過去,我發現我的本地網路上的大多數電腦實際上並沒有達到 1 秒左右的相同時間。

因此,我想確保一組伺服器(例如 48 台 1U 電腦)可以擁有完全相同的時鐘。我知道我可以使用 NTP 來解決這個問題,我知道我可以讓一台伺服器從原子鐘獲取時間,並將其他伺服器同步到該伺服器。

不過,我對該技術有一個主要擔憂:如果該伺服器損壞,那麼我的時間同步就會停止......一點也不好。

有沒有正確的方法可以確保 48 台電腦的時脈同步,精確度約為 0.5μs?如果不是 0.5μs,我們還能指望什麼呢? (即0.5毫秒?)

答案1

NTP 可以使用伺服器集區(例如http://www.pool.ntp.org/en/(但您可以建立自己的)以避免一台伺服器宕機的情況,並且如果由於某種原因所有父伺服器都不可用,伺服器還可以維護本地時鐘。

答案2

我其實找到了一個部落格文章以及我正在尋找的資訊。他們提到他們的叢集中的電腦使用 NTP 以 1 毫秒正確同步。

看起來像點對點正如邁克爾漢普頓(Michael Hampton)所建議的,遵循與以下相同的策略:它將利用一台計算機,特級大師,作為時間同步的來源,而不是嘗試在所有計算機上獲取正確的絕對時間(因此,如果特級大師與外界所認為的相差 10 毫秒絕對是即時,所有節點將關閉 10ms)。

該文件中提出的解決方案是:

1)設定一台計算機以使用 NTP 檢索絕對時間。如果那台電腦發生故障,時鐘可能會開始漂移,但它們之間不會變得不準確,而是與另一台電腦相比會出現漂移。絕對是即時僅有的。

在這種情況下,您使用server定義 (特級大師):

server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
...

也要將此電腦設定為 NTP 伺服器,例如local.ntp

2)將其他計算機設定為對等計算機

server local.ntp   # only on a few other (3 to 5) computers
peer c0 iburst
peer c1 iburst
peer c2 iburst

您不需要將所有 48 台電腦相互連接,而是將 3 到 5 台電腦連接起來,每台電腦使用稍微不同的設定(c1、c2、c3,然後是 c2、c3、c4 等)。一個盡可能相互同步的對等網絡,其中幾台電腦(3 到5 台)連結到(1) 中定義的節點,即local.ntp,使時間盡可能接近即時。

引用local.ntp本身可以被視為對等點(您甚至可以將其設為對等點?)

restrictPS強烈建議peer在半公共網路上使用時使用 ,以防止其他人存取您的 NTP 網路。

相關內容