**什么是bond**网卡

什么是bond网卡

bond是通过把多张网卡绑定为一个虚拟逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。在应用部署中是一种常用的技术。注bond绑定的网卡mac地址相同,因此建议注释物理网卡mac

bond的模式种类

常见的bond模式有七种: 

Mode=0

Mode=1

Mode=3

Mode=4

Mode=5

Mode=6

通过命令:创建bond(暂未验证)

创建bond主备模式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#创建网卡bond0,主备模式
nmcli connection add con-name bond0 type bond ifname bond0 mode  active-backu
#查看状态
nmcli connection show

#将多张网卡绑定到bond0
nmcli connection add type bond-slave ifname eth0 master bond0
nmcli connection add type bond-slave ifname eth1 master bond0

#两种方式查看
#nmcli
nmcli connection show
#通过bond0状态
cat /proc/net/bonding/bond0

#启用
nmcli connection up bond-slave-eth0
nmcli connection up bond-slave-eth1

#手动配bond0地址
nmcli connection modify bond0 ipv4.addresses 192.168.146.140/24  ipv4.gateway 192.168.146.2 ipv4.dns 192.168.146.2 ipv4.method manual

通过配置文件:创建bond

1.创建一个ifcfg-bond0

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
cat <<EOF >/etc/sysconfig/network-scripts/ifcfg-bond0
#类型
TYPE=Bond
#是否主网卡
BONDING_MASTER=yes
#mode: 绑定模式(主备模式active-backup, 轮询负载均衡流量分发balance-rr, 基于哈希的负载均衡balance-xor)
#miimon: 链路检测间隔(单位:毫秒)
#primary: 指定主网卡(可选)
BONDING_OPTS="mode=active-backup miimon=100 primary=ens33"
NAME=bond0
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.61.100
NETMASK=255.255.255.0
GATEWAY=192.168.61.2
DNS1=223.5.5.5
EOF

2.修改多张从属物理网卡的配置,核心MASTER=你的bond名

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#备份网卡
cp ifcfg-网卡名{,.bak}
#修改网卡
TYPE=Ethernet
BOOTPROTO=none
NAME=网卡名
DEVICE=网卡名
ONBOOT=yes
#绑定你的bond名
MASTER=bond0
SLAVE=yes

3.重启网络

1
2
3
4
5
#重启网络服务
systemctl restart network

#禁用网卡,再启用网卡(避免原网卡ip没有释放)
ifdown 网卡 && ifup 网卡

验证:断开任意一个网卡ping

1.ifdown 第一块网卡,ping规划的bond的ip,正常恢复ifup 网卡

2.ifdown 第二块网卡,ping规划的bond的ip,正常恢复ifup 网卡