测试环境:vmware虚拟机,linux系统centos7.8
两块网卡 ens32 ens34
Linux 多网卡的7种bond模式原理
linux多网卡绑定聚合-Bond详细完整版
1、编辑网络配置文件
1.1、编辑bond0网卡配置
cat /etc/sysconfig/network-scripts/ifcfg-bond0
BOOTPROTO=static
DEVICE=bond0
ONBOOT=yes
TYPE=bond # 类型必须是bond
NAME=bond0
IPADDR=192.168.118.120
NETMASK=255.255.255.0
GATEWAY=192.168.118.2
DNS1=192.168.118.2
USERCTL=no
BONDING_MASTER=yes
BONDING_OPTS="miimon=200 mode=1 fail_over_mac=1" # 模式参数
# 真机环境
DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.100.5.140
PREFIX=24
GATEWAY=192.100.5.254
BONDING_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=yes
TYPE=Ethernet
BOOTPROTO=none
DEVICE=ens32
NAME=ens32
MASTER=bond0
SLAVE=yes
cat /etc/sysconfig/network-scripts/ifcfg-ens34
OBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
DEVICE=ens34
NAME=ens34
MASTER=bond0
SLAVE=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: None
Currently Active Slave: ens34
MII Status: up
MII Polling Interval (ms): 200
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: ens32
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 2
Permanent HW addr: 00:0c:29:14:4a:c4
Slave queue ID: 0
Slave Interface: ens34
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:0c:29:14:4a:ce
Slave queue ID: 0
4、测试
现在bond绑定在ens34网卡上,将ens34网卡断开,查看网络是否断开ifconfig ens34 down