网卡bond(绑定),也称作网卡捆绑。就是将两个或者更多的物理网卡 绑定成一个虚拟网卡。网卡是通过把多张网卡绑定为一个逻辑网卡,实现本地 网卡的冗余,带宽扩容和负载均衡,在应用部署中是一种常用的技术。多网卡绑定实际上需要提供一个额外的软件的bond驱动程序实现。通过 驱动程序可以将多块网卡屏蔽。对TCP/IP协议层只存在一个Bond网卡,在 Bond程序中实现网络流量的负载均衡,即将一个网络请求重定位到不同的网 卡上,来提高总体网络的可用性。       

网卡绑定的目的:

1.提高网卡的吞吐量。

2.增强网络的高可用,同时也能实现负载均衡。

bond模式:

(1)Mode=0(balance-rr) 表示负载分担round-robin,平衡轮询策略,具有负载平衡和容错功能 bond的网卡MAC为当前活动的网卡的MAC地址,需要交换机设置聚合模式,将多个网卡绑定为一条 链路。
(2)Mode=1(active-backup) 表示主备模式,具有容错功能,只有一块网卡是active,另外一块是 备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包 是丢弃的。 (3)Mode=2(balance-xor) 表示XOR Hash负载分担(异或平衡策略),具有负载平衡和容错功能 每个slave接口传输每个数据包和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)。
(4)Mode=3(broadcast) 表示所有包从所有interface发出,广播策略,具有容错能力,这个不均 衡,只有冗余机制...和交换机的聚合强制不协商方式配合。
(5)Mode=4(802.3ad) 表示支持802.3ad协议(IEEE802.3ad 动态链接聚合) 和交换机的聚合 LACP方式配合(需要xmit_hash_policy)。
(6)Mode=5(balance-tlb) 适配器传输负载均衡,并行发送,无法并行接收,解决了数据发送的瓶 颈。 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave。
(7)Mode=6(balance-alb) 在5的tlb基础上增加了rlb。适配器负载均衡模式并行发送,并行接收 数据包

常用的有三种
mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

网卡配置bond(绑定)

1、eth1,eth2,eth3都配置绑定为bond0:

#cat ifcfg-eth1

TYPE=Ethernet

BOOTPROTO=none

DEVICE=eth1

ONBOOT=yes

MASTER=bond0

SLAVE=yes

2、载入bond模块: #modprobe bonding

3、查看bond0,并桥接到br1 

#cat ifcfg-bond0

DEVICE=bond0

TYPE=Bond

NAME=bond0

BONDING_MASTER=yes

BOOTPROTO=static

USERCTL=no

ONBOOT=yes

#IPADDR=192.168.10.10

#PREFIX=24

#GATEWAY=192.168.10.19

BONDING_OPTS="mode=6 miimon=100"

BRIDGE=br1

4、配置新的网桥br0的配置文件:

#vim ifcfg-br1 

TYPE=Bridge

DEVICE=br1

ONBOOT=yes 

#IPADDR=192.168.10.1

#IPADDR1=192.168.20.1

#IPADDR2=192.168.30.1

#IPADDR3=192.168.40.1

#IPADDR4=192.168.50.1

#PREFIX3=24 PREFIX4=24

#GATEWAY=172.16.0.1

#DNS1=172.16.254.251

#DNS2=223.5.5.5

5、重启系统:reboot