此前在dell的R720服务器上安装Centos6.x系统,通过ifconfig -a发现显示的网卡是em*,和以往的eth*不一样,换成其他服务器没有问题。
经过排查发现这是由于biosdevname导致的。在Redhat6/Centos6中,默认biosdevname是关闭的,但是当服务器是dell的时候就变成开启的。biosdevname是由dell开发的工具,旨在为网络设备的命名理清思路。biosdevname是一款udev帮助程序,可根据系统BIOS提供的信息对网络接口进行重命名。
带来的影响是:
l 系统不会在/etc/udev/rules.d 下自动生成 70-persistent-net.rules文件;
l 通过ifconfig -a查看时网卡显示的都是em*而不是传统的eth*;
l 某些时候需要在/etc/sysconfig/network-scripts中的网卡配置文件里手动配置正确的MAC地址才能使网卡正常启动。
处理方法:
在/boot/grub/grub.conf的内核kernel中添加一个参数biosdevname=0
然后reboot
重启后70-persistent-net.rules会生成,网卡启动后会自动写入MAC地址,ifconfig -a中显示的网卡也都是eth*了(之前手动修改过网卡名称的除外)。
biosdevname参考:
此文代表戴尔Enterprise Linux 设计团队的 Narayanan D 发表
Red Hat 现已推出的 Red Hat Enterprise Linux 6 Service Pack 1 (RHEL 6 SP1) 对网络接口实施了新的命名规则。戴尔同时开发,并遵从GPL协议义发布了‘biosdevname’ udev helper实用程序。它会根据网络接口在系统中的物理位置来建议新的设备名称。
将RHEL6 SP1 安装到支持的戴尔PowerEdge 服务器过程中,新的网络接口名称将变为:
emN (em1, em2, ..)
以取代主板集成网口过去使用的 ethN 名称。
对于 PCI 扩展网络接口,名称将是:
pXpY (p<slot number>p<port number> - p1p1, p1p2, ..).
根据新的命名方案,em1 将映射 ‘Gb1’(em2 映射 ‘Gb2’),与服务器底座上的标签相同,从而使网络接口的有效管理更加轻松。名称 p1p2 可便于识别扩展网卡上的网络端口。
新的命名方案在支持的戴尔PowerEdge 平台上默认开启。在安装过程中传送‘biosdevname=0’ 内核命令行参数,即可禁用新命名方案,并在运行时中保留。
对 ethN 名称进行硬编码的现有脚本可能需要更改,使其能识别网络设备名称。
请参考此文档以了解在支持的 Dell PowerEdge 服务器上使用新命名规范的更多信息。
来源:oschina
链接:https://my.oschina.net/u/2448801/blog/499596