あるWindowsサーバで時刻が6分ほど進んでいる状況が発覚しました、結構な時差です。このサーバはドメインに参加していて、ほかのクライアントは全く問題がないのになぜかこの1台だけがおかしい。(OSはWindows server 2008 R2 standard x64)
人に指摘されるまで気が付かなかったので、あわてて原因を調査することに。
時刻同期の状況を確認するコマンド
まずはw32tmコマンドで時刻同期の状態を確認しました。
コマンド
実行結果
階層:3(二次参照 - (S)NTP で同期
精度:-6(ティックごとに 15.625ms)
ルート遅延: 0.0625000s
ルート分散: 0.1187141s
参照 ID: 0xC0A82040(ソース IP: 192.168.200.55)
最終正常同期時刻: 2016/09/21 9:47:44
ソース:dc2.plumpliver.local
ポーリング間隔: 14(16384s)
結果は正常です。
問題なくドメインコントローラと同期がされています。
そこで今度は、「/verbose」オプションを付けてさらに詳細な情報を取得してみます。
コマンド
実行結果
階層:3(二次参照 - (S)NTP で同期
精度:-6(ティックごとに 15.625ms)
ルート遅延: 0.0625000s
ルート分散: 0.1187141s
参照 ID: 0xC0A82040(ソース IP: 192.168.200.55)
最終正常同期時刻: 2016/09/21 9:47:44
ソース:dc2.plumpliver.local
ポーリング間隔: 14(16384s)
フェーズ オフセット: 0.0048443s
クロック レート: 0.0156249s
State Machine 2(同期)
タイム ソース フラグ:2(認証済み)
サーバーのロール:0(なし)
最終同期エラー:0(コマンドは正しく終了しました。)
再修正所言う同期時刻からの時間: 775.8683578s
やはり正常・・
該当サーバは仮想マシン(ゲスト)だった
DCと正常に同期されているのに、時刻が合わない?
考える・・
「こいつ仮想マシン(ゲスト)じゃなかったか?」
このサーバはVMWare上に構築されたゲストOS、そういえばホストマシンの時刻と同期する設定があったことを思い出した。
ホストOSはADに参加していないため、直接インターネットへ出て時刻同期するはずだったが・・
「はっ!?Windows2008からはWindowsTimeサービスが手動起動に変わっていた!」
サービス一覧で確認したところ・・ビンゴでした。
Windows Timeサービスが見事に起動していなかった!初期設定ミスですね。
DCと同期させたいため、VMwareToolsを開き、「仮想マシンとESX Server間の時間の同期を有効にする」のチェックを外す。
無事解決いたしました。
あとがき
今回わかったこと。
・Workgroup環境下のサーバは自動で時刻同期しない設定になっている。
(Windows Time サービス が 手動起動のため)
・VMWareの仮想マシンはデフォルトでホストの時刻と同期する設定になっている。
ドメインに参加していないサーバについて、時刻設定をはじめにきちんと設定しなければいけません。
ちなみに、ほかのAD非参加サーバも同じ設定だったのでWindows Timeサービスの設定を変更しました。