Windows2012R2 w32tmのSymmetric Activeモードは同じ階層に属するNTPサーバ同士の場合に利用

最近、Windows Server 2012 R2のNTPクライアントとして接続する場合のモードについて調査しています。というのも、以前の更新した記事で、複数のNTPサーバを指定する場合のもので、以下のようなコマンドを残していたからです。

>w32tm /config /manualpeerlist:"10.1.1.1,0x9 10.1.1.2,0x9" /syncfromflags:manual /update


モードが「0x9」になっています。実はこれ、最近も設定してサービスを再起動したところ、正常にNTPサーバーと同期がとれないという事象に遭遇しました。

これは接続するNTPサーバーが何で構成されているのかによって結果が変わるかもしれませんが、いざ、モードを調べると色々とあることがわかります。

例えば、以下は@ITの情報ですが、Symmetric Activeモードというものがあります。例えば「0x1」は「Windowsで実装した一定間隔での同期」とあります。どれを設定したらいいのか分かりにくいですよね。

 

このレジストリ値の第2パラメータでは、同期モードと同期間隔を同時に設定できる。以下のような意味を持っており、組み合わせて使うことができる。例えば0x9の場合、「Clientモードで、かつ一定の間隔で同期する」ことを意味する。ちなみに0x0または値なしの場合は0x4と同様の動作をする。

値 意味
0x1 Symmetric Activeモードで同期/Windowsで実装した一定間隔での同期
0x2 Symmetric Activeモードで同期/フォールバック時に利用するNTPサーバを指定
0x4 Symmetric Activeモードで同期/RFC1305に準拠した間隔での同期
0x8 Clientモードで同期/RFC1305に準拠した間隔での同期


ちなみに、Windows Server 2012 R2のデフォルトで入力されているモードが「0x9」ですが、相性が悪い。この「Symmetric Activeモード」ってなんなんだろうと思ったら、同じサイト内で説明されていました。

NTPの同期モードについて、NTPにはいくつかの「同期モード(アソシエーション)」があるが、よく使われるモードは次の2つとのこと。
●Server/Clientモード
 これは、NTPクライアントがNTPサーバに対して一方的に同期を行うモードで、シンプルなため、どのような構成のNTPサーバに対しても動作する。一般に極めてよく使われるモードである。

●Symmetric Active/Passiveモード
 これは相互同期(peer)を行うもので、主に同じ階層に属するNTPサーバ同士の場合に使われる。同期メンバをグループ化し、NTPサーバ間で基準サーバを動的に決定するといった連携に優れている。ただし、あらかじめこのモードで同期するよう構成されたNTPサーバでなければ正常に動作しないことがある。


よく使われるモードが「Server/Clientモード」で「0x8」になりますが、それ以外は、「Symmetric Active」になります。ただ、これは相互同期(peer)を行うもので、主に同じ階層に属するNTPサーバ同士の場合に使われるとあります。つまり、これは使わないほうがいいのでは?と思えますね。

この辺りは、Windows 2003 Serverですが、参照先のNTPサーバにってよは、同期がうまく行かない可能性があるようです。

Windows Server 2003 で Windows 以外の NTP サーバーとの同期が成功しない


この問題は、コンピュータから対称アクティブ モード (Symmetric Active Mode) を使用して同期要求が送信されるときに発生することがあります。デフォルトでは、Windows Server 2003 ドメイン コントローラはタイム サーバーとして構成され、対称アクティブ モードを使用して同期要求を送信します。Windows が実行されていない一部の NTP サーバーは、クライアント モードを使用する要求以外には応答しません。


同期がうまく行かない場合は、クライアントモードにしてみるのも一つですね。