网卡绑定(NIC Bonding 或 Link Aggregation)是将服务器上的多张物理网卡组合成一个逻辑接口的技术。其主要目的是提供网络冗余(高可用性)和/或负载均衡(增加带宽和吞吐量)。
Linux 系统通常支持七种主要的绑定模式(mode 0 到 mode 6),每种模式都有不同的实现原理和适用场景。
主要网卡绑定模式详解
以下是常见的七种绑定模式:
- Mode 0 (balance-rr):平衡循环策略
- 原理: 以循环(Round-Robin)方式在每个从属接口上顺序传输数据包。
- 优点: 提供负载均衡和容错能力。
- 要求: 需要连接的交换机支持 EtherChannel 或类似的链路聚合技术。
- Mode 1 (active-backup):主-备份策略
- 原理: 只有一个网卡处于活动状态,其他网卡作为备份。当活动网卡故障时,其中一个备份网卡会自动接管其 MAC 地址并继续服务。
- 优点: 提供故障转移(Failover)功能,不需要交换机进行特殊配置。
- 应用: 最常用于需要高可用性而非最大吞吐量的场景。
- Mode 2 (balance-xor):平衡异或策略
- 原理: 根据源和目标 MAC 地址的 XOR(异或)结果来选择传输接口。可以实现基于会话的负载均衡。
- 优点: 提供负载均衡和容错能力。
- 要求: 需要交换机支持 EtherChannel 或类似的链路聚合技术。
- Mode 3 (broadcast):广播策略
- 原理: 在所有从属接口上发送所有数据包的副本。
- 优点: 提供最大的容错能力(只要有一个链路工作,数据就能到达),但带宽利用率最低。
- 应用: 通常用于极度需要容错的关键应用。
- Mode 4 (802.3ad/LACP):动态链路聚合
- 原理: 遵循 IEEE 802.3ad 标准,使用链路聚合控制协议(LACP)动态管理聚合链路。它会协商链路的速度、双工模式,并动态地捆绑和解绑链路。
- 优点: 结合了高可用性和负载均衡,并且是行业标准化协议。
- 要求: 必须有支持 802.3ad/LACP 标准并正确配置的交换机。
- Mode 5 (balance-tlb):自适应传输负载均衡
- 原理: 出站流量根据当前网卡的负载进行负载均衡,入站流量由一个活动网卡接收(接收流量无均衡)。
- 优点: 提供容错能力和出站流量的负载均衡,不需要交换机支持特定配置。
- Mode 6 (balance-alb):自适应负载均衡
- 原理: 是 Mode 5 的增强版,增加了接收流量的负载均衡。它通过 ARP 协商来实现入站流量的均衡。
- 优点: 提供容错能力以及出站和入站流量的负载均衡,不需要交换机支持特定配置。
常用模式总结
在实际应用中,最常用的模式是:
- Mode 1: 配置简单,用于提供基本的链路冗余备份。
- Mode 4: 标准化、功能全面的链路聚合,需要交换机支持。
- Mode 6: 无需交换机配置即可实现全面的负载均衡和冗余。