none
NTPでの時刻同期が正確にされません RRS feed

  • 質問

  • お世話になります。

    下記のサイトを参考にNTPクライアントの設定を行いました。うるう秒や、ソフトウェアへの影響を考慮し、Slewモードでの時刻同期を行うよう、設定しています。
    http://support.microsoft.com/kb/2722681/ja

    複数のホストにて、同様の設定を行いましたが、1つのホストだけ正確に時刻同期が取れない状態となっております。

    サーバ:Hyper-Vホストサーバ
    OS:Windows Server 2008 R2, Detacenter
    ※Hyper-V上のゲストサーバは、Hyper-Vからの同期はせず、通常のNTPを設定しています。

    症状としては、
    +50秒~+120秒程、NTPサーバとのズレが生じております。
    (2時間毎に同期を取り、イベントログに表示させていますが、かなりの波があります。)

    ちなみに他の物理サーバは+-1秒以内に収まり、Hyper-V上の各仮想サーバは-5~+10程度のズレでそれぞれ安定?しているようです。

    stripchartで見たところ、時刻差がずれている状態で、
    Windows Time Serviceの自動同期のタイミング、手動で「w32tm /resync」コマンド実行、またはWindows Time Serviceの再起動を行った場合でも更に差が広がっていく状態となっていました。

    ただし、[日付と時刻]-[インターネット時刻]-[設定の変更]から[今すぐ同期]を押した場合、差が狭まっていく状態になるようでした。

    何か解決の糸口になるようなものはありますでしょうか?

    最悪、[今すぐ同期]と同じ効果を得られるコマンドを実行できれば、タスクへ登録し、時刻同期を行えればと考えております。
    ※「w32tm /resync」コマンドでは上手く同期できていませんでしたので。。

    以上、宜しくお願いいたします。

    2013年7月29日 2:04

回答

  • CPU & BIOS の省電力機能が有能な場合に問題になる事があるようです。

    省電力機能で、仮想環境の時刻同期にご用心 | re-Think things http://togarasi.wordpress.com/2011/08/08/%E7%9C%81%E9%9B%BB%E5%8A%9B%E6%A9%9F%E8%83%BD%E3%81%A7%E3%80%81%E4%BB%AE%E6%83%B3%E7%92%B0%E5%A2%83%E3%81%AE%E6%99%82%E5%88%BB%E5%90%8C%E6%9C%9F%E3%81%AB%E3%81%94%E7%94%A8%E5%BF%83/

    • 回答の候補に設定 佐伯玲 2013年8月1日 8:29
    • 回答としてマーク iv8945 2013年8月14日 1:52
    2013年7月29日 6:25

すべての返信

  • 該当のサーバが物理サーバだとすると、ハードウェア的に時刻合わせの修正よりも、ハードウェア的なずれの方が大きいのかもしれないですね。

    難しいとは思いますが、物理サーバの場合、ハードウェアベンダに相談してみるのもよいかもしれません。

    仮想サーバだとすると、割り当てCPU数を増やしてみると解決するかもしれません。

    あと、最後の手段ですが、バッチで以下コマンドを実行すると完全に同期すると思われます。

    net time \\タイム・サーバ名 /set /yes

    ご参考まで。

    2013年7月29日 2:32
  • ご返答ありがとうございます。

    OS側での解決が難しい場合、ハード側に相談したいと考えております。

    ご提示いただいたnet timeコマンドを行いましたが、下記エラーが起きて実行できませんでした。

    サービスが開始していません。

    NET HELPMSG 2184 と入力すると、より詳しい説明が得られます。

    ※Windows Time Serviceは起動しております。 2008 R2の場合、他に必要なサービスがあるのでしょうか?

    2013年7月29日 4:13
  • チャブーンです。

    Windows Server 2008 R2 のワークグループ環境では、「Windows Time」は一週間に一度しか起動せず、それ以外では動作しないように、仕様が変更になっています。この状態ではw32tmコマンドは全く使えないため、[インターネット時刻]で同期を行うことでしか動作しないということなのでしょう。

    なにも同期しない状態だと時刻がずれていくということですので、(理由は別に調べる必要がありますが)ひとまず通常の時刻同期を行うように設定を変更してはどうでしょうか?そのためにはまずWindows Timeを常時起動するよう、設定を変更することになります。方法はしたのページをご覧ください。

    http://support.microsoft.com/kb/2385818/ja

    その後、適切なタイミングで時刻同期を行うよう、Windows Timeの設定を構成します。こちらの「外部のタイム ソースを使用するように Windows タイム サービスを構成する」方法が使えると思いますが、「権限ある時刻サーバ」になる必要はないので、AnnounceFlagレジストリ値だけはデフォルトのまま(10)でよいと思います。

    http://support.microsoft.com/kb/816042/ja

    あと、余計な話しかもしれませんが、net time /set コマンドはNTP時刻同期には使えません。SMB環境(Windows共有)で動作するもので、ドメイン環境でクライアントがPDCに対して時刻を同期するためのものです。

    2013年7月29日 4:53
    モデレータ
  • ご返答ありがとうございます。

    2サイトとも拝見しまして、レジストリの設定と、サービスの自動 (遅延開始)は設定済になります。

    NTP設定はされていて、サービスも起動しているので、通常ですと同期されると思います。

    (レジストリ値を比較しましたが、他のサーバと同じ設定にしております。)

    しかし、上記のように特定のサーバだけ同期がうまく取れておらず、

    ・Windows Time Serviceの自動同期(こちらは4時間毎に設定しました)

    ・手動で「w32tm /resync」コマンド実行

    ・Windows Time Serviceの再起動

    を行っても、stripchartで見るとより差が広がっていく状態は変わらない状態です。

    [今すぐ同期]を押した場合のみstripchartで見ると同期を行い始めるようでした。

    2013年7月29日 5:27
  • CPU & BIOS の省電力機能が有能な場合に問題になる事があるようです。

    省電力機能で、仮想環境の時刻同期にご用心 | re-Think things http://togarasi.wordpress.com/2011/08/08/%E7%9C%81%E9%9B%BB%E5%8A%9B%E6%A9%9F%E8%83%BD%E3%81%A7%E3%80%81%E4%BB%AE%E6%83%B3%E7%92%B0%E5%A2%83%E3%81%AE%E6%99%82%E5%88%BB%E5%90%8C%E6%9C%9F%E3%81%AB%E3%81%94%E7%94%A8%E5%BF%83/

    • 回答の候補に設定 佐伯玲 2013年8月1日 8:29
    • 回答としてマーク iv8945 2013年8月14日 1:52
    2013年7月29日 6:25
  • チャブーンです。

    w32tmが実際にどう動作しているのか、デバッグログを取って調べてみるといいかもしれませんね。直接直らない場合も、Windows Timeがどう動いているのか、ある程度確認できると思いますので。

    ログの設定方法や簡単な読み方については、したのページを見てみてください。

    http://www.atmarkit.co.jp/ait/articles/1301/24/news105_2.html

    なお、デバッグログについて、IPアドレス等の固有情報をマスクして掲載していただければ、何か言えることがあるかもしれません。

    • 回答の候補に設定 佐伯玲 2013年8月1日 8:29
    2013年7月29日 7:32
    モデレータ
  • ご返答ありがとうございます。

    >省電力機能

     →BIOSについては、確認方法含め、ハード側に確認したいと思います。

    >デバッグログ

     →ちょっと量が多いですが、確認してみます。

    [今すぐ同期]と同じ効果を得られるコマンドにつきましては、何か分かりましたらお願いいたします。
    2013年7月29日 8:44
  • net time \\タイム・サーバ名 /set /yes コマンドの件は、申し訳ありません。

    2008 R2 Detacenterと書かれていたので、勝手にWindows サーバで一通り構築されているのだと勝手に想像しておりました。

    確かにチャブーン様の発言通り、net timeコマンドだとNTP同期ではないのでNGですね。

    [今すぐ同期]をクリックした場合と、w32tmは確か違うモジュールを利用していたはずなので、w32tmで同じ動作は難しいかもしれません。

    あとは、フリーのNTP Clientを使うかですね。

    お役に立てず申し訳ありません。

    2013年7月31日 2:15
  • BIOSについては、ホストサーバということもあり、停止できず確認することができませんでした。

    ログも見てみましたが、他サーバと同じ動作をしていました。

    ※確かに[今すぐ同期]の場合、ちょっと違った動きをしていました。

    これ以上の究明は難しいため、

    平田様の仰る通り、フリーのNTP Clientで対応することとしました。

    問題なく同期が取れていることを確認しましたので、完了となります。

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

    • 回答としてマーク iv8945 2013年8月7日 5:33
    • 回答としてマークされていない iv8945 2013年8月7日 5:36
    2013年8月7日 5:32