ということで、有効そうな手段の一つである、カーネルのタイマー割りこみタイミングを1000HZ⇒100HZにしたいと思って再構築をすることにした。
前回の clock=pit だけではまだちょっと早いからね。
適当に見つくろったこちらの情報を参考に、カーネルを再構築。
>> CentOSのカーネル再構築 - adsaria mood
menuconfigのところで割り込みを100HZに変更して新しいカーネルとinitrdで起動してみた。
しかし・・・
[caption id="attachment_1598" align="alignnone" width="648" caption="画像:カーネルパニック"][/caption]
カネパ(カーネルパニック)だと?
つーかHDD見えてないやん...これはinitrdの中身がまずいんだよなあ。
手順たらないとかかな?
原因探しはもうちょっと先でやろう、時刻ずれの応急処置としてはやっぱりntpdateだよな。
仕方なくホストOSのWindowsServer2008をNTPサーバに仕立て上げて5分おきにntpdateする。
これやりたくないんだけどなあ、5分おきのntpdate。。
WindowsServer2008 のNTPサーバ化は簡単、レジストリを少々いじる。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config\AnnounceFlags
5 に
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer\Enabled
1 に
こんだけ、レジストリを書き換えた後、w32timeを再起動すればOK。
少し注意なのは、Hyper-Vではゲストを立ち上げるとそこから見たローカルタイムはWindowsの時間になる。
⇒Windowsが日本時間(UTC+9)で動いてたら、ゲストの基準はそこになる。
⇒ゲストは『UTC+9=UTC』と見てしまう。
という解釈なのかな?とにかくゲストのタイムゾーンを+9にしようもんなら、システムのタイムゾーンは外から見てUTC+18という時間になっちゃう。
それはいいんだけど、今度はntpdateで問い合わせたら、Windowsは普通にUTCを返す。
ゲストの時間をUTCにしておく⇒ntpdateで問い合わせたら9時間ずれる。
ゲストの時間をUTC+9にしておく⇒ntpdateで問い合わせる前の時間が9時間ずれている。
というなかなか悲しい事態になる、なんじゃいこれは。。
どこに改善要望だしたらいいのか。。『ゲストのhwclockをUTCにしてください?』
ここに書いても拾えないだろうから何処かで受けてほしいなあ。。
で、結局後者で動かし中。
ntpdateは5分おきなので、起動の瞬間から5分程度だけUTC+18で動いてしまう。
ぐぬぬぬぬ。。。
そのうちカーネルのタイミングを100HZにして、ntpdを動かしたいなあ。
カーネルパニックの回避方が判った。
http://sawano.members.icraft.jp/wp/2010/02/07/1666.html
grub.confを編集してね。