• 导航

Linux双网卡绑定实现负载均衡详解

阐明:

miimon是用来进行链路监测的。 比方:miimon=100,单位是ms。这儿的100,是100ms,便是0.1秒。体系每100ms监测一次链路衔接状况,假如有一条线路不通就转入另一条线路。mode是指作业形式,总共有七种。这两个参数能够装备在/etc/modprobe.d/bonding.conf文件里,即options bond0 miimon=100 mode=6,或许直接写在bond0的装备文件中,即bonding_opts="mode=6 miimon=100"

重启网络服务

# service network restart

检查bond0接口状况

[root@centos6 ~]# cat /proc/net/bonding/bond0 
ethernet channel bonding driver: v3.7.1 
bonding mode: adaptive load balancing
primary 信德娱乐下载slave: none
currently active slave: eth0
mii status: up
mii polling interval : 100
up delay : 0
down delay : 0
slave interface: eth0
mii status: up
speed: 100 mbps
duplex: full
link failure count: 0
permanent hw addr: 52:54:00:a9:4e:2c
slave queue id: 0
slave interface: eth1
mii status: up
speed: 100 mbps
duplex: full
link failure count: 0
permanent hw addr: 52:54:00:91:1b:68
slave queue id: 0

假如屡次修改正bond装备,则或许需求重启体系,bond0接口状况才会更新。

检查网络接口收发状况

# watch -n 1 ifconfig -a

bond的七种作业形式介绍

1、mode=0

链路负载均衡,添加带宽,支撑容错,一条链路毛病会主动切换正常链路。交换机需求装备聚合口,思科叫port channel。
特色:传输数据包次序是顺次传输,此形式供给负载平衡和容错才干;可是假如一个衔接或许会话的数据包从不同的接口宣布的话,半途再经过不同的链路,在客户端很有或许会呈现数据包无序抵达的问题,而无序抵达的数据包需求从头要求被发送,这样网络的吞吐量就会下降


2、mode=1

这个是主备形式,只要一块网卡是active,另一块是备用的standby,一切流量都在active链路上处理,交换机装备的是绑缚的话将不能作业,由于交换机往两块网卡发包,有一半包是丢掉的。
特色:只要一个设备处于活动状况,当一个宕掉另一个立刻由备份转化为主设备。mac地址是外部可见得,从外面看来,bond的mac地址是仅有的,以防止switch发作紊乱。此形式只供给了容错才干;由此可见此算法的长处是能够供给高网络衔接的可用性,可是它的资源利用率较低,只要一个接口处于作业状况,在有 n 个网络接口的情况下,资源利用率为1/n


3、mode=2

表明xor hash负载分管,和交换机的聚合强制不洽谈方法合作。
特色:依据指定的传输hash战略传输数据包。缺省的战略是: % slave数量。其他的传输战略能够经过xmit_hash_policy选项指定,此形式供给负载平衡和容错才干


4、mode=3

表明一切包从一切网络接口宣布,这个不均衡,只要冗余机制,但过于浪费资源。此形式适用于金融职业,由于他们需求高可靠性的网络,不允许呈现任何问题。需求和交换机的聚合强制不洽谈方法合作。
特色:在每个slave接口上传输每个数据包,此形式供给了容错才干


5、mode=4





条件1:ethtool支撑获取每个slave的速率和双工设定
条件2:switch支撑ieee 802.3ad dynamic link aggregation
条件3:大多数switch需求经过特定装备才干支撑802.3ad形式



6、mode=5


特色:不需求任何特别的switch支撑的通道bonding。在每个slave上依据当时的负载分配外出流量。假如正在承受数据的slave出毛病了,另一个slave接纳失利的slave的mac地址。
必要条件:ethtool支撑获取每个slave的速率


7、mode=6







条件1:ethtool支撑获取每个slave的速率;
条件2:底层驱动支撑设置某个设备的硬件地址,然后使得总是有个slave运用bond的硬件地址,一起确保每个bond 中的slave都有一个仅有的硬件地址。假如curr_active_slave出毛病,它的硬件地址将会被新选出来的 curr_active_slave接纳其实mod=6与mod=0的差异:mod=6,先把eth0流量占满,再占eth1,….ethx;而mod=0的话,会发现2个口的流量都很安稳,根本相同的带宽。而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量。



但实测中mode0能够经过mac地址诈骗的方法在交换机不设置的情况下不太均衡地进行接纳。

以上便是本文的全部内容,期望对我们的学习有所协助,也期望我们多多支撑萬仟网。