There appears to be a problem with virtualizaiton in general that sees host systems’ clocks slip, sometimes quite drastically.
I saw our time adjust to 1987, then 2259 in the last few days. I’ve also experienced some issues with prime and jazz where they wouldn’t let me in. Releated? Definitely.Â
These two machines are the only servers we’ve deployed with multiple virtual CPUs. As such, they’re using a different clocksource to the single CPU machines – tcs vs. acpi_pm.
mlambie@prime:~$ sudo cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tcs
I have forced out multi-CPU virtual machines to use acpi_pm instead of tcs by altering the kernel parameters in the menu.lst file found in /etc/grub. The relevant parts are:
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=0fac0e90-1edf-420c-a0e6-c8b0e85ea6eb ro clocksource=acpi_pm
Note that you’r root UUID will be different, and also the first hash is necessary.
Regenerate your boot config with:
mlambie@prime:~$ sudo update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.24-19-server
Found kernel: /boot/memtest86+.bin
Updating /boot/grub/menu.lst ... done
I hope and expect this will fix the clock drift, and will be forcing our single-CPU machines to stay with acpi_pm, even though they’re using it at the moment.
Update:
It appears to have solved the issue – 8 hours and no driftin’.