Clock in a VMWare FreeBSD Guest Runs More Slowly or Quickly Than Real Time...
crosspost from http://rextang.net/blogs/work/
umm, seems that I am little bit enthusiastic about knowing all those unix-like system recently, since I didn't pay much time to know them before. right now I've set up 3 VMs with CentOS4.4 , Gentoo Linux 2006 (since it is able to run in Sun SPARC machine), FreeBSD 6.1 , and going to setup one more VM with Sun Solaris 10 x86 (11/2006 version) arch to get familiar with all those main stream unix-like OSes.
while toying around with Gentoo and FreeBSD, I did found that Gentoo seems had no problems on the clock issue happened in my CentOS as well as FC6 as described in my previous post. but FreeBSD did encounter this problem again. the clock is much slower than real one on the host OS.
by searching to Google, I found this post saying about FreeBSD clock is slowing when acting in VMWare as guest OS, and it was also the same reason in Linux that the OS is using APIC to get the clock for the time. the solution is to disable APIC on the boot time by editing /boot/loader.conf and put a line:
in the file and reboot FreeBSD, or to 'to comment out the “device apic” line in the kernel config file and rebuild the kernel'. also by doing so will loose the ability for the guest OS to run in SMP mode. pretty same as what happened in Linux.
After doing the loader.conf modification and reboot the FreeBSD VM, the clock is back to normal without problem. by installing VMWare-Tools into FreeBSD vm, verifying that vmware-guestd is running and also in the FreeBSD guest OS's .vmx file, set toos.syncTime to TRUE, the time in my FreeBSD vm is back to normal and won't need NTP to sync the real time, just like what I did in my CentOS in previous post.
It's pretty cool that I can run all those 3 VMs with different unix-like OSes simutaniously in my Windows 2003 R2 Server with 2GB RAM. I gave each guest OS 384mb RAM to run and thanks to VMWare Workstation's dynamic memory allocation technology, while my testing of those 3 VMs I can still have more than 1 gb RAM for my host OS. I think it should be no problem for me to boot up one more Solaris 10 VM in the same time.
The goal is to understanding all those system and networking administration tasks on those different main-stream unix-like OSes and further more to host web applications and database systems on them. maybe than trying to develop some Mono projects to run ASP.NET websites upon them. I've already found that it's pretty different on the admin of Linux and BSD systems since it's pretty different on the directory structures as well as those admin commands and locations of various config files. wondering if it's also different in a Solaris OS...
anyway, it's always nice to learn new things, and I am enjoying it on my weekend... ;)
Technorati Tags: linux , freebsd, solaris, CentOS, ntp, clock, kernel , vmware, APIC