在RHEL配置多网卡利用bonding可以实现将多张物理网卡绑定成一个虚拟的接口,这个虚拟的接口可以看作一个正常的网络接口,可以用这个接口为单位来进行网络通讯。
1、RHEL配置多网卡添加bonding driver,2.4.12以上的kernel默认都提供了。
如果没有,可以如下操作:
1)、make menuconfig,找到Bonding driver support
2)、install内核和模块
2、RHEL配置多网卡添加alias bond0 bonding到/etc/modprobe.conf,这样我们配置bond0接口的时候,bonding driver就会自动载入。
3、RHEL配置多网卡在/etc/sysconfig/network-scripts目录配置bond0,文件名为ifcfg-bond0。
内容如下
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.2
NETMASK=255.255.255.248
GATEWAY=192.168.1.1
4、配置eth3,如下,eth4类似
DEVICE=eth3
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
5、RHEL配置多网卡模块参数。
只用了
◆miimon:对link监控的周期,单位是ms,默认为0,建议为100
◆mode:bonding的策略,只要有负载均衡(0);主备(1)等
还有诸如arp_interval,max_bonds等参数
6、配置模块参数,我的配置如下
◆options bond0 miimon=100 mode=1
7、重启服务器,用ifconfig可以看到bond0
8、查看bond0状态
more /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v2.6.0 (January 14, 2004)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth3
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth3
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:76:26:2b:3d
Slave Interface: eth4
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:10:b5:b4:56:84
9、最后
1)、我本来想使用模式0,但是工作起来有些异常,发现同网段服务器的ping值在3-10ms之间,还伴随着丢包,如果用了模式1,ping值就会小于1ms,稳定而不丢包,不知道为什么。
2)、第一次使用的时候,如果用ping,可以看到(DUP!)的提示,应该是正常的,原因是:
This is not due to an error in the bonding driver, rather, it is a side effect of how many switches update their MAC forwarding tables. Initially, the switch does not associate the MAC address in the packet with a particular switch port, and so it may send the traffic to all ports until its MAC forwarding table is updated. Since the interfaces attached to the bond may occupy multiple ports on a single switch, when the switch (temporarily) floods the traffic to all ports, the bond device receives multiple copies of the same packet (one per slave device).
3)、也可以用ifenslave来实现RHEL配置多网卡。
笔者在此文利用了10步骤来讲述了RHEL配置多网卡的操作过程。
【编辑推荐】