Oto dziwny problem.
Mamy wiele urządzeń z płytami głównymi z podwójną kartą sieciową. Niektóre to NIC Realtek, które są do kitu. Niektóre z nich to Intel e1000, które nie.
Właśnie zauważyłem na 2 komputerach, jeden to Intel NIC, jeden to Realtek, że kiedy umieszczam adres MAC jednej maszyny w dhcpd.conf
pliku na naszym serwerze DHCP, aby PXE uruchomił maszynę w środowisku odbudowy, początkowo wszystko jest w porządku.
Serwer otrzymuje alokację DHCP, a PXE uruchamia się w wybranym środowisku Ubuntu.
Na jednym lub dwóch komputerach dochodzi do konfiguracji sieci DHCP Ubuntu i kończy się niepowodzeniem. Jeśli ściągnę powłokę busyboksa (na tty2
maszynie instalującej) i uruchomię ip link
, widzę, że flaga UP jest ustawiona na drugiej karcie sieciowej.
Oto kilka rzeczy.
host xeon16-ghz240-gb48-node1 {
hardware ethernet BC:AE:C5:07:1F:18;
filename "pxelinux.0";
next-server 192.168.123.80;
}
Właśnie o to chodzi dhcpd.conf
Tak wygląda łącze ip na złej maszynie.
Tylko jedna karta sieciowa jest faktycznie podłączona (celowo).
Jak widać, karta sieciowa, która jest w konfiguracji dhcpd, nie jest oznaczona jako UP, a łącze, które jest UP, nie jest tym w DHCP.
Do tej pory widziałem to na dwóch markach konfiguracji dual-NIC.
Czy ktoś wie 1) co go powoduje, i b) Co możemy z tym zrobić?
źródło
dhcpd.conf
pliku podczas konfigurowania Kickstartu.netcfg/choose_interface
ustawiony?./master/master_preseed.cfg:d-i netcfg/choose_interface select auto
Odpowiedzi:
Zawsze jest więcej niż jeden sposób na zrobienie czegokolwiek :)
Rozwiązanie 1Płyty główne z jedną z nich?
Czarna lista, którykolwiek moduł (
ethtool -i eth0
) obsługuje kartę Realtek.Ubuntu obsługuje
module_name.blacklist=yes
umieszczanie go na czarnej liście podczas rozruchu i powinieneś być w stanie zmienić opcje modprobe w przygotowanym środowisku, aby nie było później sprawdzane.Rozwiązanie 2
Pozwól mi sformułować problem:
Ustaw wiązanie! Użyj konfiguracji aktywno-pasywnej (
mode=active-backup miimon=100
) z obydwoma interfejsami jako niewolnikami. W ten sposób zawsze będzie działać bez względu na to, który interfejs jest podłączony.Rozwiązanie 3
Czy płyty główne są wystarczająco spójne, aby karty sieciowe były zawsze wyświetlane z tym samym identyfikatorem PCI? Użyj reguł udev, aby zawsze przypisywać kartę pod określonym adresem PCI do eth0, a kartę pod drugim adresem do eth1.
Zauważ, że możesz mieć dwie różne reguły udev, które przypisują urządzenie do eth0 - pozwala to na jednoczesne obsługiwanie sprawy Realtek i e1000.
źródło
Możesz spróbować dodać opcję PXELINUX IPAPPEND 2 do pliku pxelinux.cfg, aby poinformować skrypty init, aby korzystały z interfejsu, który uruchomił się w PXE:
/var/lib/tftpboot/pxelinux.cfg/default
patrz: http://www.syslinux.org/wiki/index.php/SYSLINUX#IPAPPEND_flag_val_.5BPXELINUX_only.5D
źródło