Team是Linux内核3.3版本引入的一种链路聚合驱动,其功能与传统的bonding技术相似,但在灵活性和可扩展性方面表现更为出色。
它通过teamd用户空间守护进程进行管理,采用JSON格式进行配置,支持更高效的负载均衡和冗余机制。
简而言之:bonding是老牌方案,而team则是更具现代感的替代选择。

一、team支持的主要模式
roundrobin(轮询):循环分配数据流到所有端口,带宽可实现叠加。activebackup:主备模式,一个接口工作,另一个作为备份接口。loadbalance:根据哈希算法(如MAC地址、IP地址或端口号)分配流量。broadcast:所有流量同时发送到每个端口(组播场景适用)。lacp:兼容IEEE 802.3ad LACP协议,与交换机协商实现动态链路聚合二、工作原理
team守护进程启动后,根据配置将多个物理网卡纳入聚合组。数据流根据runner算法分配到不同物理接口。link watcher(如ethtool或arp_ping)负责链路状态检测。当某条链路断开时,流量会自动切换到备用链路。
三、配置示例
1. 基于nmcli创建(NetworkManager管理)
以创建activebackup模式为例,绑定ens33和ens36接口:
创建team接口:nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'添加从属接口:
nmcli connection add type team-slave ifname ens33 con-name team0-slave1 master team0nmcli connection add type team-slave ifname ens36 con-name team0-slave2 master team0配置IP地址、网关和DNS:
nmcli connection modify team0 ipv4.addresses 192.168.15.136/24 ipv4.gateway 192.168.15.2 ipv4.dns 8.8.8.8,114.114.114.114 ipv4.method manual connection.autoconnect yes启动接口:
nmcli con up team0nmcli con up team0-slave1nmcli con up team0-slave2查看team接口状态:
teamnl team0 portsteamdctl team0 state

nmcli connection delete team0-slave1nmcli connection delete team0-slave2nmcli connection delete team0
2. 基于teamd JSON配置文件
编辑配置文件:/etc/teamd/team0.conf{ "device": "team0", "runner": { "name": "activebackup" }, "link_watch": { "name": "ethtool" }, "ports": { "ens33": { "prio": -10, "sticky": true }, "ens36": { "prio": 100 } }}
以守护进程方式运行teamd:
teamd -g -f /etc/teamd/team0.conf -d
为teamo接口配置地址并启用:
ip addr add 192.168.15.136/24 dev team0ip link set dev team0 up
终止守护进程:
teamd -t team0 -k
3. RHEL/CentOS ifcfg 文件方式
编辑ifcfg-team0文件:
#/etc/sysconfig/network-scripts/ifcfg-team0DEVICE=team0DEVICETYPE=TeamONBOOT=yesBOOTPROTO=staticIPADDR=192.168.15.136PREFIX=24GATEWAY=192.168.15.2DNS1=114.114.114.114TEAM_CONFIG='{"runner": {"name":"lacp","active":true,"fast_rate":true, "tx_hash":["ipv4"], "ports":{"ens33:{},"ens36":{}}}}'MTU=1476
编辑ifcfg-ens33文件:
#/etc/sysconfig/network-scripts/ifcfg-ens33DEVICE=ens33DEVICETYPE=TeamPortONBOOT=yesTEAM_MASTER=team0
编辑ifcfg-ens36文件:
#/etc/sysconfig/network-scripts/ifcfg-ens36DEVICE=ens36DEVICETYPE=TeamPortONBOOT=yesTEAM_MASTER=team0
重启网络服务:
nmcli con reloadnmcli con up team0
