トップ回答者
NTPでの時刻同期が正確にされません

質問
-
お世話になります。
下記のサイトを参考に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年7月29日 6:25
すべての返信
-
チャブーンです。
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年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 -
net time \\タイム・サーバ名 /set /yes コマンドの件は、申し訳ありません。
2008 R2 Detacenterと書かれていたので、勝手にWindows サーバで一通り構築されているのだと勝手に想像しておりました。
確かにチャブーン様の発言通り、net timeコマンドだとNTP同期ではないのでNGですね。
[今すぐ同期]をクリックした場合と、w32tmは確か違うモジュールを利用していたはずなので、w32tmで同じ動作は難しいかもしれません。
あとは、フリーのNTP Clientを使うかですね。
お役に立てず申し訳ありません。
2013年7月31日 2:15 -