网卡bond也称为网卡捆绑,就是将两个或者更多的物理网卡绑定成一个虚拟网卡。
bond的作用:
1.提高网卡的吞吐量
2.增加网络的高可用,实现负载均衡。
一、bond简介
bond技术即bonding,能将多块物理网卡绑定到一块虚拟网卡上,之后修改网卡驱动让多块网卡看起来像一个单独的以太网口,外界只能看到一个ip。
多网卡绑定需要提供一个额外的软件的bond驱动实现。通过驱动可以屏蔽多块网卡,对TCP协议层只存在一个bond网卡,在bond程序中实现网络流量的负载均衡,将一个网络请求重定位到不同的网卡上,来提高总体网络的可用性。
二、技术原理
bond技术需要网卡可以接收网络上所有的数据帧。多网卡之间的协同工作,bond将自己的MAC地址复制到各个物理网卡上,让所有网卡共享一个MAC地址。
多物理网卡的bond网卡,其中一块物理网卡会被设置为master,其他网卡是slave。bond网卡的Mac地址=master物理网卡的Mac地址。
在安装网卡时,需要指定bond网卡,以及bond网卡所对应的标志为master的物理网卡。
三、网卡bond模式
网络流量较大的时候推荐使用负载模式(bond0),在可靠性要求较高的时候,推荐使用主备模式(bond1)。
1.bond0
bond0可以保证bond虚拟网卡和被bond的几张物理网卡拥有相同的MAC地址。在bond0模式下,如果一个链接或者会话的数据包从不同的网口发出,途中经过不同的链路,在客户端可能会出现数据包无序到达。另外,如果做bond0的两张或多张网卡接到同一交换机上,还需要对交换机配置聚合模式。
2.bond1
该模式是主备策略。即网卡之间能快速切换,主网卡出现故障时能快速切换到备网卡上,切换过程中上层应用几乎不受影响。因为bond驱动会临时接管上层应用的数据包,存放到数据缓冲区内,等备网卡启动之后再传过去。但如果切换时间过长,贼会引起缓冲区的溢出,就会丢包。
3.bond2
选择网卡的序号=(源MAC地址XOR目标MAC地址)%slave的数量。
4.bond3
广播策略,数据包会被广播到所有slave卡上。
5.bond4
bond4使用动态链接聚合策略。启动时会创建一个聚合组,所有slave网卡共享同样的速率和双工设定,需要交换机支持IEEE 802.3ad动态链路聚合模式。支持使用ethtool工具获取每个slave网卡的速率和双工设定。
6.bond5
bond5基于每个slave网卡的速率选择传输网卡,支持使用ethtool工具获取每个slave的速率。
7.bond6
bond6包含了bond5模式,同时还支持IPV4流量接收时的负载均衡策略,而且不需要任何交换机的支持,支持只是用ethtool获取每个slave的速率,要求底层驱动支持设置某个网卡设备的硬件地址。