Aqui está um problema estranho.
Temos vários dispositivos com placas-mãe com duas placas de rede. Algumas são placas de rede Realtek, que são péssimas. Alguns são Intel e1000s, o que não acontece.
Acabei de notar em duas máquinas, uma é uma placa de rede Intel, uma é uma Realtek, que quando coloco o endereço MAC de uma máquina no dhcpd.conf
arquivo em nosso servidor DHCP para fazer com que o PXE inicialize a máquina em um ambiente de reconstrução, inicialmente está tudo bem.
O servidor recebe uma alocação de DHCP e o PXE é inicializado no ambiente pré-configurado do Ubuntu.
Em uma ou duas máquinas, chega até a configuração de rede DHCP do Ubuntu e falha. Se eu puxar um shell do busybox (ligado tty2
na máquina de instalação) e executar ip link
, posso ver que o sinalizador UP está definido na outra NIC.
Aqui estão algumas coisas.
host xeon16-ghz240-gb48-node1 {
hardware ethernet BC:AE:C5:07:1F:18;
filename "pxelinux.0";
next-server 192.168.123.80;
}
É isso que está dhcpd.conf
É assim que se parece o link ip na máquina do mal.
Somente uma NIC está realmente conectada (deliberadamente).
Como você pode ver, a NIC que está na configuração do dhcpd não está marcada como UP, e o link que está UP não é o DHCP.
Até agora, eu vi isso em duas marcas de configuração de placa de rede dupla.
Alguém sabe 1) o que está causando isso eb) O que podemos fazer sobre isso?
fonte
dhcpd.conf
arquivo ao configurar um Kickstart.netcfg/choose_interface
definido?./master/master_preseed.cfg:d-i netcfg/choose_interface select auto
Respostas:
Sempre há mais de uma maneira de fazer qualquer coisa :)
Solução 1Placas-mãe com uma de cada?
Coloque na lista negra qualquer módulo (
ethtool -i eth0
) que suporte a placa Realtek.O Ubuntu suporta
module_name.blacklist=yes
a lista negra na inicialização e você deve poder alterar as opções do modprobe no ambiente pré-configurado para que não seja testado mais tarde.Solução 2
Deixe-me reformular o problema:
Configure a ligação! Use uma configuração ativo-passivo (
mode=active-backup miimon=100
) com ambas as interfaces como escravos. Dessa forma, ele sempre funcionará, independentemente da interface conectada.Solução 3
As placas-mãe são consistentes o suficiente para que as placas de rede sempre apareçam no mesmo PCI ID? Use as regras do udev para sempre atribuir a placa em um endereço PCI específico a eth0 e a placa no outro endereço a eth1.
Observe que você pode ter duas regras diferentes do udev que atribuem um dispositivo a eth0 - isso permite que você lide com o caso Realtek e e1000 ao mesmo tempo.
fonte
Você pode tentar adicionar a opção PXELINUX IPAPPEND 2 ao seu arquivo pxelinux.cfg para dizer aos scripts init para usar a interface que inicializou o PXE:
/var/lib/tftpboot/pxelinux.cfg/default
consulte: http://www.syslinux.org/wiki/index.php/SYSLINUX#IPAPPEND_flag_val_.5BPXELINUX_only.5D
fonte