基于一年多以前的一个问题(多路复用1 Gbps以太网?),我出发并设置了一个新机架,该机架带有一个新的ISP,并具有遍布各地的LACP链接。我们之所以需要这样做,是因为我们有单独的服务器(一个应用程序,一个IP)为Internet上成千上万的客户端计算机提供服务,累计累积速率超过1Gbps。
这个LACP想法应该让我们打破1Gbps的壁垒,而不必花大钱购买10GoE交换机和NIC。不幸的是,我在出站流量分配方面遇到了一些问题。(尽管在上述链接的问题中,凯文·库珀尔(Kevin Kuphal)发出警告,但仍要这样做。)
ISP的路由器是某种形式的Cisco。(我从MAC地址推论得出。)我的交换机是HP ProCurve 2510G-24。服务器是运行Debian Lenny的HP DL 380 G5。一台服务器是热备用服务器。我们的应用程序无法集群。这是一个简化的网络图,其中包括具有IP,MAC和接口的所有relevan网络节点。
尽管包含所有细节,但要处理和描述我的问题有点困难。因此,为简单起见,这是一个简化为节点和物理链接的网络图。
因此,我出发了,将工具包安装在新机架上,并从他们的路由器连接了ISP的电缆。两台服务器都有到我的交换机的LACP链接,而交换机有到ISP路由器的LACP链接。从一开始,我就意识到我的LACP配置不正确:测试显示,往返于每台服务器的所有流量都完全通过服务器到交换机和交换机到路由器之间的一条物理GoE链路。
通过一些Google搜索和有关Linux NIC绑定的大量RTMF时间,我发现我可以通过修改来控制NIC绑定 /etc/modules
# /etc/modules: kernel modules to load at boot time.
# mode=4 is for lacp
# xmit_hash_policy=1 means to use layer3+4(TCP/IP src/dst) & not default layer2
bonding mode=4 miimon=100 max_bonds=2 xmit_hash_policy=1
loop
这使流量按预期通过两个NIC离开我的服务器。但是流量仍然仅通过一个物理链路从交换机转移到路由器。
我们需要通过两个物理链接的流量。阅读并重新阅读《 2510G-24的管理和配置指南》后,我发现:
[LACP使用]源-目的地址对(SA / DA)用于在中继链路上分配出站流量。SA / DA(源地址/目标地址)使交换机根据源/目标地址对将出站流量分配到中继线组内的链路。就是说,根据路径分配的轮换,交换机通过相同的中继链路将流量从相同的源地址发送到相同的目的地址,并通过不同的链路将流量从相同的源地址发送到不同的目的地址。行李箱中的链接。
似乎绑定的链接仅提供一个MAC地址,因此我的服务器到路由器的路径始终会在从交换机到路由器的一条路径上,因为交换机只能看到一个MAC(而不是两个-一个每个LACP链接)。
得到它了。但这就是我想要的:
较昂贵的HP ProCurve交换机是2910al在哈希中使用3级源和目标地址。在ProCurve 2910al的《管理和配置指南》的“跨中继链路的出站流量分配”部分中:
通过中继线的流量的实际分配取决于使用源地址和目标地址中的位进行的计算。当IP地址可用时,计算将包括IP源地址和IP目标地址的后五位,否则将使用MAC地址。
好。因此,为了使此功能按我希望的方式工作,目标地址是关键,因为我的源地址是固定的。这引出了我的问题:
第3层LACP哈希如何精确地工作?
我需要知道使用哪个目标地址:
- 客户的IP,最终目的地?
- 或路由器的IP,即下一个物理链路传输目的地。
我们还没有买过替换交换机。请帮助我确切地了解第3层LACP目标地址哈希是不是我所需要的。不能再购买无用的交换机。