bond绑定模式与操作centos7.docx
《bond绑定模式与操作centos7.docx》由会员分享,可在线阅读,更多相关《bond绑定模式与操作centos7.docx(12页珍藏版)》请在冰豆网上搜索。
bond绑定模式与操作centos7
bond绑定模式与操作(centos7)
标签:
centosbond一、简介二、模式注*建议学之前先看这个文章1、balance-rr轮转策略:
按照顺序轮流使用每个接口来发送和接收数据包,提高了负载均衡的能力,但是需要交换机的支持,因为该模式所有端口的mac地址相同,交换机不能识别多个一个Mac地址对应多个端口,所以需要做链路聚合----EthernetChannelmode=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=46、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重新激活时,接收流量也要重新分布。
接收的负载被顺序地分布(roundrobin)在bond中最高速的slave上当某个链路被重新接上,或者一个新的slave加入到bond中,接收流量在所有当前激活的slave中全部重新分配,通过使用指定的MAC地址给每个client发起ARP应答。
下面介绍的updelay参数必须被设置为某个大于等于switch(交换机)转发延时的值,从而保证发往对端的ARP应答不会被switch(交换机)阻截。
mode=6
三、安装
准备
多网卡主机一台
网卡桥接选择局域网内空闲ip地址一枚
[root@localhost~]#ipa
1:
lo:
<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueuestateUNKNOWN
link/loopback00:
00:
00:
00:
00:
00brd00:
00:
00:
00:
00:
00
inet127.0.0.1/8scopehostlo
valid_lftforeverpreferred_lftforever
inet6:
:
1/128scopehost
valid_lftforeverpreferred_lftforever
2:
eno16777736:
<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000
link/ether00:
0c:
29:
fd:
1d:
cfbrdff:
ff:
ff:
ff:
ff:
ff
inet192.168.3.151/24brd192.168.3.255scopeglobaldynamiceno16777736
valid_lft258897secpreferred_lft258897sec
inet6fe80:
:
20c:
29ff:
fefd:
1dcf/64scopelink
valid_lftforeverpreferred_lftforever
3:
eno33554984:
<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000
link/ether00:
0c:
29:
fd:
1d:
d9brdff:
ff:
ff:
ff:
ff:
ff
inet192.168.3.154/24brd192.168.3.255scopeglobaldynamiceno33554984
valid_lft258897secpreferred_lft258897sec
inet6fe80:
:
20c:
29ff:
fefd:
1dd9/64scopelink
valid_lftforeverpreferred_lftforever
4:
eno50332208:
<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000
link/ether00:
0c:
29:
fd:
1d:
e3brdff:
ff:
ff:
ff:
ff:
ff
inet192.168.3.155/24brd192.168.3.255scopeglobaldynamiceno50332208
valid_lft258897secpreferred_lft258897sec
inet6fe80:
:
20c:
29ff:
fefd:
1de3/64scopelink
valid_lftforeverpreferred_lftforever
[root@localhost~]#
#查看硬件状态[root@localhost~]#nmclidevicestatus
设备类型状态CONNECTION
eno16777736ethernet连接的eno16777736
eno33554984ethernet连接的有线连接1
eno50332208ethernet连接的有线连接2
loloopback未管理--
#查看linux是否支持Bond[root@localhost~]#modinfobonding
filename:
/lib/modules/3.10.0-229.el7.x86_64/kernel/drivers/net/bonding/bonding.ko
alias:
rtnl-link-bond
author:
ThomasDavis,tadavis@lbl.govandmanyothers
description:
EthernetChannelBondingDriver,v3.7.1
version:
3.7.1
license:
GPL....................#以上信息反映机器支持bond#本人选取其中两种方式来制作bond绑定,一种是active-backup,另外一种选择balance-tlb,并且做相应测试#方式1:
nmcli方式使用nmcli命令来创建bond卡
nmcliconnectionaddtypebondifnamebond1mode1nmcliconnectionaddtypebond-slaveifnameeno33554984masterbond1nmcliconnectionaddtypebond-slaveifnameeno50332208masterbond1nmcliconnectionaddtypebond-slaveifnameeno16777736masterbond1
#connectionadd添加新的连接#con-name连接名称暂时没使用#type设备类型#ifname接口设备名称#master指定该硬件的master
#执行完成以上命令后会生成以下文件[root@localhost~]#cd/etc/sysconfig/network-scripts/
[root@localhostnetwork-scripts]#ll
总用量248
-rw-r--r--.1rootroot3283月2918:
08ifcfg-bond-bond1
-rw-r--r--.1rootroot1373月2918:
08ifcfg-bond-slave-eno16777736
-rw-r--r--.1rootroot1373月2918:
08ifcfg-bond-slave-eno33554984
-rw-r--r--.1rootroot1373月2918:
08ifcfg-bond-slave-eno50332208#修改已经生成的配置文件
[root@localhostnetwork-scripts]#vimifcfg-bond-bond1
DEVICE=bond1
BONDING_OPTS=mode=active-backup
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=bond-bond1
UUID=5ed04865-5802-4fd5-9d80-917d1fadae70
ONBOOT=yes
IPADDR=192.168.3.200
PREFIX=24
GATEWAY=192.168.3.254
DNS1=192.168.30.202
#重启网卡[root@localhostnetwork-scripts]#systemctlrestartnetwork#查看网络和路由状态[root@localhost~]#ipa
1:
lo:
<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueuestateUNKNOWN
link/loopback00:
00:
00:
00:
00:
00brd00:
00:
00:
00:
00:
00
inet127.0.0.1/8scopehostlo
valid_lftforeverpreferred_lftforever
inet6:
:
1/128scopehost
valid_lftforeverpreferred_lftforever
2:
eno16777736:
<BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP>mtu1500qdiscpfifo_fastmasterbond1stateUPqlen1000
link/ether00:
0c:
29:
fd:
1d:
cfbrdff:
ff:
ff:
ff:
ff:
ff
3:
eno33554984:
<BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP>mtu1500qdiscpfifo_fastmasterbond1stateUPqlen1000
link/ether00:
0c:
29:
fd:
1d:
cfbrdff:
ff:
ff:
ff:
ff:
ff
4:
eno50332208:
<BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP>mtu1500qdiscpfifo_fastmasterbond1stateUPqlen1000
link/ether00:
0c:
29:
fd:
1d:
cfbrdff:
ff:
ff:
ff:
ff:
ff
6:
bond1:
<BROADCAST,MULTICAST,MASTER,UP,LOWER_UP>mtu1500qdiscnoqueuestateUP
link/ether00:
0c:
29:
fd:
1d:
cfbrdff:
ff:
ff:
ff:
ff:
ff
inet192.168.3.200/24brd192.168.3.255scopeglobalbond1
valid_lftforeverpreferred_lftforever
inet6fe80:
:
20c:
29ff:
fefd:
1dcf/64scopelink
valid_lftforeverpreferred_lftforever
[root@localhost~]#iproute
defaultvia192.168.3.254devbond1protostaticmetric300
192.168.3.0/24devbond1protokernelscopelinksrc192.168.3.200metric300
[root@localhost~]#cat/proc/net/bonding/bond1
EthernetChannelBondingDriver:
v3.7.1(April27,2011)BondingMode:
fault-tolerance(active-backup)
PrimarySlave:
None
CurrentlyActiveSlave:
eno16777736
MIIStatus:
up
MIIPollingInterval(ms):
100
UpDelay(ms):
0
DownDelay(ms):
0SlaveInterface:
eno16777736
MIIStatus:
up
Speed:
1000Mbps
Duplex:
full
LinkFailureCount:
0
PermanentHWaddr:
00:
0c:
29:
fd:
1d:
cf
SlavequeueID:
0SlaveInterface:
eno33554984
MIIStatus:
up
Speed:
1000Mbps
Duplex:
full
LinkFailureCount:
0
PermanentHWaddr:
00:
0c:
29:
fd:
1d:
d9
SlavequeueID:
0SlaveInterface:
eno50332208
MIIStatus:
up
Speed:
1000Mbps
Duplex:
full
LinkFailureCount:
0
PermanentHWaddr:
00:
0c:
29:
fd:
1d:
e3
SlavequeueID:
0
#标红为当前打开的网卡
#测试#三张网卡随意关闭任意两张#关闭掉两张网卡后,会有一次断点,切换网卡的过程#网卡已经切换为eno50332208
[root@localhost~]#cat/proc/net/bonding/bond1
EthernetChannelBondingDriver:
v3.7.1(April27,2011)BondingMode:
fault-tolerance(active-backup)
PrimarySlave:
None
CurrentlyActiveSlave:
eno50332208
MIIStatus:
up
MIIPollingInterval(ms):
100
UpDelay(ms):
0
DownDelay(ms):
0SlaveInterface:
eno16777736
MIIStatus:
down
Speed:
Unknown
Duplex:
Unknown
LinkFailureCount:
1
PermanentHWaddr:
00:
0c:
29:
fd:
1d:
cf
SlavequeueID:
0SlaveInterface:
eno33554984
MIIStatus:
down
Speed:
Unknown
Duplex:
Unknown
LinkFailureCount:
1
PermanentHWaddr:
00:
0c:
29:
fd:
1d:
d9
SlavequeueID:
0SlaveInterface:
eno50332208
MIIStatus:
up
Speed:
1000Mbps
Duplex:
full
LinkFailureCount:
0
PermanentHWaddr:
00:
0c:
29:
fd:
1d:
e3
SlavequeueID:
0
#实验完成#删除原有配置#清除bond网卡配置[root@localhost~]#cd/etc/sysconfig/network-scripts/[root@localhostnetwork-scripts]#rm-rfifcfg-bond-*
#显示所有活动的连接[root@localhostnetwork-scripts]#nmcliconnectionshow
名称UUID类型设备
有线连接24013b28a-31dd-43b0-9b32-6582a20353f9802-3-ethernet--
有线连接19cca4859-5085-4cb3-a660-4664fac689c5802-3-ethernet--
eno167777365dcd1c25-9d8b-4c0f-967c-cd0b250ff929802-3-ethernet--
bond-slave-eno1677773624c73fe2-9c55-4202-92f3-d4ff259a6d84802-3-etherneteno16777736
bond-slave-eno50332208ea727513-602e-450e-ad36-dd15cc5d2e82802-3-etherneteno50332208
bond-slave-eno33554984ca74b313-4a4e-44e3-bb5b-84d5dfa1d3aa802-3-etherneteno33554984
bond-bond15ed04865-5802-4fd5-9d80-917d1fadae70bondbond1#删除网卡配置连接[root@localhostnetwork-scripts]#nmclicondelbond-slave-eno50332208
[root@localhostnetwork-scripts]#nmclicondelbond-slave-eno33554984[root@localhostnetwork-scripts]#cat/proc/net/bonding/bond1
EthernetChannelBondingDriver:
v3.7.1(April27,2011)BondingMode:
fault-tolerance(active-backup)
PrimarySlave:
None
CurrentlyActiveSlave:
eno16777736
MIIStatus:
up
MIIPollingInterval(ms):
100
UpDelay(ms):
0
DownDelay(ms):
0SlaveInterface:
eno16777736
MIIStatus:
up
Speed:
1000Mbps
Duplex:
full
LinkFailureCount:
1
PermanentHWaddr:
00:
0c:
29:
fd:
1d:
cf
SlavequeueID:
0[root@localhostnetwork-scripts]#nmclicondelbond-slave-eno16777736
[root@localhostnetwork-scripts]#nmclicondelbond-bond1网卡恢复#方式2:
cli方式以文件方式配置Bond#备份原有网卡配置文件[root@localhost~]#mkdir-p/data/backup/network[root@localhost~]#cd/etc/sysconfig/network-scripts/[root@localhost~]#cpifcfg-eno*/data/backup/network/#因为是新加入的卡,所以没有配置文件,但是硬件信息中是可以查到的[root@localhostnetwork-scripts]#nmclidevicestatus
设备类型状态CONNECTION
eno16777736ethernet连接的eno16777736
eno33554984ethernet连接的有线连接1
eno50332208ethernet连接的有线连接2
loloopback未管理--[root@localhostnetwork-scripts]#ll
总用量236
-rw-r--r--.1rootroot2958月252015ifcfg-eno16777736
-rw-r--r--.1rootroot2953月2919:
13ifcfg-eno33554984[root@localhostnetwork-scripts]#cpifcfg-eno16777736ifcfg-eno33554984[root@localhostnetwork-scripts]#vimifcfg-bond5DEVICE=bond5
BONDING_OPTS="mode=balance-tlb"
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NAME=bond5
ONBOOT=yes
IPADDR=192.168.3.200
PREFIX=24
GATEWAY=192.168.3.25