I was having trouble with the clock in my Linux Hyper-V VMs. The time was constantly drifting forward. Using the Network Time Protocol (NTP) only slowed the drift a bit down but often the NTP-service gave up after several days.
I tried a lot of NTP configurations, but basically the local clock was just unreliable. Even using rdate every 10 minutes was already showing backwards jumps of several seconds. As one of my VMs is running dovecot this really was a problem because dovecot hates time moving backwards.
I finally found the solution posted by Mat Mirabito in the blogpost “Linux (specifically CentOS running trixbox) gains excessive time on system clock”.
Edit grub.conf
and add the following to the kernel line:
After this it works like… clockwork 🙂