Oamc

网卡绑定(bonding)

本页目录

场景

服务器两块网卡要做冗余(主备)或带宽叠加(LACP)。

前置条件

  • 两块网卡都没有在用
  • 交换机侧配合(LACP 需要交换机配聚合)
  • 有控制台兜底,改网络容易失联

配置

NetworkManager 方式(推荐):

nmcli con add type bond con-name bond0 ifname bond0 \
  bond.options "mode=active-backup,miimon=100"

nmcli con add type ethernet con-name bond0-slave1 ifname ens33 master bond0
nmcli con add type ethernet con-name bond0-slave2 ifname ens34 master bond0

nmcli con mod bond0 ipv4.addresses 10.0.0.5/24
nmcli con mod bond0 ipv4.gateway 10.0.0.1
nmcli con mod bond0 ipv4.dns 10.0.0.2
nmcli con mod bond0 ipv4.method manual
nmcli con up bond0

常见模式:

模式 说明
active-backup(1) 主备,交换机不用配
802.3ad(4) LACP,需要交换机配置聚合组
balance-xor(2) 按哈希分流,交换机要配静态聚合
broadcast(3) 双发,浪费带宽,特殊场景用

验证

cat /proc/net/bonding/bond0
nmcli con show
ip a show bond0

MII Status 和 Slave Interface 都要 up。

回滚

nmcli con delete bond0
nmcli con up ens33

坑

  • 802.3ad 交换机没配 LACP,链路根本起不来。
  • 主备模式切主时会有短暂丢包,miimon 别设太大。
  • bond0 的 IP 配错或网关写错,直接失联。
  • 两块网卡速率不同,LACP 只按最小的算。
  • 改 bond 配置要重启网络,先确认能进控制台。
  • 虚拟机上做 bonding 意义不大,宿主机层面已经冗余了。