1、bond绑定模式与操作centos7bond绑定模式与操作(centos7) 标签:centos bond 一、简介 二、模式 注*建议学之前先看这个文章 1、balance-rr 轮转策略:按照顺序轮流使用每个接口来发送和接收数据包,提高了负载均衡的能力,但是需要交换机的支持,因为该模式所有端口的mac地址相同,交换机不能识别多个一个Mac地址对应多个端口,所以需要做链路聚合 -Ethernet Channel mode=0 2、active-backup 主备策略:只使用其中一个网卡,当网卡损坏时激活另外的一个网卡 mode=1 3、balance-xor 平衡策略: 基于所选择的传送ha
2、sh策略 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,不需要另外配置交换机
3、,接受负载均衡通过ARP协商实现 当本机发送ARP请求时,bonding驱动把对端的IP信息从ARP包中复制并保存下来,当ARP应答从对端到达 时,bonding驱动把它的硬件地址提取出来,并发起一个ARP应答给bond中的某个slave。使用ARP协商进行负载均衡的一个问题是:每次广播 ARP请求时都会使用bond的硬件地址,因此对端学习到这个硬件地址后,接收流量将会全部流向当前的slave。这个问题可以通过给所有的对端发送更新 (ARP应答)来解决,应答中包含他们独一无二的硬件地址,从而导致流量重新分布。当新的slave加入到bond中时,或者某个未激活的slave重新 激活时,接收流量也
4、要重新分布。接收的负载被顺序地分布(round robin)在bond中最高速的slave上当某个链路被重新接上,或者一个新的slave加入到bond中,接收流量在所有当前激活的slave中全部重新分配,通过使用指定的MAC地址给每个 client发起ARP应答。下面介绍的updelay参数必须被设置为某个大于等于switch(交换机)转发延时的值,从而保证发往对端的ARP应答 不会被switch(交换机)阻截。 mode=6 三、安装 准备 多网卡主机一台 网卡桥接 选择局域网内空闲ip地址一枚rootlocalhost # ip a1: lo: <LOOPBACK,UP,LOWER_
5、UP> 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 forever2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qd
6、isc 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 forever3: eno33554984:
7、 <BROADCAST,MULTICAST,UP,LOWER_UP> 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 va
8、lid_lft forever preferred_lft forever4: eno50332208: <BROADCAST,MULTICAST,UP,LOWER_UP> 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 2588
9、97sec inet6 fe80:20c:29ff:fefd:1de3/64 scope link valid_lft forever preferred_lft foreverrootlocalhost # #查看硬件状态rootlocalhost # nmcli device status设备 类型 状态 CONNECTION eno16777736 ethernet 连接的 eno16777736 eno33554984 ethernet 连接的 有线连接 1 eno50332208 ethernet 连接的 有线连接 2 lo loopback 未管理 - #查看linux是否支持Bo
10、ndrootlocalhost # modinfo bondingfilename: /lib/modules/3.10.0-229.el7.x86_64/kernel/drivers/net/bonding/bonding.koalias: rtnl-link-bondauthor: Thomas Davis, tadavislbl.gov and many othersdescription: Ethernet Channel Bonding Driver, v3.7.1version: 3.7.1license: GPL. #以上信息反映机器支持bond#本人选取其中两种方式来制作bon
11、d绑定,一种是active-backup,另外一种选择balance-tlb,并且做相应测试 #方式1:nmcli方式使用nmcli命令来创建bond卡 nmcli connection add type bond ifname bond1 mode 1nmcli connection add type bond-slave ifname eno33554984 master bond1nmcli connection add type bond-slave ifname eno50332208 master bond1 nmcli connection add type bond-slave
12、 ifname eno16777736 master bond1 #connection add 添加新的连接 #con-name 连接名称 暂时没使用 #type 设备类型 #ifname 接口设备名称#master 指定该硬件的master # 执行完成以上命令后会生成以下文件rootlocalhost # cd /etc/sysconfig/network-scripts/rootlocalhost network-scripts# ll总用量 248-rw-r-r-. 1 root root 328 3月 29 18:08 ifcfg-bond-bond1-rw-r-r-. 1 roo
13、t root 137 3月 29 18:08 ifcfg-bond-slave-eno16777736-rw-r-r-. 1 root root 137 3月 29 18:08 ifcfg-bond-slave-eno33554984-rw-r-r-. 1 root root 137 3月 29 18:08 ifcfg-bond-slave-eno50332208 #修改已经生成的配置文件rootlocalhost network-scripts# vim ifcfg-bond-bond1 DEVICE=bond1BONDING_OPTS=mode=active-backupTYPE=Bond
14、BONDING_MASTER=yesBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noNAME=bond-bond1UUID=5ed04865-5802-4fd5-9d80-917d1fadae70ONBOOT=yesIPADDR=192.168.3.200PREFIX=24GATEWAY=192
15、.168.3.254DNS1=192.168.30.202 #重启网卡rootlocalhost network-scripts# systemctl restart network #查看网络和路由状态rootlocalhost # ip a1: lo: <LOOPBACK,UP,LOWER_UP> 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 p
16、referred_lft forever inet6 :1/128 scope host valid_lft forever preferred_lft forever2: eno16777736: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 state UP qlen 1000 link/ether 00:0c:29:fd:1d:cf brd ff:ff:ff:ff:ff:ff3: eno33554984: <BROADCAST,MULTICAST,SLAVE,
17、UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 state UP qlen 1000 link/ether 00:0c:29:fd:1d:cf brd ff:ff:ff:ff:ff:ff4: eno50332208: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 state UP qlen 1000 link/ether 00:0c:29:fd:1d:cf brd ff:ff:ff:ff:ff:ff6: bon
18、d1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 00:0c:29:fd:1d:cf brd ff:ff:ff:ff:ff:ff inet 192.168.3.200/24 brd 192.168.3.255 scope global bond1 valid_lft forever preferred_lft forever inet6 fe80:20c:29ff:fefd:1dcf/64 scope link valid_lft forever prefe
19、rred_lft forever rootlocalhost # ip routedefault via 192.168.3.254 dev bond1 proto static metric 300 192.168.3.0/24 dev bond1 proto kernel scope link src 192.168.3.200 metric 300 rootlocalhost # cat /proc/net/bonding/bond1Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)Bonding Mode: fault-to
20、lerance (active-backup)Primary Slave: NoneCurrently Active Slave: eno16777736MII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eno16777736MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: 00:0c:29:fd:1d:cfSlave queue ID: 0S
21、lave Interface: eno33554984MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: 00:0c:29:fd:1d:d9Slave queue ID: 0Slave Interface: eno50332208MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: 00:0c:29:fd:1d:e3Slave queue ID: 0 #标红为当前打开的网卡
22、#测试 #三张网卡随意关闭任意两张 #关闭掉两张网卡后,会有一次断点,切换网卡的过程 #网卡已经切换为eno50332208rootlocalhost # cat /proc/net/bonding/bond1Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)Bonding Mode: fault-tolerance (active-backup)Primary Slave: NoneCurrently Active Slave: eno50332208MII Status: upMII Polling Interval (ms):
23、 100Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eno16777736MII Status: downSpeed: UnknownDuplex: UnknownLink Failure Count: 1Permanent HW addr: 00:0c:29:fd:1d:cfSlave queue ID: 0Slave Interface: eno33554984MII Status: downSpeed: UnknownDuplex: UnknownLink Failure Count: 1Permanent HW addr: 00
24、:0c:29:fd:1d:d9Slave queue ID: 0Slave Interface: eno50332208MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: 00:0c:29:fd:1d:e3Slave queue ID: 0#实验完成 #删除原有配置 #清除bond网卡配置 rootlocalhost # cd /etc/sysconfig/network-scripts/rootlocalhost network-scripts# rm -rf ifcfg-bond
25、-* #显示所有活动的连接rootlocalhost network-scripts# nmcli connection show名称 UUID 类型 设备 有线连接 2 4013b28a-31dd-43b0-9b32-6582a20353f9 802-3-ethernet - 有线连接 1 9cca4859-5085-4cb3-a660-4664fac689c5 802-3-ethernet - eno16777736 5dcd1c25-9d8b-4c0f-967c-cd0b250ff929 802-3-ethernet - bond-slave-eno16777736 24c73fe2-9
26、c55-4202-92f3-d4ff259a6d84 802-3-ethernet eno16777736 bond-slave-eno50332208 ea727513-602e-450e-ad36-dd15cc5d2e82 802-3-ethernet eno50332208 bond-slave-eno33554984 ca74b313-4a4e-44e3-bb5b-84d5dfa1d3aa 802-3-ethernet eno33554984 bond-bond1 5ed04865-5802-4fd5-9d80-917d1fadae70 bond bond1 #删除网卡配置连接root
27、localhost network-scripts# nmcli con del bond-slave-eno50332208rootlocalhost network-scripts# nmcli con del bond-slave-eno33554984 rootlocalhost network-scripts# cat /proc/net/bonding/bond1Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)Bonding Mode: fault-tolerance (active-backup)Primary Sl
28、ave: NoneCurrently Active Slave: eno16777736MII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eno16777736MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 1Permanent HW addr: 00:0c:29:fd:1d:cfSlave queue ID: 0 rootlocalhost network-scripts# nm
29、cli con del bond-slave-eno16777736 rootlocalhost network-scripts# nmcli con del bond-bond1 网卡恢复 #方式2:cli方式 以文件方式配置Bond #备份原有网卡配置文件rootlocalhost # mkdir -p /data/backup/networkrootlocalhost # cd /etc/sysconfig/network-scripts/rootlocalhost # cp ifcfg-eno* /data/backup/network/ #因为是新加入的卡,所以没有配置文件,但是硬件
30、信息中是可以查到的rootlocalhost network-scripts# nmcli device status 设备 类型 状态 CONNECTION eno16777736 ethernet 连接的 eno16777736 eno33554984 ethernet 连接的 有线连接 1 eno50332208 ethernet 连接的 有线连接 2 lo loopback 未管理 - rootlocalhost network-scripts# ll总用量 236-rw-r-r-. 1 root root 295 8月 25 2015 ifcfg-eno16777736-rw-r-r
31、-. 1 root root 295 3月 29 19:13 ifcfg-eno33554984 rootlocalhost network-scripts# cp ifcfg-eno16777736 ifcfg-eno33554984rootlocalhost network-scripts# vim ifcfg-bond5DEVICE=bond5BONDING_OPTS=mode=balance-tlbTYPE=BondBONDING_MASTER=yesBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noNAME=bond5ONBOOT=yesIPADDR=192.168.3.200PREFIX=24GATEWAY=192.168.3.25
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1