web-dev-qa-db-ja.com

Active Directoryの時刻同期-タイムサービスイベントID 50

2つのDCを持つActive Directoryドメインがあります。フォレスト/ドメインの最初のDCはServer 2012、2番目は2008 R2です。最初のDCはPDCを保持します=エミュレーターの役割。

Time-Serviceソース、イベントID 50から散発的に警告を受け取ります。

The time service detected a time difference of greater than %1 milliseconds for %2 seconds. The time difference might be caused by synchronization with low-accuracy time sources or by suboptimal network conditions. The time service is no longer synchronized and cannot provide the time to other clients or update the system clock. When a valid time stamp is received from a time service provider, the time service will correct itself.

ドメインの時刻同期は、2番目のDCを使用して/syncfromflags:DOMHIERフラグを使用して同期します。最初のDCは、 /syncfromflags:MANUAL /reliable:YESntp2d.mcc.ac.ukなど、英国ベースのストラタム2サーバーの数で構成されるピアリストから。

このイベント警告が表示される理由がわかりません。これは、私のPDCエミュレータは、信頼できると思われる外部の時刻ソースと時刻を同期できないことを意味し、900秒で5秒を超える時間差を引用します。 ntp.orgからの英国のプールですが、警告が頻繁に表示されます。英国を拠点とする多数の学術タイムサーバーに更新しているため、信頼性が高いようです。

より多くの経験を持つ誰かがこれにいくつかの光を当てることができますか?おそらくそれは純粋に一時的なものですか?警告を無視すべきですか?私の設定音はありますか?

[〜#〜]編集[〜#〜]

  1. DCは仮想であり、2つの個別のVMware ESXi/vSphere物理ホストにインストールされていることを追加する必要があります。

  2. MDMarraのコメントとベストプラクティスに従って、VMware timesyncが無効になっていることも確認できます。これは、c:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe timesync statusDisabledを返すためです。

編集2

いくつかの奇妙な新しい問題が発生しました。パターンに気づきました。もともと、イベントID 50の警告は毎日午後12時30分頃に発生しました。 Veeamのバックアップは正午12時に行われるため、これは興味深いものです。

ここで説明した変更を行ったので、50ではなく51のイベントIDを受け取ります。新しい警告は次のように述べています。

The time sample received from peer server.ac.uk differs from the local time by -40 seconds

(または約40秒)。これは2日間続けて起こりました。今、私はさらに混乱しています。明らかに、手動で介入するまで時間は更新されません。

問題は仮想化とVeeamに関連しているようです。 VeeamがPDCeをバックアップしているときに何かが発生している可能性があります。助言がありますか?

更新と要約

以下のリソースのmsemackの優れたリスト(承認された回答)は、ドメインでタイムサービスを正しく構成するのに十分な情報を提供しました。これは、設定を確認しようとしている将来の人々にとって、最初の呼び出しポートになるはずです。

Veeamナレッジベースの記事に記載されているように、VMwareの時間同期設定を調整して解決した最後の「40秒ジャンプ」の問題(警告はありません): http://www.veeam.com/kb1202

いずれにせよ、将来の読者がESXi、veeamを使用するかどうかに関係なく、ここにあるリソースは時間同期のトピックに関する優れた情報源であり、msemackの回答は特に貴重です。

6
George

これは、Windows TechNetのいくつかのMicrosoft TechNet記事とブログ投稿からまとめた、Windowsドメイン時間同期の推奨構成です。

  1. サーバーが仮想化されている場合、しないでくださいVMwareツールの時間同期機能を使用しません。 Windowsタイムサービス(w32time)にその役割を任せてください。 VMwareもそう言っています。 Hyper-Vについても同様です。さらに、bothVMツールWindows Time Serviceがシステムを管理しようとしている場合時計の場合、時計がジャンプし続け、正確ではなくなる「綱引き」の状況になる可能性があります。

  2. プライマリドメインコントローラーエミュレーターは、複数の外部NTPサーバーと同期するように手動で構成する必要があります(4つが適切です)。複数のNTPソースを使用すると、冗長性が提供され、1つのサーバーが不正な時間データの送信を開始した場合の正常性チェックとして機能します( それは以前に発生しました )。 Active Directoryは、PDCeがネットワークの中央の信頼できるタイムソースであると想定しています。ドメイン内の他のすべては、PDCe(他のドメインコントローラーを含む)から同期する必要があります。

  3. PDCeを物理サーバーにすることをお勧めします(可能な場合)。他のすべてのサーバーをVMにすることができます。次の2つの理由により、PDCeが物理サーバーである方が快適です。

    3a。物理サーバーでは、時間のずれが発生しにくくなります。 VM時間ドリフト は、十分に文書化された現象です。仮想化されたサーバーは、1日あたり数分でクロックのずれを確認できます。タイムソースには適していません。 (物理サーバー上でも、リアルタイムクロックは外部ソースなしで1日あたり約2秒ずれます。そのため、NTPが必要です。)

    3b。コールドパワーオン後に物理サーバーの日付/時刻が正しく表示されることを知っています。数年前、サーバールームの電源を完全に切断すると、VMの時刻がローカルタイムゾーンではなくUTCに設定された状況がありました。彼らは(UTCにあった)ESXホストから時間を引き出し、タイムゾーンを適切に調整しなかったと思います。そのため、サービスの開始に失敗するなど、さまざまな楽しみがありました。手動で時刻を修正し、全員を再起動する必要がありました。

    PDCeが現在VMであり、利用可能な物理ドメインコントローラーがある場合、それは 比較的簡単に役割を転送する です。

  4. Microsoft(およびその他)は、PDCeのタイムソースとしてStratum 2またはStratum 3 NTPサーバーを使用することをお勧めします。

  5. 公開のStratum 1サーバーは存在しますが、サーバーの数は限られているため、非常に過負荷になります。本当に必要ないときにStratum 1サーバーをタイムソースとして使用すると、ジャークになります。 (はい、本当にStratum 1を必要とする人がいます。あなたはおそらくその一人ではありません。Stratum1ソースを本当に使いたいのなら、ローカルネットワーク用のGPSクロックを購入してください。)

  6. すべての外部NTPソースは同じStratumにある必要があります。Stratum 2ソースが1つとStratum 3ソースがいくつかあるとします。 。 WindowsタイムサービスはStratum 2ソースを優先します。 PDCeはStratum 3サーバーになります。 w32timeはStratum 3サーバーを無視します(PDCeよりも優れていないため)。 Windowsでは、手動での介入(タイムサービスの再起動など)を行わない限り、サーバーはより高い/より悪い層に低下しません。したがって、Stratum 2ソースがオフラインになった場合、フォールバックなしでスタックします。

  7. WindowsタイムサービスはタイムソースのStratumに注意を払っているため、pool.ntp.orgを使用することはお勧めしません(少なくともPDCeには使用しないでください) )。プールからサービスを受けるサーバーの層についての保証はありません。

  8. 代わりに、4つのStratum 2サーバーを the ntp.org list から選択することをお勧めします。物理的に近いものを選択してみてください(ネットワークの遅延によりNTPが損なわれます)。サーバーがまだ有効であり、生きていることを確認します(このリストは時間とともに変化します)。 Microsoftのデフォルトのtime.windows.comは問題で悪名高いことに注意してください。私は自分のドメインを信頼しません。

  9. これまでにWindowsタイムサービスで遊んだり、このネットワークを他の人から継承したりしている場合は、再構成を開始する前にw32timeをデフォルト設定にリセットすることをお勧めします。 PDCeから始めて、ドメインコントローラーで次のコマンドを実行します。

    net stop w32time
    w32tm /unregister  <-- If you get an Access Denied message, reboot.
    w32tm /register
    net start w32time
    

    これらのコマンドを実行した後、サーバーを1〜2回再起動し、Windowsタイムサービスが存在し、自動に設定され、開始されていることを確認することをお勧めします。/unregisterコマンドが次の再起動まで有効にならない状況を見てきました。次に、Windowsパッチを実行した後に再起動したときに驚きがあり、w32timeサービスが突然なくなっています!

  10. PDCeでWindowsタイムサービスを構成するには、DomainRole = 5のWMIフィルターを使用するPDCe固有のGPOを作成し、NTPクライアント設定のすべてをここに。それ以外の場合は、w32tmコマンドを使用するか、レジストリを手動で設定できます。 つの方法すべての例については、ここを参照してください。

  11. NT5DSの代わりにNTPを使用するようにPDCeを構成します(Windowsタイムサービス構成のType = NTP)。それ以外の場合、PDCeはそれ自体と同期しようとしますが、うまく機能しません。

  12. Windowsタイムサービス構成(GPO、レジストリ、またはw32tmのいずれか)にNTPサーバーのリストを入力します。サーバーリストは必ずserver1.whatever.com,0x9 server2.otherplace.com,0x9 server3.another.com,0x9の形式で入力してください。各サーバーの最後にある0x9フラグは、SpecialPollInterval(0x1)で指定されたポーリング間隔を使用すること、および時刻同期が双方向同期(0x8)ではなくクライアントのみであることを示します。

  13. PDCe NTPクライアントを構成するときは、 SpecialPollInterval の値を確認します。 PDCeが物理的なボックスの場合は、3600秒(1時間に1回)に設定します。 PDCeがVMの場合、VMの時間ドリフトと戦うために、15分ごとなど、より積極的なものを選択します。

  14. 一般に、 AnnounceFlags をいじる必要はありません。デフォルトの10は、すべてのドメインコントローラー(PDCeなど)に適しています。必要に応じて、タイムソースとして自動的にアドバタイズされます。

  15. すべてのドメインコントローラー(PDCeなど)でNTPサーバーを有効にすることをお勧めします。ドメインコントローラーのGPOを作成し、そこで有効にします。グループポリシーを使用しない場合は、HKLM\SYSTEM\CCS\Services\W32Time\TimeProviders\NtpServer\Enabled = 0x1にあるレジストリでこれを実行できます。

  16. MaxPosPhaseCorrectionとMaxNegPhaseCorrectionがすべてのドメインコントローラーで適切な値に設定されていることを確認してください。これは、外部NTPソースの1つが雑草でオフになり、非常に不正確なタイムスタンプをブロードキャストする場合にドメインを保護します( それが発生しました )。 Win2008以降の場合、これらの制限はデフォルトで48時間に設定する必要がありますが、Win2003ではこれらが無制限に設定されています。これらは、前述のドメインコントローラーGPOで設定するか、レジストリ(HKLM\SYSTEM\CCS\Services\W32Time\Config)で直接設定できます。

  17. ドメインコントローラーについては、EventLogFlags = 0x3に設定することもお勧めします。これにより、時間の経過に伴う同期の進行状況を確認できます。設定する2つのEventLogFlags値があることに注意してください。 1つはHKLM\SYSTEM\CCS\Services\W32Time\Configの下にあります(すべてのドメインコントローラーの場合)。もう1つはHKLM\SYSTEM\CCS\Services\W32Time\TimeProviders\NtpClientにあります(PDCeにのみ関連)。どちらもグループポリシーから管理できます。両方を0x3に設定しました。 (この設定の説明で、TechNetとグループポリシーの説明の間にいくつかの不一致があることに注意してください。)

  18. 1つのPDCeを除いて、ドメイン上の他のすべてのWindowsマシンは、時刻同期にNT5DSドメイン階層を使用するように設定する必要があります。これには、他のすべてのドメインコントローラー、他のサーバー、およびワークステーションが含まれます。 NT5DSはドメインに参加しているコンピューターのデフォルトであるため、NT5DSをいじる必要はありません。

  19. ドメインにある時間関連の設定は、(1)PDCe NTP Client GPOとWMIフィルター、および(2)ドメインコントローラーGPOのみであることに注意してください。 NTPサーバーを有効にし、最大位相補正値とEventLogFlagsを設定します。すべてのグループポリシーの時間設定は、コンピューターの構成\管理用テンプレート\システム\ Windowsタイムサービスにあります。レジストリまたはw32tmコマンドを使用した明示的な構成はありません。グループポリシーを使用して、実際のサーバーを超えることをお勧めします。将来新しいドメインコントローラーを追加したり、PDCeを交換したりすると、すべてが「正常に動作」します。それ以外の場合は、新しいサーバーを手動で構成することを忘れないでください。

上記の設定に関するいくつかの追加メモ:

  • isドメイン階層をバイパスして、クライアントを特定のサーバーに同期するように明示的に設定することは可能ですが、私はこれで運が悪かった。 PDCe以外はすべてNT5DSのままにして、Microsoftが意図したとおりにタイムサービスを機能させることをお勧めします。

  • Windowsタイムサービスは、システムクロックの小さな定期的な修正を目的としています。サーバーの時計が最初から適切に設定されていることが前提であり、w32timeはそれをそのまま維持します。サーバーが外部のNTPソースとの同期がずれすぎると、ほとんど「ギブアップ」します。上記の推奨事項に従っている場合は、外部のタイムソースと密接に同期している必要があります。ただし、VM環境でreallyの悪いタイムドリフト(オーバーロードされたVMホスト、一定のスナップショット)、それでも同期が取れなくなる可能性があります。もしそうなら、微調整できる「スパイク検出」の設定がいくつかあります。それはおそらくあなたの環境の別​​の問題のバンドエイドです。設定をさらに掘り下げる前に、上記の推奨事項をすべて実装したことを必ず確認してください。

構成変更を適用してすべてをチェックします:

  • グループポリシーを使用してタイムサービスを構成した場合、変更はすぐにすべてのドメインコントローラーに反映されます。 (PDCeで始まる)各ドメインコントローラーでgpupdate /forceコマンドを実行して、すぐに実行することができます。

  • グループポリシーを使用せず、w32tmまたはレジストリを編集してタイムサービスを手動で構成する場合は、影響を受ける各サーバーでw32tm /config /updateを実行し、サービスを再起動してください(PDCeから開始)。そうしないと、設定が有効になりません!

  • 次に、PDCeでw32tm /resync /rediscoverを実行します。数分待ってから、イベントビューアで問題を確認します。タイムサービスの登録解除/登録からいくつかのエラー/警告メッセージが表示される場合がありますが、その後はすべてが正常に動作するはずです。 NTPサーバーから有効な時刻データを取得することに関するメッセージが表示されます。 PDCeが適切であることを確認したら、他のドメインコントローラーに移動して、同じコマンドを実行します。

  • タイムサービスがすべてのDCで同期したら、w32tm /monitorを実行できます。ドメインコントローラーが一覧に表示され、それらのRefIDとStratumが正しいことを確認します。 Stratum 2サーバーを使用している場合、PDCeはStratum 3である必要があります。w32tm /query /status /verbose(Win2008以降のみ)を実行して、最終更新時刻を監視することもできます。期待どおりに更新されることを確認します。

  • ドメインコントローラーの準備が整ったら、一部のワークステーションとメンバーサーバーでw32tm /resync /rediscoverを実行します。エラーについては、イベントビューアを確認してください。他のワークステーションのタイムサービスをごちゃごちゃにしている場合は、それらでもw32tm unregister/registerコマンドを実行する必要がある場合があります。

フォローアップ:

  • 完全を期すために、Windows以外のすべてのNTPクライアント(ルーター、スイッチ、プリントサーバーなど)がタイムソースとしてドメインコントローラーで指定されていることを確認する必要があります。 yourdomain.comを指すntp.yourdomain.comのCNAME DNSエントリを設定することをお勧めします。そうすれば、すべてのデバイスのドメインコントローラー名やIPアドレスを明示的にリストする必要がなくなります。これは、将来サーバーを追加または廃止するときに役立ちます。 Windows以外のNTPクライアントは、ラウンドロビンDNSで起動したドメインコントローラを使用します。 (これは、すべてのドメインコントローラーでNTPサーバーを有効にした場合にのみ機能することに注意してください。)

  • また、DHCPサーバーで、スコープオプション42がドメインコントローラーを指すように構成されていることを確認してください。オプション42をサポートするDHCP構成デバイスは、ドメインコントローラーと時刻を自動的に同期します。

My Infoのソース:

19
myron-semack

イベントが発生したときにw32tmデバッグログに何が表示されるかを確認したい場合があります。

デバッグログを有効にするには:

w32tm /debug /enable /file:C:\Windows\Debug\w32tm.log /size:50000000 /entries:0-300  

詳しくは:
http://blogs.msdn.com/b/w32time/archive/2008/02/28/configuring-the-time-service-enabling-the-debug-log.aspx =

構成が適切かどうかに関して、DCが長時間のタイムサーバーとしてアドバタイズしていない場合は、問題になります。次のコマンドを使用して、DCがアドバタイズしているかどうかをスポットチェックできます。

nltest /dsgetdc:domain.com  

TIMESERVフラグが必要です。

次のコマンドを使用して、タイムサービスに関する詳細情報を表示できます。

w32tm /query /status /verbose  

出力例:

Leap Indicator: 0(no warning)
Stratum: 2 (secondary reference - syncd by (S)NTP)
Precision: -6 (15.625ms per tick)
Root Delay: 0.0312500s
Root Dispersion: 0.0314141s
ReferenceId: 0x81060F1E (source IP:  129.6.15.30)
Last Successful Sync Time: 3/25/2014 11:55:30 AM
Source: time-c.nist.gov
Poll Interval: 7 (128s)

Phase Offset: 0.0000667s
ClockRate: 0.0156001s
State Machine: 2 (Sync)
Time Source Flags: 0 (None)
Server Role: 64 (Time Service)
Last Sync Error: 0 (The command completed successfully.)
Time since Last Good Sync Time: 97.2535519s

ステートマシンは「同期」であり、サーバーの役割は「タイムサービス」である必要があります。ソースがピアリストの外部NTPサーバーでない場合、それは問題になります。注意すべき既知の不良ソースエントリは、「フリーランニングシステムクロック」または「ローカルCMOSクロック」です。

2
Greg Askew