O dispositivo eth0 tem um endereço MAC diferente do esperado

3

Eu tenho um servidor blade HP Proliant 460c executando o CentOS 5.x. Por alguma razão, o CentOS acha que o endereço MAC para ETH0 é algo (18: a9: 05: 71: xx: xc), mas não consigo encontrar esse MAC no administrador on-board. Na verdade, se eu usar o endereço MAC que aparece no administrador onboard e tentar codificá-lo para o nic (em / etc / sysconfig / network-script / ifcfg-eth0), recebo um erro:

Device eth0 has different MAC address than expected.

Onde posso confirmar definitivamente o que o sistema vê no endereço MAC? ifconfig -a mostra o "incorreto".

No host CenTOS, estou vendo isso nos resultados ifconfig (ligeiramente modificados para proteger os inocentes):

eth0 HW 18:a9:05:71:xx:xc
eth0:0 HW 18:a9:05:71:xx:xc
eth1 HW 18:A9:05:71:xx:xd  
eth1:0 HW 18:A9:05:71:xx:xd
eth2 HW F4:CE:46:8X:XX:40
eth3 HW F4:CE:46:8X:XX:44

Não sei ao certo de onde os endereços MAC 18: a9 estão vindo.

Quando verifico o mapeamento de porta do compartimento de dispositivos que pertence ao servidor, vejo:

Mezzanine Device Port: ENET1  
Device ID: d4:85:64:49:xx:x8

Mezzanine Device Port: iSCSI Port 1  
Device ID: F5:CE:46:83:xx:x1

Mezzanine Device Port: ENET2  
Device ID: d4:85:64:49:xx:xc

Mezzanine Device Port: ISCSI Port 2   
Device ID: F5:CE:46:xx:xx:x1

Eu também vejo

Mezzanine Device Port: Port 1  
Device ID: d4:85:64:xx:xx:be

Mezzanine Device Port: Port 2   
Device ID: d4:85:64:xx:xx:bf

Note que nenhum deles pertence ao MAC que o CentOS acha que deveria estar lá. Eu também reinstalei completamente o CentOS e o problema persiste. Portanto, parece provável que algo no sistema esteja dizendo ao CentOS que o MAC deve ser usado, mas não tenho certeza de onde.

    
por Mike B 16.03.2012 / 21:54

3 respostas

4

Isso é algo que pode ser exclusivo da configuração do chassi da lâmina HP. Como você mencionou que este é um servidor blade, sabe se o chassi do blade possui módulos do HP Virtual Connect instalados? Eles são frequentemente usados em vez de uplinks Ethernet de passagem para ajudar a consolidar e virtualizar a rede blade.

Se você tiver módulos do Virtual Connect, verifique o perfil do servidor no Virtual Connect Manager. Existem opções para gerenciar os endereços MAC do servidor usando o Virtual Connect. Consulte a página 64 do Guia de Instalação do Virtual Connect para obter uma explicação sobre o recurso:

Cada NIC Ethernet de blade de servidor é fornecida com um endereço MAC padrão de fábrica. O endereço MAC é um número de 48 bits que identifica exclusivamente a interface Ethernet para outros dispositivos na rede. Enquanto o hardware é fornecido com endereços MAC padrão, o Virtual Connect pode atribuir endereços MAC que substituem os endereços MAC padrão de fábrica enquanto o servidor permanece nesse gabinete Virtual Connect.

As outras respostas postadas certamente se aplicam a vários NICS em servidores físicos de rack / torre, mas a solução blade HP é um caso muito especial.

    
por 16.03.2012 / 22:55
6

Normalmente, isso ocorre por causa de udev .

Remover /etc/udev/rules.d/70-persistent-net.rules

Em seguida, descarregue e carregue o driver Ethernet (módulo) ou reinicie. Você pode encontrar o nome do driver tentando estes comandos

dmesg | grep 'Ethernet driver'
grep 'Ethernet driver' /var/log/dmesg
grep eth0 /etc/modules.conf

Então, quando você tiver o nome do módulo (por exemplo, e1000e ) apenas execute,

modprobe -r e1000e
modprobe e1000e
ifdown eth0
ifdown eth0 (again!)
ifup eth0

Isso deve solicitar udev para re-detectar seu endereço NIC e mac. Pode ser necessário atualizar o conteúdo de /etc/sysconfig/network-scripts/ifcfg-eth0 para adequar-se ao endereço MAC.

    
por 16.03.2012 / 23:02
3

copiado da minha documentação:

  • A parte do sistema operacional que armazena isso está na configuração do udev. Edite isso config: vi /etc/udev/rules.d/70-persistent-net.rules

  • Encontre as linhas que pertencem ao antigo endereço MAC (ou seja, não o único você acabou de anotar) e excluí-los

  • As linhas que correspondem ao novo dispositivo provavelmente mencionam eth1 em vez de eth0 . Substitua por eth0 .

  • Reinicialização (maneira mais fácil de ativar a nova configuração)

  • Se você tentar abrir o eth0 usando ifup , ele reclamará que o O endereço MAC não é o esperado. Surpresa! O endereço MAC é também armazenado no script de rede do dispositivo. Edite o script de rede: vi /etc/sysconfig/network-scripts/ifcfg-eth0

  • Altere a linha HWADDR para refletir o endereço MAC correto

  • Enquanto estiver aqui, defina um endereço IP válido. Use nmap se você não for certeza do que está disponível

  • Agora você pode abrir a interface: ifup eth0

  • Não se esqueça de atualizar: yum update

por 16.03.2012 / 22:40