我正在寻找使用dladm在Solaris框中创build聚合。 据我所知,一旦创build了聚合,802.3ad将被用来根据策略(L2,L3或L4)来平衡负载。 唯一的要求是接口连接到支持802.3ad的单个交换机,并且接口以相同速度/全双工运行。 有几个问题希望有人评论:
默认情况下,LACP在每个聚合上都被禁用。 启用LACP有什么好处? 我不会用802.3ad和默认的L4策略进行负载平衡,据我所知,这个策略是根据源端口和目的端口的哈希select出站接口。 阅读维基百科,似乎只有两个好处LACP(1)故障转移和(2)自动configuration。 802.3ad是否已经支持故障切换? 如果链路断开,交换机仍会尝试将数据包传输到该接口? 很难相信这是事实。 而就自动configuration而言,我不确定在交换机上需要configuration什么。 对于802.3ad,我假定交换机只需要知道哪个负载均衡策略(L2,L3或L4)用于发送数据包到聚合。 我错过了什么吗? LACP比802.3ad有什么优势?
我在线阅读NFS时,在服务器/客户端之间使用两个连接:一个用于数据,另一个用于元数据,聚合中数据包的典型传输是循环,导致所有数据stream量都通过一个接口其他接口(假设有两个端口聚合)。 这似乎违背了我读到的有关802.3ad负载平衡策略的内容。 如果正在使用L4(Solaris dladm default),则出站接口将基于源端口和目标端口,并且假设交换机也使用L4,则入站接口也将基于src / dst端口。 我错了吗? 顺便说一句,层2交换机真的看着src / dst端口? 似乎资源密集型交换机将数据包拉开以计算散列,然后重新组合。 我也不希望传出和传入接口被用于相同的src / dst散列,也就是说主机使用的散列algorithm可能与交换机不同,或者它们计算来自不同端的端口。 出于这个原因,我很困惑为什么一个单一的stream将被限制在单个接口的最大吞吐量 – 如果传入和传出的传输可能在不同的接口。
我为分散的post道歉。 我试图理解这些技术,而且我还没有find一个很好的教程或文章来说明这些协议是如何实现的。 我看到很多文章将802.3ad和LACP归为一个。 任何意见将不胜感激。
谢谢!
IEEE 802.3ad是链路聚合的标准,而不是将链路聚合标准移动到802.1组,如802.1ax。
LACP的真正优势在于LACPDU将交换机的链路传输到主机。 这确保链路的两端都能够LACP。 第二个优点是,在LACP中,主机和交换机都将所有聚合端口视为单个端口,从而可以充分利用所有path,与交换机仍然可以看到多个端口的主机端LAG相反,而所有数据包到主机遍历单个path,并且只有来自主机的出站数据包在链路之间进行负载平衡。
如果您使用的交换机供应商支持MLAG或多机箱链路聚合,则可以使用LACP绑定连接到多个交换机的多个链路。 这可以提供很大的弹性,同时简化可pipe理性并优化吞吐量。
但基本上,如果您的交换机支持LACP,请使用LACP。 如果您的交换机不支持LACP,则使用非LACP聚合。
关于第2部分:
我发现我们的思科交换机使用了更基本的负载均衡algorithm。 他们根据以太网帧的详细信息构build了一个哈希表,并将每个散列与通道中的一个端口相关联。
因此,每个源只与一个端口关联,并且仅限于物理链路的吞吐量。