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

メッセージ: ローカル クロックが同期されていないため、タイム サービスはタイム ソースとしてのアドバタイズを停止しました。

イベントID: 139

メッセージ: タイム サービスがタイム ソースとしてアドバタイズを開始しました。

これら 2 つのメッセージは、約 1 時間ごとにペアで表示されます。イベント 142 は、イベント 139 が表示されてから 14 ~ 16 分後に表示されます。

数か月前まで遡ると、次のような出来事が起こります。

イベントID: 35

メッセージ: タイム サービスは現在、システム時刻をタイム ソース time.windows.com,0x9 (ntp.m|0x9|0.0.0.0:123->65.55.21.21:123) と同期しています。

イベントID: 37

メッセージ: タイム プロバイダー NtpClient は現在、time.windows.com,0x9 (ntp.m|0x9|0.0.0.0:123->65.55.21.21:123) から有効な時間データを受信して​​います。

イベントID: 47

メッセージ: タイム プロバイダー NtpClient: 手動で構成されたピア time.windows.com,0x9 から、8 回接続を試みましたが、有効な応答が受信されませんでした。このピアはタイム ソースとして破棄され、NtpClient はこの DNS 名で新しいピアの検出を試みます。エラー: タイム サンプルが拒否された理由: ピアが同期されていないか、ピアの最後の同期から時間が経過しすぎています。

これら 3 つのイベントは、10 月にログに 1 回だけ表示されます。

編集:

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 内のすべてのハイブとキー) を確認します。

いくつかの矛盾が見つかったので、必要なキーとハイブを動作中のサーバーから壊れたサーバーにエクスポートしました。次のキーは間違っていました。動作中のボックスから壊れたボックスにエクスポートした正常なキーは次のとおりです。これらの値はお客様の値と同じではない可能性があるので、以下のキーは使用しないでください。

セキュリティ Hive が欠落していたため、次のように再作成しました。

[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 エミュレーターの役割をより信頼性の高いクロックを備えた別のマシンに移動することを検討してください。

編集: 「古い時刻データ」の問題は、クエリしようとしているタイム サーバーに問題がある可能性があります。既定の「time.windows.com」をパブリック NTP プールのサーバーに置き換えてみてください (<region>.pool.ntp.org) を NTP 設定で使用します ( net time /setsntp:<servername>)

関連情報