none
slewモードでの時刻同期について RRS feed

  • 質問

  • slewモードでの時刻同期について】

    Windows Timeslewモードの時刻同期を行いたいのですが、上手くいきません。

     

    ドメイン環境のサーバで、PDCエミュレータのDCサーバと同期しています。

    レジストリで5分以内のずれの場合はslewモードで同期する設定(デフォルト設定のはず)にしていますが、

    5分以内のずれでも急に同期してしまいます。

    少しずつ時間を合わせるようにするには、どうすればよいのでしょうか。

     

    以下、サーバの詳細です。

     

    [環境]

    PDCエミュレータのDCサーバ

    OSWindows 2008 R2SP1

    Active Directory

     シングルフォレスト/シングルドメイン

     Windows2008 R2機能モード(フォレスト/ドメイン)

     

    ●ドメイン環境のサーバ

    OSWindows 2008 R2SP1

     

     

    [設定]

    PDCエミュレータのDCサーバ

    レジストリ設定

       ・HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32Time\Config\MaxAllowedPhaseOffset300

     ・HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32Time\\Parameters\TypeNTP

     ・HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32Time\\Parameters\NtpServerxxx.xxx.xxx.xxx(上位のNTPサーバに同期しています)

     

    ●ドメイン環境のサーバ

      レジストリ設定

       ・HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32Time\Config\MaxAllowedPhaseOffset300

     ・HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32Time\\Parameters\TypeNT5DS

     ・HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32Time\\Parameters\NtpServertime.windows.com, 0x9

        (全てデフォルト設定値)

     

     

    どなたか、解決策をご教授頂けれたらと思います。

    よろしくお願いいたします。

    2011年12月19日 0:52

回答

  • チャブーンです。

    #MSFT CSG 田中さんの方で「答えが書いてあるページ」を紹介されてるようですが、一応私の方でも答えてみますね

    興味があったのでちょっと調べてみました。その結果ですが、w32timeの設定で「ドメインコントローラの設定が一部違うから」ということではないかしらと。

    Windows Timeの設定について、レジストリの情報が書かれたMSのページがあります。

    http://technet.microsoft.com/en-us/library/cc773263(WS.10).aspx

    ここを見ると、「どういう条件でレジストリが有効(=slewで動作する)か」という条件式が書かれていました。

    ----
    In order for W32Time to set the computer clock gradually, the offset must be less than the MaxAllowedPhaseOffset value and satisfy the following equation at the same time:
     
    |CurrentTimeOffset| / (PhaseCorrectRate*UpdateInterval) < SystemClockRate / 2
    ----

    うえの条件式のうち、レジストリで設定されている2つの値(PhaseCorrectRateとUpdateInterval)について、内容を確認してみました。

    [メンバーサーバー]
    PhaseCorrectRate:0x1(1)
    UpdateInterval:0x7530(30000)

    [ドメインコントローラ]
    PhaseCorrectRate:0x7(7)
    UpdateInterval:0x64(100)

    レジストリの設定から「PhaseCorrectRate*UpdateInterval」の値がドメインコントローラでは小さくなるので、(slewではなく)stepによる直接同期になるのかなと。

    上のレジストリ値を変更してチェックしてもらえればいいと思うのですが、この2つのレジストリ値は「NTPサーバーとしての精度」と「NTPサーバーとしての安定度」に影響を与えます。精度が悪すぎたり安定度を欠くNTPサーバーはクライアントが同期を拒否しますので、うまく動作しないことがあります。注意して設定をしてください。

    ----
    PhaseCorrectRate
    < 中略 >
    This entry controls the rate at which the phase error is corrected. Specifying a small value corrects the phase error quickly, but might cause the clock to become unstable. If the value is too large, it takes a longer time to correct the phase error.
    The default value on domain members is 1. The default value on stand-alone clients and servers is 7.
    ----
    UpdateInterval
    < 中略 >
    This entry specifies the number of clock ticks between phase correction adjustments. The default value for domain controllers is 100. The default value for domain members is 30,000. The default value for stand-alone clients and servers is 360,000.
    ----

    • 回答としてマーク 田中夢 2012年1月5日 4:21
    2011年12月23日 7:47
    モデレータ

すべての返信

  • こんにちは。
    フォーラム オペレーターの田中夢です。
     
    私の方でも何か情報がないかと探してみたところ、参考になるのではないかと思われるサイトを見つけましたので、下記にご紹介させていただきますね。
    一番上のサイト(個人の方のブログにになります)には、Windows Server を slew モードで実行する際の注意点について記載されていますので、参考にしてみてはいかがでしょうか?
    (私の方では検証していませんので、下記に紹介する方法をお試しになる場合には、テスト環境で試してみる等、自己責任でお願いいたします。)
     
    <参考情報>
    - 時刻同期のモードって?
    http://qwerasdfjk.blog64.fc2.com/blog-entry-13.html
    (個人の方のブログですが、参考になるのではないかと思います。)
     
    - 時刻の後戻りを発生させずにシステム全体の時刻を確実に同期させたい
    http://itpro.nikkeibp.co.jp/free/NT/WinReadersOnly/20050315/3/
     
    - 時刻が大きく変更されないように Windows タイム サービスを構成する方法
    http://support.microsoft.com/kb/884776
     
     
    今後とも TechNet フォーラムをよろしくお願いいたします。
    ---------------------------------------------------------------------
    日本マイクロソフト株式会社 フォーラム オペレーター 田中夢
    2011年12月22日 8:28
  • チャブーンです。

    #MSFT CSG 田中さんの方で「答えが書いてあるページ」を紹介されてるようですが、一応私の方でも答えてみますね

    興味があったのでちょっと調べてみました。その結果ですが、w32timeの設定で「ドメインコントローラの設定が一部違うから」ということではないかしらと。

    Windows Timeの設定について、レジストリの情報が書かれたMSのページがあります。

    http://technet.microsoft.com/en-us/library/cc773263(WS.10).aspx

    ここを見ると、「どういう条件でレジストリが有効(=slewで動作する)か」という条件式が書かれていました。

    ----
    In order for W32Time to set the computer clock gradually, the offset must be less than the MaxAllowedPhaseOffset value and satisfy the following equation at the same time:
     
    |CurrentTimeOffset| / (PhaseCorrectRate*UpdateInterval) < SystemClockRate / 2
    ----

    うえの条件式のうち、レジストリで設定されている2つの値(PhaseCorrectRateとUpdateInterval)について、内容を確認してみました。

    [メンバーサーバー]
    PhaseCorrectRate:0x1(1)
    UpdateInterval:0x7530(30000)

    [ドメインコントローラ]
    PhaseCorrectRate:0x7(7)
    UpdateInterval:0x64(100)

    レジストリの設定から「PhaseCorrectRate*UpdateInterval」の値がドメインコントローラでは小さくなるので、(slewではなく)stepによる直接同期になるのかなと。

    上のレジストリ値を変更してチェックしてもらえればいいと思うのですが、この2つのレジストリ値は「NTPサーバーとしての精度」と「NTPサーバーとしての安定度」に影響を与えます。精度が悪すぎたり安定度を欠くNTPサーバーはクライアントが同期を拒否しますので、うまく動作しないことがあります。注意して設定をしてください。

    ----
    PhaseCorrectRate
    < 中略 >
    This entry controls the rate at which the phase error is corrected. Specifying a small value corrects the phase error quickly, but might cause the clock to become unstable. If the value is too large, it takes a longer time to correct the phase error.
    The default value on domain members is 1. The default value on stand-alone clients and servers is 7.
    ----
    UpdateInterval
    < 中略 >
    This entry specifies the number of clock ticks between phase correction adjustments. The default value for domain controllers is 100. The default value for domain members is 30,000. The default value for stand-alone clients and servers is 360,000.
    ----

    • 回答としてマーク 田中夢 2012年1月5日 4:21
    2011年12月23日 7:47
    モデレータ
  • 田中夢様 チャブーン様

     

    ご回答ありがとうございます。

     

    記載内容を拝見させていただいた結果、以下の計算式に引っかかっていることが原因のようでした。

    |CurrentTimeOffset| / (PhaseCorrectRate*UpdateInterval) < SystemClockRate / 2

     

    SystemClockRateの設定値について確認できませんでしたので、正確な計算はできませんでしたが、

    (「SystemClockRate」≒「レジストリのLastClockRate」のようですが、「LastClockRate」が2008のレジストリに無いため)

    相当小さいずれでないと、DCサーバはslewモードを行わないことは分かりました。

    設定値の変更は、時刻同期の安定性や信頼性に影響を与えますし、

    DCの設定値はデフォルトのままにする方針とします。

     

    ありがとうございました。

    2011年12月28日 6:36
  • こんにちは。
    フォーラム オペレーターの田中夢です。
     
    チャブーン さん
    いつも参考になるアドバイスをいただき、ありがとうございます。
     
    Alva_hou さん
    その後の方針についてご連絡を頂きありがとうございます。
    今回、チャブーン さんにアドバイスいただいた内容をトラブルシューティングの参考にしていただけたようですので、勝手ながら私のほうで [回答としてマーク] とさせていただきますね。
     
     
    今後とも TechNet フォーラムをよろしくお願いいたします。
    ---------------------------------------------------------------------
    日本マイクロソフト株式会社 フォーラム オペレーター 田中夢
    2012年1月5日 4:21