windows群集与网络负载平衡配置

来源:百度文库 编辑:神马文学网 时间:2024/04/29 23:42:18
windows群集概述(转载) 2008-08-02 10:43
分类:计算机网络
字号:大大 中中  小
网络负载平衡增强了   Internet   服务器程序(如   Web   服务器、FTP   服务器和其它关键任务服务器上使用的程序)的可用性和可扩展性。运行   Windows   2003的单台计算机只能提供有限的服务器可靠性和可扩展性能。而通过将两台或更多的运行   Windows   2003   Advanced   Server   的主机计算机的资源并入一个群集,网络负载平衡就可以提供关键任务服务器所需要的可用性和性能。
每台主机都运行需要的服务器程序(如   Web、FTP、Telnet   或电子邮件服务器程序)的一个独立副本。对有些服务(如   Web   服务器上使用的服务),程序的副本在群集内的所有主机上运行,网络负载平衡在这些服务器之间分配工作量。对于其它服务(如电子邮件),只有一台主机处理工作量。对于这些服务,网络负载平衡让网络通信流向一台主机,只有在服务器发生故障时才将通信移到另一台主机上。
网络负载平衡配置概述
网络负载平衡作为   Windows   2003   网络驱动程序运行。它的运行对   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   和   UDP   端口的数据报,然后这些数据报到达   TCP/IP   协议软件。网络负载平衡只管理   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   个丢失的消息交换周期。由于这些参数不常修改,它们不能通过“网络负载平衡属性”对话框配置。如有必要,可以在注册表中手动调整。
为网络负载平衡设置 TCP/IP
对单个或多个适配器必须使用不同的过程。
在单个网络适配器上为网络负载平衡设置 TCP/IP
1.    单击网络和拨号连接。
2.    右击安装了“网络负载平衡”的本地连接,然后单击属性。
3.    在局域连接属性对话框中,单击“Internet 协议 (TCP/IP)”,然后单击属性。
4.    在 IP 地址中,输入您已在主机参数下的“网络负载平衡属性”对话框中输入的作为“专用 IP 地址”的地址。如果已存在正确的地址,请不要更改该地址。
5.    在子网掩码中,输入 TCP/IP 网络的子网掩码和默认网关信息。单击高级,然后单击添加。
6.    在为 IP 地址所留的位置中输入群集 IP 地址,然后输入相应的子网掩码,如有必要,输入默认网关。此 IP 地址与您在群集参数下的网络负载平衡属性对话框中输入的群集“主 IP 地址”对应。
7.    如果需要为群集配置其他的虚拟 IP 地址(例如正在运行一个多主 Web 服务器),可以在高级 TCP/IP 设置对话框中的这个位置进行操作。
在多个网络适配器上为网络负载平衡设置 TCP/IP
1.    单击网络和拨号连接。
2.    右击安装了“网络负载平衡”的本地连接,然后单击属性。
3.    在“局域连接属性”对话框中,单击“Internet 协议 (TCP/IP)”,然后单击属性。
4.    在 IP 地址中,输入您已在群集参数下的“网络负载平衡属性”对话框中输入的作为“主 IP 地址”的地址。如果已存在正确的地址,请不要更改该地址。
注意:也可以在此位置中输入专用 IP 地址(此地址与您在主机参数下的“网络负载平衡属性”对话框中输入的“专用 IP 地址”对应),然后在“高级 TCP/IP 设置”对话框中输入群集的主 IP 地址。
5.    在子网掩码中,输入 TCP/IP 网络的子网掩码和默认网关信息。
6.    如果需要为群集配置其他的虚拟 IP 地址(例如正在运行一个多主 Web 服务器),单击高级,然后单击添加。然后,就可以为这个网络适配器指定其他虚拟 IP 地址并提供必要的其他信息。
疑难解答
TCP/IP 是唯一必须在群集适配器上使用的网络协议。绝对不能向此适配器上添加任何其他协议(如网间数据包交换 [IPX])。
您必须先在“Internet 协议 (TCP/IP) 属性”对话框(而不是“高级 TCP/IP 设置”对话框)中输入专用 IP 地址,以便所