我有一个带有多个 NIC(1Gbps)的文件服务器,供一些不同类型的客户端使用。
假设我的交换机使用源 IP 和目标 IP 以及端口配置了哈希。
通过手动负载共享,我的意思是文件服务器上的 NIC 具有不同的 IP,并且通过不同的 IP 安装共享。
通过阅读此 ESXi 链接似乎最好进行手动负载共享。
如果仅考虑带宽,那么问题是,我想知道哪个可以提供更大的吞吐量?
例如,我可以拥有一个 IP 为 1 的 NFS 共享,专用于 ESXI 服务器和使用 IP 为 2 的 SMBA 的工作站。
答案1
带宽不应该是唯一的考虑因素——还要考虑冗余。
在单交换机环境中,如果聚合网卡之一发生故障,LACP 将提供冗余。如果在执行手动负载共享时发生这种情况,则绑定到故障网卡的任何服务也将发生故障。如果您有多个堆叠交换机并将每个 LACP 链路连接到不同的交换机,则此冗余度会增加。
至于哪种方法将提供更大的吞吐量,如果我正确理解了您的情况,那么链路聚合只有当多个客户端同时尝试最大化其与服务器的带宽时才会真正增加吞吐量,而手动负载共享只有当有不同的客户端同时使用每个服务时才会真正增加吞吐量。
那么,您认为这两种情况中的哪一种在您的环境中更常见?这就是您的答案。
(例如,使用 LACP,您可以让 2 台服务器以每台 1Gbps 的速度访问 NFS 共享。而使用手动负载共享,每台服务器仍然只能获得 0.5Gbps,因为它们都必须使用相同的物理链路。但如果您想确保您的 NFS 和 SMB 共享都至少保证 1Gbps,那么手动负载共享可能是可行的方法)。
答案2
如果您的交换机配置为基于第 3+4 层(IP 和端口)进行平衡,您可能会看到每个数据流使用一个单独的接口。假设您使用一系列 TCP 端口从单个端点建立了多个连接。交换机几乎总是会为每个 TCP 会话选择一个单独的接口。我只在几百个不同的环境中见过一次这种情况。
在这种情况下,LACP 是理想的选择,因为您不必管理客户端使用的所有单独 IP。增加的冗余度是额外的好处。