Windows Server 2008 on AWS ~時刻同期の罠~

秋の気配を感じる今日この頃、ビールもごはんもおいしい季節になってきましたね。
こんにちは1年中ビールとごはんがおいしいと感じるtsuboです。
(注:この記事は2014年9月上旬に執筆しております。)
ある夏の日にWindows Serverで信頼できるNTPサーバと同期を取っているのに
頻繁にシステム時刻がズレてしまうという事象がありました。
原因と対策について皆さまのご参考になればという事で記事を投稿させて頂きます。

弊社ではお預かりしているサーバのシステム時刻のズレも監視しております。
もちろん他にも様々な項目を監視しております。

事象

ある日、お客様のサーバで5分近くシステム時刻がズレているという事象を監視で確認!
ちなみに対象の環境は下記のようになっております。
AWS EC2 m1.medium
OS:Windows Server 2008 R2 (Work Group)

とりあえずシステム時刻のズレを直さないという事で
w32tm /resyncコマンドで時刻がきちんとNTPと同期が取れた事を確認して一安心。
ではシステム時刻がズレた原因を調査の為、ログを眺めたりしますかねと
イベントログを開いてからふと画面右下に殺気を感じて時計の表示を見ると!!!

5分近くズレとるがな!!

とりあえず再度手動同期を取って時刻を正常にして観察です。

しばらくすると5分ほどズレる。。。

なんじゃこりゃ!

という事で本気を出してイベントログを確認したりゴニョゴニョした結果。
SYSTEMログに情報レベルで犯人の痕跡ぽいログを確認。

SYSTEMが勝手にシステム時刻を変更しているなあ
Windows Time ServiceでNTP設定しているのになんで勝手に変更してんだこいつは(SYSTEM)

ということでさらに色々調べてみると

原因として下記のような仕様があると確認

原因

WindowsTimeServiceでNTP設定を有効にしても
RTCとシステム時刻のズレが大きい場合は OSがRTCをシステム時刻に設定する模様。。。
参照先はこのあたり
http://support.microsoft.com/kb/946033/ja

ふ~ん罠なの?という仕様がわかった。

ではシステム時刻がズレる根本原因はAWSのホスト側のRCTが狂っとるという事ですね。
ホスト側を直す事は出来ないの乗っかるホストを変更すれば解決ですねという事で
インスタンスのホストを変更するには再起動が必要になります。

お客様と調整しインスタンスを再起動をGO!
経過観察してシステム時刻のズレが起こることはなくなりました。
OK直った!めでたしめでたし

では原因と対策をまとめます

まとめ

Windows Server 2008 R2までは(2012以降については未検証)
Windows Time Serviceで信頼できるNTPと同期を取っていても
RTC(リアルタイムクロック)≒BIOS時間とシステム時刻に差(60秒以上?)がある場合
RTCの時刻を優先的にシステム時刻に同期する。

対応としてRTCが実際の時刻とズレている場合
RTCをそれぞれ指定の方法で合わせましょう。
AWSの場合はホストを変更する事で解決できます。

AD環境の場合はどうなるか未検証ですが(ADクライアントはPDCの時計と同期するため)
PDCサーバでこの事象が発生した場合は
クライアント全体の時計が狂うという事態になるのでないでしょうか(考えただけで恐ろしい。。。

もちろんAWS以外でも起こりうる問題になりますのでお気を付けください。

ではこういう事象を素早く発見するにはどうするか?

やっぱりシステムの定期監視が一番と私は思います。

ただ監視方法が解らないし知っていても24時間見続けるのも大変という方に朗報

なんとskyarchでは24h/365dの運用サービスを提供致しております。
少しでも気になる方はこの真下にありますバナーをクリックして
お気軽にお問い合わせ頂ければ幸いでございます。

というコマーシャルも入れまして 今回はここまで!

投稿者プロフィール

tsubo
2014年6月からスカイアーチに入社しました新入りのおっさんです。
雑食な性格ですのでその時の気分で記事を投稿していきたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

2014年6月からスカイアーチに入社しました新入りのおっさんです。 雑食な性格ですのでその時の気分で記事を投稿していきたいと思います。