关于bond口的学习

Bond口原理和配置。

一,Bond口的原理和模式:

mod=0 ,即:(balance-rr)Round-robin policy(平衡轮循环策略)

第一个包走eth0,第二个包走eth1。该模式下所有网卡的mac-address相同。此模式提供负载平衡和容错能力,交换机需做端口绑定。

mod=1, 即: (active-backup)Active-backuppolicy(主-备份策略)

只有一个网卡在负载,所有网卡的mac-address相同,无需交换机支持

mod=2,即:即:(balance-xor)XOR policy(平衡策略)

本模式提供负载均衡和容错的能力,交换机端口需要能配置为“port channel”。这模式是通过源和目标machash因子来做xor算法来选路的。

mod=3,即:broadcast(广播策略)

本模式在每个slave接口上传输每个数据包,提供了容错能力。交换机端应该无需支持。

mod=4, 即:(802.3ad)IEEE 802.3ad Dynamic link aggregation(IEEE802.3ad 动态链接聚合)

   IEEE 802.3ad 动态链路聚合。创建共享相同的速率和双工模式的聚合组。能根据802.3ad规范利用所有的slave来建立聚合链路。Salve的出站选择取决于传输的hash策略,默认策略是简单的XOR策略,而hash策略则可以通xmit_hash_policy选项加以改变

必要条件:

条件1ethtool支持获取每个slave的速率和双工设定
条件2switch(交换机)支持IEEE 802.3ad Dynamic link aggregation
条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式

mod=5, 即:(balance-tlb)Adaptivetransmit load balancing(适配器传输负载均衡)

不需要任何特别的switch(交换机)支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。接收的流量和发送的流量在同一个slave。

必要条件:

       ethtool支持获取每个slave的速率。

mod=6,即:(balance-alb)Adaptive load balancing(适配器适应性负载均衡)

这种模式包含了mod5,但是增加了ipv4流量的负载均衡。接收负载均衡通过ARP协商实现。bonding的驱动拦截本机发出的ARP RepliesARP回应报文),并且用bond的某一个slave的硬件地址改写ARP报文的源地址,使得本服务器对不同的设备使用不同的硬件地址。本服务器建立的连接的接收流量也是负载均衡的。当本机发送ARP Request时,bonding驱动通过ARP报文复制并保存节点的IP信息。当从其他节点接收到ARP Replybonding驱动获取节点的硬件地址并且会回应一个包含绑定好的slave的硬件地址的ARP Reply给发送的节点。用ARP协商的负载均衡的有一个问题是每次用bond的硬件地址广播ARP报文,那么其他节点发送的数据全部集中在一个slave上,处理ARP更新给其他所有节点的时候,每个节点会重新学习硬件地址,导致流量重新分配。当新加入一个slave或者一个非激活的slave重新激活的时候也会导致接收流量重新分配。接收流量负载是串行(轮转)的分配在bond的一组速率最高的slave上。
 
当一个链路重连或者一个新的slave加入的时候,bond会重新初始化ARP Replies给所有的客户端。updelay参数的值必须等于或者大于交换机的forwarding delay,以免ARP Replies被交换机阻塞。

必要条件:

          1.每个slave的基本驱动支持Ehtool获取速率状态。

        2. 基本驱动支持当设备打开时重新设置硬件地址。也要求每一个slave具有唯一的硬件地址。如果curr_active_slave失败,它的硬件地址被新选上的curr_active_slave硬件地址来替换。


二,配置过程,最好使用nmcli命令来配置。

       nmcli connection add con-name bond0-p1 ifname eno33554984 type bond-slave master bond0 

       nmcli connection add con-name bond0-p2 ifname eno50332208 type bond-slave master bond0 

       nmcli connection add con-name bond0 ifname bond0 autoconnect yes type bond miimon 100 mode balance-rr

       nmcli connection modify bond0 ipv4.addresses 192.168.44.105/24 connection.autoconnect yes ipv4.method manual

配置文件如下:

在/etc/sysconfig/network-scripts/ 下

vim  ifcfg-bond0

DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=bond0
UUID=cf7e1158-5778-4266-baf8-9feaf1cb1c0c
ONBOOT=yes
IPADDR0=192.168.44.105
PREFIX0=24
GATEWAY0=192.168.44.2
BONDING_OPTS="miimon=100 updelay=0 downdelay=0 mode=balance-rr"
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes


vim ifcfg-bond0-p1

TYPE=Ethernet
NAME=bond0-p1
UUID=2b8000dc-5eea-456e-ace9-dd6d6619770a
DEVICE=eno33554984
ONBOOT=yes
MASTER=bond0
SLAVE=yes

vim ifcfg-bond0-p2

YPE=Ethernet
NAME=bond0-p2
UUID=76b76e5d-14cd-4cf7-9e4c-9f04f4e1e23f
DEVICE=eno50332208
ONBOOT=yes
MASTER=bond0
SLAVE=yes
 通过nmcli 命令上述配置文件自动生成。    

       



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值