数据中心网络高可用技术之从服务器到交换机:balance-tlb 和 balance-alb

💡 原文中文,约14800字,阅读约需36分钟。
📝

内容提要

本文讨论了三种网络绑定模式:active-backup、balance-tlb和balance-alb。这些方案都有缺点,但离完美方案越来越近。

🔎

延伸解读

balance-tlb 的适用场景与限制

balance-tlb 模式允许发送流量使用两张网卡,但接收流量只能走一张网卡。这种非对称设计适合出向流量远大于入向流量的服务器,如视频流、HTTP 响应等。然而,它需要硬件支持 MAC 地址改写,且接收端无法利用多网卡带宽。若服务器以接收为主,该模式收益有限。

balance-alb 如何实现接收负载均衡

balance-alb 通过 ARP 响应交替使用两个 MAC 地址,使不同客户端将流量发往不同网卡,从而均衡接收流量。但主机发送 ARP 请求时会广播刷新所有客户端的 ARP 缓存,导致流量暂时集中。为此,需在收到回复后发送 Gratuitous ARP 重新分流。该过程增加了复杂性和切换时间。

故障切换机制的差异

balance-tlb 的故障切换仅需交换主备 MAC 地址并发送 GARP 更新交换机 MAC 表,速度快且不影响客户端 ARP 缓存。而 balance-alb 在网卡故障时,必须更新所有客户端的 ARP 缓存,通过单播 GARP 通知,切换较慢。两者均需硬件支持 MAC 地址修改。

三种绑定模式的演进与局限

从 active-backup 到 balance-tlb 再到 balance-alb,逐步实现了发送和接收的负载均衡,但各有缺点:active-backup 浪费资源,balance-tlb 接收受限,balance-alb 切换慢且依赖客户端 ARP 更新。这些方案均非数据中心当前主流,但为理解更高级的高可用技术奠定了基础。

❓

Q&A

什么是active-backup模式,它的缺点是什么?

active-backup模式只能使用一张网卡,存在资源浪费的问题。

balance-tlb模式是如何实现流量负载均衡的?

balance-tlb模式允许两张卡同时工作,发送流量时使用不同的MAC地址,接收流量时仍然使用一个接口。

balance-alb模式与balance-tlb模式有什么不同?

balance-alb模式通过在ARP响应中交替使用两个MAC地址来实现流量的负载均衡,而balance-tlb模式只在发送流量时使用不同的MAC地址。

在balance-tlb模式中,failover过程是怎样的?

在balance-tlb模式中,failover过程需要交换主备的MAC地址,并通过GARP更新交换机的MAC地址表。

balance-alb模式的failover过程有什么特别之处?

balance-alb模式的failover过程需要更新所有客户端的ARP缓存,以确保流量均匀分配。

这三种网络绑定模式的优缺点是什么?

这三种模式都有缺点,active-backup只能用单卡,balance-tlb和balance-alb需要硬件支持MAC地址修改,但都在逐渐接近理想状态。

🏷️

标签

➡️

继续阅读