注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

分享,态度 ·~~

—— 十年太长,五年;如果可以回到五年前,你最想对那时候的自己说什么?

 
 
 

日志

 
 

Linux:网卡系统识别号与物理口顺序不一致的问题  

2014-08-13 01:02:35|  分类: BigData |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
项目大量使用Dell的R620服务器,在配置IP网络过程中经常有这样的困扰:
R620共四个网口,但是显示网卡eth0对应的是3号网口,也就是eth0~eth3并不顺序对应于网口1~网口4,这会在系统组网过程中给客户带来困扰。(em1~em4也是一样

关于这个问题,资讯了Dell的工程师,得到的答复如下;最后一个方法经验证是有效的,而根据实际看到的情况估计前面的解决方案也应该有用。我想很多使用CentOS等Linux操作系统的网友也会遇到类似的问题,下面几个方案仅供参考。

这问题应该是linux的kernel中扫描PCI设备的算法问题,可通过修改linux的配置文件进行修改。

For RHEL5 / RHEL6
需要修改/etc/udev/rules.d/70-persistent-net.rules,(可选:针对实际情况,在网卡配置文件中加入MAC地址)

[root@localhost ~]# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x14e4:0x165f (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:b1:1c:12:fc:3b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x14e4:0x165f (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:b1:1c:12:fc:3a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x14e4:0x165f (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:b1:1c:12:fc:38", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

# PCI device 0x14e4:0x165f (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:b1:1c:12:fc:39", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

根据实际测试来看,物理网口的编号1~4和上面MAC地址大小排列顺序一致。

For SLES 10 / 11
参考附件,修改户配置文件30-net_persistent_names.rules,将系统识别顺序,根据物理口顺序调整。

cti-01:/etc/udev/rules.d # more /etc/udev/rules.d/30-net_persistent_names.rules
# This rules are autogenerated from /lib/udev/rename_netiface.
# But you can modify them, but make sure that you don't use an interface name
# twice. Also add such interface name rules only in this rules file. Otherwise
# rename_netiface will create wrong rules for new interfaces.
# It is safe to delete a rule, as long as you did not disable automatic rule
# generation. Only if all interfaces get a rule the renaming will work
# flawlessly. See also /etc/udev/rules.d/31-network.rules.
#
# Read /usr/share/doc/packages/sysconfig/README.Persistent_Interface_Names for
# further information.
#
# Use only a-z, A-Z and 0-9 for interface names!
#
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="24:b6:fd:f9:76:06", IMPORT="/lib/udev/rename_netiface %k eth0"
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="24:b6:fd:f9:76:04", IMPORT="/lib/udev/rename_netiface %k eth2"
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="24:b6:fd:f9:76:05", IMPORT="/lib/udev/rename_netiface %k eth3"
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="24:b6:fd:f9:76:07", IMPORT="/lib/udev/rename_netiface %k eth1"


再或者,pci=bfsort
如果是交互式安装,将“pci=bfsort”添加到初始安装屏幕的boot:行中
设置这个参数也可以直接修改/boot/grub/grub.conf,如下所示:

title Red Hat Enterprise Linux (2.6.32-131.0.15.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-131.0.15.el6.x86_64 pci=bfsort
initrd /initramfs-2.6.32-131.0.15.el6.x86_64.img

【感谢Dell工程师,本文链接:http://zwkufo.blog.163.com/blog/static/2588251201471305254945/
  评论这张
 
阅读(895)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017