O host perde espontaneamente a conectividade de rede, mas os convidados do KVM ficam on-line

2

Este é um problema que eu tenho ignorado há alguns anos.

Eu tenho um servidor Debian estável rodando o linux 3.16.0-4-amd64. Alguns minutos a horas após a inicialização, o servidor perde a conectividade de rede de saída e para de responder a SSH e ping. Conexões abertas do SSH são interrompidas. Eu tenho 3 máquinas virtuais baseadas em KVM sendo executadas nesse host, e elas podem literalmente rodar por anos sem problemas de conectividade. Eu também posso reiniciá-los.

/etc/network/interfaces :

auto lo
iface lo inet loopback

iface eth0 inet manual

auto br0
iface br0 inet static
    address xxx.xxx.xxx.6
    netmask 255.255.255.0
    network xxx.xxx.xxx.0
    broadcast xxx.xxx.xxx.255
    gateway xxx.xxx.xxx.1
    bridge_ports eth0
    bridge_stp off
    bridge_maxwait 0
    bridge_fd 0

A revista não mostra nada de interessante. A única mensagem relacionada à rede é a seguinte, e geralmente vem 10 a 15 minutos após a inicialização, mas potencialmente horas antes da desconexão:

kernel: br0: Multicast hash table maximum of 512 reached, disabling snooping: eth0

route -n e ip addr output não mudam quando a desconexão acontece. ping 8.8.8.8 diz:

From OWN_IPv4 icmp_seq=1 Destination Host Unreachable

Desativar o IPv6 (que não uso atualmente) não ajudou.

Editar : isso acontece independentemente de as máquinas virtuais estarem ou não em execução. Eu só achei curioso que eles tenham conectividade enquanto o host não tem nenhum, é por isso que eu os mencionei. Não deve haver tráfego, exceto a varredura ocasional de SSH.

    
por Adrian Heine 08.02.2017 / 23:58

1 resposta

0

A máquina não perdeu conectividade de rede por 16 horas seguidas, então eu tenho certeza que é ›fixa‹. O que eu fiz foi inicializar com um arquivo /etc/network/interfaces sem a ponte definida:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
    address xxx.xxx.xxx.6
    netmask 255.255.255.0
    network xxx.xxx.xxx.0
    broadcast xxx.xxx.xxx.255
    gateway xxx.xxx.xxx.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers SOME_IP SOME_OTHER_IP

Após duas horas (só para ter certeza), copiei o /etc/network/interfaces da pergunta e executei:

ip address flush eth0 scope global && ifup br0

Após quatro minutos, a tabela de hash multicast ficou cheia novamente, mas eu não me importei com isso. Depois de mais duas horas, inicializei as máquinas virtuais.

Portanto, aparentemente inicializar com a ponte faz com que o sistema perca conectividade após um período de tempo variável, enquanto a adição da ponte após a inicialização parece funcionar. Não sei por que isso acontece, no entanto.

    
por 10.02.2017 / 10:57