![Bonding 的 balance-xor 和 802.3ad 模式是否旨在提供每个流的平衡?](https://linux22.com/image/617108/Bonding%20%E7%9A%84%20balance-xor%20%E5%92%8C%20802.3ad%20%E6%A8%A1%E5%BC%8F%E6%98%AF%E5%90%A6%E6%97%A8%E5%9C%A8%E6%8F%90%E4%BE%9B%E6%AF%8F%E4%B8%AA%E6%B5%81%E7%9A%84%E5%B9%B3%E8%A1%A1%EF%BC%9F.png)
标题说明了一切 :)
我们有 2 个链接,一个是 1MB(CIR/专用),另一个是 12MB(共享)。12MB 的链接也根本不可靠。所以我想要的是不要将数据包丢进共享链接的“黑洞”,这就是为什么我想要每个流的数据包控制,而不是每个数据包。现在我们正在使用 balance-rr,该模式将它们均匀地分配到 2 个链接上...
所以我需要按流进行负载平衡。我认为 balance-xor 似乎是正确的选择,对吗?
答案1
不,模式 2 根据 平衡每个从属设备xmit_hash_policy
。是否获得一个从属设备取决于 NIC 和/或流量。试图故意平衡两个不同速度的从属设备之间的不同流量是一种不可靠的赌博行为,而模式 2 并非为此而生。
LACP 要求所有从属设备具有相同的速度和双工,因此将 1M 和 12M 链路置于模式 4 结合中并不是有效的配置。
为了实现您所描述的,您可以使用常规路由规则或基于策略的路由。