Porquê as interfaces de rede trocaram de posição no Linux?

By | March 17, 2010

Já que não são nem 8 da matina e já to aqui faz tempo, aqui vai o problema que tive essa madrugada e a solução.

Cenário: Um servidor que estava rodando e funcional há mais de um ano teve um reboot agendado  de madrugada. Depois do reboot recebo alertas que o tal não voltou automaticamente como esperado.

Servidor: Dell PE 2850 com 3 NICs: 2 Intel + 1 DLink rodando CentOS 5.2

Remotamente acessei o KVM e vi que o servidor estava OK, no tela de login. Nenhuma mensagem de erro e as interfaces em pé. Como já sou macaco velho na hora pensei que as interfaces de rede tinham mudado de lugar (já vi isso várias vezes), mas não tinha como testar pois elas estão em redes físicas separadas (não dava só pra reconfigurar uma vlan no switch), então tive que vir pra empresa mesmo.

Chegando aqui, dito e feito. As interfaces (eth0 e eth2) alternaram de posição. Eu já tinha visto isso acontecer antes, mas não sem um upgrade de kernel.

A questão é que o servidor estava up há mais de 1 ano, enquanto eu só tenho 8 meses de empresa. Isso significa que meus antecessores podem ter feito upgrade de kernel em um determinado momento, mas nunca deram boot na versão nova. Eu nunca vou saber.

Mas na verdade o problema poderia ter sido evitado facilmente se as interfaces tivessem sido configuradas adequadamente logo de cara.

No RHEL e no CentOS as interfaces são ativadas pelo /etc/sysconfig/network-scripts/ifcfg-ethX. Onde X é o número da interface. Um dos parâmetros que pode ser configurado é HWADDR, onde você amarra o endereço físico (MAC Address) à interface, de forma que na hora de subir a mesma o Linux saberá exatamente qual é qual.

Aqui tem mais detalhes desse arquivo de configuração, enquanto aqui tem uma excelente explicação de porquê as interfaces podem alternar de posição.

3 thoughts on “Porquê as interfaces de rede trocaram de posição no Linux?

  1. Julio Cesar Mauro

    HWADDR em qualquer servidor baseado em RH é a solução para a maioria dos problemas relacionado a rede… inclusive performace.

    Já peguei uma vez que a placa nao setava em Gigabit por nao ter o HWADDR… agora, só nao me pergunte PORQUE 🙂

  2. nRocha

    Tem distro, como a Mandriva, que amarra o nome da interface a um MAC ADDRESS pelo /etc/udev/rules.d/70-persistent-net.rules.

  3. Chico

    Udev resolve isso no debian tb.
    Já sofri com upgrade de kernel com o sata, que um kernel ve como HDA e outro como SDA.

    abs

    Chico

Comments are closed.