金穗农机指南

Linux多网卡7种bond模式

admin 31
一、简介

常用的三种:

mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。
二、七种模型详解与实验1)mode=0(balance-rr)(平衡抡循环策略)

特点

2)mode=1(active-backup)(主-备份策略)

特点

3)mode=2(balance-xor)(平衡策略)

特点

4)mode=3(broadcast)(广播策略)

特点

5)mode=4(802.3ad)(动态链接聚合)

特点

6)mode=5(balance-tlb)(适配器传输负载均衡)

特点

7)mode=6(balance-alb)(适配器适应性负载均衡)

特点

其实mod=6与mod=0的区别

实验

1、首先要看linux是否支持bonding,大部分发行版都支持
$modinfobonding|morefilename:/lib/modules/4.18.0-305.3.1._64/kernel/drivers/net/bonding/:ThomasDavis,tadavis@:EthernetChannelBondingDriverlicense:GPLalias:rtnl-link-bondrhelversion:8.4srcversion:445F4CC9A2F7E64E3A87FD0deps:intree:Yname:bondingvermagic:4.18.0-305.3.1._64SMPmod_unloadmodversionssig_id:PKCSBONDING_OPTS='mode=0miimon=100'最好在/etc/加入如下语句:$echo'nmcliconupbond-bond0'/etc//$echo'nmcliconupbond-slave-ens33'/etc//$echo'nmcliconupbond-slave-ens37'/etc//$echo'ifenslavebond0ens33ens37'/etc//

生成的网卡配置文件
ens33(cat/etc/sysconfig/network-scripts/ifcfg-bond-slave-ens33)

$vi/etc/sysconfig/network-scripts/ifcfg-bond-slave-ens33TYPE=EthernetNAME=bond-slave-ens33UUID=a46a3996-ac9b-4bec-a0a3-07d5159b8873DEVICE=ens33ONBOOT=yesMASTER=bond0SLAVE=yes

ens37(cat/etc/sysconfig/network-scripts/ifcfg-bond-slave-ens37)

TYPE=EthernetNAME=bond-slave-ens37UUID=344b2a19-22c8-424f-be56-0f8018beccbdDEVICE=ens37ONBOOT=yesMASTER=bond0SLAVE=yes

bond0(cat/etc/sysconfig/network-scripts/ifcfg-bond-slave-bond0)

BONDING_OPTS=mode=balance-rrTYPE=BondBONDING_MASTER=yesPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=bond-bond0UUID=3a538589-12b9-4a82-adda-fe3da844510cDEVICE=bond0ONBOOT=yesIPADDR=192.168.182.152PREFIX=24GATEWAY=192.168.182.2DNS1=8.8.8.8

删除


$nmcliconnectiondeletebond-bond0删除ens33$nmcliconnectiondeletebond-slave-ens37#删除ens37
2)修改已经生成的配置文件(/etc/sysconfig/network-scripts/ifcfg-bond-bond0)

1)把BOOTPROTO=dhcp改成BOOTPROTO=static
2)在末尾添加如下配置

IPADDR=192.168.182.152PREFIX=24GATEWAY=192.168.182.2DNS1=8.8.8.8

完整配置

BONDING_OPTS=mode=balance-rrTYPE=BondBONDING_MASTER=yesPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=bond-bond0UUID=59899e5d-49cf-44a0-af87-fca29472afd5DEVICE=bond0ONBOOT=yesIPADDR=192.168.182.152PREFIX=24GATEWAY=192.168.182.2DNS1=8.8.8.8
3)重新加载所有网卡配置
nmclinetworkingoffnmclinetworkingon
4)查看bond


四、扩展1)网卡绑定方法一
aliasbond0bondingaliasbond1bondingoptionsbondingmax_bonds=2miimon=200mode=1

参数解释

miimon:监视网络链接的频度,单位是毫秒,我们设置的是100毫秒mode:bond模式,在一般的实际应用中,0和1用的比较多max_bonds:配置的bond口个数

这样所有的绑定只能使用一个mode了。

2)网卡绑定方法二
aliasbond0bondingoptionsbond0miimon=100mode=1installbond1/sbin/modprobebonding-obond1miimon=100mode=0installbond2/sbin/modprobebonding-obond2miimon=100mode=1installbond3/sbin/modprobebonding-obond3miimon=100mode=0

这种方式不同的bond口可以设定为不同的mode,注意开机自动启动/etc//文件的设置

ifenslavebond0eth0eth1ifenslavebond1eth2eth3ifenslavebond2eth4eth5ifenslavebond3eth6eth7