1. 网络绑定基础概念
各位好,我是老张。今天咱们聊聊网络绑定——说白了,就是把多块物理网卡绑在一起,对外假装是一块网卡。听起来简单?嗯,这里面的门道可不少。
我记得刚入行那会儿,公司一台关键数据库服务器半夜挂了,原因就是单块网卡坏了。从那以后,我对网络绑定就特别上心。你想想看,生产环境里一块网卡坏了就断服,这谁受得了?
什么是网络绑定
网络绑定(Network Bonding),也叫网卡捆绑、链路聚合。就是把两块或更多物理网卡,在操作系统层面组合成一个逻辑接口。对外,它只有一个IP地址;对内,它管理着多块物理网卡。
核心思想:多块网卡 → 一个逻辑接口 → 更高的可用性和带宽
我在项目中遇到过最典型的场景:一台NFS存储服务器,单千兆网口撑死110MB/s,绑上4块千兆网卡后,实测能跑到400MB/s出头。当然,这得看后端磁盘能不能跟上。
绑定的目的与优势
为什么要做网络绑定?说白了就两个原因:怕死、要快。
- 高可用性(HA)——一块网卡挂了,流量自动切到另一块。我见过最夸张的案例,客户一台机器4块网卡坏了3块,业务愣是没断,只是慢了点。
- 带宽叠加——多块网卡同时干活,吞吐量翻倍。注意,不是所有模式都能叠加,后面细说。
- 负载均衡——流量在多块网卡间分摊,避免单块跑满。
- 透明切换——对上层应用完全透明,IP不变,连接不中断。
我的经验:做绑定前,先确认交换机是否支持对应模式。我曾经被坑过一次——配了802.3ad,结果交换机不支持LACP,折腾了两天。
绑定模式概述
Linux内核支持7种绑定模式,但生产环境常用的就4种。我按推荐程度排个序:
| 模式 | 名称 | 特点 | 交换机要求 | 我的评价 |
|---|---|---|---|---|
| mode=1 | active-backup | 主备切换,简单可靠 | 无要求 | 最稳,新手首选 |
| mode=4 | 802.3ad (LACP) | 动态聚合,带宽叠加 | 支持LACP | 生产环境首选 |
| mode=5 | balance-tlb | 发送负载均衡 | 无要求 | 折中方案 |
| mode=6 | balance-alb | 收发都均衡 | 无要求 | 功能最强,但复杂 |
active-backup (mode=1)
这个模式最简单,也最可靠。一块网卡干活,其他网卡待命。干活的那块挂了,备用的立刻顶上。
我个人习惯在管理网络、带外网络用这个模式。为什么?因为管理流量不大,但绝对不能断。有一次客户机房施工,不小心把网线踢掉了,active-backup秒切到备用网卡,我远程连上去都没感觉到断过。
注意:active-backup模式下,总带宽等于单块网卡的带宽。别指望叠加,它只保活。
balance-tlb (mode=5)
TLB全称是Transmit Load Balancing,发送负载均衡。它只对出站流量做均衡,入站流量还是走主网卡。
为什么会有这种模式?说白了,有些老交换机不支持聚合,但你又想利用多块网卡。TLB不需要交换机做任何配置,插上就能用。
我在项目中遇到过一台备份服务器,每天凌晨往外推数据,出站流量巨大。用TLB模式,4块千兆网卡同时往外发,速度确实上去了。但入站流量不大,所以入站瓶颈不明显。
balance-alb (mode=6)
ALB是TLB的升级版,它通过ARP协商技术,让入站流量也能均衡到多块网卡上。说白了,就是收发都均衡。
嗯,这里要注意:ALB虽然功能强,但配置起来稍微麻烦一点。它需要网卡驱动支持MAC地址修改,有些虚拟网卡就不行。
我曾经在KVM虚拟机里试过ALB,结果发现虚拟网卡不支持MAC地址修改,折腾了半天最后换成了TLB。所以,用之前先确认驱动兼容性。
802.3ad (mode=4, LACP)
这是生产环境里我最推荐的模式。它需要交换机支持LACP(Link Aggregation Control Protocol),两边协商后建立聚合链路。
802.3ad的好处是:
- 带宽真正叠加——4块千兆网卡,理论能到4Gbps
- 自动检测链路状态——比单纯看网卡link更可靠
- 标准化协议——各厂商设备都支持
我记得有一次给金融客户做核心网络改造,所有服务器都配了802.3ad + LACP。上线后跑压力测试,4块万兆网卡绑在一起,吞吐量稳定在38Gbps左右。客户看了直点头。
配置小贴士:配802.3ad时,交换机端和服务器端的聚合模式必须一致。我曾经见过有人服务器配了LACP active,交换机配了passive,结果协商失败,链路起不来。
绑定模式选择决策图
下面这张图是我自己总结的,帮你快速选型:
实际部署建议
说了这么多,我总结几条实战经验:
- 新手起步用 active-backup——配置简单,不出幺蛾子。等跑熟了再换其他模式。
- 核心业务用 802.3ad——前提是交换机支持LACP。带宽和可用性都兼顾。
- 交换机不支持聚合时——用 balance-alb 或 balance-tlb。我个人倾向 TLB,少一些麻烦。
- 别混用不同速率网卡——千兆和万兆绑在一起,效果很差。我见过有人这么干,结果万兆网卡被千兆拖慢,得不偿失。
避坑指南:我曾经在生产环境直接改绑定模式,结果网络断了,远程连不上。后来学乖了——先改配置文件,重启网络服务,不行就本地回滚。记住,永远保留一条带外管理通道。