Tom*_*nor 9 dhcp nic mac-address pxe-boot
这里有一个奇怪的问题。
我们有许多带有双网卡主板的设备。有些是 Realtek 网卡,很烂。有些是 Intel e1000,但不是。
我刚刚在 2 台机器上注意到,一台是 Intel NIC,一台是 Realtek,当我将一台机器的 MAC 地址放入dhcpd.conf
我们的 DHCP 服务器上的文件中以使其通过 PXE 将机器引导到重建环境时,最初一切都很好。
服务器获得 DHCP 分配,PXE 启动到 Ubuntu preseed 环境。
在一台或两台机器上,它达到了 Ubuntu 的 DHCP 网络配置,但失败了。如果我拉起一个busybox shell(在tty2
安装机器上)并运行ip link
,我可以看到在另一个网卡上设置了UP标志。
这里有一些东西。
host xeon16-ghz240-gb48-node1 {
hardware ethernet BC:AE:C5:07:1F:18;
filename "pxelinux.0";
next-server 192.168.123.80;
}
Run Code Online (Sandbox Code Playgroud)
这就是里面的东西 dhcpd.conf
这就是邪恶机器上的 ip link 的样子。
只有一个 NIC 实际连接(故意)。
如您所见,dhcpd 配置中的 NIC 没有标记为 UP,并且 UP 的链接不是 DHCP 中的那个。
到目前为止,我已经在两个品牌的双网卡配置上看到了这一点。
有谁知道 1) 是什么原因造成的,以及 b) 我们能做些什么?
做任何事情的方法总是不止一种:)
主板各一个?
ethtool -i eth0
将支持 Realtek 卡的模块 ( )列入黑名单。
Ubuntu支持 module_name.blacklist=yes
在启动时将其列入黑名单,您应该能够在 preseed 环境中更改 modprobe 选项,以便以后不会对其进行探测。
让我重新表述这个问题:
我们有带有两个 NIC 的主板,我们希望无论插入哪个接口,它们都能始终如一地工作。我们不能总是确定将插入哪个接口(从操作系统的角度来看)。
设置绑定!使用主动-被动配置 ( mode=active-backup miimon=100
),将两个接口都作为从接口。这样,无论插入哪个接口,它都将始终有效。
主板是否足够一致以至于 NIC 总是显示在相同的 PCI ID 上?使用 udev 规则始终将特定 PCI 地址上的卡分配给 eth0,将另一个地址上的卡分配给 eth1。
请注意,您可以使用两个不同的 udev 规则将设备分配给 eth0 - 这允许您同时处理 Realtek 和 e1000 情况。
小智 5
您可以尝试将 PXELINUX IPAPPEND 2选项添加到您的 pxelinux.cfg 文件中,以告诉 init 脚本使用进行 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
Run Code Online (Sandbox Code Playgroud)
见:http : //www.syslinux.org/wiki/index.php/SYSLINUX#IPAPPEND_flag_val_.5BPXELINUX_only.5D
归档时间: |
|
查看次数: |
1346 次 |
最近记录: |