解决CentOS7网卡端口出现紊乱的问题

最近项目上,遇到一个问题,让我们很是没办法,就是Dell R920 安装上CentOS7的系统,做完Bonding后,发现端口重启系统后会紊乱,过程如下:

  1. 端口紊乱情况

    服务器上一共配置了两张万兆两口的网卡和一张千兆四口的网卡,其中不同万兆卡上,两端口做Bonding,同时千兆卡上也挑了间隔的两口做Bonding,大概如下情况:、

    eth0,eth1,eth2,eth3千兆端口,eth4,eth5,eth6,eth7是万兆端口,这时经常紊乱是eth3,eth4的端口,两端口变更,使得做了bonding的端口无法生效

  2. CentOS7的端口命名规则

    原来CentOS6之前的网卡端口命名都是eth的,CentOS7之后千兆网口已经变更成随机的em0...emN或是ens01(N=整数),万兆网口则变成p1p2等形式,要修改为eth的模式步骤如下:

    a.编辑文件

    vi /etc/sysconfig/grub

    GRUB_TIMEOUT=5

    GRUB_disTRIBUTOR="$(sed 's,release .*$,g' /etc/system-release)"

    GRUB_DEFAULT=saved

    GRUB_disABLE_SUBMENU=true

    GRUB_TERMINAL_OUTPUT="console"

    GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16net.ifnames=0 biosdevname=0rd.lvm.lv=centos/root crashkernel=auto vconsole.keymap=us rhgb quiet"

    GRUB_disABLE_RECOVERY="true"

    “以上标红色的值是修改为eth的基础”

    b.执行命令生效

    grub2-mkconfig -o /boot/grub2/grub.cfg

    c.增加规划文件

    vi /etc/udev/rules.d/70-persistent-net.rules

SUBSYstem=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="78:2b:cb:xx:xx:01",ATTR{type}=="1",KERNEL=="eth*",NAME="eth0"

SUBSYstem=="net",ATTR{address}=="78:2b:cb:xx:xx:02",NAME="eth1"

SUBSYstem=="net",ATTR{address}=="78:2b:cb:xx:xx:03",NAME="eth2"

SUBSYstem=="net",ATTR{address}=="78:2b:cb:xx:xx:04",NAME="eth3"

SUBSYstem=="net",ATTR{address}=="00:1b:21:xx:xx:a1",NAME="eth4"

SUBSYstem=="net",ATTR{address}=="00:1b:21:xx:xx:a0",NAME="eth5"

SUBSYstem=="net",ATTR{address}=="00:60:6e:xx:xx:f6",NAME="eth6"

SUBSYstem=="net",ATTR{address}=="00:60:6e:xx:xx:f7",NAME="eth7"

“以上MAC地址与网卡端口对应”

总结:以上方法并不能解决网口紊乱问题,因为官方文档都要求bond的网卡都不需要写MAC地址,所以最后我们尝试使在每个/etc/sysconfig/network-scripts/ifcfg-eth*网卡配置文件上写上HWADDR,重启有7-8遍,做ethtool检查几次,发现在没有问题,所以建议遇到同样问题同学,可以尝试一下这种方法

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native