トップ回答者
Windows Timeサービスの動作仕様について

質問
-
いつも参考にさせて頂いております。
Windows Timeサービスの動作仕様についてご教授いただきたく、質問を投稿いたしました。
ドメイン環境のあるDC(Windows Server 2016 Standard) の時刻がNTPサーバ(Windows Server 2016 Standard) とずれており、「W32tm /query /status」 を実行したところソースが「Free-running System Clock」になっていました。
イベントログを確認したところ、長期間NTPサーバと時刻同期がされていなかったようなので、OSがハードウェアクロックを同期元としたのかなと推測いたしましたが、こちらの認識であっていますでしょうか。
また、「何らかの原因でNTPサーバと通信ができない期間があり、通信が回復してもクロックソースは自動的には戻らない」 という仕様なのでしょうか。
知見のある方のご支援をどうぞ宜しくお願いいたします。
回答
-
チャブーンです。
この件ですが、まず「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/
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 編集済み チャブーンMVP 2019年5月17日 3:14
- 回答としてマーク flingminMicrosoft contingent staff, Moderator 2019年5月22日 2:14
-
こんにちは
通常、W32Timeは、タイムソースから返されるタイムサンプルの品質に基づいて、浮動間隔でポーリングを行います(時間要求を行います)。 ただし、タイムサービスが同期する静的な間隔を指定することはできます。 たとえば、3600に設定すると、タイムサービスは1時間ごとに同期します(60分* 60秒)。
詳しい情報は下記のリンクをご参照ください。
どうぞよろしくお願いいたします
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
すべての返信
-
こんにちは
ご存知通り、原因は時間ソースです。外部タイムソースを使用するように設置することがひつようです。
下記2つの解決方法をご検討をお願いします
1つ目は自動的に解決できますが、ツールのダウンロードが必要です
2つ目は手動で設置する。
詳しい情報は下記のリンクを参照ください。
どうぞよろしくお願いいたします
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
-
お世話になります。
早速の回答ありがとうございます。
検討いたします。
>「何らかの原因で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色々情報を探したのですが、情報が見つかりませんでした。
宜しくお願いいたします。
-
関係ありそうな事象としては、
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が設定されている状態のことです。
-
チャブーンです。
この件ですが、まず「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/
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 編集済み チャブーンMVP 2019年5月17日 3:14
- 回答としてマーク flingminMicrosoft contingent staff, Moderator 2019年5月22日 2:14
-
こんにちは
通常、W32Timeは、タイムソースから返されるタイムサンプルの品質に基づいて、浮動間隔でポーリングを行います(時間要求を行います)。 ただし、タイムサービスが同期する静的な間隔を指定することはできます。 たとえば、3600に設定すると、タイムサービスは1時間ごとに同期します(60分* 60秒)。
詳しい情報は下記のリンクをご参照ください。
どうぞよろしくお願いいたします
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