WS2008 NTP - 使用 time.windows.com,0x9 - 時間總是向前傾斜

WS2008 NTP - 使用 time.windows.com,0x9 - 時間總是向前傾斜

我有一個配置為使用 time.windows.com 的網域控制器(設定了 0x09 標誌)。我注意到系統時鐘經常很快 - 從 10 分鐘到 45 分鐘不等。我總是必須不斷地將系統日期/時間重置回應有的狀態。

當我運行“w32tm /query /source”時,它告訴我它正在使用 time.windows.com,顯然我相信 Microsoft 不會提供錯誤的時間,但為什麼我的伺服器時鐘很快?

編輯:

系統日誌中有一些時間服務事件:

事件ID:142

訊息:由於本地時鐘不同步,時間服務已停止作為時間來源進行廣告。

活動編號:139

訊息:時間服務已開始作為時間來源進行廣告。

這兩條訊息大約每隔一小時就會成對出現。事件 142 在 139 出現後 14 到 16 分鐘出現。

回顧幾個月前,出現了以下事件:

事件ID:35

訊息:時間服務現在正在將系統時間與時間來源 time.windows.com,0x9 (ntp.m|0x9|0.0.0.0:123->65.55.21.21:123) 同步。

活動編號:37

訊息:時間提供者 NtpClient 目前正在從 time.windows.com,0x9 (ntp.m|0x9|0.0.0.0:123->65.55.21.21:123) 接收有效時間資料。

活動編號:47

訊息:時間提供者 NtpClient:在嘗試聯絡手動設定的對等點 time.windows.com,0x9 8 次後,未收到有效回應。該對等點將被丟棄作為時間來源,並且 NtpClient 將嘗試發現具有此 DNS 名稱的新對等點。錯誤是:時間樣本被拒絕,因為:對等點未同步,或距離對等點上次同步時間太長。

這三個事件僅在 10 月的日誌中出現一次。

編輯:

這是 w32tm /query /status /verbose 的輸出:

enter code here

C:\Users\Administrator>w32tm /query /status /verbose
Leap Indicator: 3(last minute has 61 seconds)
Stratum: 3 (secondary reference - syncd by (S)NTP)
Precision: -6 (15.625ms per tick)
Root Delay: 0.1794868s
Root Dispersion: 4.6419912s
ReferenceId: 0x41371515 (source IP:  65.55.21.21)
Last Successful Sync Time: 2011-12-05 23:25:18
Source: time.windows.com,0x9
Poll Interval: 6 (64s)

Phase Offset: 0.0000695s
ClockRate: 0.0156243s
State Machine: 1 (Hold)
Time Source Flags: 0 (None)
Server Role: 0 (None)
Last Sync Error: 2 (The computer did not resync because only stale time data was available.)
Time since Last Good Sync Time: 1281.9919104s

答案1

我也遇到了同樣的問題,今天早上終於解決了。這是我所做的:

查看有時間問題的伺服器和正確同步 ntp 的另一台成員伺服器上的登錄機碼(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time 中的所有設定單元和按鍵)。

我發現了一些差異,並將所需的金鑰\配置單元從工作伺服器匯出到損壞的伺服器。以下鑰匙已經弄亂了,這是我從工作箱匯出到損壞的鑰匙上的好鑰匙。請注意,這些值可能與您的不同,因此請不要使用以下鍵:

安全配置單元丟失了,所以我用這個重新創建了:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Security]
"Security"=hex:01,00,04,80,84,00,00,00,90,00,00,00,00,00,00,00,14,00,00,00,02,\
  00,70,00,05,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,05,12,00,\
  00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,\
  00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,04,00,00,00,00,00,14,00,\
  8d,01,02,00,01,01,00,00,00,00,00,05,06,00,00,00,00,00,14,00,9d,01,02,00,01,\
  01,00,00,00,00,00,05,13,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,\
  00,00,00,00,00,05,12,00,00,00

並注意到 NtpServer 配置單元缺少密鑰,這是透過導入修復的:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer]
"DllName"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\
  74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,77,\
  00,33,00,32,00,74,00,69,00,6d,00,65,00,2e,00,64,00,6c,00,6c,00,00,00
"Enabled"=dword:00000000
"InputProvider"=dword:00000000
"AllowNonstandardModeCombinations"=dword:00000001
"EventLogFlags"=dword:00000000
"ChainEntryTimeout"=dword:00000010
"ChainMaxEntries"=dword:00000080
"ChainMaxHostEntries"=dword:00000004
"ChainDisable"=dword:00000000
"ChainLoggingRate"=dword:0000001e

然後我修改了以下現有金鑰以減少階段:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config] 
"MaxAllowedPhaseOffset"=dword:00000001 
"SpecialPollInterval"=dword:00000005 
"SpecialInterval"=dword:00000001

一旦確定註冊表正確,請以管理員身份透過命令列發出以下命令:

w32tm /config /manualpeerlist:"YOURNTPSERVER-OR-DCHERE.YOURDOMAIN.COM,0x01" /syncfromflags:MANUAL /update
net stop w32time && net start w32time
w32tm /resync /computer:YOURNTPSERVER-OR-DCHERE.YOURDOMAIN.COM /rediscover

等待幾分鐘然後檢查同步

w32tm /monitor /computers:YOURNTPSERVER-OR-DCHERE.YOURDOMAIN.COM

它應該看起來有點像這樣:

YOURNTPSERVER-OR-DCHERE.YOURDOMAIN.COM[IPOFYOUR.NTP.OR.DC:123]:
    ICMP: 0ms delay
    NTP: +0.0496804s offset from local clock
        RefID: YOURNTPSERVER-OR-PDCHERE [IPOFYOUR.NTP.OR.PDC]
        Stratum: 3

然後檢查階段:

w32tm /stripchart /computer:YOURNTPSERVER-OR-DCHERE.YOURDOMAIN.COM

它應該看起來像這樣:

10:08:42 d:+00.0000000s o:+00.0139224s  [           *           ]
10:08:44 d:+00.0000000s o:-00.0015659s  [           *           ]
10:08:46 d:+00.0000000s o:-00.0014534s  [           *           ]
10:08:48 d:+00.0000000s o:-00.0013418s  [           *           ]
10:08:50 d:+00.0000000s o:-00.0012421s  [           *           ]

希望這可以幫助!

答案2

這是擔任 PDC 模擬器角色的 DC 嗎?您只需使用外部時間來源配置具有 PDC 模擬器角色的 DC,其他 DC 將自動同步到 PDC。

時間服務的當前狀態可以透過以下方式取得w32tm /query /status /verbose- 它應該為您提供有關本地時鐘狀態、上次同步偏差和精度的一些詳細資訊。根據您記錄的事件,您的本地時鐘對於時間源來說似乎太不可靠。一些成功同步後,預設的 w32time 同步間隔為 1024 秒 - 這大約是 17 分鐘,大致是事件 139 和 142 之間的時間差。

如果這是一個虛擬化系統,您應該考慮替代計時器硬體模擬。 VMWare 發布了關於該主題的綜合論文即使您使用不同的虛擬化產品,這也值得一讀。

如果這是實體系統,請考慮減少 w32time 服務的 MaxPollInterval 作為解決方法,或將 PDC 模擬器角色移至具有更可靠時脈的其他電腦。

編輯:「過時的時間資料」問題可能確實是您嘗試查詢的時間伺服器的問題。嘗試用公共 NTP 池中的伺服器取代預設的「time.windows.com」(<region>.pool.ntp.org) 在您的 NTP 配置中(只需使用net time /setsntp:<servername>

相關內容