linux 网卡bond模式
【摘要】 Linux Bonding 常用有 7 种模式(0~6),每种模式适合的交换机环境完全不同。 mode=0 balance-rr(Round Robin)轮询发送。原理:包1 -> 网卡1包2 -> 网卡2包3 -> 网卡1包4 -> 网卡2 优点两条链路都能跑满理论带宽最高例如:10G + 10G = 20G 缺点容易乱序。例如:TCP包1 -> 网卡1TCP包2 -> 网卡2到达顺序可能...
Linux Bonding 常用有 7 种模式(0~6),每种模式适合的交换机环境完全不同。
mode=0 balance-rr(Round Robin)
轮询发送。
原理:
包1 -> 网卡1
包2 -> 网卡2
包3 -> 网卡1
包4 -> 网卡2
优点
- 两条链路都能跑满
- 理论带宽最高
例如:
10G + 10G = 20G
缺点
容易乱序。
例如:
TCP包1 -> 网卡1
TCP包2 -> 网卡2
到达顺序可能变成:
包2先到
包1后到
导致:
TCP重传
性能下降
是否需要交换机
需要静态聚合。
实际使用
现在很少用。
mode=1 active-backup
主备模式。
原理:
网卡1工作
网卡2待机
如果:
网卡1断
自动切:
网卡2
优点
最稳定。
不需要交换机支持。
任何交换机都能用。
不会有:
MAC Flapping
ARP异常
缺点
带宽不能叠加。
例如:
2 × 10G
实际:
只能用10G
适用场景
数据库:
- MySQL
- PostgreSQL
- Oracle
核心业务服务器。
mode=2 balance-xor
原理:
Hash(MAC/IP)
↓
决定走哪张网卡
例如:
客户端A -> 网卡1
客户端B -> 网卡2
优点
- 支持链路聚合
- 支持故障切换
- 不需要LACP
- 适合静态聚合
缺点
单个TCP连接只能走一条链路。
例如:
scp
rsync
mysql同步
最大:
10G
不会变:
20G
适合
服务器
↓
交换机静态聚合
mode=3 broadcast
广播模式。
原理:
所有包
同时发到所有网卡
例如:
包
↓
f0
f1
都发。
优点
可靠性极高。
缺点
浪费带宽。
例如:
发送1G
实际上:
两张卡各发1G
总共:
2G
适合
特殊工业网络。
金融系统。
极少使用。
mode=4 802.3ad
LACP动态聚合。
你原来就是这个。
原理:
服务器
↕
LACP
↕
交换机
双方协商。
优点
标准化。
交换机支持最好。
支持:
Cisco
H3C
华为
Juniper
Arista
缺点
交换机必须正确配置。
否则就会出现你之前看到的:
Partner MAC=00:00:00:00:00:00
Partner Churn State=churned
适合
企业核心网络。
数据中心。
云平台。
mode=5 balance-tlb
TLB = Transmit Load Balancing
发送负载均衡。
原理:
发送
↓
两张卡分担
接收
↓
固定一张卡
优点
不需要交换机。
缺点
接收带宽无法叠加。
例如:
发
20G
收
10G
适合
服务器主动发数据较多的场景。
mode=6 balance-alb
ALB = Adaptive Load Balancing
自适应负载均衡。
原理:
发送:
类似mode5
接收:
通过ARP欺骗
实现均衡。
例如:
客户端A:
看到MAC1
客户端B:
看到MAC2
优点
不需要交换机。
收发都能均衡。
缺点
依赖ARP。
在虚拟化环境容易出问题。
例如:
- VMware
- Hyper-V
- 云服务器
经常不兼容。
总结
| Mode | 名称 | 交换机要求 | 带宽叠加 | 推荐度 |
|---|---|---|---|---|
| 0 | balance-rr | 静态聚合 | 是 | ⭐⭐ |
| 1 | active-backup | 无 | 否 | ⭐⭐⭐⭐⭐ |
| 2 | balance-xor | 静态聚合 | 是 | ⭐⭐⭐⭐⭐ |
| 3 | broadcast | 无 | 否 | ⭐ |
| 4 | 802.3ad(LACP) | LACP | 是 | ⭐⭐⭐⭐⭐ |
| 5 | balance-tlb | 无 | 部分 | ⭐⭐⭐ |
| 6 | balance-alb | 无 | 是 | ⭐⭐⭐ |
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)