Linux之Team 与 Bond实验

本文介绍了在Linux环境下,通过Team和Bond实现网络接口冗余和负载均衡的详细步骤,包括配置、设备管理、宕机测试和负载均衡检查。测试者在CentOS7.4系统上,利用nmclicon和nmcli命令行工具进行了实验,展示了如何删除和添加网络接口,以及设置Bond的active-backup模式和Team的负载均衡模式。在测试过程中,发现当所有网络接口宕机时,连接会断开,验证了冗余技术的有效性。最后,文章推荐使用Team,认为其具有优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux之Team 与 Bond实验

测试者:qjzhao

一、前置条件

测试环境:VM1台centos7.4服务、3个网卡(仅主机模式,NAT),2c4G,50G。

说明:本测试环境是安装完毕系统后又新增两网卡,在/etc/sysconfig/network-scripts/下未生成另外ifcfg-ens**文件(当前只有第一个网卡的ifcfg-ens32,这个根据不同的环境可能有出入),如果是在安装操作系统就创建三张网卡则会自动生成ifcfg-ens文件,无须后期添加。

配置网卡

配置网卡时,需关闭计算机。
在这里插入图片描述

[root@registry ~]# nmcli con
NAME    UUID                                  TYPE      DEVICE 
ens33   d200c7f9-08c6-4086-9234-c969dafdaeac  ethernet  ens33  
ens34   8fa8ec37-8d23-307c-b21a-6aaffdb7964d  ethernet  ens34  
ens35   5313b46e-bebb-3fbb-84c9-2fb2e27ee1ca  ethernet  ens35  
virbr0  e075fc42-28df-419c-a0bc-83199c67aa85  bridge    virbr0 

二、Bond

Bond模式中,
##如果设备的上有ip,则需要先删除设备上的ip
注:常用命令
nmcli con delete
nmcli con down ##停用网卡
nmcli con up
##启动网卡

1、删除虚拟网卡
[root@registry ~]#ifconfig virbr0 down && brctl delbr virbr0 && systemctl disable libvirtd.service && systemctl mask libvirtd.service
[root@registry ~]# nmcli con show
NAME   UUID                                  TYPE      DEVICE 
ens32  d200c7f9-08c6-4086-9234-c969dafdaeac  ethernet  ens32  
ens34  8fa8ec37-8d23-307c-b21a-6aaffdb7964d  ethernet  ens34  
ens35  5313b46e-bebb-3fbb-84c9-2fb2e27ee1ca  ethernet  ens35 
2、添加bond接口

nmcli connection delete bond0 删除已存在的bond接口

[root@localhost ~]# nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 188.188.189.10/24
[root@localhost ~]# 
3、添加Bond接口设备
3.1备份、删除网卡
 cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak &&  cp /etc/sysconfig/network-scripts/ifcfg-ens34 /etc/sysconfig/network-scripts/ifcfg-ens34.bak &&  cp /etc/sysconfig/network-scripts/ifcfg-ens35 /etc/sysconfig/network-scripts/ifcfg-ens35.bak
rm -rf /etc/sysconfig/network-scripts/ifcfg-ens3{3,4,5}
3.2为bond接口添加设备
3.2.1 第一种方法

此处是直接修改ifcfg文件,请注意保留TYPE、NAME、UUID、DEVICE、onboot,**新增MASTER、SLAVE参数**

vim ifcfg-ens33

TYPE=Ethernet
NAME=ens33
UUID=10c4d9df-c49f-4a08-9892-8695af32d938
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes


vim ifcfg-ens34
TYPE=Ethernet
NAME=ens34
UUID=91439b81-6054-43bb-ab56-c2f40b93a7aa
DEVICE=ens34
ONBOOT=yes
MASTER=bond0
SLAVE=yes

vim ifcfg-ens35
TYPE=Ethernet
NAME=ens35
UUID=49e22d15-f61f-413c-92ec-8a5c4072f756
DEVICE=ens35
ONBOOT=yes
MASTER=bond0
SLAVE=yes
~             
3.2.2 第二种方法

这里需要注意的是:通过nmcli添加后会生成新的ifcfg文件,此时我们需要注意的是,需把备份ifcfg文件中的UUID替换成之前备份文件中的UUID

nmcli connection add con-name ens33 ifname ens33 type bond-slave master bond0
nmcli connection add con-name ens34 ifname ens34 type bond-slave master bond0
nmcli connection add con-name ens35 ifname ens35 type bond-slave master bond0
4、reboot
做完以上操作后,就可以重启系统了
5、bond接口状态查看
watch -n 1 cat /proc/net/bonding/bond0 

在这里插入图片描述

6、负载均衡测试
6.1全部宕掉连接测试
[root@qjzhao ~]# nmcli con show
名称   UUID                                  类型            设备  
bond0  9720b432-d27e-4980-ab9e-70bf70f2cee3  bond            bond0 
ens33  10c4d9df-c49f-4a08-9892-8695af32d938  802-3-ethernet  ens33 
ens34  91439b81-6054-43bb-ab56-c2f40b93a7aa  802-3-ethernet  ens34 
ens35  49e22d15-f61f-413c-92ec-8a5c4072f756  802-3-ethernet  ens35 
[root@qjzhao ~]# nmcli con down ens33
成功取消激活连接 'ens33'(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)

[root@qjzhao ~]# nmcli con down ens34
成功取消激活连接 'ens34'(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)

[root@qjzhao ~]# nmcli con down ens35
成功取消激活连接 'ens35'(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)

[root@qjzhao ~]# nmcli con show
名称   UUID                                  类型            设备  
bond0  9720b432-d27e-4980-ab9e-70bf70f2cee3  bond            bond0 
ens33  10c4d9df-c49f-4a08-9892-8695af32d938  802-3-ethernet  --    
ens34  91439b81-6054-43bb-ab56-c2f40b93a7aa  802-3-ethernet  --    
ens35  49e22d15-f61f-413c-92ec-8a5c4072f756  802-3-ethernet  --    

当三个负载节点全部宕掉时,xshell已无法连接。
在这里插入图片描述

6.2宕掉2个连接测试

在这里插入图片描述
在这里插入图片描述

[root@qjzhao ~]# nmcli con up ens34
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7)
[root@qjzhao ~]# nmcli con up ens35
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/8)
[root@qjzhao ~]# 

至此,bond网卡配置完毕。我联想笔记本Tinkpad win10系统,vm15进行此测试时,只要修改网卡配置就直接蓝屏死机。

三、Team

1、备份网卡
 cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak &&  cp /etc/sysconfig/network-scripts/ifcfg-ens34 /etc/sysconfig/network-scripts/ifcfg-ens34.bak &&  cp /etc/sysconfig/network-scripts/ifcfg-ens35 /etc/sysconfig/network-scripts/ifcfg-ens35.bak
2、添加TEAM接口
nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}' ip4 188.188.190.10/24    ##添加team聚合方式
3、为Team接口增加网卡设备
3.1 添加设备的第一种方法

这里需要注意的是:通过nmcli添加后会生成新的ifcfg文件,此时我们需要注意的是,需把备份ifcfg文件中的UUID替换成之前备份文件中的UUID


nmcli connection add con-name ens33 ifname ens33 type team-slave master team0                     
nmcli connection add con-name ens34 ifname ens34 type team-slave master team0 
nmcli connection add con-name ens35 ifname ens35 type team-slave master team0 
3.2添加设备的第二种方法

此处是直接修改ifcfg文件,请注意保留NAME、UUID、DEVICE、onboot,**新增TEAM_MASTER、DEVICETYPE参数**

[root@qjzhao network-scripts]#vim ifcfg-ens33
NAME=ens33
UUID=10c4d9df-c49f-4a08-9892-8695af32d938
DEVICE=ens33
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort

[root@qjzhao network-scripts]# cat ifcfg-ens34
NAME=ens34
UUID=91439b81-6054-43bb-ab56-c2f40b93a7aa
DEVICE=ens34
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort

[root@qjzhao network-scripts]# cat ifcfg-ens35
NAME=ens35
UUID=49e22d15-f61f-413c-92ec-8a5c4072f756
DEVICE=ens35
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort
reboot

做完以上步骤后,可以重启系统。

3、宕机测试
3.1全部宕掉

在这里插入图片描述
在这里插入图片描述

3.2宕掉2个测试
[root@qjzhao ~]# nmcli con up ens33
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5)
[root@qjzhao ~]# nmcli con show
名称   UUID                                  类型            设备  
ens33  10c4d9df-c49f-4a08-9892-8695af32d938  802-3-ethernet  ens33 
team0  e4edccb0-30a5-45d7-a3a3-16373d914042  team            team0 
ens34  91439b81-6054-43bb-ab56-c2f40b93a7aa  802-3-ethernet  --    
ens35  49e22d15-f61f-413c-92ec-8a5c4072f756  802-3-ethernet  --    

在这里插入图片描述

3、负载均衡查看
watch -n 1 teamdctl team0 stat

在这里插入图片描述

[root@qjzhao ~]# nmcli con show
名称   UUID                                  类型            设备  
ens33  10c4d9df-c49f-4a08-9892-8695af32d938  802-3-ethernet  ens33 
ens34  91439b81-6054-43bb-ab56-c2f40b93a7aa  802-3-ethernet  ens34 
ens35  49e22d15-f61f-413c-92ec-8a5c4072f756  802-3-ethernet  ens35 
team0  e4edccb0-30a5-45d7-a3a3-16373d914042  team            team0 

在这里插入图片描述

三、Team与Bond区别

在这里插入图片描述
综述,建议大家使用Team。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值