Linux Bond (网卡绑定) 技术。
它就像是给服务器装上了"双引擎"甚至"多引擎",不仅能负载均衡 (提速),还能主备切换(容灾)。
01 什么是 Bond?为什么要用它?🔗
Bond ,在 Linux 内核中叫 bonding,在 Windows Server 里叫 NIC Teaming(网卡组合)。
简单来说,就是把多块物理网卡 (Physical NIC) ,在逻辑上虚拟成一块虚拟网卡 (Bond Interface)。
它的核心价值就两个:
-
- 高可用 (High Availability) :
"备胎原理"。两条腿走路,断了一条还有另一条。只要不是所有网线同时被拔,业务就不中断。
- 高可用 (High Availability) :
-
- 负载均衡 (Load Balancing) :
"多车道原理"。原本一条路(1G带宽)太挤,我现在把两条路并成一条(2G带宽),车流量(数据包)分摊到两条路上走。
- 负载均衡 (Load Balancing) :
技术原理一句话:
Bond 驱动接管了物理网卡,对外呈现一个统一的 IP 和 MAC 地址。上层应用根本感觉不到下面有几块网卡在工作。

02 Bond 的七种武器:模式详解 ⚔️
Bond 最让人头大的就是它有 0 到 6 共七种模式 (Mode)。模式选不对,交换机那边不仅不通,甚至会搞出广播风暴。
腿哥把这七种模式分为常用派 和冷门派,大家重点掌握常用的。
🌟 常用派(必须掌握)
1. Mode 0 (balance-rr) ------ 轮询策略
"雨露均沾"
-
• 原理:数据包轮流发。第 1 个包走 eth0,第 2 个包走 eth1,第 3 个包走 eth0... 如此循环。
-
• 优点 :带宽翻倍。容错能力强。
-
• 缺点 :极为致命! 因为数据包乱序。同一个 TCP 会话的包,有的走快路,有的走慢路,到达顺序乱了,对方服务器重组数据包会消耗大量 CPU,甚至导致重传。
-
• 交换机配合 :必须配置! 交换机端口需要做静态链路聚合 (Static EtherChannel / Eth-Trunk)。
2. Mode 1 (active-backup) ------ 主备策略
"最强备胎"
-
• 原理:只有一张主网卡 (Active) 在干活,另一张 (Backup) 在睡觉。只有当主网卡断了,备网卡才会瞬间接手。
-
• 优点 :最稳、最简单。不依赖交换机配置,随便插。
-
• 缺点 :资源浪费。明明有两根线,却只有 1G 的带宽。
-
• 交换机配合 :不需要配置。交换机当做普通端口即可。
3. Mode 4 (802.3ad) ------ 动态链路聚合
"工业标准"
-
• 原理 :遵循 IEEE 802.3ad 标准,利用 LACP (链路聚合控制协议) 进行动态协商。
-
• 优点 :带宽叠加 + 故障切换 。这是企业级环境中最推荐的模式,标准、规范、稳定。它通过 Hash 算法(源IP、目的IP等)来分配流量,保证同一个会话走同一条线,避免了 Mode 0 的乱序问题。
-
• 缺点:对设备要求高,网卡和交换机都必须支持 LACP。
-
• 交换机配合 :必须配置! 交换机端口需要开启 LACP 模式 的动态聚合。
4. Mode 6 (balance-alb) ------ 适应性负载均衡
"智能独狼"
-
• 原理:
-
• 发包:根据负载情况智能分配。
-
• 收包 :黑科技 ARP 欺骗。Bond 驱动会拦截 ARP 回包,把不同网卡的 MAC 地址告诉不同的客户端。让一部分客户端给 eth0 发数据,另一部分给 eth1 发数据。
-
-
• 优点 :不需要交换机配合就能实现负载均衡!
-
• 缺点:ARP 欺骗机制在某些严苛的网络安全环境(如做了 ARP 绑定的交换机)可能会有问题。
-
• 交换机配合 :不需要配置。
🌑 冷门派(了解即可)
-
• Mode 2 (balance-xor) :
基于 Hash 的负载均衡。类似 Mode 0,但它是根据算法固定分配,不会乱序。需要交换机配置静态聚合。
-
• Mode 3 (broadcast) :
广播模式。所有包从所有网卡发出去。极其浪费资源,只有在极其特殊的金融或军工高可靠场景才用,平时谁用谁傻。 -
• Mode 5 (balance-tlb) :
适配器传输负载均衡。发包负载均衡,收包只能走一张卡。不需要交换机配置。Mode 6 是它的升级版。
03 核心实战:交换机该怎么配?🔧
这是网工和系统运维最容易扯皮的地方。系统说:"我 Bond 做好了,你交换机不用动!" 结果一接线就环路或不通。
腿哥整理了这张对照表,配置前拿出来对一下:
| Linux Bond 模式 | 交换机配置要求 | 华为/H3C 术语 | Cisco 术语 |
|---|---|---|---|
| Mode 0 (RR) | 静态聚合 | mode lacp-static |
mode on |
| Mode 1 (主备) | 普通端口 (Access/Trunk) | 无需聚合 | 无需聚合 |
| Mode 2 (XOR) | 静态聚合 | mode lacp-static |
mode on |
| Mode 4 (LACP) | 动态聚合 (LACP) | mode lacp-dynamic |
mode active |
| Mode 5 (TLB) | 普通端口 | 无需聚合 | 无需聚合 |
| Mode 6 (ALB) | 普通端口 | 无需聚合 | 无需聚合 |
⚠️ 腿哥避坑指南:
-
• Mode 0 和 Mode 2 :交换机必须配静态聚合,千万别开 LACP,否则协商不通过,端口会被堵塞。
-
• Mode 4 :交换机必须配 LACP。且 LACP 的 hash 算法最好和服务器的 xmit_hash_policy 保持逻辑一致,否则可能流量不均。
-
• Mode 1/5/6 :交换机千万不要做聚合配置!如果交换机配了聚合,而服务器配了 Mode 1,可能会导致 MAC 地址漂移报警。

04 选型建议:到底该用哪个?🤔
面对这么多模式,腿哥给几个实战建议:
-
- 最推荐:Mode 4 (802.3ad/LACP)
-
• 场景:连接核心交换机、存储服务器、高并发 Web 服务器。
-
• 理由 :标准协议,兼容性好,带宽利用率高,排错容易(LACP 协商状态一目了然)。只要交换机支持,无脑选它。
-
- 最省心:Mode 1 (Active-Backup)
-
• 场景:管理口、对带宽要求不高、交换机不可控(比如托管机房)。
-
• 理由:完全不依赖交换机,插上就能用,稳如老狗。
-
- 没办法的办法:Mode 6 (ALB)
-
• 场景:需要高带宽负载均衡,但交换机管理员很难说话(不给你配聚合),或者跨了两个不支持堆叠的交换机。
-
• 理由:服务器自己通过 ARP 欺骗来搞定流量分发,自力更生。

📝 腿哥总结
Bond 技术是服务器高可用的基石。
-
• 想要 稳 ,用 Mode 1(主备)。
-
• 想要 快 且 规范 ,用 Mode 4(LACP)。
-
• 想要 快 但 没权限改交换机 ,用 Mode 6(ALB)。
切记: 做 Mode 0/2/4 之前,一定要和网络工程师沟通好,服务器和交换机的配置必须双向奔赴,否则就是一场网络事故!