我有一个HP ProLiant DL360 G6,它包含两个板载网卡以及一个HP NC375T(NetXen NX3031芯片组)4端口PCIe卡。 系统正在使用属于板载NIC的eth0和eth1以及NetXen卡上的eth2-eth5运行。 我最近重build了服务器,从kickstart进程开始,NIC重新sorting,板载NIC成为eth4和eth5,而NetXen卡接pipe了eth0-eth3。
过去我曾经有过一些经验,通过对ifcfg-ethXconfiguration文件的修改,将NIC绑定到特定的接口,但是这是我第一次看到一个附加卡从主板接口接pipeeth0。 这影响了我的kickstart脚本,所以:
1)。 我如何确保板载网卡在kickstart安排中优先。
2)。 通过反复重新启动,内核更改(例如,从RHEL主线内核到RHEL MRG实时内核),维持该顺序的最一致的方式是什么?
3)。 /etc/modprobe.conf模块/ NIC定义, /etc/sysconfig/network-scripts/ifcfg-ethX和/etc/modprobe.d/blacklist函数之间的交互是什么?
这是RHEL5和衍生产品的一个已知问题。 有两种可能的解决scheme:
您可以使用kssendmac选项来获取NIC的MAC地址发送到Kickstart脚本。 用PHPparsing出来并进行相应的configuration。
这样,已知的variables就是板载NIC的MAC,未知是内核分配的eth设备。
这段代码将得到并打印所有的头文件。 你必须想出一些parsing你所需要的信息的东西。 您的networkingconfiguration线将根据您从中得到的结果进行有条件的处理。
<?
$headers = getallheaders();
foreach ($headers as $key => $value)
{ echo "# $key: $value\n"; }
?>
如果你需要更多的帮助,请告诉我。 不过,这应该让你朝着正确的方向前进。
将多个NIC插入服务器有时会导致新的NIC以自己的顺序启动,而不是按照您期望的eth0(现有nic),eth1(新nic),eth2(新nic)顺序启动
Red Hat / CentOS在Red Hat中,例如,如果驱动程序名为“tg3”(Tigon驱动程序),则只需通过编辑指定eth(x)顺序来指定所需的networking名称顺序
vi /etc/modprobe.conf
别名eth0 tg3
别名eth1 e1000
别名eth2 3com
上面的例子显示tg3驱动程序将在e1000和3com内核之前加载。