背景知识

bong可以将多个网卡绑定到一起,可以让两个或多个接口作为一个接口,同时提高带宽,并提供网络链路的冗余,当有其中一块网卡故障的时候,不会中断服务器的业务。
常用的bond模式主要为以下两种:

mode=1(active-backup):此模式使用主被策略(热备)。在所有做bond1的物理网卡中,同一时刻只有一张网卡被激活,当且仅当活动网卡失效时才会激活其他的网卡。这种模式下做bond的两张或多张网卡的MAC地址和Bond虚拟网卡的MAC地址相同,而Bond的MAC地址是Bond创建启动后活动网卡(Active
Slave)的MAC地址。这种模式要求主被网卡能快速的切换,即当主网卡出现故障后能迅速地切换至备用网卡。切换过程中,上层的应用几乎不受影响,因为Bond的驱动程序会临时接管上层应用的数据包,存放至数据缓冲区,等待备用网卡启动后再发送出去。但是如果切换时间过长,则会引起缓冲区的溢出,导致丢包。

mode=4(802.3ad):使用动态链接聚合策略,启动时会创建一个聚合组,所有Slave网卡共享同样的速率和双工设定(需要交换机支持IEEE
802.3ad 动态链路聚合(Dynamic link aggregation)模式)
按照当前业务情况,我们的业务和IB网络均使用mode1的方式进行绑定

1、备份原网卡配置
进入/etc/sysconfig/network-scripts/目录,将所有的ifcfg-开头的文件备份

2、配置业务bond
查看当前业务使用的网口

这里使用的是ens6f0和ens6f1 两个口(不同的硬件网卡的名称会不一样)
配置业务bond,名称为:bond1
[root@sever-2 network-scripts]# cat ifcfg-bond1 DEVICE=bond1 TYPE=Bond
NAME=bond1 BONDING_MASTER=yes BOOTPROTO=none ONBOOT=yes IPADDR=10.18.159.45
NETMASK=255.255.255.0 GATEWAY=10.18.159.1 BONDING_OPTS="mode=1 miimon=100"
[root@sever0-2 network-scripts]# cat ifcfg-ens6f0 TYPE=Ethernet BOOTPROTO=none
DEVICE=ens6f0 ONBOOT=yes MASTER=bond1 SLAVE=yes [root@sever-2 network-scripts]#
cat ifcfg-ens6f1 TYPE=Ethernet BOOTPROTO=none DEVICE=ens6f1 ONBOOT=yes
MASTER=bond1 SLAVE=yes [root@sever-2 network-scripts]#
3、配置IB网络bond
这里的IB1口为down的状态是因为没接线

(此处要注意,IB网络是内部通讯用的,千万不要配置网关,否则网络会有问题,操作系统上多个网络,只能有一个网卡可以配置网关,如果有其他特殊需求,可以通过配置路由的方式来实现)
[root@sever-2 network-scripts]# cat ifcfg-bond0 DEVICE=bond0 TYPE=Bond
NAME=bond0 BONDING_MASTER=yes BOOTPROTO=none ONBOOT=yes BONDING_OPTS="mode=1
miimon=100" IPADDR=192.168.11.45 NETMASK=255.255.255.0 [root@sever-2
network-scripts]# cat ifcfg-ib0 TYPE=InfiniBand DEVICE=ib0 BOOTPROTO=none
ONBOOT=yes MASTER=bond0 SLAVE=yes [root@sever-2 network-scripts]# cat ifcfg-ib1
TYPE=InfiniBand DEVICE=ib1 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
4、重启服务激活bond配置
systemctl restart network

5、验证bond
使用ifdown、ifup 关闭开启端口来验证
[root@sever-2 ~]# cat /proc/net/bonding/bond1 Ethernet Channel Bonding Driver:
v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary
Slave: None Currently Active Slave: ens6f0 MII Status: up MII Polling Interval
(ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: ens6f0 MII
Status: up Speed: 10000 Mbps Duplex: full Link Failure Count: 0 Permanent HW
addr: b4:05:5d:ff:22:0c Slave queue ID: 0 Slave Interface: ens6f1 MII Status:
up Speed: 10000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr:
b4:05:5d:ff:22:0d Slave queue ID: 0 [root@sever-2 ~]# ifdown ens6f0 Device
'ens6f0' successfully disconnected. [root@server-2 ~]# cat
/proc/net/bonding/bond1 Ethernet Channel Bonding Driver: v3.7.1 (April 27,
2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None
Currently Active Slave: ens6f1 MII Status: up MII Polling Interval (ms): 100 Up
Delay (ms): 0 Down Delay (ms): 0 Slave Interface: ens6f1 MII Status: up Speed:
10000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr:
b4:05:5d:ff:22:0d Slave queue ID: 0 [root@server-2 ~]# ifup ens6f0 Connection
successfully activated (D-Bus active path:
/org/freedesktop/NetworkManager/ActiveConnection/7) [root@server-2 ~]# cat
/proc/net/bonding/bond1 Ethernet Channel Bonding Driver: v3.7.1 (April 27,
2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None
Currently Active Slave: ens6f0 MII Status: up MII Polling Interval (ms): 100 Up
Delay (ms): 0 Down Delay (ms): 0 Slave Interface: ens6f0 MII Status: up Speed:
10000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr:
b4:05:5d:ff:22:0c Slave queue ID: 0 Slave Interface: ens6f1 MII Status: up
Speed: 10000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr:
b4:05:5d:ff:22:0d Slave queue ID: 0

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信