locked
WIndows7 w32timeを使用したローカルネットワーク環境におけるNTPサーバ構築 RRS feed

  • 質問

  • お世話になっております。

    ローカルネットワーク環境Windows7(SP1)にて、w32timeを使用したNTPサーバを構築しようとしています。

    NTPサービスにて下記のレジストリ設定を行い、再起動後1日経過すると

    「ID36:使用可能なタイム スタンプがタイム サービス プロバイダーによって提供されなかったため、タイム サービスは 86400 秒間、システム時刻を同期していません。・・・」

    のメッセージが出力されておりました。

    また、同期確認のためNTPサーバとは別のWindows7マシンで、w32timeのコマンドで同期確認を行ったところ

    「最終同期エラー:2(古い時刻データしか利用できなかったため、コンピュータは同期をとり直しませんでした」

    のメッセージが出力されていました。

    原因となっているのは、NTPサーバが他のサーバとの同期をとっていないことによるものだということはわかる

    のですが、w32timeを使用してローカルネットワーク環境上にNTPサーバをエラーが出力することなく構築する

    方法があれば、具体的なご教授お願い致します。(レジストリのどこを、いくつにしたらよいかアドバイスお願いします)

    <W32timeレジストリの内容>

    ・Config:

     AnnounceFlags=dword:00000005

     LocalClockDispersion=dword:00000000

    ・Parameters

     Type=NoSync

     NtpServer=""

    ・NtpClient

     Enabled=dword:00000001  ※値を0にもしてみましたがNGでした。

    ・NtpServer

     Enabled=dword:00000001

    <構成>

     (1)Windows7(SP1) ※NTPサーバ

       ・NTPサービス=w32time

       ・NTPサーバ:ローカルネットワーク環境であるため、外部NTPサーバとの接続はできない状態です。

       ・外部接点入力によるデータ時刻合わせを行っています。

     (2)NTPクライアント:CentOS release 5.5 (Final) ※NTPクライアント

       ・NTPサービス=ntpd

       ・NTPサーバ:(1)のIPアドレスを設定

       ・NTPサーバ起動直後は、同期中(*マーク有り)のサーバとして認識していました。

       ・NTPサーバ起動後、1日経過で同期中は外れ、異常を検出していました。

        →約1時間程度、同期が外れた状態が続き、1時間経過後に再度同期中に復帰しました。

        →この事象が毎日1回検出されています。

     (3)windows7(SP1) ※NTPクライアント

       ・NTPサーバ起動直後は、最終同期エラー:0(コマンドは正しく完了しました)

       ・NTPサーバ起動後、1日経過すると 最終同期エラー:2(古い時刻データしか利用できなかったため、コンピュータは同期をとり直しませんでした)

    2015年4月20日 9:13

回答

  • チャブーンです。

    先にご案内したレジストリ設定は「NTPサーバ」側でクライアントは関係ありません。状況として、「NTPサーバが1日以上時刻同期をしていないので時刻の信頼度が無効になった」というところは、ほぼ間違いないと思います。

    状況として不具合の可能性も考えられなくはないので、以下の修正プログラム(個別配布でWindowsUpdateでは配布されません)をNTPサーバ/クライアント双方に適用してみてはいかがでしょうか?

    http://support.microsoft.com/en-us/kb/2493006/en-us

    うまくいかなかった場合、w32timeデバッグログでw32timeの内部挙動を確認することになると思われます。

    http://blogs.technet.com/b/jpntsblog/archive/2014/07/11/test.aspx


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

    • 回答の候補に設定 佐伯玲 2015年4月28日 4:47
    • 回答としてマーク 佐伯玲 2015年5月13日 1:17
    2015年4月23日 3:11

すべての返信

  • チャブーンです。

    以下の3つのレジストリ値を変更して、Windows Timeサービスを再起動すると、改善するかもしれません。

    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config\MinPollInterval:0x6
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config\MaxPollInterval:0xa
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters\Type:NTP

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

    • 回答の候補に設定 佐伯玲 2015年4月22日 1:46
    2015年4月21日 1:41
  • アドバイスありがとうございます。

    結果報告として、チャブーンさんのアドバイスをNTPサーバのレジストリに設定しましたが、構成(3)のWidows7(NTPクライアント)で、w32tm /resyncを実行したところ「古い時刻データしか利用できなかったため、コンピュータは同期をとり直しませんでした」が表示され、時刻同期することができませんでした。

    アドバイスの3点は、構成(3)のwindows7:NTPクライアントに設定する項目ですか? 

    また、情報が抜粋でしたので、詳しい情報を追加しました。

    NTPサーバでw32tm /query /status /verboseを実行すると以下ように表示されました。

    C:>w32tm /query /status /verbose
    閏インジケーター: 0 (警告なし)
    階層: 1 (主参照 - 電波時計で同期)
    精度: -6 (ティックごとに 15.625ms)
    ルート遅延: 0.0000000s
    ルート分散: 0.0000000s
    参照 ID: 0x4C4F434C (ソース名:  "LOCL")
    最終正常同期時刻: 2015/04/23 10:43:27
    ソース: Free-running System Clock
    ポーリング間隔: 6 (64s)

    フェーズ オフセット: 0.0000000s
    クロック レート: 0.0156250s
    State Machine: 0 (設定解除)
    タイム ソース フラグ: 0 (なし)
    サーバーのロール: 576 (高信頼タイム サービス)
    最終同期エラー: 1 (時刻データが利用できなかったため、コンピューターは同期をとり直しませんでした。)
    最終正常同期時刻からの時間: 25275.7656250s

    また、構成(3)のwindows7:NTPクライアントでは以下のようになりました。

    ●NTPクライアントで、日付と時刻の画面からインターネット時刻設定で時刻合わせを行った直後
    C:\>w32tm /query /status /verbose
    閏インジケーター: 0 (警告なし)
    階層: 2 (二次参照 - (S)NTP で同期)
    精度: -6 (ティックごとに 15.625ms)
    ルート遅延: 0.0312500s
    ルート分散: 7.8729456s
    参照 ID: 0xC0A80002 (ソース IP: NTPサーバのIPアドレス)
    最終正常同期時刻: 2015/04/23 19:18:33
    ソース: NTPサーバのIPアドレス,0x9
    ポーリング間隔: 10 (1024s)

    フェーズ オフセット: -0.1250000s
    クロック レート: 0.0156250s
    State Machine: 1 (保留)
    タイム ソース フラグ: 0 (なし)
    サーバーのロール: 0 (なし)
    最終同期エラー: 0 (コマンドは正しく完了しました。)
    最終正常同期時刻からの時間: 3.2343129s


    ●NTPクライアントで、時間が経過した後
    C:\>w32tm /query /status /verbose
    閏インジケーター: 3 (最後の 1 分間は 61 秒)
    階層: 0 (未指定)
    精度: -6 (ティックごとに 15.625ms)
    ルート遅延: 0.0312500s
    ルート分散: 7.8080804s
    参照 ID: 0x00000000 (未指定)
    最終正常同期時刻: 2015/04/23 10:45:12
    ソース: NTPサーバのIPアドレス,0x9
    ポーリング間隔: 10 (1024s)

    フェーズ オフセット: 0.0000000s
    クロック レート: 0.0156250s
    State Machine: 0 (設定解除)
    タイム ソース フラグ: 0 (なし)
    サーバーのロール: 0 (なし)
    最終同期エラー:1 (時刻データが利用できなかったため、コンピューターは同期をとり
    直しませんでした。)
    最終正常同期時刻からの時間: 118.1875000s

    NTPクライアントで時間が経過した後、階層が0(未指定)や参照 ID: 0x00000000 (未指定)になったりするのは、上位のNTPサーバがLOCAL時刻なのが原因だと思っているのですが、私の認識あっていますでしょうか?

    また、NTPサーバのLocalClockDispersionは、ソースから時刻を取得できない場合の内蔵時計の精度を秒で示すものであって、値を0に変更しても、今回のような外部信号から強制的に時刻を合わせた場合、NTPサーバ(w32time)は、w32timeが時刻合わせをしていないため、時刻同期していないと判断されるのではないかと思っています。私の認識あっていますでしょうか? 

    上記のような場合に回避策あればアドバイスがあれば助かります。

    2015年4月22日 10:46
  • チャブーンです。

    先にご案内したレジストリ設定は「NTPサーバ」側でクライアントは関係ありません。状況として、「NTPサーバが1日以上時刻同期をしていないので時刻の信頼度が無効になった」というところは、ほぼ間違いないと思います。

    状況として不具合の可能性も考えられなくはないので、以下の修正プログラム(個別配布でWindowsUpdateでは配布されません)をNTPサーバ/クライアント双方に適用してみてはいかがでしょうか?

    http://support.microsoft.com/en-us/kb/2493006/en-us

    うまくいかなかった場合、w32timeデバッグログでw32timeの内部挙動を確認することになると思われます。

    http://blogs.technet.com/b/jpntsblog/archive/2014/07/11/test.aspx


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

    • 回答の候補に設定 佐伯玲 2015年4月28日 4:47
    • 回答としてマーク 佐伯玲 2015年5月13日 1:17
    2015年4月23日 3:11
  • アドバイスありがとうございます。

    まずは、w32timeデバッグログでw32timeの内部挙動を確認してみようと思います。

    2015年4月23日 12:54
  • こんにちは、とのさま さん
    フォーラムオペレータの佐伯 玲 です。

    その後の状況はいかがでしょうか?
    ご検証いただき進展が御座いましたらこちらのスレッドへその後の情報等お寄せ下さいね。


    宜しくお願い致します。

    TechNet Community Support 佐伯 玲

    2015年5月1日 2:22