当前位置: 代码迷 >> 综合 >> Linux——高级网络配置:bond、team网络接口
  详细解决方案

Linux——高级网络配置:bond、team网络接口

热度:69   发布时间:2023-12-23 02:28:09.0

以下实验操作都是在redhat7.0上


#1 什么是网卡聚合

ip<----->网卡,怎样保证ip与网卡的一一对应关系永远是好的?
对于客户来说,只需要知道ip通不通,如果网卡坏了,即使ip地址是好的,网也不通
对于运维人员来说,需要保证网卡时刻正常工作
但是一块网卡有可能会坏掉,因此将多个网卡捆绑在一起,一个坏了让另外一个工作
网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行
可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度
企业监控,事实检测硬件好不好?坏的继续修,利用好的代替
两个设备同时坏的情况比较少,除非人为
思想:将eth0与eth1链路聚合
网卡的链路聚合一般常用的有"bond"和"team"两种模式,"bond"模式最多可以添加两块网卡,"team"模式最多可以添加八块网卡

#2 实验环境:在虚拟机server上面做

1、手动删掉虚拟机server所有的网卡
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、nmcli connection show查看删完没有

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

#2 bond聚合方式配置接口

原理:

Red Hat Enterprise Linux 允许管理员使用 bonding 内核模块和称为通道绑定接口的特殊网
络接口将多个网络接口绑定到一个通道。根据选择的绑定模式,通道绑定使两个或更多个网络接口
作为一个网络接口,从而增加带宽和 / 提供冗余性。

工作模式
roundrobin平衡轮询模式:两块网卡轮流接收数据包。由于两块网卡都正常工作,它能提供两倍的带宽,在这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用。activebackup主动备份模式:只有主网卡 eth0 工作,eth1 作为备份网卡是不工作的,只有当一个网络接口失效时 ( 例如主交换机掉电等 ),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护的功能。broadcast广播容错模式:所有数据包都通过接口广播

1.用命令的方式添加

先多添加一个网卡,使主机成为双网卡

[root@localhost Desktop]# ifconfig 
[root@localhost Desktop]#  nmcli connection delete “System eth0”   # 你的设备名称叫什么你就删什么
[root@localhost Desktop]# nmcli connection add con-name bond0 ifname bond0 type bond mode   # 此处按TAB键
802.3ad        balance-alb    balance-tlb    broadcast      
active-backup  balance-rr     balance-xor   
active-backup    # 使接口更加稳定
balance-rr        # 使速度更快 
[root@localhost Desktop]#  nmcli connection add con-name bond0 ifname bond0 type bond 	mode active-backup ip4 172.25.254.211/24   # 添加bond接口并添加ip地址con-name bond0    # 配置文件链接名
ifname bond0       # 指定接口
type bond           # bond类型
mode active-backup #选定bond工作模式为active-backup
ip4 172.25.254.211/24  #设定ip[root@localhost Desktop]#  ifconfig bond0   #  查看到接口

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

[root@localhost Desktop]# cat /proc/net/bonding/bond0   # 查看接口状态信息

在这里插入图片描述

2、添加两块网卡

[root@localhost Desktop]#  nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0  #将eth0网卡添加到bond接口中
[root@localhost Desktop]# nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0  #将eth1网卡添加到bond接口中
[root@localhost Desktop]# nmcli connection show   ##看聚和网卡是否添加成功

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

3、监控网卡的工作状态

实时监控watch -n 1 cat /proc/net/bonding/bond0 

在这里插入图片描述
4、看看bond网络下主被聚合的效果

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

注意:一共打开三个shel(一个监控; 一个操作; 一个ping通)
可以看出,采用聚合方式当网卡坏了客户不会有任何感觉

4-1、另一种方式,当一个网卡down掉后

[root@station Desktop]# cat /proc/net/bonding/bond0   # 查看接口信息

在这里插入图片描述

[root@station Desktop]# ifconfig eth0 down  # 模拟工作的网卡损坏
[root@station Desktop]# cat /proc/net/bonding/bond0  # 查看到eth1接替工作

在这里插入图片描述

[root@station Desktop]# ifconfig eth0 up
[root@station Desktop]# cat /proc/net/bonding/bond0 #查看到eth0变成备用

在这里插入图片描述
5、删除接口和网卡,恢复实验环境

[root@station Desktop]# nmcli connection delete bond0   # 删除接口
[root@station Desktop]# nmcli connection show
NAME  UUID                                  TYPE            DEVICE 
eth0  0631814e-81c2-48df-9a1b-8942bb370f6c  802-3-ethernet  --     
eth1  d6397ca5-5d3a-46af-ac95-cc5750714f75  802-3-ethernet  --     
[root@station Desktop]# nmcli connection delete eth0  # 删除网卡
[root@station Desktop]# nmcli connection delete eth1
[root@station Desktop]# nmcli connection show
NAME  UUID  TYPE  DEVICE 

2.用文件的方式添加

[root@station Desktop]# vim /etc/sysconfig/network-scripts/ifcfg-bond01 DEVICE=bond02 ONBOOT=yes3 BOOTPROTO=none4 IPADDR=172.25.254.1425 NETMASK=255.255.255.06 TYPE=Bond     # 设备类型7 BONDING_OPTS=mode=active-backup  # 设备的模块

在这里插入图片描述

[root@station Desktop]# vim /etc/sysconfig/network-scripts/ifcfg-eth01 DEVICE=eth02 ONBOOT=yes3 BOOTPROTO=none4 MASTER=bond0
[root@station Desktop]# vim /etc/sysconfig/network-scripts/ifcfg-eth11 DEVICE=eth12 ONBOOT=yes3 BOOTPROTO=none4 MASTER=bond0
[root@station Desktop]# systemctl restart network
[root@station Desktop]# nmcli connection show

在这里插入图片描述

bond只支持数量轮询(轮到谁谁工作),不支持负载均衡(谁闲着,谁工作),对ipv6的支持比较差,不能进行hash加密
注:以文件的方式添加接口时,就必须以文件的方式删除

恢复实验环境

[root@station Desktop]# rm -fr /etc/sysconfig/network-scripts/ifcfg-bond0 
[root@station Desktop]# rm -fr /etc/sysconfig/network-scripts/ifcfg-eth0
[root@station Desktop]# rm -fr /etc/sysconfig/network-scripts/ifcfg-eth1
[root@station Desktop]# systemctl restart network

#3 team类型(bond 的管理方式比较单一,选择更高级的管理方式team)

对于team的了解:
网卡绑定bond可以提高网络的冗余,保证网络可靠性,提高网络速度。为了提高网络容错或吞吐量,一般服务器都会采取多网卡绑定的策略,在RHEL5/RHEL6中使用的是Bond。而RHEL7提供了一项新的实现技术Team,用来实现链路聚合的功能,但是在RHEL7中,不会使用team替换bond,它们是并存的,我们可以选择Team,也可以选择Bond。
该接口与bond接口功能类似,但该接口可以支持八块网卡,不需要手动加载相应内核模块该接口比bond接口多一个模式。

team的种类

broadcast               # 广播容错
roundrobin              # 平衡轮叫
activebackup            # 主备
loadbalance             # 负载均衡模式,判断不同网卡的负载,给负载最少的网卡发送数据包
通过 nmcli 设定 team
team比bonding好的一点:
bonding:轮流(轮到谁就是谁) 接替 
team:轮流 接替 负载均衡(谁空闲就给谁)
实验步骤:

1、用命令的方式进行添加

1、删除之前的bond聚合
在这里插入图片描述

2、添加team聚合接口

nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.111/24

在这里插入图片描述
3、监控watch -n 1 teamdctl team0 stat
在这里插入图片描述
4、添加聚合网卡

nmcli connection add con-name eth0 ifname eth0 type team-slave master team0 
nmcli connection add con-name eth1 ifname eth1 type team-slave master team0

在这里插入图片描述
在这里插入图片描述
5、看team聚合下主备聚合的效果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.用文件的方式添加

[root@station Desktop]# cd /etc/sysconfig/network-scripts/
[root@station network-scripts]# vim ifcfg-team01 DEVICE=team02 TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"3 DEVICETYPE=Team4 BOOTPROTO=none5 IPADDR=172.25.254.1426 PREFIX=247 NAME=team08 ONBOOT=yes

在这里插入图片描述

[root@station network-scripts]# vim ifcfg-eth01 BOOTPROTO=none2 NAME=eth03 DEVICE=eth04 ONBOOT=yes5 TEAM_MASTER=team06 DEVICETYPE=TeamPort
[root@station network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@station network-scripts]# vim ifcfg-eth11 BOOTPROTO=none2 NAME=eth013 DEVICE=eth14 ONBOOT=yes5 TEAM_MASTER=team06 DEVICETYPE=TeamPort

在这里插入图片描述

[root@station network-scripts]# systemctl restart network
[root@station network-scripts]# nmcli connection show

在这里插入图片描述

[root@station Desktop]# teamdctl team0 stat

在这里插入图片描述

#恢复环境

[root@station Desktop]# nmcli connection delete team0
[root@station Desktop]# nmcli connection delete eth0
[root@station Desktop]# nmcli connection delete eth1

总结

首先弄清楚网卡聚合的原理以及类型
其次要明白team聚合比bond聚合的好出就是负载均衡
  相关解决方案