一、简介
二、模式
注*建议学之前先看这个文章
http://blog.csdn.net/galdys/article/details/7506495
1、balance-rr
轮转策略:按照顺序轮流使用每个接口来发送和接收数据包,提高了负载均衡的能力,但是需要交换机的支持,因为该模式所有端口的mac地址相同,交换机不能识别多个一个Mac地址对应多个端口,所以需要做链路聚合 ----Ethernet Channel
mode=0
2、active-backup
主备策略:只使用其中一个网卡,当网卡损坏时激活另外的一个网卡
mode=1
3、balance-xor
平衡策略: 基于所选择的传送hash策略
mode=2
4、
广播策略:所有卡上都接收和发送报文,提高了容错性
mode=3
5、802.3ad
链路聚合模式
802.3ad策略: LACP 链路聚合模式,交换机得开启链路聚合,将两张网卡当做一张来使用,提高链路性能,需要交换机支持802.3ad 动态链路聚合和服务器硬件支持ethtool。
mode=4
6、balance-tlb
自适应传输负载均衡
不需要配置交换机。在每个网卡会根据上根据当前的负载情况来分配流量。如果一个网卡出现故障,那么另外一个网卡会接管故障网卡
mode=5
7、balance-alb
自适应负载均衡:包括balance-tlb,不需要另外配置交换机,接受负载均衡通过ARP协商实现
当本机发送ARP请求时,bonding驱动把对端的IP信息从ARP包中复制并保存下来,当ARP应答从对端到达 时,bonding驱动把它的硬件地址提取出来,并发起一个ARP应答给bond中的某个slave。使用ARP协商进行负载均衡的一个问题是:每次广播 ARP请求时都会使用bond的硬件地址,因此对端学习到这个硬件地址后,接收流量将会全部流向当前的slave。这个问题可以通过给所有的对端发送更新 (ARP应答)来解决,应答中包含他们独一无二的硬件地址,从而导致流量重新分布。当新的slave加入到bond中时,或者某个未激活的slave重新 激活时,接收流量也要重新分布。接收的负载被顺序地分布(round robin)在bond中最高速的slave上
当某个链路被重新接上,或者一个新的slave加入到bond中,接收流量在所有当前激活的slave中全部重新分配,通过使用指定的MAC地址给每个 client发起ARP应答。下面介绍的updelay参数必须被设置为某个大于等于switch(交换机)转发延时的值,从而保证发往对端的ARP应答 不会被switch(交换机)阻截。
mode=6
三、安装
准备
多网卡主机一台
网卡桥接
选择局域网内空闲ip地址一枚
[root@localhost ~]# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno16777736: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:fd:1d:cf brd ff:ff:ff:ff:ff:ff
inet 192.168.3.151/24 brd 192.168.3.255 scope global dynamic eno16777736
valid_lft 258897sec preferred_lft 258897sec
inet6 fe80::20c:29ff:fefd:1dcf/64 scope link
valid_lft forever preferred_lft forever
3: eno33554984: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:fd:1d:d9 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.154/24 brd 192.168.3.255 scope global dynamic eno33554984
valid_lft 258897sec preferred_lft 258897sec
inet6 fe80::20c:29ff:fefd:1dd9/64 scope link
valid_lft forever preferred_lft forever
4: eno50332208: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:fd:1d:e3 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.155/24 brd 192.168.3.255 scope global dynamic eno50332208
valid_lft 258897sec preferred_lft 258897sec
inet6 fe80::20c:29ff:fefd:1de3/64 scope link
valid_lft forever preferred_lft forever
[root@localhost ~]#
#查看硬件状态
[root@localhost ~]# nmcli device status
设备 类型 状态 CONNECTION
eno16777736 ethernet 连接的 eno16777736
eno33554984 ether