网络负载平衡 (Network Load Balancing,即NLB) 服务增强了 Web、FTP、防火墙、代理、VPN 和其他关键任务服务器之类的 Internet 服务器应用程序的可用性和可伸缩性。运行 Windows 的单个计算机可提供有限的服务器可靠性和可伸缩的性能。但是,通过将两个或多个运行一种 Windows Server 2003 家族产品的计算机资源组合为单个群集,网络负载平衡可以提供 Web 服务器和其他关键任务服务器所需的性能和可靠性。下图表示两个连接的网络负载平衡群集。第一个群集由两个主机构成,第二个群集由四个主机构成:

nat负载均衡 nlb负载均衡_服务器

nat负载均衡 nlb负载均衡_脱机_02

    每个主机运行所需服务器应用程序(例如 Web、FTP 和 Telnet 服务器)的独立副本。网络负载平衡将传入客户端请求分发到群集中的所有主机。每台主机处理的负荷量可在必要时配置。也可动态地向群集中添加主机来处理增加的负载。另外,网络负载平衡可以将所有通信发到指定的单个主机上,这个主机称为默认主机。

网络负载平衡允许群集中的所有计算机被一组相同的群集 IP 地址寻址(同时保持其现有的唯一专用 IP 地址)。

对于经过负载平衡的程序,当某个主机出现故障或脱机时,将在继续运行的计算机间自动重新分配负载。单个服务器中的程序将其通信重定向到特定的主机。当计算机出乎预料地出现故障或脱机时,连到失败或脱机服务器的活动连接将会丢失。但是,如果有意让主机停机,则可以在让计算机脱机之前,用 drainstop 命令为所有活动连接提供服务。在这两种情况下,脱机计算机都可以透明地重新加入群集,并重新获得自己那份工作负荷。

注意如果打算在 64 位环境中使用网络负载平衡,必须使用 64 位网络负载平衡版本。如果不这样做,群集将无法建立。


网络负载平衡配置概述

    网络负载平衡作为 Windows 联网驱动程序运行。其操作对 TCP/IP 联网协议栈是透明的。下图表明了在网络负载平衡主机的典型配置中其他软件组件与网络负载平衡软件之间的关系:来自经过负载平衡服务器应用程序的数据库访问某些服务器应用程序访问由客户端请求更新的数据库。当这些应用程序在群集中进行负载平衡时,这些更新任务需要正确同步。每个主机都可使用本地的独立数据库副本,必要时可脱机合并。作为一种选择方案,群集主机可共享对单独的联网数据库服务器的访问。也可使用这些方法的组合。例如,静态的 Web 页可在所有的群集服务器之间复制以确保快速访问和完成容错。但是,数据库请求将被转发给处理多个 Web 服务器更新工作的公用数据库服务器。

    一些关键任务应用程序可能需要使用高可用性的数据库引擎来保证服务的完全容错。建议部署可以识别群集的数据库软件,以便在一套总体群集方案内,提供高可用和高伸缩的数据库访问。Microsoft SQL Server 便是这样的一个例子,它可使用服务器群集中的群集服务进行部署。群集服务确保了一旦某个节点出现故障,则其余的节点将接管发生故障的计算机的职责,因此对 Microsoft SQL Server 的客户端提供几乎不间断的服务。因为服务器群集中的计算机利用了群集存储设备,所以它能执行此任务。有关群集服务以及它如何配合网络负载平衡工作的详细信息,请参阅更新的技术信息。


注意

    将目前讨论的两种群集解决方案区分开非常重要。首先,网络负载平衡主要用来对传入的 TCP/IP 通信进行负载平衡。参与这一解决方案的计算机形成了一种类型的群集。第二,群集服务主要用来提供从一台计算机到另一台计算机的故障转移服务。参与这一解决方案的计算机形成了一个不同类型的群集。此外,网络负载平衡群集通常运行 Web 服务器应用程序。相反,群集服务通常运行数据库应用程序(在与“网络负载平衡”一起使用时)。在同一计算机上不能同时激活网络负载平衡和群集服务,但是通过两种群集解决方案以互补方式运作,可以创建如下图所示的总体群集方案。