
我正在尋找一個適用於 Windows Server 2003/2008 的 NTP 伺服器,最好是免費的。我們已經嘗試過內建的 Windows 時間伺服器,但我們的測試確實表明它不是很準確,我們看到時間差異高達 500 毫秒。我們的應用程式允許的最大時間差約為 100 毫秒。
現在我們已經使用了邁恩伯格 NTPd對於 Windows。它運作得很好,但我們有一個大問題:如果客戶端和伺服器之間有網路連線問題,ntp 伺服器將處於緊急狀態,除非我們重新啟動ntp 服務,否則它不會為客戶端提供新的時間。這是一個大問題,給我們帶來了一些麻煩。它工作了好幾個月,直到出現了一個我們沒有註意到的網路問題,我們只是在一周後時差已經達到 30 秒時才注意到它。關於客戶。
所以請推薦一些適用於 Windows 的替代 NTP 伺服器。我用谷歌搜索,但得到了很多不相關的搜索結果。
編輯: 到目前為止,ntpd Windows 版本非常準確,我想堅持使用它。唯一的問題是網路斷開後的「恐慌狀態」。也許有些人知道這是什麼原因以及如何解決它。另外,我忘了提到我們有一個像這樣的伺服器/客戶端設定:
伺服器1 --> 伺服器2 --> 伺服器3 --> 客戶端1 --> 客戶端2 --> 客戶端3
因此,Server2 從 Server1 取得時間,Server3 從 Server2 取得時間,而 Client 從 Server3 取得時間。此外,還有直接連接到 Server2 的客戶端。所有伺服器和客戶端的時間完全相同(大約 100 毫秒內)非常重要
現在 Server3 及其客戶端出現網路問題。伺服器運行 Windows 的 ntpd 端口,充當 NTP 伺服器和客戶端。客戶端使用 Dimension4 作為 NTP 用戶端。出現網路問題後,D4 中的錯誤訊息是這樣的(我的腦子裡沒有確切的錯誤訊息):
伺服器回應:伺服器處於緊急狀態(無法同步時鐘)
我通讀了 ntpd 文檔,唯一提到的「恐慌」是當時間差為 10000 秒時,這將導致退出 ntpd 伺服器,但事實並非如此。還有一個“-g”命令列開關可以禁用緊急退出,但它已預設設定。
有什麼想法可能會導致恐慌狀態以及下次如何擺脫它嗎?
答案1
我在用網路時間,多年來,無論是作為客戶端還是伺服器。
該軟體主要是 NTP 用戶端,但它也可以作為 LAN 內的 NTP 伺服器(選項:允許其他電腦同步到該電腦)。
答案2
我們從 W32time 看到遠優於 500 毫秒,更像是 16 毫秒,這是 Windows 系統計時器的解析度。這是透過同一千兆 LAN 上的真實 Linux stratum-2 NTPd 伺服器測量的。谷歌「Windows 時間服務工具和設定」並閱讀「updateinterval」設置,該設定可以透過群組原則或直接在登錄中修改。現在無法檢查,但我記得我們將所有伺服器的值設為 100,這是網域控制器的預設值,但不是其他 Windows 網域成員的預設值。
更新:事實上,我們所有伺服器都將此值設為 100。 UpdateInterval 設定的詳細資訊:
更新間隔
登錄路徑: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
版本:Windows XP、Windows Vista、Windows 7、Windows Server 2003、Windows Server 2003 R2、Windows Server 2008 和 Windows Server 2008 R2。
此條目指定相位校正調整之間的時鐘滴答數。網域控制器的預設值為 100。獨立客戶端和伺服器的預設值為 360,000。
正如您所看到的,預設情況下,對於非網域控制器,W32time 僅每 30,000 個時脈週期「操縱」一次時鐘,如果它們不是網域成員,情況會更糟。 Windows 上的刻度通常為 1/64 秒,具體取決於硬件,因此這意味著在預設配置中時鐘僅每 8 分鐘左右調整一次。這對於大多數應用程式來說都很好,但對於時間敏感的應用程式來說就不好了。
更多資訊可以在這裡找到: http://technet.microsoft.com/en-us/library/cc773263(v=ws.10).aspx#w2k3tr_times_tools_uhlp
答案3
NIST列出的所有時間軟體的參考清單是這裡。我過去使用過的是clockwatch伺服器。我還建議您更改同步拓撲。 server1 應該是網路上所有時間的來源(伺服器 2 和 3 作為備份)。僅當沒有可用伺服器時,客戶端才應進行對等同步。