测试环境:vmware虚拟机,linux系统centos7.8
两块网卡 ens32 ens34
Linux 多网卡的7种bond模式原理
linux多网卡绑定聚合-Bond详细完整版
1、编辑网络配置文件
1.1、编辑bond0网卡配置
cat /etc/sysconfig/network-scripts/ifcfg-bond0
BOOTPROTO=staticDEVICE=bond0ONBOOT=yesTYPE=bond # 类型必须是bondNAME=bond0IPADDR=192.168.118.120NETMASK=255.255.255.0GATEWAY=192.168.118.2DNS1=192.168.118.2USERCTL=noBONDING_MASTER=yesBONDING_OPTS="miimon=200 mode=1 fail_over_mac=1" # 模式参数
# 真机环境DEVICE=bond0TYPE=BondBONDING_MASTER=yesONBOOT=yesBOOTPROTO=staticIPADDR=192.100.5.140PREFIX=24GATEWAY=192.100.5.254BONDING_OPTS="miimon=100 mode=active-backup"
配置解释: 默认failovermac=0,当发生错误时,只改slave的mac不改bond;fail_over_mac=1时,只改bond不改slave。在vmware虚拟机中配置bond时,需要加上该参数,否这down一个网卡后,bond0 ping 不同 真机环境不需要
第二种模式:mod=1,即: (active-backup) Active-backup policy(主-备份策略)
特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N
1.2、编辑主从网卡配置文件
cat /etc/sysconfig/network-scripts/ifcfg-ens32
OBOOT=yesTYPE=EthernetBOOTPROTO=noneDEVICE=ens32NAME=ens32MASTER=bond0SLAVE=yes
cat /etc/sysconfig/network-scripts/ifcfg-ens34
OBOOT=yesTYPE=EthernetBOOTPROTO=noneDEVICE=ens34NAME=ens34MASTER=bond0SLAVE=yes
2、重启网络
systemctl restart network
查看网卡信息ifconfig
可以看到bond0网卡现在绑定的是ens34网卡,mac地址是与一样的
3、查看bond0状态
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active)Primary Slave: NoneCurrently Active Slave: ens34MII Status: upMII Polling Interval (ms): 200Up Delay (ms): 0Down Delay (ms): 0Slave Interface: ens32MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 2Permanent HW addr: 00:0c:29:14:4a:c4Slave queue ID: 0Slave Interface: ens34MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 1Permanent HW addr: 00:0c:29:14:4a:ceSlave queue ID: 0
4、测试
现在bond绑定在ens34网卡上,将ens34网卡断开,查看网络是否断开ifconfig ens34 down
