Linux team 技术详细介绍

我们在使用新版本Linux时,会发现 team 已逐步替代 bonding 实现网卡绑定技术,今天就来详细了解一下 team 。


team 技术简介

team 是一种聚合物理和虚拟网络接口的方法,以提供高吞吐量或冗余的逻辑接口。因此,team是一个易扩展的解决方案,来满足负载平衡和冗余的要求。

如果想使用team功能,需要 teamd 和 NetworkManager-team 软件包,新版本的操作系统一般会默认安装;另外在服务器中需要有两个或者两个以上物理网卡(虚拟网卡也支持),并且连接到交换机。

team 和 bonding 之间的差异,可以查阅下表:

配置方法

  1. 创建team接口:
$ nmcli connection add type team ifname team0 con-name team0 config '{"runner": {"name": "activebackup"}}'

此命令创建一个使用 activebackup runner、名为 team0 的网络组。

注,team可用的 runner 如下:

broadcast :在所有端口上的传输数据

roundrobin :在所有端口上依次传输数据

activebackup :在一个端口上的传输数据,其它端口为备份

loadbalance:按照负载均衡算法传输数据,如源-目的MAC地址哈希

random :在随机选择的端口上传输数据

lacp :实现 802.3ad 链路聚合控制协议(LACP)

2. 设置链接监视器 link-watchers

链路监视器支持不同的参数,例如这里使用 ethtool,并将其delay-up 参数设置为 2500 毫秒(2.5 秒):

$ nmcli connection modify team0 team.link-watchers "name=ethtool delay-up=2500"

link-watchers 类型包括:

ethtool:使用 ethtool 工具来监视链接状态的变化,这是默认的 link-watcher

arp_ping: 通过某端口发送 ARP 请求,如果有收到 ARP 请求,则认为链路为 up 状态

nsna_ping: 类似 arp_ping,但是使用 IPv6 邻居请求(NS,neighbor solicitation)和邻居发现机制(NA,neighbor advertisement)。只用于 IPv6 环境


3. 为team分配网络接口

这里将eno1、eno2两块网卡接入team0:

$ nmcli connection add type team-slave con-name team0-port1 ifname eno1 master team0
$ nmcli connection add type team-slave con-name team0-port2 ifname eno2 master team0


4. 配置team0 的 IP 设置

设置包括的静态 IPv4 地址、网络掩码、默认网关:

$ nmcli connection modify team0 ipv4.addresses '10.1.1.52/24'
$ nmcli connection modify team0 ipv4.gateway '10.1.1.254'
$ nmcli connection modify team0 ipv4.method manual


5. 激活连接:

$ nmcli connection up team0


6. 显示team状态:

$ teamdctl team0 state
$ nmcli device status
[root@node02 ~]# nmcli device status
DEVICE TYPE STATE CONNECTION  
team0 team connected team0  
eno1 ethernet connected team0-port1 
eno2 ethernet connected team0-port2 
lo loopback unmanaged --
[root@node02 ~]# ip addr
2: eno1:  mtu 1500 qdisc mq master team0 state UP group default qlen 1000
 link/ether 2c:44:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: eno2:  mtu 1500 qdisc mq master team0 state UP group default qlen 1000
 link/ether 2c:44:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
20: team0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
 link/ether 2c:44:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
 inet 10.1.1.52/24 brd 10.1.1.255 scope global noprefixroute team0
 valid_lft forever preferred_lft forever

配置文件参考

team 生成的配置文件路径在 /etc/sysconfig/network-scripts/目录下,具体内容如下:

# cat ifcfg-team0
TEAM_CONFIG="{ "runner": { "name": "activebackup" }, "link_watch": { "name": "ethtool", "delay_up": 2500 } }"
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=team0
DEVICE=team0
ONBOOT=yes
DEVICETYPE=Team
IPADDR=10.1.1.52
PREFIX=24
GATEWAY=10.1.1.254

# cat ifcfg-team0-port1
NAME=team0-port1
DEVICE=eno1
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort

# cat ifcfg-team0-port2
NAME=team0-port2
DEVICE=eno2
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort


** 持续发布, 欢迎 +关注 **

展开阅读全文

页面更新:2024-03-31

标签:冗余   监视器   端口   网卡   邻居   接口   物理   状态   数据   技术   网络

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top