Hyper-Vで運用しているサーバーは、ときどき時刻がずれます。
サーバーを運用している上では、実機ですらよくあることなのですが、Hyper-Vの場合は、ずれ方が激しいです。
(VMWareでも似た現象に遭遇したことがありますので、仮想サーバー全般に言えることだと思ってます)
原因は、ハードウェアクロックをソフトウェアでエミュレーションしているためによる、仮想OSの根本に関わる問題であり、ある意味仕様だと言われてもしょうがない内容なのです。
これを解決するために、Hyper-Vでは、「Hyper-V Time Synchronization Service」という時刻同期サービスが統合コンポーネントに同梱されているのですが、これの挙動が想定していたものと大きく異なる内容でした。
今日、ある仮想サーバーが、30分近く時間が進んでいたのを社長(!)に発見され・・・orz
いや、指摘してくれるのはいいんですが、よりによって・・・ごにょごにょ
そこが本質ではないので、話を戻しますねorz
調べてみると、以下のサイトを発見。
ヒント: Hyper-V 仮想化環境におけるゲスト OS の時刻同期について
http://technet.microsoft.com/ja-jp/virtualization/gg491389
この機能は、物理システムである Hyper-V ホストが持つ時刻に、仮想システムであるゲスト OS の時刻を同期させるためのものですが、ホストとゲストの時刻を常に同じにすることを目的とはしていません。
( Д ) ゚ ゚
(つд⊂)ゴシゴシ
(;゚ Д゚) …!?
読んでみると、「Hyper-V Time Synchronization Service」は、時刻が遅れている場合には対処するけど、進んでいる場合は放置する仕様のようです。
えーっと・・・サービス名にはSynchronizationって書いてありますよね?
同期って意味じゃなかったでしたっけ?
仮想サーバーは仕組上、時刻が遅れる場合がほとんどなので、このような仕様になっているのだと思われます。
知らなかったこととはいえ・・・いまいち腑に落ちない現象でした。
とりあえずというわけではないのですが、NTPに同期する設定をしておきました。
こういう問題って、時間が経たないと分からないので、要注意です。
(どうやって注意するんだ・・・?)
0 件のコメント:
コメントを投稿