[转]Vmware ESX 4上虚拟机 Redhat 5.2(CentOS 5.2)启动在Starting udev 停几个小时

转自:http://hi.baidu.com/wa0362/blog/item/efa5dfc2af42973ee4dd3b45.html

 

最近在vmware ESX上安装的Redhat 5.2或者CentOS 5.2基本上都碰到了这个问题

安装完全完成后启动是在Starting udev会需要几个小时才能过去。

网上找到很多说法比方有说让改"/etc/udev/rules.d/99-vmware-scsi-udev.rules" 文件的,其实这并不是hang住的原因,真正的元凶是:

    Clocksource is the name of the new timekeeping subsystem introduced in the Linux 2.6.18 kernel. In this subsystem there are several clocksources that can be used to read the time. One of them is the tsc clocksource which uses the Time Stamp Counter that is present on each processor and can be used to track how much time has elapsed. The TSCs on the different processors are not necessarily perfectly in sync with each other, so time can appear to go backward if the TSC is read on one processor and then another processor. Early versions of the tsc clocksource did not handle this case, which can lead to the guest operating system not responding. Due to the different timing behavior of running in a virtual machine, this can be observed more frequently in a virtual machine.

经验证确实如此:如果是单个vCPU,则Starting udev很快就能过去

具体解决方法:

当starting udev停住很久过不去的时候就

(1)把虚拟机的电源关闭 (2)然后编辑配置,改为单个vCPU  (3)启动系统 (4)编辑/etc/grub.conf在kernel一行最后加上clocksource=acpi_pm

这个在vmware官方有说明:

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1007020

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

posted @ 2010-02-04 08:36  killkill  阅读(1848)  评论(0编辑  收藏  举报