网卡绑定解决什么问题
bond 把多张物理网卡合成一个逻辑接口:主备模式在单口或单链路故障时自动切换,聚合模式在交换机配合下叠加带宽。信创服务器上既可以用 nmcli 配置,也能用传统的 ifcfg / modprobe 参数方式,两种写法最终落到内核 bonding 驱动,选择一个统一管理即可。
基本信息
| 常见模式 | mode=1 主备(active-backup)、mode=4 聚合(802.3ad/LACP) |
|---|---|
| 前提条件 | mode=4 需要交换机侧配置对应链路聚合组 |
| 配置入口 | nmcli、ifcfg-bond0 + ifcfg-slave、/etc/modprobe.d |
| 查看状态 | cat /proc/net/bonding/bond0、nmcli con show |
| 关键参数 | miimon(链路检测间隔)、xmit_hash_policy(聚合散列策略) |
| 权限要求 | root;远程操作必须保留一条独立管理通道 |
典型使用场景
- 双上联机房的服务器做链路冗余,单条线缆或单台交换机故障不影响业务
- 存储或备份网络需要更大吞吐时做 LACP 聚合
- 虚拟化宿主机给虚拟机汇聚带宽
- 迁移改造过程中用 bond 替代单网卡,降低割接风险
- 等保整改要求关键链路冗余时作为基础配置项
nmcli 创建主备 bond
nmcli 创建主备 bond
nmcli con add type bond con-name bond0 ifname bond0 mode active-backup # 主备模式,无需交换机配合
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.10.20/24 ipv4.gateway 10.0.10.1 ipv4.method manual
nmcli con mod bond0 +bond.options "miimon=100,primary=ens33" # 100ms 检测一次,可选指定主口
nmcli con up bond0 # 启用绑定接口
cat /proc/net/bonding/bond0 # 看当前 Active Slave 与各口状态临时验证与回退
临时验证与回退
cat /proc/net/bonding/bond0 | grep -E 'Bonding Mode|Active Slave|MII Status' # 确认模式与活动口
ethtool ens34 | grep -i speed # 单口速率;聚合总带宽要看交换机侧
nmcli con down bond0-slave2 && nmcli con up bond0-slave2 # 演练切换,确认业务不中断状态字段读法
| 字段 | 含义 | 正常与异常 |
|---|---|---|
| Bonding Mode | 当前生效模式 | 与规划不一致说明配置没生效 |
| Active Slave | 当前转发流量的物理口 | 为空说明没有任何可用从口 |
| MII Status | 各从口链路状态 | 出现 down 需查线缆、光模块或交换机口 |
| Link Failure Count | 累计链路故障次数 | 持续增长说明链路不稳,别只看当下 up |
| Slave Interface 速率 | 单口协商速率 | 低于预期常见于网线类别或光模块不匹配 |
聚合模式的实际带宽由交换机侧聚合组决定,主机侧显示的单口速率不代表总带宽,验收要在交换机上确认聚合是否 up。
远程改 bond 属于高危操作:先把管理地址放到备用链路或用带外管理,改完立刻验证连通性,避免改错后彻底失联。