通过多个接口平衡流量

通过多个接口平衡流量

我有一台带有 8 个以太网接口的“客户端”机器。(配置为 dhcp)(这些接口插入一个具有 vlan conf/port 的特殊交换机,例如插入特定端口总会获得相同的 ip。)

我有一台“服务器”机器,它希望通过其所有接口在客户端机器上发起 tcp 流量以最大化带宽。(服务器使用光纤电缆插入同一交换机以承受 8 个 1GbE 的负载)

我的问题是客户端机器将所有流量路由到其仅一个接口,因此我的传输速度上限为 120MB/s。

Extract of route commands on the client machine:
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt  Iface
0.0.0.0         10.11.13.1      0.0.0.0         UG        0 0          0 eth4
10.11.9.0       0.0.0.0         255.255.255.0   U         0 0          0 eth10
10.11.9.2       10.11.9.1       255.255.255.255 UGH       0 0          0 eth10 # I ADDED THIS ONE
10.11.10.0      0.0.0.0         255.255.255.0   U         0 0          0 eth11
10.11.10.2      10.11.10.1      255.255.255.255 UGH       0 0          0 eth11 # I ADDED THIS ONE
10.11.11.0      0.0.0.0         255.255.255.0   U         0 0          0 eth9
10.11.12.0      0.0.0.0         255.255.255.0   U         0 0          0 eth8
10.11.13.0      0.0.0.0         255.255.255.0   U         0 0          0 eth4
10.11.14.0      0.0.0.0         255.255.255.0   U         0 0          0 eth7
10.11.15.0      0.0.0.0         255.255.255.0   U         0 0          0 eth6
10.11.16.0      0.0.0.0         255.255.255.0   U         0 0          0 eth5

169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 usb0 169.254.95.0 0.0.0.0 255.255.255.0 U 0 0 0 usb0

根据此输出,我明白了为什么会发生这种情况。你可以看到我尝试修改它,但似乎我对问题的理解不够充分。

我希望你能帮忙!

答案1

了解您的发行版会有所帮助。无论如何,您想要做的是使用绑定。这是在 CentOS 上可以完成的方式(您的问题表明您需要 mode=4(动态链路聚合)如果您的交换机可以支持它,或者 mode=6 可能是您想要实现的,如果您想对传入和传出流量进行负载平衡:https://wiki.centos.org/TipsAndTricks/BondingInterfaces

这是有人针对 CentOS 7 (最新的 CentOS) 所做的:http://www.unixmen.com/linux-basics-create-network-bonding-on-centos-76-5/

答案2

绑定绝对是您想要做的,但它可能不会给您带来希望的结果。正如 Jeroen 在上面的评论中指出的那样,绑定 8x1Gb 不会给您 1x8Gb 连接。您最终会得到 1Gb 连接,其饱和难度是 8 倍。但如果您主要与同一台服务器通信,您可能不会接近绑定饱和。

请参阅此问题以获得有关粘合模式的很好的解释:Linux 中各通道绑定模式有何区别?请密切关注答案#2中的最后一段:

Note: whatever you do, one network connection always go through one and 
only one physical link. So when aggregating GigE interfaces, a file 
transfer from machine A to machine B can't top 1 gigabit/s, even if each
machine has 4 aggregated GigE interfaces (whatever the bonding mode in use).

如果您确实需要那么大的带宽,您可能需要考虑为您的客户端机器配备 10Gb 接口。

编辑:根据 OP 明确的要求:在您的服务器和交换机之间建立中继连接,将所有 vlan 分配给它,然后在服务器上为每个 vlan 添加一个 IP。

相关内容