Windows2012R2でワークグループ環境でデフォルトの時刻同期間隔は 1週間の原因

あまり調べないと勘違いして覚えてしまうことがありますが、Windows2012R2でワークグループ環境でデフォルトの時刻同期間隔は 1週間になる原因を理解していないと、「Windowsのサーバをワークグループで構成すると、時刻の周期が1週間になる」と誤解してしまうことになります。


実は、これはある意味合っているし、設定で変更することができます。マイクロソフトの公式サイトの情報ですが、こう書かれています。

 

ワークグループ環境で、Windows Time サービス起動後、時刻同期に失敗する

https://support.microsoft.com/ja-jp/help/3185337

 


ワークグループ環境の既定の時刻同期間隔は 1 週間とあります。

 

ワークグループ環境の既定の時刻同期間隔は 1 週間です。

既定の状態で運用した場合、システム再起動もしくは Windows Time サービス再起動を実施すると、最初の時刻同期のタイミングで時刻同期に失敗することがあります。

 

しかも、たちがわるいのが、既定の状態で運用した場合、システム再起動もしくは Windows Time サービス再起動を実施すると、最初の時刻同期のタイミングで時刻同期に失敗する可能性があると書かれています。


つまり、デフォルトがいけてないということになります。これが起こる要因としては、Windows Time サービスは起動時にこれまでに保持していた時刻同期情報を破棄する動作が実装されいて、時刻情報を受信したタイミングでピア情報 (時刻同期先の情報) が破棄されることがあるそうです。結果、結果、受信した時刻情報を破棄し、時刻同期は実施されないとのこと。


対応方法として、モードを「0x8」にするとあります。

 

手順 1 (MinPollInterval と MaxPollInrterval の値を時刻同期間隔とする場合)
1. レジストリエディターを起動します。
2. 以下のレジストリキーの値を変更します。
------------------------------------------------------
レジストリキー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

値の名前 : NtpServer
既定値 : time.windows.com,0x9
変更後の値 : time.windows.com,0x8
------------------------------------------------------
0x8 を設定いただくことで、MinPollInterval と MaxPollInrterval の値を時刻同期間隔とします。

 

実際に元々のデフォルト値を見てもらうと、「0x9」が設定されていることがわかりますので、これを「0x8」にすることが回避方法ということになります。


仮に、設定時にコマンドで行う場合で、モードを設定しているなら「0x9」を指定しないことですね。実際に現場でも「0x9」でうまく動作しないことがあるので、サーバーのデフォルト値を信用しないことですね。


ただ、Windows Server 2016については、上記問題があったためか、モードが「0x8」に変更になっていますので、MinPollInterval と MaxPollInrterval の値を時刻同期間隔とする設定となっています。