首页/网络/VLAN 与高可用速查/Linux bond 与交换机对接

Linux bond 与交换机对接

Linux 服务器 bond mode=4(802.3ad)对接交换机 LACP 聚合;发送哈希策略决定分布粒度,mode=1 主备可作为兼容方案。

VLAN 与高可用速查网络更新于 2026-10-13

Linux bond 与交换机怎么配合

服务器侧链路聚合靠内核 bonding(或 team)实现:把多张网卡绑成一个逻辑接口。mode=4 对应 802.3ad,也就是与交换机做 LACP 协商;mode=1 是主备模式,不做协商,交换机侧可以是静态聚合或独立端口。两端模式必须成对,这是现场最常见的错配来源。

基本信息

适用系统Linux(RHEL/CentOS/Ubuntu 等,内核 bonding 模块)
常见模式mode=1 主备、mode=4(802.3ad/LACP)动态聚合
配置工具nmcli、ifcfg 文件、netplan 等按发行版选择
哈希策略xmit_hash_policy 决定分发粒度,可选 layer2、layer3+4 等
对接原则服务器与交换机模式严格成对,单侧 LACP 单侧静态是典型错配

典型使用场景

  • 服务器双网卡上行:与交换机做 LACP 提升带宽与冗余
  • 兼容性折中:交换机不支持 LACP 时退到 mode=1 主备
  • 虚拟化主机组网:多网卡绑定后承载多台虚拟机流量
  • 存储网络:需要稳定带宽时的聚合与哈希策略选择
  • 排障定位:部分服务器通、部分不通时核对两端模式是否成对

nmcli 配置与核对

nmcli 配置与核对
nmcli con add type bond con-name bond0 ifname bond0 mode 802.3ad   # 建 LACP 聚合口
nmcli con mod bond0 +bond.options "miimon=100"                      # 链路监测间隔
nmcli con add type ethernet con-name p1 ifname eno1 master bond0    # 加入成员网卡
nmcli con add type ethernet con-name p2 ifname eno2 master bond0
nmcli con up bond0
cat /proc/net/bonding/bond0        # 查看模式、成员状态与哈希策略
ip -br link show bond0             # 确认逻辑口已启用
ip route show default              # 默认网关应指向虚拟 IP 而非单机实 IP

模式与交换机侧对应

服务器模式交换机侧配置特点
mode=4(802.3ad)动态聚合 LACP带宽叠加 + 冗余,需两端协商成功
mode=1(active-backup)静态聚合或独立端口只有一块网卡工作,不做协商,兼容性好
mode=0(balance-rr)静态聚合可能乱序,生产环境少用
mode=6(balance-alb)需交换机侧相应支持依赖服务器侧 ARP 协商,跨交换机受限
顺序建议:先在交换机侧建好聚合口并配好 LACP,再在服务器侧绑定成员网卡;反向操作容易在协商期内出现成员反复上下。
两端模式错配(服务器 LACP、交换机静态聚合)表现为部分服务器不通或时通时断,排查时先核对两端的模式再查链路。

易错点

  • 两端模式不成对:LACP 对静态聚合时成员不停上下,业务时通时断
  • 哈希策略选得太粗(如默认 layer2)而流量集中在少数会话:分布不均,聚合带宽用不满
  • 服务器把默认网关指向单机实 IP:网关冗余形同虚设,切换当天即暴露
  • 不查 /proc/net/bonding 就下结论:成员实际是否 Up、协商是否成功必须以该文件为准
  • 虚拟化主机上聚合带宽未按虚拟机流量总和规划:聚合口成为新的瓶颈

数据来源与参考

  • Linux 内核文档(bonding)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌