RedHat ntp offset becomes bigger over time

ntpredhat

I have a strange issue with a server. It is configured to use 2 servers, just like all the other server (the config is the same for a couple of server and they are all working except this one) and it had a huge offset (over 1000s), but every 1h20min it corrects itself and it's back on time for a couple of minutes. So I already did the following:

  1. Stopped ntpd daemon
  2. Issued the following command:

    ntpdate -b xxx.xxx.xxx.Xxx
    
  3. started the ntpd daemon again

But with no result.

My ntp.conf file looks like this:

listen-on xxx.xxx.xxx.xxx accept
server xxx.xxx.xxx.xxx burst iburst minpoll 4 maxpoll 4
restrict xxx.xxx.xxx.xxx
driftfile /var/lib/ntp.drift
logfile /var/lib/ntpd.log
server xxx.xxx.xxx.xxx burst iburst minpoll 4 maxpoll 4
restrict xxx.xxx.xxx.xxx
driftfile /var/lib/ntp.drift
logfile /var/lib/ntpd.lo

Any advice on what steps to take next? Or a way to fix this?

Best regards

Update
The ntpq -p -crv

[root@xxxxxxxx ~]# ntpq -p -crv
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+xxxxxxxxxxxxxxx xxx.xxx.xxx.xxx  3 u   10   16  377    1.992  410.988  10.517
*xxxxxxxxxxxxxxx xxx.xxx.xxx.xxx  2 u    6   16  377    2.758  420.365  12.230
status=0614 leap_none, sync_ntp, 1 event, event_peer/strat_chg,
version="ntpd 4.2.6p1@1.2158-o Fri Aug 24 16:13:49 UTC 2012 (3)",
processor="i686", system="Linux/2.6.22.9-61.NS5", leap=00, stratum=3,
precision=-21, rootdelay=8.343, rootdisp=457.558,
refid=xxxxxxxxxxxx,
reftime=d7d674da.8041b0f8  Wed, Oct  1 2014 14:40:58.501,
clock=d7d67500.7904168c  Wed, Oct  1 2014 14:41:36.472, peer=59935,
tc=4, mintc=3, offset=223.125, frequency=0.000, sys_jitter=19.824,
clk_jitter=123.945, clk_wander=0.000

Best Answer

I had a similar problem. I had once had a working NTP server. And, of course, I changed something and eventually I noticed that it wasn't working anymore.

I discovered that I had changed my BIOS and had disabled the IOMMU on a machine that was acting as VM hypervisor. And the VM hypervisor was also my NTP server.

I can't believe it was able operate as a hypervisor. So check for IOMMU in kern.log (or dmesg).

Another clue, under time, if timedatectl status works.