我在重新启动/关闭时遇到了一个最烦人的问题。出于某种奇怪的原因,关机总是需要“最大”的时间。
我已经能够追踪到networking.service尝试关闭一堆接口的原因是90 秒时超时。我怀疑这也会在启动时造成不必要的延迟(大约 30 秒),但我可以忍受。
我的网络由一个物理接口组成,其上有几个 VLAN 和网桥。物理接口和 VLAN 都没有与之关联的任何地址,即:
allow-hotplug enp2s0
iface enp2s0 inet manual
auto vlan2
iface vlan2 inet manual
vlan_raw_device enp2s0
auto br2
iface br2 inet manual
bridge_ports vlan2
Run Code Online (Sandbox Code Playgroud)
系统本身没有直接的网络访问权限(没有 IPv4 地址),而是充当虚拟机的主机(因此是网桥),然后处理网络。除了关机,一切正常。
有谁知道是什么导致了这种情况?
关机日志(来自journalctl -b -1)显示以下内容:
Oct 03 09:09:25 myhostname systemd[1]: Deactivated swap /dev/disk/by-uuid/6db311a2-97ef-479c-8e35-d7f760c3d3b0.
Oct 03 09:09:25 myhostname kernel: br0: port 1(enp2s0) entered disabled state
Oct 03 09:09:25 myhostname kernel: br10: port 1(vlan10) entered disabled state
Oct 03 09:09:25 myhostname kernel: br3: port …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个service依赖于远程的 systemdsystemd 服务的 systemd。是否有任何“标准”方法可以完成如此奇怪的事情?其用例是一些需要远程端点在启动时准备就绪的旧软件。
我知道我可以在服务中使用类似wait-for-this 的ExecStartPre东西来检查/等待,直到某个特定的远程 TCP 端口可用(并且可能.socket在远程编写一个简单的单元)。但这似乎有点矫枉过正。systemd 本身是否有一种方法可以与另一个远程 systemd 进行通信?