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 之前,一定要和网络工程师沟通好,服务器和交换机的配置必须双向奔赴,否则就是一场网络事故!

相关推荐
消失的旧时光-194331 分钟前
Nginx 是什么?为什么它不写在代码里?——从 0 认识 Nginx
运维·服务器·nginx
tod11332 分钟前
TCP全连接队列与tcpdump抓包
网络·网络协议·tcp/ip·github·tcpdump
RisunJan33 分钟前
Linux命令-lpq(查看打印队列状态)
linux·运维·服务器
cheems952734 分钟前
【javaEE】全方位拆解 UDP 协议
网络·网络协议·udp
山君爱摸鱼34 分钟前
Linux-服务进程
linux·运维·服务器
阿乐艾官35 分钟前
【linux文件系统重要目录及命令解释】
linux·运维·服务器
崎岖Qiu38 分钟前
【计算机网络 | 第七篇】数据链路层及三个基本问题
网络·网络协议·计算机网络·数据链路层
Yu_Lijing1 小时前
网络复习篇——网络基础(一)
网络·c++·笔记
郝学胜-神的一滴1 小时前
超越Spring的Summer(一): PackageScanner 类实现原理详解
java·服务器·开发语言·后端·spring·软件构建
乾元1 小时前
身份与访问:行为生物识别(按键习惯、移动轨迹)的 AI 建模
运维·网络·人工智能·深度学习·安全·自动化·安全架构