Desligar interfaces leva muito tempo

5

Corri para um problema muito irritante ao reiniciar / desligar. Por algum motivo estranho, o desligamento sempre leva o tempo "máximo".

Consegui rastrear a causa, networking.serviceque atinge o tempo limite em 90 segundos, tentando derrubar várias interfaces. Suspeito que o mesmo também cause um atraso desnecessário ao inicializar (cerca de 30 segundos), mas posso conviver com isso.

Minha rede consiste em uma interface física, em cima da qual estão algumas VLANs e pontes em cima delas. Nem a interface física nem as VLANs possuem endereços associados, ou seja, simplesmente:

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

O sistema em si não possui acesso direto à rede (sem endereços IPv4), mas atua como um host para uma máquina virtual (daí as pontes), que então lida com a rede. Tudo funciona perfeitamente bem, exceto pelo desligamento.

Alguém tem alguma idéia do que poderia estar causando isso?

O log de desligamento (de journalctl -b -1) mostra o seguinte:

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

Claramente, há algo estranho acontecendo. Estou executando o Debian 9.5.

Teemu Karimerto
fonte
Bem-vindo, ifupe ifdown irá configurar as interfaces de rede em /etc/network/interfaces, levará alguns momentos. Mantenha apenas loconfigurado para ver a diferença.
GAD3R
2
Essa é a pergunta GAD3R do questionador: por que ifdownestá demorando 10 segundos por interface VLAN. (10 interfaces de rede, aparentemente vlan1para vlan10, vezes 10s por interface é mais do que o tempo limite dos anos 90). A pergunta é, provavelmente, também curioso porque um sistema com "uma interface física" e trabalho em rede gerida por networking.servicese systemd dizendo a ele sobre parar individuais ifupserviços para enp2s0e enp3s0.
JdeBP # 03/18
Sim, mas a pergunta é por que a remoção de uma interface VLAN simples leva 10 segundos cada? Isso poderia ser uma questão de ordem estranha de alguma forma?
Teemu Karimerto
@JdeBP Na verdade, existem duas interfaces físicas, mas enp3s0provavelmente não é a causa do abrandamento, pois ele é configurado normalmente apenas com um endereço 192.168.xx local. Desculpas pela confusão!
Teemu Karimerto
Eu tenho inicializado o sistema e tentado fazer isso funcionar com pouco sucesso até agora. No entanto, houve uma inicialização bem-sucedida em que todas as interfaces foram desativadas em um segundo, embora eu não tenha idéia do por que isso aconteceu, pois não mudei nada.
Teemu Karimerto

Respostas:

1

Após dias pesquisando e lendo um bazilhão de diferentes listas de discussão, fóruns, postagens e outros enfeites, finalmente encontrei a resposta. O lento desligamento / reinicialização (e um atraso desnecessário de aproximadamente 30 segundos na inicialização) foi causado pela antiga relíquia conhecida como avahi-daemon. Acontece que isso foi chamado para todas as interfaces já removidas do sistema e, portanto, o comando / script expirou após 10 segundos.

A remoção do pacote mencionado acima corrigiu tudo e tudo está funcionando perfeitamente agora. O desligamento leva apenas alguns segundos e uma reinicialização completa até que os convidados virtuais também estejam ativos e funcionando em menos de dois minutos.

Teemu Karimerto
fonte