2024年4月18日发(作者:)
本文介绍linux下(de)bonding技术,linux2.4.x(de)内核中采用了这种技
术,利用bonding技术可以将多块网卡接口通过绑定虚拟成为一块网卡,在
用户看来这个聚合起来(de)设备好像是一个单独(de)以太网接口设备,通
俗点讲就是多块网卡具有相同(de)IP地址而并行连接聚合成一个逻辑链
路
二、bond(de)几种算法
Linux(de)bond支持7种工作模式,可以参考内核源码包文件:
Documentation/networking/.这里逐一介绍.
模式1:mode=0,即:(balance-rr)Round-robinpolicy(平衡轮循策略)
特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走
eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和
容错能力;但是我们知道如果一个连接或者会话(de)数据包从不同(de)接
口发出(de)话,中途再经过不同(de)链路,在客户端很有可能会出现数据
包无序到达(de)问题,而无序到达(de)数据包需要重新要求被发送,这样
网络(de)吞吐量就会下降.
模式2:mode=1,即:(active-backup)Active-backuppolicy(主-备份策
略)
特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为
主设备.mac地址是外部可见得,从外面看来,bond(de)MAC地址是唯一(de),
以避免switch(交换机)发生混乱.此模式只提供了容错能力;由此可见此
算法(de)优点是可以提供高网络连接(de)可用性,但是它(de)资源利用率
工作.
较低,只有一个接口处于工作状态,在有N个网络接口(de)情况下,资源利
用率为1/N
模式3:mode=2,即:(balance-xor)XORpolicy(平衡策略)
特点:基于指定(de)传输HASH策略传输数据包.缺省(de)策略是:(源MAC
地址XOR目标MAC地址)%slave数量.其他(de)传输策略可以通过
xmit_hash_policy选项指定,此模式提供负载平衡和容错能力.
模式4:mode=3,即:broadcast(广播策略)
特点:在每个slave接口上传输每个数据包,此模式提供了容错能力.
模式5:mode=4,即:(802.3ad)IEEE802.3adDynamiclinkaggregation
(IEEE802.3ad动态链接聚合)
特点:创建一个聚合组,它们共享同样(de)速率和双工设定.根据802.3ad
规范将多个slave工作在同一个激活(de)聚合体下.
外出流量(de)slave选举是基于传输hash策略,该策略可以通过
xmit_hash_policy选项从缺省(de)XOR策略改变到其他策略.需要注意(de)
是,并不是所有(de)传输策略都是802.3ad适应(de),尤其考虑到在
802.3ad标准43.2.4章节提及(de)包乱序问题.不同(de)实现可能会有不
同(de)适应性.
必要条件:
条件1:ethtool支持获取每个slave(de)速率和双工设定
条件2:switch(交换机)支持IEEE802.3adDynamiclinkaggregation
条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式
发布评论