VMware上でゲストOSの時刻が大幅にずれる現象が発生しています。手元の環境では著しく時間が進んでしまいます。
VMwareに関する情報が集まっている VMTNによると原因と対策はいくつかあるようですが、根本的な問題としてはCPUの周波数に基づく時刻のカウントがVM上で想定どおり動いていないことのようです。対策: カーネルによる補正をOFFにする
2.6系のLinuxカーネルでは時間の計測は1000回/秒のRTC割り込みを要求をカウントすることで行っていますが、OSがビジーで割り込みを処理しきれない場合の対策のため、カウントの補正を行う機能がカーネルに組み込まれているそうです。VMwareのゲストOSとしてLinuxを動かしている場合に、この補正機能が利きすぎてしまって実際の時刻より時計が進んでしまう原因となっているようです。
対策として、カーネルの補正機能を起動オプションでOFFにします。例えばGRUBの場合、menu.lst のカーネル定義部分で 引用:
kernel /vmlinuz-2.6.9-1.667 ro root=/dev/hda2 clock=pit
と "clock=pit" を追加して再起動します。
また、vmware-tools によりホストOSとの時刻同期を有効にする(ntpdとは同時に使わない)ことも必要になります。
その他、ホストマシンのCPUの省電力機構(Intel SpeedStep, AMD PowerNow or Cool'n'Quiet)による周波数の動的変更によるカウント数の変動も原因となるようです。手元の環境では省電力機能が無効でしたので、こちらは関係が無いようです。参考まで。
カテゴリ:サーバ管理
タグ:仮想化
<< Tyzohサイト、こまごまと修正 | Main | 無線LANカードWLI-CB-G54をFC5 & ndiswrapperで。 >>
ワタナベ (2006-08-01 13:59) | コメント(0)| トラックバック(0)
トラックバックURL:
プロフィール
ワタナベ
サーバ管理が趣味の渡邉充隆です。
仮想化やネットワーク構成に興味があります。
あとは、ウェブ系の技術(プログラミングからインフラまで)も好きで、特にデータの見せ方などを工夫することで情報の流通や再活用を促進する技術を研究しています。
dev.tyzoh.jp では ssdb の(コアではなく)周辺のコードをいじっています。
月別アーカイブ
Copyright (C) 2004-2008 Nihon Unisys, Ltd. All Rights Reserved.
Powered by Movable Type Open Source