/var/log/syslog 每 5 秒显示一次“systemd[1]: 时间已更改”消息

/var/log/syslog 每 5 秒显示一次“systemd[1]: 时间已更改”消息

我遇到了问题。有类似以下消息

Mar  1 15:52:34 ubuntu systemd[1]: Time has been changed
Mar  1 15:52:34 ubuntu systemd[1]: snapd.refresh.timer: Adding 1h 16min 25.978183s random time.
Mar  1 15:52:34 ubuntu systemd[1]: apt-daily.timer: Adding 8h 21min 914.167ms random time.
Mar  1 15:52:34 ubuntu systemd[6041]: Time has been changed

每 5 秒在 /var/log/syslog 中。看起来好像有什么东西在不断改变时间。这真的很烦人,我知道出了问题,想修复它。而且 RTC 时间也不正确。

有关我的系统的一些信息

  • Ubuntu 16.04,4.4.0-64-generic,x86_64,在 VDS 上运行

timedatectl

      Local time: Ср 2017-03-01 16:05:03 MSK
  Universal time: Ср 2017-03-01 13:05:03 UTC
        RTC time: Пт 2017-03-03 11:33:10
       Time zone: Europe/Moscow (MSK, +0300)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

iptables

Chain INPUT (policy DROP)
Chain OUTPUT (policy ACCEPT)

INPUT子里有我的规则。

systemctl list-units | grep running

acpid.path                  loaded active   running   ACPI Events Check
init.scope                  loaded active   running   System and Service Manager
acpid.service               loaded active   running   ACPI event daemon
asterisk.service            loaded active   running   Asterisk PBX
atd.service                 loaded active   running   Deferred execution scheduler
cron.service                loaded active   running   Regular background program processing daemon
dbus.service                loaded active   running   D-Bus System Message Bus
[email protected]          loaded active   running   Getty on tty1
hv-kvp-daemon.service       loaded active   running   Hyper-V KVP Protocol Daemon
hv-vss-daemon.service       loaded active   running   Hyper-V VSS Protocol Daemon                                                                
iscsid.service              loaded active   running   iSCSI initiator daemon (iscsid)                                                            
lvm2-lvmetad.service        loaded active   running   LVM2 metadata daemon                                                                       
lxcfs.service               loaded active   running   FUSE filesystem for LXC                                                                    
mdadm.service               loaded active   running   LSB: MD monitoring daemon                                                                  
mysql.service               loaded active   running   MySQL Community Server                                                                     
[email protected]      loaded active   running   OpenVPN connection to server                                                               
rsyslog.service             loaded active   running   System Logging Service                                                                     
snapd.service               loaded active   running   Snappy daemon                                                                              
ssh.service                 loaded active   running   OpenBSD Secure Shell server                                                                
systemd-journald.service    loaded active   running   Journal Service                                                                            
systemd-timesyncd.service   loaded active   running   Network Time Synchronization                                                               
systemd-udevd.service       loaded active   running   udev Kernel Device Manager                                                                 
[email protected]           loaded active   running   User Manager for UID 1000                                                                  
vpsguard.service            loaded active   running   VPSGUARD                                                                                   
acpid.socket                loaded active   running   ACPID Listen Socket                                                                        
dbus.socket                 loaded active   running   D-Bus System Message Bus Socket                                                            
lvm2-lvmetad.socket         loaded active   running   LVM2 metadata daemon socket                                                                
snapd.socket                loaded active   running   Socket activation for snappy daemon

我努力了

  • sudo systemctl stop systemd-timesyncd.service
  • 安装/卸载 NTP
  • sudo hwclock -w

我没有安装 sclockadj。我还询问了我的 VDS 提供商是否阻止任何 NTP 请求。没有,他们没有。

更新 1
我设置了另一个完全相同的 VDS#2。systemd[1]: Time has been changed几分钟后收到此消息,该消息CRON[3684]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)出现后问题就消失了。但是我尝试升级 VDS#2,重启后这个时间又变了。

找到了这个线,也许它可以提供更多信息。看起来这是一个内核问题。

尝试降级内核、systemd、udev,但这些都不起作用。而且从一些回复中我可以看出,这不仅仅是我的主机和虚拟化的问题。

答案1

我在运行 Windows 8.1 Hyper-V 的 16.04 服务器上遇到了systemd[...]Time has been changed 每五秒记录一次消息的问题 。为了解决这个问题,我禁用了 Hyper-V 端的时间同步。/var/log/syslog

在 Hyper-V 管理器中,我突出显示了 VM,选择了 设置, 然后 集成服务,未选中时间同步,然后点击申请

消息立即停止 - 无需重新启动虚拟机。

答案2

在 HyperV/Azure 上,可以通过创建 syslog 过滤器来禁用该消息。

  1. 在 /etc/rsyslog.d 中创建一个新文件

    vi /etc/rsyslog.d/15-excludetime.conf 
    
  2. 插入两行

    :msg, contains, "Time has been changed" ~ 
    :msg, contains, "apt-daily.timer: Adding" ~
    
  3. 重启 rsyslog

    systemctl restart rsyslog.service
    

或者您可以禁用 VMBUS 上的主机时间同步。我将以下行放在 /etc/rc.local 下

echo 2dd1ce17-079e-403c-b352-a1921ee207ee > /sys/bus/vmbus/drivers/hv_util/unbind

答案3

我在 Microsoft Azure VM 上遇到了同样的问题。将硬件时钟设置为系统时间对我来说很有效;

hwclock -w

相关内容