Widziałem dziwne zachowanie zmieniające się w czasie systemowym na niektórych (sprzętowych) serwerach: w /var/logs/syslog
czasie data poprzedzająca każdy komunikat dziennika czasami zmienia się na losową i wraca do normy w następnym komunikacie, jak poniżej:
Feb 22 2018 09:09:30 ...
Feb 22 2018 09:09:32 ...
Jan 13 2610 15:37:42 ...
Feb 22 2018 09:09:33 ...
Feb 22 2018 09:09:34 ...
Podobnie jak w przykładzie, nagła zmiana daty może nastąpić nawet za setki lat.
Mogę potwierdzić, że komunikaty dziennika zawierające dziwne znaczniki czasu nie pochodzą z żadnego konkretnego procesu - mogą się zdarzyć losowo dla każdego.
Czas trwania między 2 nieprawidłowymi zmianami czasu waha się od kilku minut do kilku godzin (podejrzewam jednak, że nieprawidłowe zmiany czasu mogą zdarzać się częściej, ale wiele z nich nie jest ujawnianych w syslog, ponieważ nie zapisuje dzienników co sekundę).
Ponadto, ponieważ dzieje się to na więcej niż jednym serwerze, zakładam, że nie jest to problem sprzętowy.
Więcej informacji o serwerach: są one instalacją typu openstack z jednym kontrolerem i kilkoma węzłami obliczeniowymi. Każdy serwer ma uruchomioną usługę NTTP. Kontroler jest skonfigurowany tak, aby pobierał czas z własnego zegara sprzętowego, a serwery węzłów obliczeniowych synchronizowały czas z kontrolera. Zauważ, że każdy serwer ma nietypowe zmiany czasu we własnym tempie - wygląda na to, że „zły czas” nie jest zsynchronizowany z kontrolerem przez ntp.
Podejrzewałem, że systemy-goście (maszyny wirtualne) w węzłach obliczeniowych mogą wpływać na czas systemu hosta. Ale to nie może wyjaśnić, dlaczego kontroler ma ten sam problem, gdy nie działa żadna maszyna wirtualna.
Potrzebuję metody wykrywania: kto zmienił czas systemowy i jak to się dzieje?
hwclock
? Jeśli to też się zmieni w tym czasie ...