我的 ESX 主机每个都有 8 个 NIC。
我为我们的 iSCSI SAN 设置了 2 个 NIC - 每个都连接到不同的 SAN 交换机。为 vMotion 和服务控制台设置了 2 个 NIC - 每个都连接到不同的核心交换机(端口通过专用于 vMotion 和管理的 VLAN 进行中继)
我现在有四个剩余端口。目前我们已将这些端口设置为进入默认 VLAN。两个 NIC 连接到一个核心交换机,两个 NIC 连接到另一个核心交换机。我们决定将连接到每个交换机的连接聚合起来 - 因此它们在 vswitch 端分组,并在物理交换机端进行端口通道化。
我现在是阅读传输这些连接的端口并不是特别有用,甚至可能使事情变得更加复杂。
使用 VMware 的端口通道是否存在特殊问题?哪种方法可以在冗余和性能之间实现最佳平衡?
答案1
Duncan Epping 非常了解 VMware 网络,他描述的场景特别糟糕,但有点不寻常(四个网卡聚合到两个独立的以太网通道组中)。但他的分析是正确的 - VMware 不支持设置所需的链路聚合。
端口聚合不会提高单个会话的带宽,但它可以更轻松地提高可用链路的整体利用率。例如,您的四个链路永远不会用于从具有 4Gbps 潜在带宽的服务器提供单个会话,各个会话仍然遍历 VMware 主机(或任何其他系统)上的单个网卡,并通过单点对点连接遍历交换机。但是,如果您选择负载平衡算法,则单独的会话将分布在可用链路上,从而为您提供更好的整体性能。使用 VMware,您可以选择各种组合策略(仅故障转移、按源端口哈希路由和按源\目标 IP 哈希路由),并且除非最近更改,否则它仅支持静态中继而不支持主动 LACP。负载平衡只在正确配置的交换机上工作,因此如果您想使用它,那么您必须在交换机上进行某种端口中继\以太网通道配置。此 VMware 知识库文章解释了一些背景并给出了 Cisco 和 HP 的配置示例。
缺点是,如果您想将网卡分布在不同的交换机上,并使用 IP 哈希来平衡负载,那么它们必须以某种方式堆叠,否则您最终会遇到与 Duncan 描述的问题类似的问题。这存在一些明显的风险,因为该堆栈可能会同时影响所有网卡。事实上,VMware 仍然不完全支持 vSwitch 的 LACP,这使得这比它应该的要困难得多。
答案2
您链接的帖子强调了一个糟糕的配置示例。其中的第一条评论是我们在环境中所做的 - 两个堆叠的 Cisco 交换机之间的以太网通道中有 4 个 NIC。此配置没有任何问题,并且已经运行了一年多,效果很好 - 只是请注意,您获得的不是 4Gb/s 链接,而是 4 个 1Gb/s 链接。
编辑:我还想指出,如果您想跨两个交换机建立端口通道以实现冗余,则必须以某种方式堆叠它们 - 独立交换机将不起作用。如果您有两个独立交换机,那么端口通道不是最佳选择。