Linux支付7种bonding模式:


查看Linux是否支持网卡bonding模式:


[root@yhj02node156236 network-scripts]# modinfo bonding

filename:       /lib/modules/2.6.32-504.23.4.el6.centos.plus.x86_64/kernel/drivers/net/bonding/bonding.ko

author:         Thomas Davis, [email protected] and many others

description:    Ethernet Channel Bonding Driver, v3.6.0

version:        3.6.0

license:        GPL

srcversion:     653FCC4D7CEFA2879B28255

depends:        ipv6

vermagic:       2.6.32-504.23.4.el6.centos.plus.x86_64 SMP mod_unload modversions 

parm:           max_bonds:Max number of bonded devices (int)

parm:           tx_queues:Max number of transmit queues (default = 16) (int)

parm:           num_grat_arp:Number of gratuitous ARP packets to send on failover event (int)

parm:           num_unsol_na:Number of unsolicited IPv6 Neighbor Advertisements packets to send on failover event (int)

parm:           miimon:Link check interval in milliseconds (int)

parm:           updelay:Delay before considering link up, in milliseconds (int)

parm:           downdelay:Delay before considering link down, in milliseconds (int)

parm:           use_carrier:Use netif_carrier_ok (vs MII ioctls) in miimon; 0 for off, 1 for on (default) (int)

parm:           mode:Mode of operation; 0 for balance-rr, 1 for active-backup, 2 for balance-xor, 3 for broadcast, 4 for 802.3ad, 5 for balance-tlb, 6 for balance-alb (charp)

parm:           


mode=0 balance负载均衡+容错:

链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路。交换机需要配置access口,静态聚合口,思科叫port channel。

特点:传输数据包package顺序是依次传输(即:第1个package走eth0,下一个package就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡,增加带宽和容错能力;但是我们知道如果一个连接或者session的package从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降


mode=1 active-backup

主备模式,只有一块网卡是active,另一块是备用的standby,所有流量都在active链路上处理,交换机配置的是捆绑的话将不能工作,因为交换机往两块网卡发包,有一半包是丢弃的。

特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。

此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N


mode=3 broadcast

这个是表示所有包从所有网络接口发出,这个不均衡,只有冗余机制,但过于浪费资源。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。需要和交换机的聚合强制不协商方式配合(静态聚合)。

特点:在每个slave接口上传输每个数据包,此模式提供了容错能力


mode=4  802.3ad 动态链路聚合LACP

表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy).标准要求所有设备在聚合操作时,要在同样的速率和双工模式,而且,和除了balance-rr模式外的其它bonding负载均衡模式一样,任何连接都不能使用多于一个接口的带宽。


================================================================================

端口聚合:


我们可以把交换机上多个物理端口捆绑在一起形成一个逻辑端口,这个逻辑端口我们称之为Aggregate Port (以下简称AP)

链路聚合分为动态链路聚合静态链路聚合

1)静态聚合模式下,聚合组内的各成员端口上不启用任何协议协商,其端口状态(加入,离开)完全依据手工指定的方式直接生效。

2)动态聚合(LACP)模式下,聚合组内的各成员端口上均启用 LACP 协议,其端口状态(加入,离开)通过该协议自动进行维护。


静态与LACP两种聚合方式可以理解为静态路由与动态OSPF路由之间的区别,一种是根据管理员配置的方式强制生效,一种是通过协议报文与邻居协商状态,动态维护邻居关系与路由条目。

动态聚合可以动态发现链路故障,避免静态聚合时,单条成员线路不通(比如交换机端口虽然是up的,但是由于中间光纤问题已经不能通信的情况)导致的异常,用户对可靠性要求较高,成员口动态加入离开的切换速度要求较快时推荐使用动态聚合。