Linux 網(wǎng)絡:聚合鏈路技術之 team
作者:Harry
team是Linux內核3.3引入的一種鏈路聚合驅動,它的功能和bonding類似,但是更靈活、可擴展性更強。
team是Linux內核3.3引入的一種鏈路聚合驅動,它的功能和bonding類似,但是更靈活、可擴展性更強。
它通過teamd用戶空間守護進程來控制,采用JSON格式配置,支持更高效的負載均衡和冗余機制。
簡單來說:bonding是老牌方案,team是更現(xiàn)代的替代者。

一、team支持的主要模式
- roundrobin(輪詢):循環(huán)分配流量到所有端口,帶寬可疊加。
- activebackup:主備模式,一個接口工作,另一個作為備份
- loadbalance:根據(jù)哈希算法(如MAC、IP、端口)分配流量
- broadcast:所有流量發(fā)送到每個端口(多播)
- lacp:兼容IEE 802.3ad LACP協(xié)議,與交換機協(xié)商動態(tài)聚合
二、工作原理
- team守護進程啟動后,根據(jù)配置將多個物理網(wǎng)卡納入team。
- 數(shù)據(jù)流根據(jù)runner算法分配到不同物理接口。
- link watcher(如ethtool,arp_ping)負責鏈路狀態(tài)檢測。
- 如果某條鏈路斷開,流量會自動切換。

三、配置示例
1. 基于nmcli創(chuàng)建(NetworkManager管理)
如創(chuàng)建activebackup模式,綁定ens33和ens36:
- 創(chuàng)建 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 team0
nmcli connection add type team-slave ifname ens36 con-name team0-slave2 master team0- 設置IP地址、網(wǎng)關和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 team0
nmcli con up team0-slave1
nmcli con up team0-slave2- 查看team接口的狀態(tài):
teamnl team0 ports
teamdctl team0 state
- 刪除team接口:
nmcli connection delete team0-slave1
nmcli connection delete team0-slave2
nmcli connection delete team02. 基于 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 team0
ip link set dev team0 up終止守護進程:
teamd -t team0 -k3. RHEL/CentOS ifcfg 文件方式
編輯ifcfg-team0文件:
#/etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.15.136
PREFIX=24
GATEWAY=192.168.15.2
DNS1=114.114.114.114
TEAM_CONFIG='{"runner": {"name":"lacp","active":true,"fast_rate":true, "tx_hash":["ipv4"], "ports":{"ens33:{}, "ens36":{}}}}'
MTU=1476編輯ifcfg-ens33文件:
#/etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0編輯ifcfg-ens36文件:
#/etc/sysconfig/network-scripts/ifcfg-ens36
DEVICE=ens36
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0重啟網(wǎng)絡:
nmcli con reload
nmcli con up team0四、使用建議
- 簡單冗余 → 選 activebackup 模式
- 高吞吐(交換機支持LACP)→ 選lacp模式
- 配置LACP時,要保證交換機端也啟用對應的LAG/LACP組
責任編輯:趙寧寧
來源:
IT人家

























