Bond的模式都有哪些?

Linux Bond (网卡绑定) 技术。

它就像是给服务器装上了"双引擎"甚至"多引擎",不仅能负载均衡 (提速),还能主备切换(容灾)。

01 什么是 Bond?为什么要用它?🔗

Bond ,在 Linux 内核中叫 bonding,在 Windows Server 里叫 NIC Teaming(网卡组合)。

简单来说,就是把多块物理网卡 (Physical NIC) ,在逻辑上虚拟成一块虚拟网卡 (Bond Interface)

它的核心价值就两个:

    1. 高可用 (High Availability)
      "备胎原理"。两条腿走路,断了一条还有另一条。只要不是所有网线同时被拔,业务就不中断。
    1. 负载均衡 (Load Balancing)
      "多车道原理"。原本一条路(1G带宽)太挤,我现在把两条路并成一条(2G带宽),车流量(数据包)分摊到两条路上走。

技术原理一句话:

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 选型建议:到底该用哪个?🤔

面对这么多模式,腿哥给几个实战建议:

    1. 最推荐:Mode 4 (802.3ad/LACP)
    • 场景:连接核心交换机、存储服务器、高并发 Web 服务器。

    • 理由 :标准协议,兼容性好,带宽利用率高,排错容易(LACP 协商状态一目了然)。只要交换机支持,无脑选它

    1. 最省心:Mode 1 (Active-Backup)
    • 场景:管理口、对带宽要求不高、交换机不可控(比如托管机房)。

    • 理由:完全不依赖交换机,插上就能用,稳如老狗。

    1. 没办法的办法:Mode 6 (ALB)
    • 场景:需要高带宽负载均衡,但交换机管理员很难说话(不给你配聚合),或者跨了两个不支持堆叠的交换机。

    • 理由:服务器自己通过 ARP 欺骗来搞定流量分发,自力更生。

📝 腿哥总结

Bond 技术是服务器高可用的基石。

  • • 想要 ,用 Mode 1(主备)。

  • • 想要 规范 ,用 Mode 4(LACP)。

  • • 想要 没权限改交换机 ,用 Mode 6(ALB)。

切记: 做 Mode 0/2/4 之前,一定要和网络工程师沟通好,服务器和交换机的配置必须双向奔赴,否则就是一场网络事故!

相关推荐
RisunJan2 小时前
Linux命令-lha(压缩或解压缩lzh格式文件)
linux·运维·服务器
好好研究2 小时前
MobaXterm远程连接云服务器(Centos环境)及配置jdk、Tomcat、MySQL环境
java·服务器·mysql·jdk·tomcat·aliyun服务器
以太浮标2 小时前
华为eNSP模拟器综合实验之- ARP代理
网络·智能路由器
范纹杉想快点毕业2 小时前
嵌入式通信协议深度解析:从SPI/I2C到CAN总线的完整实现指南嵌入式工程师的炼成之路:从校园到实战的跨越
linux·运维·服务器·数据库·算法
LuminescenceJ2 小时前
RPC通信中的Context上下文如何跨进程传递消息,gRPC为例分析
开发语言·网络·后端·网络协议·rpc·golang
噔噔君2 小时前
ip link show输出详解
网络·网络协议·tcp/ip
阿钱真强道2 小时前
07 jetlinks-ubuntu20-rk3588-部署
linux·运维·服务器·网络协议·tcp/ip
坐怀不乱杯魂2 小时前
Linux网络 - Socket编程(IPv4&IPv6)
linux·服务器·网络·c++·udp·tcp
网硕互联的小客服2 小时前
站群服务器里的8C/4C/2C/1C有什么区别?选择哪个比较好?
运维·服务器·网络