\t\t负载均衡工作原理 网络负载平衡群集 网络负载平衡关键特性

网络负载平衡群集

Windows 群集这一节讲述网络负载平衡 (NLB),它是作为 Windows 组成部分的两种群集技术之一。有关该主题的总体概述,请参阅 Windows 群集。用网络负载平衡可以增强服务器应用程序的可伸缩性和可用性。可以利用网络负载平衡的应用程序包括诸如 HTTP 和文件传输协议 (FTP)(使用 Internet 信息服务 (IIS))、防火墙与代理(使用 ISA 2000)、虚拟专用网、Windows Media Services、移动信息服务器和终端服务这样的 Web 服务。同时,网络负载平衡有助于改善您的服务器性能的可伸缩性,以跟上不断增长的基于 Internet 客户端的需求。

一个新增的网络负载平衡功能是“网络负载平衡管理器”。“网络负载平衡管理器”允许从一台计算机创建、配置和管理网络负载平衡群集中的所有主机。

网络负载平衡的工作原理

网络负载平衡使用两台或更多台一起工作的主机计算机组成的群集,为服务器提供了高可用性和高伸缩性。Internet 客户端使用一个 IP 地址或一组地址访问群集。客户端无法区别群集和单一服务器。服务器应用程序并不表明它们是在群集上运行的。但是,网络负载平衡群集与运行单个服务器应用程序的单个主机有很大的区别,因为即使在某个群集主机发生故障的情况下,它也可以提供不间断服务。群集对客户端请求的响应也比单个主机快。

如果某个主机发生故障或脱机,则网络负载平衡通过将传入的网络通信重定向到工作的群集主机,从而带来了高可用性。连到脱机主机的现有连接将丢失,但是 Internet 服务仍然是可用的。在多数情况下(例如,就 Web 服务器而言),客户端软件可以自动重试失败的连接,而且客户端在接收响应时,只有数秒钟的延迟。

网络负载平衡通过在分配给网络负载平衡群集的一个或多个虚拟 IP 地址(群集 IP 地址)间分配传入的网络通信,从而带来了可变化的性能。然后,群集中的主机同时对不同的客户端请求甚至来自同一客户端的多个请求做出响应。例如,Web 浏览器可以从网络负载平衡群集中的不同主机获得所有单张网页中的多幅图像。这就提高了处理速度,并缩短了对客户端做出响应的时间。

网络负载平衡使得单个子网上的所有群集主机可以同时检测群集 IP 地址的传入网络通信。在每个群集主机上,网络负载平衡驱动程序充当群集适配器驱动程序和 TCP/IP 堆栈间的过滤器,以便在主机间分配通信。

网络负载平衡采用一种完全分布式的算法,根据传入客户端的 IP 地址和端口,以统计方式将其映射到群集主机。此进程的发生不需要主机间进行任何通信。当发现到达的数据包时,所有主机同时执行这种映射,以快速确定哪个主机应当处理这个程序包。这种映射一直保持不变,直到群集主机数发生更改时为止。与集中式负载平衡应用程序相比,网络负载平衡筛选算法处理数据包的效率更高,因为前者必须修改和重新传送数据包。

群集通信的分配

网络负载平衡通过以下方式,控制从 Internet 客户端到群集中选定主机的 TCP 和 UDP 通信的分配:配置好网络负载平衡后,群集中的所有主机都接收传到群集 IP 地址的传入客户端请求。网络负载平衡筛选传到指定 TCP 和 UDP 端口的传入数据报,之后这些数据报才会到达 TCP/IP 协议软件。网络负载平衡在 TCP/IP 内管理 TCP 和 UDP 协议,从而逐个端口地控制其操作。

在多播模式下,网络负载平衡可以提供 Internet 组管理协议 (IGMP) 支持,限制交换流。除了指定端口的 TCP 和 UDP 通信以及多播模式中的 IGMP 通信,网络负载平衡不控制任何传入 IP 通信。它并不筛选其他 IP 协议(例如,ICMP 或 ARP),但是下述情况除外。请注意,当使用群集 IP 地址时,应当会看到来自特定点对点 TCP/IP 应用程序(例如 ping)的重复响应。如果需要,这些应用程序可以将专用 IP 地址用于每个主机,以避免这种操作。

聚合

为了协调其操作,网络负载平衡主机在群集内周期性地交换检测信号(详细信息,请参阅什么是 IP 多播)。IP 多播允许主机监控群集状态。当群集状态更改时(例如当主机发生故障、离开或加入群集时),网络负载平衡将调用一个被称作聚合的过程,在该过程中,主机交换数量有限的消息,以确定群集的新的一致状态,并为主机指定最高主机优先级,即作为新的默认主机。当所有群集主机在正确的新群集状态下取得一致后,它们将在 Windows 事件日志中记录聚合的完成。完成这个过程一般用不了 10 秒种。

在聚合过程中,其余主机继续处理传入的网络通信。对工作主机的客户端请求不受影响。完成聚合后,将以故障主机为目标的通信重新分发给仍在工作的主机。经过负载平衡后的通信将在仍在工作的主机间得到重新划分,以便尽可能好地实现特定 TCP 或 UDP 端口的新的负载平衡。

如果向群集添加了一个主机,则聚合允许该主机接收自己那份经过负载平衡的通信。群集的扩展不影响正在进行的群集操作,而且其实现过程对 Internet 客户端和服务器应用程序都是透明的。但是,当选择了相似性时,它可能影响跨多条 TCP 连接的客户端会话,因为可能会将客户端重映射到连接间的不同群集主机。有关相似性的详细信息,请参阅网络负载平衡和状态可控的连接。

网络负载平衡假定,主机在群集内正常工作的时间与它同其他群集主机交换检测信号的时间一样长。如果在多次检测信号交换中,其他主机都没有接收到来自任何成员的响应,则它们将启动聚合,重新分发本来应由失败主机处理的负载。

对于消息交换时段以及启动聚合所需的丢失的消息数,您都可以进行控制。默认值设置分别为 1000 毫秒(1 秒)和 5 个丢失的消息交换时段。由于一般都不修改这些参数,所以无法通过“网络负载平衡属性”对话框配置它们。必要时,可以在注册表中手动调整它们。调整聚合参数对完成此操作的过程进行了描述。

正确保护网络负载平衡主机和经过负载平衡的应用程序

网络负载平衡并不为经过负载平衡的主机提供额外的安全保护,也不可以将其用作防火墙。因此,正确保护经过负载平衡的应用程序和主机是很重要的。通常,在各个具体应用程序的文档中可以找到安全过程说明。例如,如果用网络负载平衡来对 Internet 信息服务 (IIS) 服务器群集进行负载平衡,则应当按照保护 IIS 的过程和指导进行操作。

必须从物理上保护网络负载平衡子网,防止未授权的计算机和设备入侵,以避免未授权检测信号数据包的干扰。

如果使用“网络负载平衡管理器”带的可选主机列表,请确保只有本地 Administrators 组中的用户有权访问主机列表文件。

网络负载平衡关键特性

可伸缩性

  • 面向整个群集的单独 TCP/IP 服务的负载平衡请求。
  • 在一个群集中最多支持 32 台计算机。
  • 在群集中的多个主机上,对来自同一客户端或多个客户端的服务器请求进行负载平衡。
  • 完全的流水线方式确保高性能和低开销。

    注意

    • 在数据包接收期间,网络负载平衡的完全流水线方式使传入数据包至 TCP/IP 的传递与其他数据包通过 NDIS 驱动程序的接收过程部分重叠。由于 TCP/IP 可在 NDIS 驱动程序接收后续数据包时处理数据包,因此这可以加快整体处理速度并减小延迟。同时,还能减小 TCP/IP 和 NDIS 驱动程序用以协调其操作所需的开销,并在多数情况下可消除包数据的额外内存副本。在数据包发送过程中,网络负载平衡通过增加 TCP/IP 使用一个 NDIS 调用发送的数据包数目来提高吞吐量并减小了延迟和开销。为增强性能,网络负载平衡分配并管理着一个数据包缓存和描述符的内存池,用于实现 TCP/IP 和 NDIS 驱动程序操作的重叠性。

高可用性

  • 自动检测并恢复故障的或脱机的计算机。
  • 当添加或删除主机时,将自动平衡网络负载。
  • 在 10 秒内恢复并重新分配工作负荷。

可管理性

  • 使用“网络负载平衡管理器”,可以从单个的一台计算机管理和配置多个网络负载平衡群集和群集主机。
  • 使用端口管理规则,可以为单一 IP 端口或一组端口指定负载平衡操作。
  • 如果将同一组经过负载平衡的服务器用于多个应用程序或网站,则可以通过使用虚拟群集,根据目标虚拟 IP 地址为每个网站定义不同的端口规则。
  • 使用可选的单主机规则,可以将所有客户请求定向到一个主机,有效利用网络负载平衡,将客户端请求传送给运行特定应用程序的特定主机。
  • 可拒绝不希望对某些 IP 端口进行的网络访问。
  • 您可以在群集主机上启用 Internet 组管理协议 (IGMP) 支持,以便在多播模式下操作时控制交换流。
    		负载均衡工作原理 网络负载平衡群集 网络负载平衡关键特性 - yandavid - 我的博客
  • 网络负载平衡在 Windows 事件日志中记录所有的操作和群集更改。
  • 可以使用 Shell 命令或脚本从任何运行 Windows 的联网计算机上远程启动、停止和控制网络负载平衡操作。

使用简单

  • 网络负载平衡是作为标准 Windows 联网驱动程序组件安装的。
  • 网络负载平衡的启用和运行不要求更改硬件。
  • 通过“网络负载平衡管理器”,可以创建新的网络负载平衡群集,并可以从一个远程或本地计算机对群集和群集中的所有主机进行配置和管理。理想情况下,应当在从本地计算机管理群集时使用第二个网络适配器。
  • 网络负载平衡可以让客户端用一个逻辑 Internet 名称和虚拟 IP 地址(又称群集 IP 地址)访问群集,同时保留每台计算机各自的名称。网络负载平衡允许多主机服务器拥有多个虚拟 IP 地址(但是在虚拟群集情况下,服务器不需要处于多主机状态即可拥有多个虚拟 IP 地址)。
  • 网络负载平衡可以绑定到多个网络适配器,以便您可在每个主机上配置多个独立的群集。对多个网络适配器的支持不同于虚拟群集,因为虚拟群集允许在一个网络适配器上配置多个群集。
    		负载均衡工作原理 网络负载平衡群集 网络负载平衡关键特性 - yandavid - 我的博客
  • 无需修改服务器应用程序就可以在网络负载平衡群集中运行。
  • 如果某群集主机发生故障,之后又恢复联机状态,则可以对网络负载平衡进行配置,使其自动将该主机添加到群集中。然后,该添加的主机可以开始处理客户端对服务器的新的请求。
  • 可以让计算机脱机,以进行预防性的维护,而不干扰其他主机上的群集操作。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值