Ho visto uno strano orario di sistema cambiare comportamento in alcuni server (hardware): in / var / logs / syslog, l'ora della data che precede ogni messaggio di registro a volte cambia in casuale e torna alla normalità nel messaggio successivo, come il seguente:
22 febbraio 2018 09:09:30 ... 22 febbraio 2018 09:09:32 ... 13 gennaio 2610 15:37:42 ... 22 febbraio 2018 09:09:33 ... 22 febbraio 2018 09:09:34 ...
Come nell'esempio, l'improvviso cambio di data e ora può arrivare a centinaia di anni.
Posso confermare che i messaggi di registro con gli strani timestamp non provengono da alcun processo specifico, ma possono capitare casualmente per ognuno.
E la durata tra 2 cambi di tempo anormali varia da pochi minuti a qualche ora (tuttavia, sospetto che i cambiamenti di tempo anormali potrebbero verificarsi più frequentemente, ma molti di essi non vengono rivelati nel syslog, poiché non scrive registri ogni secondo).
Inoltre, poiché accade su più di un server, presumo che non sia un problema hardware.
Maggiori informazioni sui server: sono un'installazione openstack con un controller e alcuni nodi di calcolo. Ogni server ha il servizio ntp in esecuzione. Il controller è configurato per richiedere tempo dal proprio clock hardware e i server dei nodi di calcolo sincronizzano il tempo dal controller. Si noti che ogni server ha variazioni orarie anomale al proprio ritmo - sembra che "l'ora sbagliata" non sia sincronizzata dal controller tramite ntp.
Sospettavo che i sistemi guest (macchine virtuali) sui nodi di calcolo potessero influenzare il tempo del loro sistema host. Ma questo non può spiegare perché il controller abbia lo stesso problema mentre non esegue alcuna macchina virtuale.
Ho bisogno di un metodo per rilevare: chi ha cambiato l'ora di sistema e come succede?
hwclock
loop? Qualcosa come:while true; do hwclock; sleep 5; done