Monday, May 21, 2007

SUSE 10 System Time Drifting

The system time on our SUSE 10 box drifts rather horrendously. The main culprit appears to be the fact that it's running in a virtual environment. A quick search on Google indicates that this is not an uncommon problem, the source of which appears to be that SUSE 10 (linux kernel 2.6) uses an interrupt rate that is higher than the default host maximum (1000Hz vs. 100Hz).

See Clock in a Linux Guest Runs More Slowly or Quickly Than Real Time for more information.

I attempted to use the boot loader fixes suggested for the guest OS but did not have any luck. Even with the drift, the NTP daemon should be able to keep the time acceptably. Unfortunately it doesn't seem to work consistently. I suspect this may be due to the drift resulting in the system unable to verify the time. At any rate, I seem to have hit a wall in this regard.

Perhaps the best option for addressing this issue is with the setup of the VMX. One of the options within the environment is to sync the clock with the host operating system (tools.syncTime = TRUE). This option requires that the vmware-tools be installed correctly. Since we don't have access to the VMX parameters we'll have to work with tech services to see if this is set. (And if so why it isn't keeping the clock in sync.)

This last option is probably best because it negates the need for NTP on the guest OS, decreasing overall traffic to/from the server.

It looks like I'll be disabling NTP for the time being since it doesn't seem to be keeping time and it may possibly be crashing the server (too bad we can't just change the battery). And if we implement the preferred solution I won't need to re-enable it.

References: