Linux网卡顺序变更导致网卡绑定出错及解决办法测试
2012/2/21
描述:linux中新安装网卡会导致原网卡识别顺序紊乱,影响网络及网卡绑定正常工作,此时可以更改/etc/sysconfig/network-scripts目录中各网卡配置,手工加入各网卡真实mac地址来解决。
测试环境:
Workstation7.1
虚拟机—Centos5
测试情况简介:
1、 虚拟机关机,虚拟机原有1块网卡,再为虚拟机增加2块网卡,这3块网卡均为虚拟的Intel e1000类型,均为bridge模式(物理机配置microsoft loop网卡,将该网卡配置为虚拟机bridge连接的网卡);
2、 此时,虚拟机vmx中可见该三张网卡的顺序及mac地址为:
eth0 00:0C:29:1A:22:7A
eth1 00:0C:29:1A:22:84
eth2 00:0C:29:1A:22:8E
3、 启动虚拟机后,系统识别顺序正确,将eth1及eth2配置为bond0,在该虚拟机setting中断开某一网卡,bond0仍正常工作,cat /proc/net/bonding/bond0可见一块网卡为down,bond0及另一张网卡为up;
4、 再关闭虚拟机,为该虚拟机添加2张网卡,仍为bridge模式,假设测试目标是需要将新加入的2块网卡用于bond0,释放bond0之前使用的2张网卡。为区别于之前的3张网卡,编辑该虚拟机vmx文件,将新加的eth3及eth4类型修改为AMD网卡:
ethernet3.virtualDev = "vlance"
5、 此时该虚拟机vmx中5张网卡顺序及mac地址为:
eth0 00:0C:29:1A:22:7A /INTEL网卡
eth1 00:0C:29:1A:22:84 /INTEL网卡
eth2 00:0C:29:1A:22:8E /INTEL网卡
eth3 00:0c:29:1a:22:98 /AMD网卡
eth4 00:0c:29:1a:22:a2 /AMD网卡
6、 重新启动该虚拟机后,发现虚拟机系统中:
eth0、eth1为AMD网卡
eth2/eth3/eth4为Intel网卡
7、 修改ifcfg-eth0、ifcfg-eth1,由于eth0及eth1为bond0使用,只需添加bond配置,无需mac地址,而ifcfg-eth2/3/4需要改为实际的mac地址,:
修改后结果如下:
[[email protected] sysconfig]# ifconfig -a |grep HW
bond0 Link encap:Ethernet HWaddr 00:0C:29:1A:22:98
eth0 Link encap:Ethernet HWaddr 00:0C:29:1A:22:98
eth1 Link encap:Ethernet HWaddr 00:0C:29:1A:22:98
eth2 Link encap:Ethernet HWaddr 00:0C:29:1A:22:7A
eth3 Link encap:Ethernet HWaddr 00:0C:29:1A:22:84
eth4 Link encap:Ethernet HWaddr 00:0C:29:1A:22:8E
其中eth1由于在bond0中,和eth0的mac地址一样。通过查看bond0状态可验证eth1真实mac地址:
[[email protected] sysconfig]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:1a:22:98
Slave Interface: eth1
MII Status: down
Link Failure Count: 0
Permanent HW addr: 00:0c:29:1a:22:a2
同时,还需要修改/etc/modprobe.conf文件,使各网卡类型一致:
alias eth0 vmxnet
alias eth1 vmxnet
alias eth2 e1000
alias eth3 e1000
alias eth4 e1000
alias bond0 bonding
options bond0 miimon=100 mode=1
8、 重启虚拟机,bond及其他网卡工作正常。
展开阅读全文