indows 2000 ? Advanced Server 和 Windows 2000 Datacenter Server 系统提供网络负载平衡服务。网络负载平衡可以增强 Internet 服务器程序(如 Web 服务器、FTP 服务器和其它关键工作 服务器上使用的程序)的可用性和可调适性。执行 Windows 2000 的单台计算机提供的服务器可靠性和可调适性是有限的。不过,把将两台或两台以上执行 Windows 2000 Advanced Server 的主计算机的资源并入一个丛集后,网络负载平衡就可以提供关键服务器需要的可靠性和执行效能。
每台主机都执行所需要的一套独立服务器程序(如 Web、FTP、Telnet 或电子邮件服务器程序)。对有些服务来说,如 Web 服务器上使用的服务,一套程序就能在丛集内的所有主机上执行,而网络负载平衡会分配这些服务器的工作量。 至于其它一些服务,如电子邮件,只有一台主机在处理工作量。 像这类的服务,网络负载平衡会让网络传输只流向一台主机,只有在服务器发生故障时才会将传输移至另一台主机。

网络负载平衡组态设定概述
网络负载平衡是以 Windows 2000 网络驱动程序的方式执行的。它的执行对 TCP/IP 的网络堆栈来说是透明的。
为确保最佳网络的执行效能,网络负载平衡通常使用一个网络卡来处理客户到丛集间的传输,而其它至服务器的网络传输则是透过一个单独的网络卡。而不需使用第二个网络卡。
由负载平衡服务器应用程序使用数据库
有些服务器程序会应客户要求而进入数据库更新数据。 当这些程序在丛集中的负载平衡时,更新动作要适当地同步进行。每台主机皆可以使用本机的独立数据库副本,必要时,这些数据库可脱机合并。 另一个选择则是,丛集主机可以共同存取网络数据库服务器。这两种方法也可以合并使用。举例来说,静态 Web 网页可在所有的丛集服务器间复制,以确保快速的存取和完全的容错性。但是,数据库需求还是得转寄到处理多个 Web 服务器更新的公用数据库服务器。
有些关键工作程序可能需要使用高可用性的数据库引擎来确保服务的完全容错。 愈来愈多人建置支持丛集的数据库软件,以求在整个丛集架构种存取数据库时能有高度的使用性和可调适性。Microsoft SQL Server 就是这样一个例子,它可以建置在有丛集服务的两个节点组态设定中。丛集服务能确保即使一个节点发生故障,另一个节点会承担起发生故障的计算机的职责,这样,为 Microsoft SQL Server 客户提供的服务就几乎是连续的。能够做到这一点是由于两台计算机共享一个相同的磁盘系统。
注意 去区别所讨论的两个丛集解决方案是很重要。首先,网络负载平衡主要的用来分配接收进来的传输控制通讯协议/Internet 通讯协议 (TCP/IP) 传输。这种解决方案中的计算机形成一种丛集类型。其次,丛集服务主要用来提供由一台计算机至另一台计算机的故障转移服务。这种解决方案中的计算机形成另一种不同的丛集类型。网络负载平衡丛集通常执行 Web 服务器程序。丛集服务通常执行数据库程序(与网络负载平衡联合起来使用时)。若将两个丛集功能结合起来互为补充,使用者可建立一个全面性的丛集架构。
网络负载平衡如何运作
网络负载平衡藉由使用由两台或多台主机所组成的丛集,提供 Web 服务器的高可用性和可调适性。Internet 客户使用单一 IP 网址(或多宿主主机采用一套地址)进入丛集。客户无法将丛集和单个服务器区隔开。服务器程序没有识别出它们是在丛集中执行。但网络负载平衡丛集与执行单一服务器程序的单一主机有明显区别,因为即使有丛集主机发生故障,它也能提供不间断的服务。丛集还可以比单一主机更迅速地响应客户请求(对于负载平衡的端口)。
网络负载平衡能提供高可用性,当有一台主机发生故障或脱机时,网络负载平衡可将传入的网络通信重新传至工作正常的丛集主机。即使与脱机的主机的连接切断,也能提供 Internet 服务。在大多数情况下(例如,Web 服务器),客户的软件在联机失败时会自动重试,客户在接收响应时只感到有几秒的延迟。
网络负载平衡可提供扩充执行效能,将所接收到的网络邮件分配给丛集的一个或多个虚拟 IP 网址之间。丛集中的多台主机随后同时响应不同的客户请求,甚至响应来自同一客户的多个请求。例如 Web 浏览器可以由丛集中的不同主机获取一个 Web 页面中的几个图像。这样就会加快处理速度,缩短响应客户的时间。
网络负载平衡能使一个子网上的所有的丛集主机同时侦测传送至丛集的主 IP 网址(及多宿主主机的其它 IP 网址)的电子邮件。在每台丛集主机上,网络负载平衡驱动程序作为丛集适配器驱动程序和 TCP/IP 堆栈之间的筛选器,允许主机分几部份接收传入的电子邮件。
网络负载平衡使用完全分布式的算法,根据丛集主机的 IP 网址、端口和其它信息将传入的客户按照统计规律与各丛集主机相对应。在检查到达的数据报时,所有的主机皆同时执行,迅速确定哪台主机应该处理该数据报。除非丛集主机的数量发生变化,否则这种对应关联保持不变。网络负载平衡筛选算法在数据报处理中比集中负载平衡程序效率高得多,因为后者必须变更并重新传输数据报。这样网络负载平衡就能够提供更高的集合带宽。藉由直接在丛集主机上执行,网络负载平衡的执行效能不会受到某一代的处理器或网络技术的限制。
丛集邮件的分配
网络负载平衡能控制分配由 Internet 客户至丛集内选定主机的 TCP 和用户数据报通讯协议 (UDP) 的邮件,请看:网络负载平衡组态设定后,丛集内的所有主机皆收到传入丛集 IP 网址的客户请求。 在这些数据到达 TCP/IP通讯协议软件之前,网络负载平衡首先筛选传入至特定 TCP 和 UDP 端口的数据,网络负载平衡只管理 TCP/IP 内的 TCP 和 UDP 通讯协议,在每个端口上控制运作。
网络负载平衡除了控制流向特定端口的 TCP 和 UDP 邮件外,并不控制任何传入 IP 信件。它不筛选 Internet 控制讯息通讯协议 (ICMP)、Internet 群组的成员身份通讯协议 (IGMP) 和地址解析协议 (ARP) 或其它 IP通讯协议。所有这类别的邮件皆被原封不动地传送至丛集内所有主机上的 TCP/IP 通讯协议软件。由于 TCP/IP 的可靠性和处理复制的数据的能力,其它通讯协议能够在丛集环境中正常运转。但使用丛集 IP 网址时,您还是应该有心理准备会看到某些点对点 TCP/IP 程序(例如 ping)的重复作出响应。这些程序可以使每台主机分配专用 IP 网址,避免出现这类情况。
汇集
为协调运作,网络负载平衡主机周期性地在丛集内替换多种类型或广播消息,以便监看丛集的状态。当丛集状态改变时(如主机发生故障、离开或加入丛集时),网络负载平衡就求助于名为汇集的处理步骤,在这个程序中各主机交换各自的讯息来确定新的、一致的丛集状态并选择有最高主机优先权的主机作为新的默认主机。当所有丛集主机就丛集的正确的新状态达成共识时,它们会在 Windows 2000 操作记录中记载汇集的完成。
在汇集过程中,除了传至发生故障的主机的邮件不能得到处理外,主机继续照常处理传入的电子邮件。客户的请求对于正常运作的主机亦不会受影响。汇集完成时,传至故障主机的邮件会被重新分配至其它主机。负载平衡将邮件分配在剩余主机之间,以在特定 TCP 或 UDP 端口之间可达到新的最佳负载平衡。如果在丛集中新增主机,汇集使得这台主机接管处理该主机有最高优先权的端口并接收它的负载平衡的通信份额。丛集的扩充不影响正在进行的丛集执行,扩充的功能对于 Internet 客户和服务器程序皆是透明的。但这样做可能会影响跨多个 TCP 连接的客户交谈(此时客户与主机之间的对应关联已经确定),因为客户可能在许多连接之间被重新与不同的丛集主机对应。
只要主机参与丛集主机之间的正常的讯息交换,网络负载平衡就认为该主机执行正常。如果其它主机在几次讯息交换中没有收到某一成员的回应,它们就启动汇集,目的是重新分配先前由发生故障的主机处理的负载。您可以控制讯息交换周期和启动汇集的遗失讯息的数量。默认值分别设定成 1,000 毫秒(1 秒)和 5 个遗失的讯息交换周期。由于这些参数不常变更,它们不能藉由「网络负载平衡内容」对话框组态设定。如有必要,可以在登录表中手动调整。