Linux网卡Bond核心篇:bond0和bond1怎么选?
做Linux运维的朋友,肯定遇过两个头疼问题:要么服务器网卡突然故障导致业务断网,要么内网传大文件、业务访问量大时带宽不够用。其实内核原生的网卡Bond就能轻松解决,不用装额外软件、不用复杂配置,而bond0和bond1是所有Bond模式中最基础、最常用的两个,一个主打带宽拉满,一个主打极致高可用,搞懂这两个,就能覆盖80%的日常运维场景。先搞懂:什么是Linux网卡Bond?
简单说,Bond就是把服务器上的多块物理网卡,绑定成一个虚拟的Bond网卡(比如bond0)。对外只暴露一个IP和MAC地址,没有独立IP,所有网络收发都由虚拟Bond网卡接管。核心作用就两个:负载均衡(提升带宽)、链路冗余(网卡故障不中断)。
bond0:平衡轮询
核心原理
简单理解就是排队轮流干活:服务器发数据包时,按顺序轮询分配到各物理网卡,包1走eth0、包2走eth1、包3再走eth0……所有网卡同时满负荷工作,相当于把多块网卡的带宽“叠起来”。关键特性
✅ 负载均衡拉满:2个1G网卡绑定≈2G带宽,4个1G≈4G,带宽近似线性叠加;❌ 无任何冗余能力:只要有一块网卡、甚至对应的交换机端口故障,业务直接中断,相当于“一根绳上的蚂蚱”;❌ 无交换机要求:普通交换机直接用,不用做任何配置,开箱即用。优缺
无冗余,轮询发包易导致数据包乱序,影响数据库、视频流等对包序敏感的应用 适用场景
bond1:主动备份
核心原理
简单理解就是一个干活,其他待命:始终只有一块物理网卡处于“活动状态”处理所有网络请求,其余网卡都是“备份状态”;一旦活动网卡/链路故障,备份网卡会无缝接管(MAC和IP不变,几乎无丢包),业务完全不受影响。关键特性
❌ 无负载均衡:始终只有一块网卡工作,再多网卡也无法叠加带宽,资源利用率低;✅ 冗余能力拉满:所有Bond模式中高可用最好的,网卡故障秒切,核心业务零中断;❌ 无交换机要求:普通交换机直接用,无需任何配置,和bond0一样省心。优缺点一眼看
适用场景
主打核心业务的高可用兜底,宁肯浪费带宽,也不能断网,比如:所有对“网络稳定性”要求高于“带宽速度”的核心场景。避坑指南
不管用bond0还是bond1,这几个坑踩了必出问题,都是运维实操中最容易犯的错:- 混绑不同速率网卡:把1G和10G网卡绑一起,最终所有网卡都会按1G速率运行,白瞎万兆网卡;
- 忘记配miimon参数:没开链路检测,网卡故障了服务器根本不知道,bond0断网、bond1也不会自动切换,等于白配;
- 给物理网卡配IP:物理网卡是“从设备”,所有IP、网关、掩码都要配在虚拟Bond网卡上,物理网卡配IP会导致网络冲突;
- bond0跑核心敏感应用:比如数据库、视频流、金融类业务,数据包乱序会导致数据出错、业务卡顿,这类场景哪怕带宽不够,也优先用bond1。
你平时做Linux运维时,bond0和bond1用得更多?有没有踩过什么坑?评论区聊聊~