bond:就是双网卡绑定,逻辑上当作一个网卡用。
bond的模式有7种,bond0到bond6,每种工作方式不一样,应用场景也不一样。常用的有bond1(主备),bond4(链路聚合)
bond1介绍:
bond1为主备模式,只有一个网卡在使用中。
优点就是很安全,两块网卡同时坏的概率很低。
缺点则是利用率低下,只有50%的利用率。
应用场景一般是服务器的管理口,管理口一般没有太高的网络需求,稳定第一。
bond1配置(用eth0和eth1这两块网卡组bond1):
DEVICE=bond1
NAME=bond1
TYPE=Bond
IPADDR=x.x.x.x
GATEWAY=x.x.x.x
NETMASK=x.x.x.x
ONBOOT=yes
BOOTPROTO=static #Maybe use dhcp
BONDING_MASTER=yes
METRIC=1000 #网卡路由优先级设置,值越小优先级越高
NM_CONTROLLED=no #不受network程序管理
PEERDNS=no #保护DNS设置不变
BONDING_OPTS='mode=1 miimon=100 use_carrier=1 primary=eth0'在对应的eth1和eth0文件中加入如下配置:
MASTER=bond1
SLAVE=yes
NM_CONTROLLED=no
mode=1是选择bond为主备模式
miimon=100是链路监控频率,单位是毫秒(ms)
use_carrier=1是判断链路状态的,=1是一种更高效的形式,比较老旧的设备不支持
primary=eth0是选择主网卡
bond4介绍:
bond4为链路聚合模式。相当于两块小网卡合并一起当作一个大网卡用,类似1+1=2
前置条件1:交换机需要支持IEEE802.3ad(链路聚合标准),并且在交换机上进行相应配置。
前置条件2:ethtool支持获取每个slave的速率和双工设定
应用场景一般是业务网了,需要的大的带宽的情况比较适合。
bond4配置(用eth2和eth3这两块网卡组bond4):
DEVICE=bond4
NAME=bond4
TYPE=Bond
IPADDR=
GATEWAY=
NETMASK=
ONBOOT=yes
BOOTPROTO=dhcp #Maybe use dhcp
BONDING_MASTER=yes
METRIC=0 #网卡路由优先级设置,值越小优先级越高
NM_CONTROLLED=no #不受network程序管理
PEERDNS=no #保护DNS设置不变
MACADDR=48:fd:8e:3c:1a:41 #用eth2或eth3中任意一个
BONDING_OPTS='mode=4 miimon=100 use_carrier=1'在对应的eth2和eth3文件中加入如下配置:
MASTER=bond4
SLAVE=yes
NM_CONTROLLED=no
mode=4是选择bond为链路聚合模式,不光是服务器上配置,对应交换机也需要相应配置
miimon=100是链路监控频率,单位是毫秒(ms)
use_carrier=1是判断链路状态的,=1是一种更高效的形式,比较老旧的设备不支持
七种bond模式说明:
第一种模式:mode=0 ,(balance-rr)Round-robin policy(平衡抡循环策略)
特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕)
问题:一个连接的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送
第二种模式:mode=1, (active-backup)Active-backup policy(主-备份策略)
bond1为主备模式,只有一个网卡在使用中。
优点就是很安全,两块网卡同时坏的概率很低。
缺点则是利用率低下,只有50%的利用率。
第三种模式:mode=2,(balance-xor)XOR policy(平衡策略)
特点:基于指定的传输HASH策略传输数据包。
第四种模式:mode=3,broadcast(广播策略)
特点:在每个slave接口上传输每个数据包。
第五种模式:mode=4,(802.3ad)IEEE 802.3ad Dynamic link aggregation(动态链接聚合)
特点:创建一个聚合组,它们共享同样的速率和双工设定。相当于两块小网卡合并一起当作一个大网卡用,类似1+1=2
前置条件1:交换机需要支持IEEE802.3ad(链路聚合标准),并且在交换机上进行相应配置。
前置条件2:ethtool支持获取每个slave的速率和双工设定
第六种模式:mode=5,(balance-tlb)Adaptive transmit load balancing(适配器传输负载均衡)
特点:不需要交换机支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。
第七种模式:mode=6,(balance-alb)Adaptive load balancing(适配器适应性负载均衡)
特点:该模式包含了上一个模式,同时加上针对IPV4流量的接收负载均衡,而且不需要任何交换机的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。
后两种模式工作种没有见过,概念是看别人写的。有遇到过的大佬可以科普一下。