我在某些(硬件)服务器中看到了一种奇怪的系统时间更改行为:在 中/var/logs/syslog
,每条日志消息之前的日期时间有时会更改为随机时间并在下一条消息中恢复正常,如下所示:
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 ...
Run Code Online (Sandbox Code Playgroud)
如示例中所示,日期时间的突然变化可能长达数百年。
我可以确认具有奇怪时间戳的日志消息不是来自任何特定进程 - 它可能对每个进程随机发生。
并且两次异常时间更改之间的持续时间从几分钟到几小时不等(但是,我怀疑异常时间更改可能会更频繁地发生,但其中许多未在系统日志中显示,因为它不是每秒写入日志)。
此外,由于它发生在不止一台服务器上,我认为这不是硬件问题。
关于服务器的更多信息:它们是一个带有一个控制器和几个计算节点的 openstack 安装。每个服务器都有运行的 ntp 服务。控制器配置为从其自己的硬件时钟中获取时间,并且计算节点服务器从控制器同步时间。请注意,每个服务器都有自己的异常时间变化 - 看起来“错误的时间”不是从控制器通过 ntp 同步的。
我怀疑计算节点上的来宾系统(虚拟机)可能会影响它们的主机系统时间。但这并不能解释为什么控制器在没有运行任何虚拟机的情况下会出现同样的问题。
我需要一种方法来检测:谁更改了系统时间以及它是如何发生的?