“systemd-timesyncd:网络配置已更改,正在尝试建立连接”是什么意思?

“systemd-timesyncd:网络配置已更改,正在尝试建立连接”是什么意思?

我正在尝试调试一些网络连接问题,我发现:

systemd-timesyncd: Network configuration changed, trying to establish connection.

在 syslog 中。我尝试用谷歌搜索,但找不到很好的定义。这是我需要担心的事情吗?配置更改是否仅在上下文中发生timesyncd?谢谢。

答案1

运行journalctl --since "1 days ago"以查看在发生更改之前 systemd 报告的内容。

您是否在此服务器上运行容器?对我来说,每当 Kubernetes 调度容器进入或退出节点时,这种情况似乎都会发生。这种情况每天可能发生数百次,因此这些日志消息令人讨厌。

Jun 10 08:38:24 docker01 containerd[1206]: time="2021-06-10T18:38" level=info msg="shim containerd-shim started" address="unix:///run/containerd/s/asdasasdasdasdasasdasd
" debug=false pid=122
Jun 10 08:38:25 docker01 systemd-networkd[719]: cali1234: Link DOWN
Jun 10 08:38:25 docker01 systemd-networkd[719]: cali1234: Lost carrier
Jun 10 08:38:25 docker01 systemd-timesyncd[94670]: Network configuration changed, trying to establish connection.
Jun 10 08:38:25 docker01 systemd-timesyncd[94670]: Synchronized to time server 10.11.12.13:123 (ntp01.example.org.nersc.gov).
Jun 10 08:38:25 docker01 systemd-timesyncd[94670]: Network configuration changed, trying to establish connection.
Jun 10 08:38:25 docker01 systemd-timesyncd[94670]: Synchronized to time server 10.11.12.13:123 (ntp01.example.org.nersc.gov).

这似乎与以下两个错误有关,并似乎在 systemd v239 中得到修补。Ubuntu 18.04 附带 systemd v237,不太可能得到修复。

答案2

如果您有多个网络接口,也可能会发生此问题。默认情况下,systemd 不会认为网络初始化已完成,直到所有接口都启动,这意味着依赖于网络的其他服务可能会无限期地等待。解决方案是覆盖“systemd-networkd-wait-online”服务,如下所示:

systemctl edit systemd-networkd-wait-online

将以下内容添加到文件顶部:

[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --any

相关内容