我想绑定 2x10Gb/s 的 Linux 服务器以在唯一客户端发送的虚拟接口上接收/入站超过 10Gb/s。客户端可能会发送超过 10Gb/s(也可能是绑定的)。
在这种情况下,债券模式循环(高利率)似乎是唯一的解决方案或至少是最佳候选方案。我不需要故障转移。
尽管如此,我的 SWITCH PROSAFE XS716T 只为我提供静态选择作为LAG 类型。我无法清楚地弄清楚 SWITCH将如何决定传入的数据包应该以循环方式处理并在服务器的所有从属接口之间以平衡的方式发送。
谢谢
我想绑定 2x10Gb/s 的 Linux 服务器以在唯一客户端发送的虚拟接口上接收/入站超过 10Gb/s。客户端可能会发送超过 10Gb/s(也可能是绑定的)。
在这种情况下,债券模式循环(高利率)似乎是唯一的解决方案或至少是最佳候选方案。我不需要故障转移。
尽管如此,我的 SWITCH PROSAFE XS716T 只为我提供静态选择作为LAG 类型。我无法清楚地弄清楚 SWITCH将如何决定传入的数据包应该以循环方式处理并在服务器的所有从属接口之间以平衡的方式发送。
谢谢
Linux LAG 组可以使用各种负载分配方案,一个交换机通常只提供一个。这通常是源地址/目标地址 SA/DA - 出口端口由 MAC 地址、IP 地址或 IP 和 TCP/UDP 端口组合的源/目标组合的哈希值选择,具体取决于交换机功能。
因此,MAC SA/DA 将仅在 LAG 接口之间分配来自不同端节点的流。IP SA/DA 稍好一些,因为您可以使用多个 IP 地址来帮助分发。IP/端口 SA/DA 是最好的,因为它尝试单独分配每个套接字的流。
在 Linux 方面,您通常可以更好地控制出口流量,但如果瓶颈是入口方向,那么它就是定义您选择的交换机。
没有分配方案会通过不同的接口发送属于单个流的帧。这可以防止流中的无序接收,这通常会导致严重的性能损失。所以基本上,你需要有多个流/套接字连接才能开始。通常,任何 LAG 方案都不会为您提供真正的聚合带宽。
出于您的目的,我发现避免 LAG 中继并使用基于 IP/MAC 的分配和不同的连接会产生更可预测的结果。
使用虚拟 MAC 终端节点,您可以根据工作负载将这些 MAC 分配给物理 NIC。具有更多带宽需求的节点只需获得多个 vNIC。负载平衡可以通过简单的循环 DNS(解析为旋转 IP 的 A 记录)或由 DNS 或应用程序级别控制的更复杂的方案来完成。
您还可以使用虚拟 IP 地址,并通过对 ARP 的严格控制将它们映射到物理或虚拟接口 MAC 地址。这很容易中断扩展会话,因此它更适合小型内容交付等。