讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux teamd 的 runner activebackup / loadbalance / lacp 与 bonding 的功能对比

风明吖_3275

风明吖_3275

发布时间:2026-02-20 16:37:02

|

187人浏览过

|

来源于php中文网

原创

teamd的activebackup与bonding mode=1本质相同但初始化不同:teamd默认不预选主端口,需显式配置runner.active_backup.primary,否则可能因link up顺序导致非预期端口接管流量。

linux teamd 的 runner activebackup / loadbalance / lacp 与 bonding 的功能对比

teamd 的 activebackup 和 bonding 的 mode=1 本质一样,但初始化行为不同

两者都只允许一个端口发包,故障时切换;但 teamd 默认不预选主端口,依赖 runner.active_backup.primary 配置或运行时选举,而 bonding 的 primary 参数在加载时即锁定主设备。没配 primary 时,teamd 可能因 link up 顺序导致非预期端口先接管流量。

  • 常见错误现象:teamdctl team0 state 显示 runner: activebackup,但主备切换后 IP 响应延迟高、ARP 表未刷新
  • 必须显式设置 runner.active_backup.primary "ens3",否则依赖 link_watch 的探测间隔(默认 100ms),比 bonding 的 miimon=100 更易漏判瞬断
  • teamd 不支持 fail_over_mac 类似 bonding 的 MAC 行为控制,切换时交换机 MAC 表老化可能引发短暂丢包

teamd 的 loadbalance 没有 bonding 的 mode=2(balance-xor)哈希粒度控制

两者都按源/目的地址哈希分发包,但 bonding 允许用 xmit_hash_policy 指定 layer2 / layer3+4 等策略,teamd 的 runner.load_balance.tx_balancer 只支持 basic(仅 MAC)和 xor(MAC + IP + port,但无法单独禁用 port)。

Browser Setup (No-Root Linux)
Browser Setup (No-Root Linux)

在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...

下载
  • 使用场景:后端是多台服务器且希望连接级负载均衡 → teamd 的 xor 会把同一 TCP 连接始终压到同一物理口,但若对端交换机也做 L4 哈希,可能造成二次偏斜
  • 参数差异:bonding 的 xmit_hash_policy=layer3+4 可应对 NAT 后的源端口变化,teamd 的 xor 在 SNAT 场景下容易让多个内网 IP 被哈希到同一从口
  • 性能影响:两者都不做 per-packet 负载,但 teamd 缺少 resend_igmp 类似机制,组播路由切换后 IGMP 报文可能卡在旧端口

teamd 的 lacp 与 bonding 的 mode=4 兼容性关键在 lacp_rate 和 aggregator_select_policy

表面上都走 802.3ad,但 teamd 默认用 lacp_rate=fast(每秒发 LACPDU),而 bonding 默认 slow(每 30 秒);若交换机只支持 slow,teamd 侧会持续报 LAG not aggregatable 错误。

  • 常见错误现象:teamdctl team0 state 显示 runner: lacp,但 ports 下所有接口状态为 disabled,dmesg 出现 lacpdu rx timeout
  • 必须同步配置:runner.lacp.lacp_rate "slow" 且 runner.lacp.aggregator_select_policy "stable"(bonding 的 ad_select=stable),否则遇到端口 flapping 时 teamd 可能频繁重建 aggregator
  • 兼容性影响:某些老交换机(如 Cisco IE-3000)不识别 teamd 发出的 LACP actor key 中的扩展字段,需关掉 runner.lacp.port_enabled 的自动协商回退逻辑

替换 bonding 为 teamd 时,sysfs 接口和监控方式彻底不同

不能再查 /proc/net/bonding/bond0 或 /sys/class/net/bond0/bonding/slaves,teamd 只暴露 teamdctl CLI 和 D-Bus 接口;脚本中硬编码路径会直接失效。

  • 监控要点:teamdctl team0 state -v 输出是 JSON-like 结构,但无标准 schema,解析需依赖正则或 jq -r '.runner.port_state.ens3.state' 这类字段路径
  • 容易踩的坑:systemd service 文件里写 ExecStartPost=/bin/sh -c 'echo 1 > /sys/class/net/team0/bonding/miimon' 会报错 —— teamd 根本不创建 bonding 子目录
  • 调试建议:用 teamd -d -c /etc/teamd/team0.conf -o team0 启动看实时日志,重点盯 runner_notify 和 link_watch 模块输出,而不是查 /var/log/messages
实际部署时最常被忽略的是 link watch 配置粒度 —— teamd 的 ethtool 检测默认不启用 delay_up,端口刚 up 就切流量,但 PHY 层实际未稳定;而 bonding 的 updelay 是内置行为。这个时间差在堆叠交换机环境里容易引发 STP 振荡。

热门AI工具

更多
SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

1995

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2802

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

956

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

3159

2025.09.10

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

3068

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

4409

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3709

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

386

2026.01.19

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

0

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn