読者です 読者をやめる 読者になる 読者になる

VirtualServer上のLinuxOSの時間が激しく進む

VirtualServer

先日の話の続きなのですがVirtualServer2005上に構築したCentOS4.5の時刻が激しく進む問題が発生しました。
調査したところWebOS Goodiesさまの「VMware で Linux を動かした際の時刻のずれを解消する(続き)」というエントリで詳しい説明を見つけることができました。
以下引用です。

対策として、主に以下の 3 つが提示されています。

  1. カーネルの起動オプションとして "clock=pit" を指定する。(時刻が進む場合の対策)
  2. カーネルの起動オプションとして "nosmp noapic nolapic" を指定する。(時刻が遅れる場合の対策)
  3. タイマー割り込みの間隔が "/usr/src/linux-2.6/include/asm-i386/param.h" 内の "HZ" マクロで定義されているので、それを "100" に変更してコンパイルする。

今回は1と2のオプションをgrubのmenu.lstに追加してみました。


[root@cent grub]# cat menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to
this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.9) MS-CHAPV2 Support
        root (hd0,0)
        kernel /vmlinuz-2.6.9 ro root=/dev/VolGroup00/LogVol00 clock=pit 
nosmp noapic nolapic
        initrd /initrd-2.6.9.img
title CentOS (2.6.9-55.0.2.EL)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-55.0.2.EL ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.9-55.0.2.EL.img
title CentOS-4 i386 (2.6.9-55.EL)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-55.EL ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.9-55.EL.img


再起動したところ、時刻が急激に進む現象は収まりました。
VMWareだとVMwareToolsというものでスマートに時刻同期ができるみたいですね。うーん、VirtualServer上に設定したのはちょっと失敗だったかも。