我有一台运行CentOS 5.x的HP Proliant 460c刀片服务器。 出于某种原因,CentOS认为ETH0的MAC地址是(18:a9:05:71:xx:xc),但是我根本无法在板上pipe理员那里findMAC。 实际上,如果我使用板载pipe理员显示的MAC地址,并尝试将其硬编码到nic(在/ etc / sysconfig / network-script / ifcfg-eth0下),我得到一个错误:
设备eth0具有不同于预期的MAC地址。
我在哪里可以明确地确认系统在MAC地址上看到什么? ifconfig -a显示“不正确”的一个。
在CenTOS主机上,我在ifconfig结果中看到了这一点(稍作修改以保护无辜者):
eth0 HW 18:a9:05:71:xx:xc eth0:0 HW 18:a9:05:71:xx:xc eth1 HW 18:A9:05:71:xx:xd eth1:0 HW 18:A9:05:71:xx:xd eth2 HW F4:CE:46:8X:XX:40 eth3 HW F4:CE:46:8X:XX:44
我不确定18:a9 MAC地址是从哪里来的。
当我检查属于服务器的设备托架的端口映射时,我看到:
Mezzanine Device Port: ENET1 Device ID: d4:85:64:49:xx:x8 Mezzanine Device Port: iSCSI Port 1 Device ID: F5:CE:46:83:xx:x1 Mezzanine Device Port: ENET2 Device ID: d4:85:64:49:xx:xc Mezzanine Device Port: ISCSI Port 2 Device ID: F5:CE:46:xx:xx:x1
我也看到了
Mezzanine Device Port: Port 1 Device ID: d4:85:64:xx:xx:be Mezzanine Device Port: Port 2 Device ID: d4:85:64:xx:xx:bf
请注意,它们都不属于CentOS认为应该在那里的MAC。 我也完全重新安装CentOS,问题依然存在。 所以看起来系统上的某些东西可能会告诉CentOS MAC应该被使用,但我不知道在哪里。
这对HP刀片服务器机箱安装可能是独一无二的。 既然您提到这是刀片服务器,那么您是否知道刀片机箱是否安装了HP Virtual Connect模块? 这些通常用于代替直通以太网上行链路来帮助整合和虚拟化刀片networking。
如果您有Virtual Connect模块,请检查Virtual Connect Manager中的服务器configuration文件。 有一些选项可以使用Virtual Connectpipe理服务器MAC地址。 有关该function的说明,请参见“ Virtual Connect安装指南”的第64页:
每个服务器刀片以太网NIC都附带出厂默认MAC地址。 MAC地址是一个48位数字,唯一标识networking上其他设备的以太网接口。 硬件随附默认MAC地址时,Virtual Connect可以分配MAC地址,以覆盖出厂默认MAC地址,同时服务器保留在该Virtual Connect机箱中。
其他答案肯定适用于物理机架/塔式服务器中的多个NICS,但HP刀片式服务器解决scheme是一个非常特殊的案例。
通常情况下,这是因为udev 。
删除/etc/udev/rules.d/70-persistent-net.rules
然后卸载并加载以太网驱动程序(模块),或重新启动。 您可以通过尝试这些命令find驱动程序名称
dmesg | grep 'Ethernet driver' grep 'Ethernet driver' /var/log/dmesg grep eth0 /etc/modules.conf
然后当你有模块名称(例如, e1000e )只是运行,
modprobe -r e1000e modprobe e1000e ifdown eth0 ifdown eth0 (again!) ifup eth0
这应该提示udev重新检测您的网卡和mac地址。 您可能需要更新/etc/sysconfig/network-scripts/ifcfg-eth0以适应mac地址。
从我的文档复制:
存储这个操作系统的部分在udevconfiguration中。 编辑这个configuration:vi /etc/udev/rules.d/70-persistent-net.rules
find与旧的MAC地址相关的行(又不是你记下的那个),然后删除它们
对应于新设备的行可能提到eth1而不是eth0。 用eth0replace它。
重新启动(实现新设置的最简单方法)
如果您尝试使用ifup来启动eth0,它会抱怨MAC地址不是预期的。 惊喜! MAC地址也存储在设备的networking脚本中。 编辑networking脚本:vi / etc / sysconfig / network-scripts / ifcfg-eth0
更改HWADDR行以反映正确的MAC地址
当你在这里时,设置一个有效的IP地址。 如果你不确定什么是可用的,请使用nmap
现在你可以调出接口:ifup eth0
不要忘记更新:yum更新