重新启动/关闭时遇到了一个最烦人的问题。出于某种奇怪的原因,关闭总是需要“最大”时间。
我已经能够追踪到原因是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
系统本身没有直接的网络访问(没有 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 1(vlan3) entered disabled state
Oct 03 09:09:25 myhostname kernel: br2: port 1(vlan2) entered disabled state
Oct 03 09:09:35 myhostname kernel: device vlan10 left promiscuous mode
Oct 03 09:09:35 myhostname kernel: br10: port 1(vlan10) entered disabled state
Oct 03 09:09:35 myhostname systemd[1]: Stopped ifup for enp2s0.
Oct 03 09:09:35 myhostname systemd[1]: Stopped ifup for enp3s0.
Oct 03 09:09:35 myhostname kernel: IPv6: ADDRCONF(NETDEV_UP): vlan10: link is not ready
Oct 03 09:09:45 myhostname ifdown[5961]: Removed VLAN -:vlan10:-
Oct 03 09:09:55 myhostname ifdown[5961]: Removed VLAN -:vlan6:-
Oct 03 09:10:05 myhostname ifdown[5961]: Removed VLAN -:vlan5:-
Oct 03 09:10:15 myhostname kernel: device vlan3 left promiscuous mode
Oct 03 09:10:15 myhostname kernel: br3: port 1(vlan3) entered disabled state
Oct 03 09:10:15 myhostname kernel: IPv6: ADDRCONF(NETDEV_UP): vlan3: link is not ready
Oct 03 09:10:25 myhostname ifdown[5961]: Removed VLAN -:vlan3:-
Oct 03 09:10:35 myhostname kernel: device vlan2 left promiscuous mode
Oct 03 09:10:35 myhostname kernel: br2: port 1(vlan2) entered disabled state
Oct 03 09:10:35 myhostname kernel: IPv6: ADDRCONF(NETDEV_UP): vlan2: link is not ready
Oct 03 09:10:45 myhostname ifdown[5961]: Removed VLAN -:vlan2:-
Oct 03 09:10:55 myhostname systemd[1]: networking.service: Stopping timed out. Terminating.
Oct 03 09:10:55 myhostname systemd[1]: networking.service: Control process exited, code=killed status=15
很明显,发生了一些奇怪的事情。我正在运行 Debian 9.5。
经过几天的谷歌搜索和阅读大量不同的邮件列表、论坛、帖子等等,我终于找到了答案。缓慢的关机/重新启动(以及同样不必要的启动延迟约 30 秒)是由称为
avahi-daemon
. 事实证明,这是为已从系统中删除的每个接口调用的,因此命令/脚本在 10 秒后超时。删除上述软件包修复了所有问题,现在一切运行顺利。关机只需几秒钟,完全重新启动直到虚拟客人也启动并运行不到两分钟。