2014年8月20日 星期三

Windows 設定同步時間誤差,防止大規模時間的位移-Time service

今天在一台重要的 SVN Server 被告知系統時間錯誤,但這台 Server 一直以來都有同步內部的 Time Server

 

如圖所示看起來也沒有太大的異常,但實際的誤差時間高達 8 小時

2014-08-19_112903

 

這個誤差值來自於 Windows Default 的設定



在預設的 Time Service 登錄檔內可以設定誤差值以及輪詢的時間

 

以 Windows 2003 為例

到 Time Service 的登錄檔路徑

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

 

 

有以下參數可以做調整,以下單位都以計算

MaxPosPhaseCorrection 此參數為最大正值的誤差限制

MaxNegPhaseCorrection 此參數為最大負值的誤差限制

MaxPollInterval 此參數為系統背景排程輪詢的時間

SpecialPollInterval 此參數為手動輪詢的時間

 

2014-08-19_141700

 

 

 

 

此篇首要修改的是 MaxPosPhaseCorrection 和 MaxNegPhaseCorrection,這兩個參數的預設值都是 54,000 秒,也就是 15 小時

 

所謂的正值與負值,就是與 Time Server 時間的誤差正與負值

 

若是 Time Server 目前為 00:00,而被校時的 client Server 可容忍最大的時間為 -15:00 ~ 15:00。

 

這樣的一前一後的差距就有30小時,

 

而且在微軟的 KB文章也建議設定為 15分鐘或者更低,不太懂為什麼微軟會這樣設定 Default 值

設定 Windows Time 服務,以防止大規模的時間位移

 

 

在考慮系統更新頻率以及網路環境下小弟設定為以下

MaxPosPhaseCorrection 900

MaxNegPhaseCorrection 900

MaxPollInterval 15

SpecialPollInterval 604,800

 

誤差值為上下15分鐘,15秒系統輪詢一次 Time Server,並且7天做一次手動輪詢

 

避免讓系統耗費在 sync time 太多時間,誤差調整在可接受範圍內即可。

Orignal From: Windows 設定同步時間誤差,防止大規模時間的位移-Time service

沒有留言:

張貼留言