We have an ongoing problem with a 2012 Datacenter running on a HP 380 Gen 8, mostly running windows guests on a domain. We have a Linux (Ubuntu 18.04.04) guest as well, and on that guest as it comes up, as it should, it initially picks up the time from the RTC, then once Chrony (i.e. NTPv2) comes up it syncs to various time sources.
The issue is the RTC is grossly wrong, so for a period of time it is often months off.
My understanding, as best I can find, is that the RTC for a guest is supposed to come from the system clock of the hypervisor. That is a domain system, sync'd to the domain, and correct. The RTC value as seen by linux is definitely not the system clock on windows on the hypervisor. The below illustrates what happens, this is the same command run about two hours apart, and in that time the RTC raced forward almost an extra 2 hours:
I have tried turning the services for time sync both on and off (my expectation is this is not to control the RTC anyway but I'm grasping at straws).# timedatectl Local time: Tue 2020-03-31 13:04:01 CDT Universal time: Tue 2020-03-31 18:04:01 UTC RTC time: Tue 2020-03-31 18:04:03 <<< pretty close Time zone: America/Chicago (CDT, -0500) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no # timedatectl Local time: Tue 2020-03-31 14:58:23 CDT Universal time: Tue 2020-03-31 19:58:23 UTC RTC time: Tue 2020-03-31 21:44:15 >>> now almost 2 hours off Time zone: America/Chicago (CDT, -0500) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no
This has been going on for a year or two. We reboot the linux VM very rarely, and this is only an issue at startup. Today it not only came up with a July 2020 date, for reasons still unclear Chrony did not find sources, so it did not fix itself.
So...
Where does the RTC come from (in a guest)?
What sort of error could this be?
My hypothesis (which I can find zero support for in any postings) is that the guest is somehow reading the real, hardware RTC on the server, and that is grossly wrong. I can't check it (so far as I know) without a server shutdown, which I cannot readily do due to production. But everything I read says the RTC's for guests are emulated. Are they?
Any ideas? Thanks; Linwood.