Linux 绑定模式 4 (802.3ad) - 2 交换机 - 4 NIC

rno*_*ooo 4 bonding

我知道您可以使用绑定模式 4 与 1 个服务器和 2 个网卡使用 2 个交换机。

Bond 0 由:网卡 1 端口 1 -> 交换机 A 网卡 2 端口 1 -> 交换机 B

在这种情况下,我可以松开交换机或网卡或电缆,而我的网络仍然可以工作,如果一切正常,我将在高可用性之上进行链路聚合。

我的问题是你能做同样的事情,但使用 4 个 NIC 来获得更高的速度并且仍然可以安全地运行。

Bond 0 由:网卡 1 端口 1 -> 交换机 A 网卡 1 端口 2 -> 交换机 B 网卡 2 端口 1 -> 交换机 A 网卡 2 端口 2 -> 交换机 B

交换机可能是思科。

干杯

sup*_*ami 5

您实际上可以将 LACP 绑定配置到两个单独的交换机。

假设您有以下内容:

+------+     +-----+
| eth0 =-----= sw1 |
| eth1 =-----=     |
|      |     +-----+
|      |     +-----+
| eth2 =-----= sw2 |
| eth3 =-----=     |
+------+     +-----+
Run Code Online (Sandbox Code Playgroud)

所有ethX接口都在 中bond0,每个交换机都有一个单独的活动 LACP 端口通道。

绑定可以正常工作,并且会识别两个不同的聚合器 ID,但是一次只能激活一个聚合器,因此在任何时候都只能使用一个开关

所以债券出现并有两个聚合器,一个到 sw1,一个到 sw2。第一个聚合器默认处于活动状态,因此所有流量都将在 eth0/eth1 和 sw1 之间。eth2/eth3 和 sw2 保持空闲备用状态。

假设 sw1 的端口 1 出现故障,因此 sw1 的聚合器只有一个端口处于活动状态。sw1 将继续作为活动的聚合器。但是,您可以使用ad_select=bandwidth(无论哪个 Agg 具有最大带宽)或ad_select=count(无论哪个 Agg 具有最多从属设备)绑定模块参数,使其故障转移到 sw2 。

假设 sw1 完全失败,那么聚合器将关闭,而 sw2 将接管。


Jam*_*ale 0

请记住,对于 802.3ad,绑定中的所有链路都需要连接到同一台交换机,除非该交换机支持通过堆栈/虚拟交换机类型配置与其他交换机共享 802.3ad 信息。

也就是说,您仍然可以通过仅与每个交换机进行绑定来实现具有 4 个网卡和两个交换机的配置,例如:

NIC1/port1 -> bond0 -> switch1
NIC1/port2 -> bond1 -> switch2
NIC2/port1 -> bond0 -> switch1
NIC2/port2 -> bond1 -> switch2
Run Code Online (Sandbox Code Playgroud)

这样,您就可以获得针对单个 NIC 或交换机故障的冗余,并在交换机工作时增加带宽,但您必须自己管理 IP 故障转移。

或者,您可以切换到绑定模式 6,放弃对 802.3ad 的要求并运行您在问题中建议的配置。