Назад | Перейти на главную страницу

MAC-адреса на материнских платах с двумя сетевыми картами

Вот странная проблема.

У нас есть ряд устройств с материнскими платами с двумя сетевыми картами. Некоторые из них - отстойные сетевые адаптеры Realtek. Некоторые из них - Intel e1000, чего нет.

Я только что заметил на двух машинах, одна - сетевая карта Intel, другая - Realtek, и когда я помещаю MAC-адрес одной машины в dhcpd.conf файл на нашем DHCP-сервере, чтобы заставить его PXE загрузить машину в среду восстановления, изначально все в порядке.

Сервер получает распределение DHCP, и PXE загружается в среду предварительной загрузки Ubuntu.

На одной или двух машинах он достигает конфигурации сети DHCP Ubuntu и терпит неудачу. Если я подниму оболочку busybox (на tty2 на установочной машине) и запустите ip link, Я вижу, что флаг ВВЕРХ установлен на Другой NIC.

Вот кое-что.

  host xeon16-ghz240-gb48-node1 {
        hardware ethernet BC:AE:C5:07:1F:18;
        filename "pxelinux.0";
        next-server 192.168.123.80;
  }

Вот что в dhcpd.conf

Вот как выглядит ip-ссылка на злой машине.

Фактически подключена только одна сетевая карта (намеренно).

Как видите, сетевая карта, которая находится в конфигурации dhcpd, не помечена как UP, а ссылка, которая находится в UP, не является таковой в DHCP.

До сих пор я видел это на двух марках конфигурации с двумя сетевыми адаптерами.

Кто-нибудь знает, 1) что его вызывает и б) что мы можем с этим сделать?

Всегда есть несколько способов сделать что-нибудь :)

Решение 1

Материнские платы по одной?

Добавить в черный список любой модуль (ethtool -i eth0) поддерживает карту Realtek.

Ubuntu поддерживает module_name.blacklist=yes занести его в черный список при загрузке, и вы сможете изменить параметры modprobe в среде preseed, чтобы его не исследовали позже.


Решение 2

Перефразирую проблему:

У нас есть материнские платы с двумя сетевыми картами, и мы хотим, чтобы они работали стабильно, независимо от того, какой интерфейс подключен. Мы не всегда можем определить, какой интерфейс (с точки зрения ОС) будет подключен.

Настроить склейку! Используйте активно-пассивную конфигурацию (mode=active-backup miimon=100) с обоими интерфейсами в качестве подчиненных. Таким образом, он всегда будет работать независимо от того, какой интерфейс подключен.


Решение 3

Достаточно ли согласованы материнские платы, чтобы сетевые адаптеры всегда отображались с одним и тем же идентификатором PCI? Используйте правила udev, чтобы всегда назначать карту с конкретным адресом PCI для eth0, а карту с другим адресом - для eth1.

Обратите внимание, что у вас может быть два разных правила udev, которые назначают устройство для eth0 - это позволяет вам обрабатывать случаи Realtek и e1000 одновременно.

Можно попробовать добавить PXELINUX IPAPPEND 2 в файл pxelinux.cfg, чтобы указать сценариям инициализации использовать интерфейс, который выполнял загрузку PXE:

/var/lib/tftpboot/pxelinux.cfg/default

LABEL linux
   KERNEL /ubuntu/casper/vmlinuz 
   APPEND initrd=/ubuntu/casper/initrd.gz root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.1.1:/var/lib/tftpboot/ubuntu --
   IPAPPEND 2

видеть: http://www.syslinux.org/wiki/index.php/SYSLINUX#IPAPPEND_flag_val_.5BPXELINUX_only.5D