0aa8fe6
这次没有正文改动。
这是 linux/网卡绑定(bonding).md 的改动记录。后台每次保存都会留一份快照,
这里显示的是快照之间的差异,不会混入其他文章的改动。
还没有后台修改记录。
下面是 Git 里的提交,可能包含其他文章的改动(因为一次提交会带上工作区所有变化)。
0aa8fe6
这次没有正文改动。
42afade
@@ -0,0 +1,69 @@ +--- +tags: [bonding, 网卡绑定, 高可用] +order: 110 +--- + +# 网卡绑定(bonding) + +## 场景 + +服务器两块网卡要做冗余(主备)或带宽叠加(LACP)。 + +## 前置条件 + +- 两块网卡都没有在用 +- 交换机侧配合(LACP 需要交换机配聚合) +- 有控制台兜底,改网络容易失联 + +## 配置 + +NetworkManager 方式(推荐): + +```bash +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) | 双发,浪费带宽,特殊场景用 | + +## 验证 + +```bash +cat /proc/net/bonding/bond0 +nmcli con show +ip a show bond0 +``` + +`MII Status` 和 `Slave Interface` 都要 up。 + +## 回滚 + +```bash +nmcli con delete bond0 +nmcli con up ens33 +``` + +## 坑 + +- **`802.3ad` 交换机没配 LACP**,链路根本起不来。 +- 主备模式切主时会有短暂丢包,`miimon` 别设太大。 +- bond0 的 IP 配错或网关写错,直接失联。 +- 两块网卡速率不同,LACP 只按最小的算。 +- 改 bond 配置要重启网络,先确认能进控制台。 +- 虚拟机上做 bonding 意义不大,宿主机层面已经冗余了。