bond7种模式
1.第一种模式:mod=0 ,即:(balance-rr)Round-robin policy(平衡抡循环策略)
特点
所有链路处于附在均衡模式
增加了带宽,具有容错能力,当某一台服务器的两张网卡设置为轮询模式此时服务器发出的数据包就会在两个网卡上进行轮询
2.第二种模式:mod=1,即: (active-backup)Active-backup policy(主-备份策略)
特点
一个网卡处于活动状态,另一个处于备份状态,所以流量都在主链路上处理,活动网卡down 掉 启用备份网卡
3.第三种模式:mod=2,即:(balance-xor)XOR policy(平衡策略)
特点
基于指定的传输HASH策略传输数据包。(源MAC地址 XOR 目标MAC地址)% slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力
4.第四种模式:mod=3,即:broadcast(广播策略)
特点
例如2个网卡发送数据网卡A 网卡B会同时进行发送独立的一个数据包,总计就是2个同样的数据包
5.mod=4,即:(802.3ad)IEEE 802.3ad Dynamic link aggregation(IEEE802.3ad 动态链接聚合)
6.第六种模式:mod=5,即:(balance-tlb)Adaptive transmit load balancing(适配器传输负载均衡)
特点
不需要配置交换机,在美俄slave上根据当前负载分配外出流量,没有容错能力
7.第七种模式:mod=6,即:(balance-alb)Adaptive load balancing(适配器适应性负载均衡)
特点
该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receiveload balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。
配置步骤
两个网卡
ifcfg-ens33
ifcfg-ens34
1.修改网卡配置
切换工作目录
cd /etc/sysconfig/network-scripts/
修改网卡配置文件
vim ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e3814ece-5de5-4468-a7f5-9b27837dfff6
DEVICE=ens33
ONBOOT=yes
IPV6_PRIVACY=no
MASTER=bond0
SLAVE=yes
vim ifcfg-ens34
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens34
UUID=b451d049-e227-4d2d-bfa4-2383a0198ba3
DEVICE=ens34
ONBOOT=yes
IPV6_PRIVACY=no
MASTER=bond0
SLAVE=yes
2.虚拟网卡配置
需自行创建
vim ifcfg-bond0
DEVICE=bond0
TYPE=bond
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.192.135
NETMASK=255.255.255.0
BONDING_OPTS="miimon=100 mode=0"
BONDING_MASTER=yesMTU=1500
NM_CONTROLLED=no
miimon是用来进行链路监测的。比如:miimon=100,单位是ms(毫秒)这边的100,是100ms,即是0.1秒那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;
重启服务
reboot
[root@bond0-linux ~]# ifconfig
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500
inet 192.168.192.135 netmask 255.255.255.0 broadcast 192.168.192.255
inet6 fe80::20c:29ff:fe4f:c0a2 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:4f:c0:a2 txqueuelen 1000 (Ethernet)
RX packets 970 bytes 83501 (81.5 KiB)
RX errors 0 dropped 8 overruns 0 frame 0
TX packets 496 bytes 50224 (49.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens33: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 00:0c:29:4f:c0:a2 txqueuelen 1000 (Ethernet)
RX packets 620 bytes 58031 (56.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 494 bytes 50078 (48.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens34: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 00:0c:29:4f:c0:a2 txqueuelen 1000 (Ethernet)
RX packets 352 bytes 25616 (25.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2 bytes 146 (146.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 139 bytes 12660 (12.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 139 bytes 12660 (12.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@bond0-linux ~]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=128 time=3.78 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=128 time=3.54 ms