none
Windows Timeサービスの動作仕様について RRS feed

  • 質問

  • いつも参考にさせて頂いております。

    Windows Timeサービスの動作仕様についてご教授いただきたく、質問を投稿いたしました。

    ドメイン環境のあるDC(Windows Server 2016 Standard) の時刻がNTPサーバ(Windows Server 2016 Standard) とずれており、「W32tm /query /status」 を実行したところソースが「Free-running System Clock」になっていました。

    イベントログを確認したところ、長期間NTPサーバと時刻同期がされていなかったようなので、OSがハードウェアクロックを同期元としたのかなと推測いたしましたが、こちらの認識であっていますでしょうか。

    また、「何らかの原因でNTPサーバと通信ができない期間があり、通信が回復してもクロックソースは自動的には戻らない」 という仕様なのでしょうか。

    知見のある方のご支援をどうぞ宜しくお願いいたします。

    2019年5月15日 5:20

回答

  • チャブーンです。

    この件ですが、まず「Free-running System Clock」が表示される理由ですが、何らかの理由で86400秒(1日)以上時刻同期ができなかったため、NTPとしてはどことも同期していない状況を指しています。システムクロックを同期元としている場合ソースに「Local CMOS Clock」と出るので、違いが判ります。

    同期できない「何らかの理由」に関してですが、通信自体ができないだけでなく、NTPサーバー自体が(より上位から)時刻同期できていない、NTPサーバーとの時刻差が縮まらない、ラウンドトリップや分散が大きすぎるなど、「NTPサーバー側の時刻が不正確」とみなされると、同期先に設定されていても同期候補からはずされるしくみです。

    NTPのしくみとしては、同期候補の再評価は行うので、一般にそのような心配は無用なのですが、他の方からのコメント通り、「SpecialPollInterval」を使っている場合だけは、注意が必要です。常に一定間隔で同期を行うようなしくみはNTPの仕様にはなく、したがって指摘があったような問題が起こるのだと思います(詳細は示された資料にある通りです)。

    Windows Server 2016がドメインコントローラーになった場合、NTP同期先はtime.windows.com,0x8に設定されるはずなので、SpecialPollIntervalは使われない理解なのですが、もし使っているのであれば、RFC1305仕様のNTPに添った設定に変更されることをお奨めします。

    なお、NTPサーバーもWindows Server 2016ということですが、このサーバー自身の「NTP時刻」はあっているのでしょうか?ドメインコントローラーがNTPサーバーと通信できなかったから、問題が起きた、のではなく、どちらかというとこのNTPサーバーの時刻の正確性に問題がある可能性も、確認したほうがいいでしょう。それを確認する方法として、w32timeデバッグログ、を設定しておくとよいので、したの情報を参考に、きちんと確認されたほうがよろしいかと思います。

    https://blogs.technet.microsoft.com/jpntsblog/2014/07/11/windows-time-2/


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。




    2019年5月17日 2:16
  • こんにちは

    通常、W32Timeは、タイムソースから返されるタイムサンプルの品質に基づいて、浮動間隔でポーリングを行います(時間要求を行います)。 ただし、タイムサービスが同期する静的な間隔を指定することはできます。 たとえば、3600に設定すると、タイムサービスは1時間ごとに同期します(60分* 60秒)。

    詳しい情報は下記のリンクをご参照ください。

    https://blogs.msdn.microsoft.com/w32time/2008/02/26/configuring-the-time-service-ntpserver-and-specialpollinterval/

    どうぞよろしくお願いいたします

    Fan


    Please remember to mark the replies as an answers if they help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    • 回答としてマーク S.K_0512 2019年8月7日 1:27
    2019年5月20日 9:11
    モデレータ

すべての返信

  • こんにちは

    ご存知通り、原因は時間ソースです。外部タイムソースを使用するように設置することがひつようです。

    下記2つの解決方法をご検討をお願いします

    1つ目は自動的に解決できますが、ツールのダウンロードが必要です

    2つ目は手動で設置する。

    詳しい情報は下記のリンクを参照ください。

    https://support.microsoft.com/en-au/help/816042/how-to-configure-an-authoritative-time-server-in-windows-server

    どうぞよろしくお願いいたします

    Fan



    Please remember to mark the replies as an answers if they help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    2019年5月15日 7:50
    モデレータ
  • お世話になります。

    早速の回答ありがとうございます。

    検討いたします。

    >「何らかの原因でNTPサーバと通信ができない期間があり、通信が回復してもクロックソースは自動的には戻らない」 という

    >仕様なのでしょうか

    こちらの動作仕様についての何か情報をお持ちではないでしょうか。

    https://support.microsoft.com/ja-jp/help/2722681
    https://docs.microsoft.com/ja-jp/windows-server/networking/windows-time-service/how-the-windows-time-service-works
    https://docs.microsoft.com/ja-jp/windows-server/networking/windows-time-service/windows-time-service-top

    色々情報を探したのですが、情報が見つかりませんでした。

    宜しくお願いいたします。

    2019年5月16日 4:23
  • 関係ありそうな事象としては、

     Spike 状態から抜けられない!?!?
     https://blogs.technet.microsoft.com/jpntsblog/2013/04/14/spike/



     When SpecialPollInterval is used as a polling interval, the Windows Time service does not correct the time if the service gets into Spike state
     https://support.microsoft.com/en-us/help/2638243/

    にある、
     「SpecialPollIntervalを使う設定の場合、一旦NTPサーバーとの時刻差が5秒を超えてしまうと、その後時刻同期できなくなる」
    という事象が考えられます。(仕様なのか、不具合なのかはわかりませんが)

    SpecialPollIntervalを使う、というのは、
     w32tm /query /configuration
    の結果で、
     NtpServer: time.windows.com,0x9 (ローカル)
    の0x9のように、フラグ値に0x1が設定されている状態のことです。



    2019年5月16日 14:08
  • チャブーンです。

    この件ですが、まず「Free-running System Clock」が表示される理由ですが、何らかの理由で86400秒(1日)以上時刻同期ができなかったため、NTPとしてはどことも同期していない状況を指しています。システムクロックを同期元としている場合ソースに「Local CMOS Clock」と出るので、違いが判ります。

    同期できない「何らかの理由」に関してですが、通信自体ができないだけでなく、NTPサーバー自体が(より上位から)時刻同期できていない、NTPサーバーとの時刻差が縮まらない、ラウンドトリップや分散が大きすぎるなど、「NTPサーバー側の時刻が不正確」とみなされると、同期先に設定されていても同期候補からはずされるしくみです。

    NTPのしくみとしては、同期候補の再評価は行うので、一般にそのような心配は無用なのですが、他の方からのコメント通り、「SpecialPollInterval」を使っている場合だけは、注意が必要です。常に一定間隔で同期を行うようなしくみはNTPの仕様にはなく、したがって指摘があったような問題が起こるのだと思います(詳細は示された資料にある通りです)。

    Windows Server 2016がドメインコントローラーになった場合、NTP同期先はtime.windows.com,0x8に設定されるはずなので、SpecialPollIntervalは使われない理解なのですが、もし使っているのであれば、RFC1305仕様のNTPに添った設定に変更されることをお奨めします。

    なお、NTPサーバーもWindows Server 2016ということですが、このサーバー自身の「NTP時刻」はあっているのでしょうか?ドメインコントローラーがNTPサーバーと通信できなかったから、問題が起きた、のではなく、どちらかというとこのNTPサーバーの時刻の正確性に問題がある可能性も、確認したほうがいいでしょう。それを確認する方法として、w32timeデバッグログ、を設定しておくとよいので、したの情報を参考に、きちんと確認されたほうがよろしいかと思います。

    https://blogs.technet.microsoft.com/jpntsblog/2014/07/11/windows-time-2/


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。




    2019年5月17日 2:16
  • こんにちは

    通常、W32Timeは、タイムソースから返されるタイムサンプルの品質に基づいて、浮動間隔でポーリングを行います(時間要求を行います)。 ただし、タイムサービスが同期する静的な間隔を指定することはできます。 たとえば、3600に設定すると、タイムサービスは1時間ごとに同期します(60分* 60秒)。

    詳しい情報は下記のリンクをご参照ください。

    https://blogs.msdn.microsoft.com/w32time/2008/02/26/configuring-the-time-service-ntpserver-and-specialpollinterval/

    どうぞよろしくお願いいたします

    Fan


    Please remember to mark the replies as an answers if they help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    • 回答としてマーク S.K_0512 2019年8月7日 1:27
    2019年5月20日 9:11
    モデレータ
  • 返信を入れて下さった皆様、ご支援ありがとうございます。
    2019年6月6日 5:18
  • こんにちは

    今後またご質問がありましたら、遠慮なくてご投稿ください

    Fan


    Please remember to mark the replies as an answers if they help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    2019年6月6日 8:25
    モデレータ