Windows Server NLB 与基于硬件的 NLB

Windows Server NLB 与基于硬件的 NLB

有经验的人能解释一下基于硬件的 NLB 相对于 Windows NLB 的卖点是什么,以及 Windows NLB 的主要缺点是什么吗?我最近读了一些材料,这些材料声称 Windows NLB 在具​​有智能交换机和高度虚拟化的现代环境中越来越不合适(主要是因为它使用的网络级技巧)(例子, 或者另一个提到问题的材料)。
当 Windows NLB 会导致麻烦并且硬件 NLB 是唯一的选择时,有人能给我提供明确的答案吗?

答案1

我在拥有 10 台以上服务器的生产环境中使用 NLB 和硬件负载均衡器已有数年经验。下面简要列出了我认为 NLB 与硬件负载均衡器的优缺点:

  • NLB 使用软件进行负载平衡。该软件占用少量 CPU。硬件设备卸载所有 CPU(有时甚至更多 - 例如 SSL 卸载)。
  • NLB 只允许一台服务器每张网卡参与一个负载均衡集,因此如果希望服务器参与多个不同的负载均衡集,则所有服务器都必须具有相同的服务(可以有多个目标 IP 地址和端口,但全部同一组中的服务器必须具有相同的服务)。硬件设备在这方面通常更灵活,并且还具有其他一些不错的功能。
  • NLB 相当可靠,但我们每隔一个月就会遇到一次问题,它会进入奇怪的状态,无法正确进行负载平衡。硬件设备通常更可靠。
  • 管理 NLB 必须从同一 LAN 上的服务器进行。没有基于 Web 的配置。
  • NLB 需要用所有传入数据包淹没网络交换机,或者需要网络交换机对多播数据包有特殊支持。
  • NLB 本质上可以容忍服务器的彻底故障(当然,除非它们全部发生故障),而硬件解决方案需要两个单独的设备并正确配置,以减轻单一设备故障的影响。
  • NLB 只关心设备是否连接到网络,而不关心您的应用程序是否实际运行。硬件负载平衡器通常允许进行应用程序级测试。您可以编写外部软件来检查服务器上的应用程序并以编程方式将其从 NLB 中删除,但这需要更多工作,并且可能还需要容错能力,这可能非常棘手。

相关内容