Windows Server 2019 2台のNTPサーバを指定する際の優先度を下げる設定

Windows Server 2019でローカルの2台のNTPサーバを設定して、時刻同期の確認をしていたのですが、なぜか、最初に指定したNTPサーバと時刻同期されずに、2番目に設定したNTPサーバに時刻同期されてしまったので、調査をしました。

 

こちら

Windows タイム サービスのツールと設定 | Microsoft Learn

 

まずは、w32tmのオプションです。

===

>w32tm /?
w32tm [/? | /register | /unregister ]
  ? - このヘルプを表示します。
  register - サービスとして実行するように登録し、既定の構成をレジストリ
             追加します。
  unregister - サービスの登録を取り消し、レジストリからすべての構成情報を
               削除します。

w32tm /monitor [/domain:<ドメイン名>]
               [/computers:<名前>[,<名前>[,<名前>...]]]
               [/threads:<数>] [/ipprotocol:<4|6>] [/nowarn]
  domain - 監視するドメインを指定します。ドメイン名が指定され
    なかった場合、またドメインおよびコンピューター オプションが指定され
    なかった場合は、既定のドメインが使用されます。このオプションは
    複数使用することができます。
  computers - 一覧に指定されたコンピューターを監視します。コン
    ピューター名はコンマで区切ってください。スペースは使用できません。
    名前の前に '*' が付いている場合は、AD PDC として処理されます。
    このオプションは複数使用できます。
  threads - 同時に何台のコンピューターを分析するかを指定します。
    既定値は 3 です。1 から 50 の間の値で指定してください。
  ipprotocol - 使用する IP プロトコルを指定します。既定では
    利用可能なプロトコルがどれでも使用されます。
  nowarn - 警告メッセージをスキップします。

w32tm /ntte <NT タイム エポック>
  NT システム時刻 (0h 1-Jan 1601 から (10^-7)s 間隔) を読み取り可能な形式に
  変換します。

w32tm /ntpte <NTP タイム エポック>
  NTP 時刻 (0h 1-Jan 1900 から (2^-32)s 間隔) を読み取り可能な形式に変換します。

w32tm /resync [/computer:<コンピューター>] [/nowait] [/rediscover] [/soft]
  蓄積したエラー統計をすべて削除して今すぐ時刻の同期をとり直すように
  コンピューターに指示します。
  computer:<コンピューター>
                - 同期をとり直すコンピューターです。指定がない場合は、ローカル
                  コンピューターに適用されます。
  nowait        - 同期の再実行を待たずにすぐに返します。指定がない場合は、
                  同期の再実行の完了を待ってから返します。
  rediscover    - ネットワーク構成を再検出し、ネットワーク ソースを再発見
                  してから、同期をとり直します。
  soft          - 既存のエラー統計を使って同期をとり直します。互換性のために
                  用意されたもので、あまり有効ではありません。

w32tm /stripchart /computer:<ターゲット> [/period:<秒>]
    [/dataonly] [/samples:<値>][/packetinfo] [/ipprotocol:<4|6>] [/rdtsc]
  このコンピューターと他のコンピューター間のオフセットのストリップ チャートを
  表示します。
  computer:<ターゲット>
                - オフセットを計測するターゲット コンピューターです。
  period:<秒>   - サンプルを収集する秒単位の間隔です。既定値は 2 秒です。
  dataonly      - データのみを表示し、グラフィックは表示しません。
  samples:<値>  - 指定された数のサンプルを収集します。値が指定されていない
                  場合は、Ctrl+C キーが押されるまで収集を続けます。
  packetinfo    - NTP パケット応答メッセージを印刷します。
  ipprotocol    - 使用する IP プロトコルを指定します。既定では、利用可能な
                  プロトコルがどれでも使用されます。
  rdtsc - TSC の値と時間オフセット データを CSV 形式で表示します。
             出力には、NTP 要求が送信される前にキャプチャされた TSC
             FILETIME の値、NTP 応答が受信された後の TSC の値と共に、
             NTP のランドトリップと時間オフセットの値が表示されます。

w32tm /config [/computer:< ターゲット>] [/update]
    [/manualpeerlist:<ピア>] [/syncfromflags:<ソース>]
    [/LocalClockDispersion:<秒>]
    [/reliable:(YES|NO)]
    [/largephaseoffset:<ミリ秒>]
  computer:<ターゲット>
                - 指定されたターゲットの構成を調整します。指定がない場合は、
                  ローカル コンピューターに適用されます。
  update        - タイム サービスに構成が変更されたことを通知し、
                  変更を有効にします。
  manualpeerlist:<ピア>
                - 手動ピアの一覧を指定されたピアに設定します。DNS および
                  IP アドレス、またはその両方をスペースで区切った一覧です。
                  複数のピアを指定する場合は、このスイッチを引用符で
                  囲む必要があります。
  syncfromflags:<ソース>
                - NTP クライアントの同期先であるソースを指定します。
                  以下のキーワードをコンマで区切って指定します。
                  大文字と小文字の区別はありません:
            MANUAL    - 手動ピアの一覧にあるピアから同期をとる
            DOMHIER   - ドメイン階層にある AD DC から同期をとる
            NO        - どこからも同期をとらない
            ALL       - 手動ピアとドメイン ピアの両方から同期をとる
  LocalClockDispersion:<秒>
                - w32time が構成されたソースから時間を取得できないときに
                  想定する内部クロックの正確さを構成します。
  reliable:(YES|NO)
                - このコンピューターが信頼性の高いタイム ソースであるかどうかを
                  設定します。
                  この設定が有益なのはドメイン コントローラーでのみです。
            YES       - このコンピューターは信頼性の高いタイム サービスです
            NO        - このコンピューターは信頼性の高いタイム サービスでは
                        ありません
  largephaseoffset:<ミリ秒>
                - w32time がスパイクと見なすローカル時刻とネットワーク時刻の
                  時間差を設定します。

w32tm /tz
  現在のタイム ゾーンの設定を表示します。

w32tm /dumpreg [/subkey:<キー>] [/computer:< ターゲット>]
  指定されたレジストリ キーと関連付けられた値を表示します。
  既定のキーは HKLM\System\CurrentControlSet\Services\W32Time
    (タイム サービスのルート キー) です。
  subkey:<キー> - 既定のキーのサブキー <キー> と関連付けられた値を表示します。
  computer:<ターゲット>
                - コンピューター <ターゲット> のレジストリ設定を照会します。

w32tm /query [/computer:<ターゲット>]
    {/source | /configuration | /peers | /status}
    [/verbose]
  コンピューターの Windows タイム サービス情報を表示します。
  computer:<ターゲット>
                - <ターゲット> の情報を照会します。指定がない場合は、
                  既定でローカル コンピューターが指定されます。
  source        - タイム ソースを表示します。
  configuration - ランタイムおよび設定の取得元の構成を表示します。
                  詳細モードでは、未定義または未使用の設定も表示します。
  peers         - ピアの一覧とそれらの状態を表示します。
  status        - Windows タイム サービスの状態を表示します。
  verbose       - 詳細情報を表示する詳細モードを設定します。

w32tm /debug {/disable | {/enable /file:<名前> /size:<バイト> /entries:<値>
    [/truncate]}}
  ローカル コンピューターの Windows タイム サービスのプライベート ログを有効
  または無効にします。
  disable       - プライベート ログを無効にします。
  enable        - プライベート ログを有効にします。
            file:<名前>      - 絶対ファイル名を指定します。
            size:<バイト>    - 循環ログの最大サイズを指定します。
            entries:<値>     - フラグ一覧を含めます。フラグは数値で指定し、
                               コンマで区切ります。
                               フラグにより、ログ対象の情報の種類を指定します。
                               有効な数値は、0 から 300 です。単独の数値だけ
                               ではなく、0-100,103,106 のように数字の範囲を
                               指定できます。0-300 の値を指定すると、すべての
                               情報がログに記録されます。
  truncate      - ファイルが存在する場合に切り捨てます。

w32tm /leapseconds /getstatus [/verbose]
  ローカル コンピューターのうるう秒の状態を表示します。
  verbose: 詳細情報を表示する詳細モードを設定します。

w32tm /ptp_monitor [/duration:<seconds>]
  PTP トラフィック用のネットワークを監視し、状態を印刷します。
  このコマンドは、ローカル コンピューターのすべてのネットワーク インターフェイスで、PTP UDP ポート 319 および 320 を介して通信しています
  また、比較の目的または既定値として PTP プロバイダーのレジストリ設定を使用します。
  このコマンドを実行する前に、ファイアウォールと PTP 設定を確認し、PTP タイム プロバイダーを停止してください。
  期間: 監視期間または既定を 90 秒に指定します。

===

 

 

そして、この部分です。

 

===

 重要

Windows Server 2016 では、RFC 仕様に合わせて時間同期アルゴリズムが改善されました。 そのため、ローカル タイム クライアントが複数のピアを指すように設定する場合は、3 つ以上の異なるタイム サーバーを準備することをお勧めします。

タイム サーバーが 2 つのみの場合は、NtpserverUseAsFallbackOnly フラグ (0x2) を指定して、いずれかの優先順位を下げます。 たとえば、clock.adatum.com より ntpserver.contoso.com を優先したい場合は、次のコマンドを実行します。

 

w32tm /config /manualpeerlist:"ntpserver.contoso.com,0x8 clock.adatum.com,0x2" /syncfromflags:manual /update

===

 

もう少し調査しますが、確かに「NtpserverUseAsFallbackOnly フラグ (0x2)」を指定すると、切り替わりました。これを設定することで、NTPサーバが2台の時に優先度を設定することができそうです。

 

これを指定しない場合は、優先度はなく、時刻同期アルゴリズムに基づいて同期先が決まるという解釈にもとれますね。

 

ロジクール ワイヤレスマウス 無線 マウス M185CG 小型 電池寿命最大12ケ月 無線マウス M185 グレー 国内正規品