linux网卡做bond
网卡bond
·
一.bond的概念
-
网卡bond(绑定),也称作网卡捆绑。就是将两个或者更多的网卡绑定成一个虚拟网卡。bond可以让多块网卡看起来是一个单独的以太网接口设备具有相同的ip地址,可以实现本地网卡的冗余,带宽扩容和负载均衡,通过网卡绑定技术技能增加服务的可靠性,又增加了网络带宽,为用户提供不间断的网络服务。
-
网卡bond一般主要用于网络吞吐量大,以及对于网络稳定性要求较高的场景
二.bond的七种模式
- mode=0,即:(balance-rr) Round-robin policy(平衡抡循环策略) 特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传 输完毕),此模式提供负载平衡和容错能力。
- mode=1,即: (active-backup) Active-backup policy(主-备份策略)
特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。 - mode=2,即:(balance-xor) XOR policy(平衡策略)
特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR 目标MAC地址) % slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力。 - mode=3,即:broadcast(广播策略) 特点:在每个slave接口上传输每个数据包,此模式提供了容错能力。
- mode=4,即:(802.3ad) IEEE 802.3adDynamic link aggregation(IEEE 802.3ad 动态链接聚合)
特点:创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。
必要条件:条件1:ethtool支持获取每个slave的速率和双工设定。
条件2:switch(交换机)支持IEEE 802.3ad Dynamic link aggregation。
条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式。
- mode=5,即:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡)
特点:不需要任何特别的switch(交换机)支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。
该模式的必要条件:ethtool支持获取每个slave的速率
- mode=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡)
特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance,rlb),而且不需要任何switch(交换机)的支持。
常用的三种模式
-
mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定
-
mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
-
mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。
三.bond的配置(mode=1)
-
准备好两张网卡
ens192 ens224 -
备份网卡
[root@localhost network-scripts]# cp ifcfg-ens192 ifcfg-ens192.bak
-
1.配置ens192网卡信息
2.配置ens224网卡信息
3.创建并配置bond0的网卡信息
默认fail_over_mac=0,当发生错误时,只改slave的mac不改bond;=1时,只改bond不改slave
4.进入vim /etc/rc.d/rc.local进行配置(添加开机启动命令)
5.加载bond modulemodprobe bonding
6.重启网卡,查看网络状态
查看bond状态cat /proc/net/bonding/bond0
查看bond状态模拟故障
ifdown ens192 关掉网卡192
ens224顶上来了(符合预期,mode=1,主备策略)
更多推荐
所有评论(0)