Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux配置网络组team

Linux如何配置网络组team(链路聚合)

作者:杨了个杨8982

文章介绍了链路聚合与双网卡绑定的区别,以及Team模式在网络中的应用,Team模式提供了更多的功能,如负载均衡、主备模式等,适用于不同的网络场景,并且不需要手动加载内核模块,具有更好的拓展性

一、team介绍

链路聚合与双网卡绑定几乎相同,是Bond的升级版。可以实现多网卡绑定主从冗余,负载均衡,提高网络访问流量。但链路聚合与双网卡绑定技术(bond)不同点就在于,双网卡绑定只能使用两个网卡绑定,而链路聚合最多可将8个网卡汇聚同时做绑定,此聚合模式称之为team,team模式是CentOS7及以上系统才出现的,team不需要手动加载相应内核模块,有更强的拓展性

注:Ubuntu 系统中,从 Ubuntu 16.04 版本开始可以相对方便地设置网络组 Team。

二、Team 模式

模式特点适用场景类比bond模式备注
roundrobin(轮询模式)依次通过所有端口传输数据。适用于对带宽需求较高且各个成员接口性能相近的场景,能够充分利用所有成员接口的带宽资源,实现简单的负载均衡。例如,在数据中心中,服务器需要与多个存储设备进行大量数据传输时,可以采用该模式。Mode 0需要交换机配置聚合
activebackup(主备模式)通过一个端口传输数据,而其他端口则作为备份保留。适用于对网络可靠性要求较高,但对带宽需求相对稳定的场景。比如企业的核心服务器,需要确保网络连接始终可用,采用主备模式可以在主接口故障时迅速切换,保证业务不受影响。Mode 1
broadcast(广播模式)通过所有端口传输数据。适用于需要将相同数据同时发送到多个目标的场景,例如网络监控系统,需要对所有成员接口的流量进行监控,采用广播模式可以方便地获取所有接口的流量信息。Mode 3
lacp(动态链路聚合模式)实施 802.3ad 链路聚合控制协议 (LACP)适用于需要与支持 LACP 的网络设备(如交换机)配合使用的场景,能够实现动态的链路聚合和负载均衡,提高网络的灵活性和可靠性。在企业网络中,服务器与核心交换机之间的连接可以采用 LACP 模式,以实现高效的数据传输和链路冗余。Mode 4交换机侧需要开启 LACP 功能
loadbalance(负载均衡模式)使用主动 Tx 负载均衡和基于 Berkeley 数据包过滤器 (BPF) 的 Tx 端口选择器在所有端口上传输数据。适用于对网络流量分配有较高要求,需要保证数据包顺序的场景。例如,在一些实时通信应用中,为了确保数据的正确传输,采用负载均衡模式可以避免数据包乱序问题。Mode 2需要交换机支持静态链路聚合(如 LACP)

三、team设置

# 1.查看可用网卡
nmcli device status
 
# 2.创建网络组
nmcli connection add type team con-name team1 ifname team1 config '{"runner":{"name":"loadbalance"}}'
nmcli connection show	# 查看网卡状态
 
# 3.添加从属设备
nmcli connection add type team-slave con-name team1-eth1 ifname eth1 master team1
nmcli connection add type team-slave con-name team1-eth2 ifname eth2 master team1
nmcli connection add type team-slave con-name team1-eth3 ifname eth3 master team1
 
# 4.启动从属设备
nmcli connection show	# 查看网卡状态
nmcli connection up team1-eth1
nmcli connection up team1-eth2
nmcli connection up team1-eth3
 
# 5.配置网络组的IP等信息
nmcli connection modify team1 ipv4.addresses 192.168.10.171/24 ipv4.gateway 192.168.10.251 ipv4.method manual
 
# 6.启动网络组
nmcli connection up team1
 
# 7.查看网络组的配置及状态
nmcli device status
teamdctl team1 state

备注:

# 创建 Team 连接,指定模式为 roundrobin
nmcli connection add type team con-name team1 ifname team1 config '{"runner": {"name": "roundrobin"}}'

        

# 创建 Team 连接,指定模式为 activebackup
nmcli connection add type team con-name team1 ifname team1 config '{"runner": {"name": "activebackup"}}'

        

# 创建 Team 连接,指定模式为 broadcast
nmcli connection add type team con-name team1 ifname team1 config '{"runner": {"name": "broadcast"}}'

        

# 创建 Team 连接,指定模式为 lacp 并开启主动模式
nmcli connection add type team con-name team1 ifname team1 config '{"runner": {"name": "lacp", "active": true}}'

        配置 Team 的工作模式为 LACP,"active": true 表示开启主动协商模式,会主动向对端设备(如交换机)发送 LACP 协议报文进行协商。

        

# 创建 Team 连接,指定模式为 loadbalance
nmcli connection add type team con-name team1 ifname team1 config '{"runner": {"name": "loadbalance"}}'

          

若要使用 DHCP 获取 IP 地址,则执行:

nmcli connection modify team1 ipv4.method auto

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文