为什么在多交换机拓扑中,balance-alb 被视为无效的高可用性模式?

为什么在多交换机拓扑中,balance-alb 被视为无效的高可用性模式?

在里面Linux 以太网绑定驱动程序 HOWTO,第 11.2 节描述了用于实现高可用性的多交换机拓扑,包括此类设置的精美 ASCII 艺术图,其中涉及两台交换机,其间有交换机间链路 (ISL):

            |                                     |
            |port3                           port3|
      +-----+----+                          +-----+----+
      |          |port2       ISL      port2|          |
      | switch A +--------------------------+ switch B |
      |          |                          |          |
      +-----+----+                          +-----++---+
            |port1                           port1|
            |             +-------+               |
            +-------------+ host1 +---------------+
                     eth0 +-------+ eth1

HOWTO 然后断言:

在诸如上述示例的拓扑中,在优化可用性时,主动备份和广播模式是唯一有用的绑定模式;其他模式要求所有链路终止于同一对等点,以便它们能够合理运行。

balance-alb我的问题是:为什么模式在这种拓扑中不能“理性地表现”?

我可以看到,balance-alb如果 ISL 的规模不够大,就会造成拥堵。例如,如果另一台主机仅连接到交换机 A,则主机 1 上的平衡算法可能会引导流量穿过 ISL,而不是通过主机 1 和交换机 A 之间更直接的链路发送流量。

但是,如果 ISL 的带宽容量明显高于单个绑定连接,则balance-alb似乎可以同时提供高可用性增加主机之间的带宽,这对于高容量、高可用性集群来说是“两全其美”的方案。

是否还有其他考虑因素会导致balance-alb在此拓扑中做出错误的选择?

相关内容