window 2003 nlb(network load balancing) 配置

NetWork Load Balancing for Windows 2003

1.   前言

 

2.   Windows 2003 Cluster 概述

Windows 2003cluster技术总体分为两类

l         服务器群集(Serer Cluster)

l         网络负载平衡群集(Network Load balancing)

3.   NLB概述

Network Load Balancing(NLB)windows 2003提供的一种负载均衡技术,通过NLB可以将布署于不同服务器上的应用服务器进行压力分担。并可以实现在一台服务器错误时,自动转移至工作正常的服务器上,而访问应用服务器的用户感觉不到这种转移。

4.   NLB工作原理

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

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

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

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

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

      NLB驱动处于TCP/IP和网卡驱动之间的一层协议,它控制着所有对群集中服务器的tcp/ip访问(如图1所示).

      群集的最终工作原理即为将所有群集中的主机的mac地址虚拟成一个相同的地址,这样网络中所有针对群集的访问,均可以发送至群集所有的主机之上。

(1)

5.   ColumBus实例应用

5.   1 硬件环境

群集服务器两台:

     服务器名称:ClusterA,ClusterB(window中名称不区别大小写);

     CPU: 志强1.66;

     内存: 4G /每台;

     网卡:10/ 100M 自适应两块/每台;

数据库服务器一台:

     Sql Server 2000数据库服务器一台(详细配置未知);

5.2 软件环境

     两台群集服务器分别安装有:

          Windows 2003 enterpise Server Edition;

window 2003NLB组件(网络负载平衡);

          IIS应用服务器组件;
          IIS
中布署了c++版的columbus测试程序, 该程序访问数据库服务器进行数据存取。

     一台数据库服务器:

          安装有Sql server 2000 enterprise Edition.

5.3 配置步骤

     因为当前使用的是两台群集服务器,因此需要两个静态的ip地址,分别为两台群集服务器使用(群集中的每个服务器必须具有一个专用的静态ip地址),这里我使用了两个静态的ip:10.100.4.237;因为要配置群集,因此群集还另需要一个单独的静态ip地址,这样我使用了10.100.4.243; 网络服务器拓扑如图2所示.

注意上述三个ip地址,不能在集群以外的服务器或pc上使用,否则将会出现IP地址冲突的现象.

(2)

 

  5.3.1 .第一步

首先在ClusterACluserterB本地连接”(确保本地连接是连通的,呵呵)上配置各自的ip地址.

打开本地连接 属性窗口(如图),确保网络负载平衡选项未被选中:

5.3.2 .第二步

配置”interent 协议(tcp/ip)”项中的ip地址信息(如图所示);

在另一台服务器上配置ip地址为:10.100.4.237;

     

( 5-3-4 )

5.3.3 第三步

   打开负载平稳管理器”(开始菜单/管理工具);在左边树的网络负载平衡群集项中点击右键,在弹出的快捷菜单中选择新建群集”(如图 5-3-4 所示),在弹出的窗口中录入(如图5-3-5)所示的内容.

   一直点击下一步,直到端口规则窗口(如图 5-3-6 所示),然后点击编辑按钮,弹出添加/编辑端口规则窗口(如图5-3-7)所示,设置各个选项如图5-3-7所示(主要是筛选模式).

   这里将窗口中的各个选项进行一下解释:

l         群集IP地址: 因为群集ip允许设置为一组IP地址,因此该处可以指定当前端口规则是应用于指定的一个IP或是所有群集IP

l         端口范围:即应用当前端口规则的端口范围,如果你只想指定当前端口规则应于一个端口之上,则设置从和到的端口相同即可,如从8080;

l         协议:当前规则应用的协议(tcp/upd或两者均可);

l         筛选模式:

(1)    多主机

:

  使用当前模式,某个客户端不同时刻的访问,均不固定至某一个群集中的服务器;

单一:

某个客户端(IP为来区分是否同一客户端)第一次以后的访问,均与第一次访问的主机相同。

:IP10.100.4.83的客户端,第一次访问10.100.4.243,负载将其均衡至10.100.4.238,则该客户端以后的访问均会被均衡至10.100.4.238服务器.

                      C

某一类IP地址类似的客户端组的访问,均与第一台客户端第一次访问的主机相同.

:IP10.100.4.83的用户第一次访问10.100.4.243,负载将其均衡至10.100.4.238,则不仅该客户端以后的访问均会被均衡至10.100.4.238服务器,而且如果有10.100.4.84,或10.100.4.85等客户端访问10.100.4.243,负载均衡也会将其固定均衡至10.100.4.238.

 

(2)    单主机:即针对当前规则的所有访问均指定默认主机,该模式一般不会使用,因为这样就失去了做负载均衡的意义;

  

   

( 5-3-5 )

 

( 5-3-6 )

( 5-3-7 )

5.3.4 第四步

      进入连接窗口,在主机一栏中录入”10.100. 4.238” ,点击“连接”按钮,然后系统将会列出当前可用的接口(网络连接),选择本地连接”(因为之前配置tcp/ipip地址时是在该网络连接之上).然后点击下一步.

5.3.5 第五步

一直点击下步即可,系统将在网络负载平衡管理器窗口的左边树中列出当前你所选的服务器,系统会自动为你所选的主机添加群集IP和选中网络属性中的网络负载平衡选项(如图 5-3-4 -15-3-4-2所示)。这时,管理器可能会出现执行没有停止的问题,这时可以在群集上点击右键,选择“刷新”,多刷新几次即可正常,正常状态为每台服务器状态均显示“已聚合”,左边树中的小图标,显示为绿色。

( 5-3-4 -1)

( 5-3-4 -2)

注意: 服务器的“优先级(单一主机标识符)”选项,在同一群集中服务器该值不能重复.

5.3.6 第六步

添加其它的服务器至群集,网络负载平衡管理器窗口,右键点击左边树中的群集项,然后选择弹出菜单的添加主机到群集(如图 5-3-6 -1所示),将弹出连接窗口(5-3-6-2),录入另一台服务器的IP:10.100.4.237,将其本地连接添加到当前网络负载平衡管理器中.

如果出现无法正常执行完毕的情况,象第五步一样,多刷新几次即可。

( 5-3-6 -1)

( 5-3-6 -2)

5.4         测试结果(使用loadrunner)

服务端

C++

保持连接,不清空缓存

10W数据单台服务器

最大运行虚拟用户

553

运行完成时间

129

平均响应时间

最大值

3.515

平均值

0.289

90%平均值

0.441

平均每秒事务

最大值

1276

平均值

1133

10W数据集群服务器

最大运行虚拟用户

58

运行完成时间

102

平均响应时间

最大值

3.024

平均值

0.018

90%平均值

0.03

平均每秒事务

最大值

1948

平均值

1619

建立新连接

10W数据单台服务器

最大运行虚拟用户

1000

运行完成时间

323

平均响应时间

最大值

5.557

平均值

1.499

90%平均值

1.836

平均每秒事务

最大值

616

平均值

500

10W数据集群服务器

最大运行虚拟用户

1000

运行完成时间

316

平均响应时间

最大值

5.753

平均值

1.383

90%平均值

1.765

平均每秒事务

最大值

597

平均值

517

 

6.   FAQ(摘选自microsft官网)

在安装了网络负载平衡并重新启动群集主机之后,就会出现消息:系统检测到一个 IP 地址与网络上的另一个系统发生冲突...”

可能的原因

网络中某处存在相同的 IP 地址。

解决方案

选择一个新的 IP 地址,或删除重复地址。

可能的原因

在主机上配置了不同的群集操作模式(单播和多播),使得两个不同的 MAC 地址影射到同一 IP 地址。

解决方案

确保用同一群集操作模式配置所有主机。详细信息,请参阅启用网络负载平衡 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/bf06dbd8-4fac-4f71-9e09-01c5458109992052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EYE"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

可能的原因

在将网络负载平衡绑定到网络适配器之前配置了群集 IP 地址。

解决方案

TCP/IP 属性删除群集 IP 地址,按照启用网络负载平衡 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/bf06dbd8-4fac-4f71-9e09-01c5458109992052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EEF"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>中的描述,在合适的适配器上启用网络负载平衡,然后配置群集 IP 地址。

可能的原因

将群集 IP 地址添加到了未对网络负载平衡启用的网络适配器上。

解决方案

从不恰当的适配器的 TCP/IP 属性删除群集 IP 地址,按照启用网络负载平衡 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/bf06dbd8-4fac-4f71-9e09-01c5458109992052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EQF"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>中的描述,在合适的适配器上启用网络负载平衡,然后配置群集 IP 地址。

可能的原因

“TCP/IP”对话框中添加了群集 IP 地址,但没有用网络负载平衡对话框正确地添加 IP 地址。

解决方案

如果没有使用网络负载平衡管理器配置群集,则必须使用该群集的 IP 地址手动配置 TCP/IP。详细信息,请参阅为网络负载平衡设置 TCP/IP <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/a7a1c8f4-1f4a-4865-a3d8-b962aaf0fcc12052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("E3F"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

当从网络外用 ping 访问群集 IP 地址时,没有响应。

请验证可以用 ping 从路由器外的计算机访问群集主机的专用 IP 地址。如果该测试失败,而且您正在使用多个网络适配器,则问题与网络负载平衡无关。如果正在将一个网络适配器同时用于专用和群集 IP 地址,则请考虑以下原因:

可能的原因

没有在 TCP/IP 属性中正确地添加群集 IP 地址。

解决方案

如果没有使用网络负载平衡管理器配置群集,则必须使用该群集的 IP 地址手动配置 TCP/IP。详细信息,请参阅为网络负载平衡设置 TCP/IP <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/a7a1c8f4-1f4a-4865-a3d8-b962aaf0fcc12052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("ESG"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

可能的原因

如果正在使用多播支持,您可能会发现路由器在用 ARP 协议 将主 IP 地址解析到多播媒体访问控制 (MAC) 地址时,遇到了困难。

解决方案

要检查这个问题,请验证可以用 ping 从群集子网上的一个客户端访问群集,并可以从路由器外的计算机访问群集主机的专用 IP 地址。如果这些测试正常进行,则路由器可能发生了故障。应当能向路由器添加静态 ARP 项目以确定问题范围。还可以关闭网络负载平衡多播支持,并在没有集线器的情况下使用单播网络地址。

可能的原因

在多播模式或单播模式下使用网络负载平衡时,路由器需要能够接受代理 ARP 响应(通过以太网数据帧中的其他网络源地址接收到的从 IP 地址到网络地址的映射)。

解决方案

确保路由器已打开代理 ARP 支持。您也可以把一个静态 ARP 项设置为在路由器中禁用代理 ARP 支持。

可能的原因

群集的 Internet 控制消息协议 (ICMP) 由路由器或防火墙阻止。

解决方案

允许通过防火墙或路由器的 ICMP 通讯。请注意,这可能会使您的系统暴露给其他安全隐患。

当从另一个群集主机用 ping 访问主机专用 IP 地址时,没有响应。

可能的原因

没有在 TCP/IP 属性中正确地添加主机的专用 IP 地址。

解决方案

必须用主机的专用 IP 地址手动配置 TCP/IP。详细信息,请参阅为网络负载平衡设置 TCP/IP <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/a7a1c8f4-1f4a-4865-a3d8-b962aaf0fcc12052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EYH"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

可能的原因

在多播模式或单播模式下使用网络负载平衡时,路由器需要能够接受代理 ARP 响应(通过以太网数据帧中的其他网络源地址接收到的从 IP 地址到网络地址的映射)。

解决方案

确保路由器已打开代理 ARP 支持。您也可以把一个静态 ARP 项设置为在路由器中禁用代理 ARP 支持。

可能的原因

群集的 Internet 控制消息协议 (ICMP) 由路由器或防火墙阻止。

解决方案

允许通过防火墙或路由器的 ICMP 通讯。请注意,这可能会使您的系统暴露给其他安全隐患。

当试图用网络负载平衡管理器连接到群集中的主机时,接收到无法连接主机错误消息。

原因:主机的 Internet 控制消息协议 (ICMP) 受到路由器或防火墙的阻挡,或在主机网络适配器上被禁用。

解决方案:在主机网络适配器上启用 ICMP,或允许 ICMP 通讯通过防火墙或路由器。请注意,这可能会使您的系统暴露给其他安全隐患。还可以使用网络负载平衡管理器 /noping 选项。详细信息,请参阅 Nlbmgr .

当从群集主机使用 Telnet,或试图浏览群集外的计算机时,没有响应。

原因:验证是否可以用 ping 访问群集外的计算机。如果该测试成功,则您可能没有在 TCP/IP 属性中将主机的专用 IP 地址列在第一个位置。

解决方案:  当必须用主机的专用 IP 地址和群集 IP 地址手动配置 TCP/IP 时,必须将专用 IP 地址列在第一个位置。详细信息,请参阅为网络负载平衡设置 TCP/IP <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/a7a1c8f4-1f4a-4865-a3d8-b962aaf0fcc12052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EKBAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

如果用 ping 访问群集外的计算机失败,请参阅此疑难解答信息中前面所描述的题为当从网络外用 ping 访问群集 IP 地址时,没有响应当从另一个群集主机用 ping 访问主机的专用 IP 地址时,没有响应等问题。

当从群集外的计算机调用网络负载平衡远程控制命令时,一个或多个群集主机没有响应。

可能的原因

没有将远程控制命令发送到群集 IP 地址。必须将命令发送到在网络负载平衡属性对话框中分配的群集主 IP 地址。

解决方案

请确保将远程命令发送到正确的 IP 地址。

可能的原因

远程控制通讯受到 Internet 协议安全性 (IPSec) 的加密。如果从配置过 IPSec,以便用 IPSec 来加密远程控制通讯的计算机上发出网络负载平衡远程控制命令,则这些命令可能无法正常发挥作用。

解决方案

禁用 IPSec

详细信息,请参阅 Internet 协议安全 (IPSec) <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/cef71791-bcf2-4f0f-9a56-db1682cf8a242052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EJCAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

可能的原因

未启用远程控制。

解决方案

网络负载平衡属性对话框中启用远程控制。

详细信息,请参阅配置群集参数 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/68a1b254-9a29-431f-9899-1a64c76095a32052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EWCAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

警告

网络负载平衡的远程控制选项存在许多安全隐患,包括数据篡改、拒绝服务和信息泄漏的可能性。强烈建议您不要启用远程控制,而使用网络负载平衡管理器或其他远程管理工具,例如 Windows Management Instrumentation (WMI)


艺术图像

如果选择启用远程控制,则通过指定一个远程控制强密码来限制访问至关重要。还必须强制使用防火墙保护网络负载平衡 UDP 控制端口(接收远程控制命令的端口),使它们免受外来侵扰。默认情况下,它们是群集 IP 地址上的端口 1717 2504。只从防火墙内安全、可信的计算机使用远程控制。有关远程控制参数的详细信息,请参阅网络负载平衡参数 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/57c24429-0268-4ed8-afdf-fd4b0b6539b72052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EJDAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>中的远程控制。有关强密码的详细信息,请参阅强密码 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/d406b824-857c-4c2a-8de2-9b7ecbfa6e512052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EODAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

可能的原因

网络负载平衡 UDP 控制端口受到防火墙的不当保护。默认情况下,将远程控制命令发送到群集 IP 地址上的 UDP 端口 1717 2504

解决方案

请确保路由器或防火墙没有错误地阻挡这些端口。还可以通过修改相应的网络负载平衡参数,更改端口号。

可能的原因

当试图使用远程控制时,使用了一个不正确的密码。

解决方案

请使用启用网络负载平衡群集时配置的远程控制密码。

当将主机的专用 IP 地址指定为远程控制命令的目标时,没有应答。但是却能按主机的优先级 (ID) 指定它。

原因:没有具有专用 IP 地址的主机。

解决方案:为每个主机指定一个专用 IP 地址。详细信息,请参阅配置主机参数 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/b8b65de1-7b0a-4397-8dd6-af4fec19db482052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("ELEAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

一些但并非所有用户被拒绝连接到群集。

可能的原因

某个接受负载平衡的应用程序没有响应。

解决方案

这是一个应用程序专有的问题,与网络负载平衡无关。请参阅应用程序文档以进行更正。可能需要停止和重新启动应用程序。

可能的原因

如果将群集配置用于单播模式,那么交换机可能已经发现网络负载平衡网络适配器的 MAC 地址。

解决方案

清除到 MAC 地址映射的交换机端口。

可能的原因

在一个或多个主机上,没有将群集 IP 地址添加到 TCP/IP

解决方案

如果没有使用网络负载平衡管理器配置群集,则必须使用该群集的 IP 地址手动配置 TCP/IP。详细信息,请参阅为网络负载平衡设置 TCP/IP <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/a7a1c8f4-1f4a-4865-a3d8-b962aaf0fcc12052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EJFAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

可能的原因

一个主机由于 drainstop stop 命令而正在离开群集,但是聚合没有恰当地完成。

解决方案

请等候聚合的完成。如果聚合无法完成,请参阅本疑难解答指南后半部分题为群集主机启动后,开始聚合,但始终无法完成聚合

无法用 net config Windows Management Instrumentation (WMI) 查看或更改网络负载平衡属性。

原因:为了查看或更改网络负载平衡属性,您必须是 Administrators 组的成员。

解决方案:以运行网络负载平衡的计算机的本地 Administrators 组中的用户身份登录。

服务器或客户端正在重置异常多的连接到群集 IP 地址的 TCP 连接。

可能的原因

在网络负载平衡主机上启用了 HTTP 保持活动,并且启用了保持活动的客户端正在连接到群集。

解决方案

禁用 HTTP 保持活动。有关 HTTP 保持活动和 Internet 信息服务 (IIS) 的详细信息,请参阅 IIS 文档集。要从桌面查看 IIS 文档,请安装 IIS,然后单击开始按钮,单击运行,在打开文本框中键入以下命令:%windir%/help/iisrv.chm

可能的原因

服务器上的系统资源低,正使得 TCP 本身正在拒绝连接。

解决方案

通过诸如添加额外的系统内存或关闭不必要的应用程序等手段释放系统资源。

可能的原因

群集分成了两个独立的聚合群集,使得多个节点同时要求拥有每个连接。

解决方案

删除两个群集,然后重新创建一个群集。

当进行引起聚合操作的更改(例如添加主机、删除主机或排出主机)时,虚拟专用网 (VPN) 调用发生故障。

原因:当使用网络负载平衡对 VPN 通讯(例如 PPTP/GRE IPSEC/L2TP)进行负载平衡时,必须将控制处理 VPN 通讯的端口(TCP 端口 1723 用于 PPTPUDP 端口 500 用于 IPSEC)的端口规则配置为使用单一 C”相似性。

解决方案:将控制端口 500 1723 的端口规则配置为使用单一 C”相似性。详细信息,请参阅网络负载平衡参数 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/57c24429-0268-4ed8-afdf-fd4b0b6539b72052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EHHAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

群集主机启动后,开始聚合,但始终无法完成聚合。

可能的原因

或者在不同群集主机上输入了不同数量的端口规则,或者输入了不兼容的端口规则。这将制约聚合。

解决方案

打开每个群集主机上的网络负载平衡属性对话框,然后验证所有主机具有相同的端口规则。

可能的原因

网络适配器或电缆坏了。

解决方案

使用 ping 命令测试连接性。Ping 主机的完全合格的域名。也可以通过 Ping 域控制器的 IP 地址,以及 Ping 其他网络服务器的名称和 IP 地址,了解有关这个问题的更多信息。

可能的原因

交换机或集线器上的双工设置匹配不当。

解决方案

确认正确地配置了每个交换机和集线器上的双工设置。

可能的原因

网络上的其他地方已经存在您用于主机之一的专用 IP 地址。

解决方案

选择一个新的 IP 地址,或删除重复地址。

可能的原因

定义了一个或多个只适用于特定 IP 地址的端口规则,但是群集却包含运行 Windows 2000 的主机。

解决方案

如果使用 IP 地址专用端口规则,群集必须在所有主机上运行 Windows Server 2003 家族中的一种产品。

可能的原因

在主机上配置了不同的群集操作模式(单播或多播)。

解决方案

确保用同一群集操作模式配置所有主机。详细信息,请参阅启用网络负载平衡 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/bf06dbd8-4fac-4f71-9e09-01c5458109992052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EXIAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

群集进入或脱离聚合状态。

原因:  由于坏的网络适配器、电缆或其他网络问题使得网络连接时断时续,正在丢失检测信号。

解决方案:使用 ping 命令测试连接性。Ping 主机的完全合格的域名。也可以通过 Ping 域控制器的 IP 地址,以及 Ping 其他网络服务器的名称和 IP 地址,了解有关这个问题的更多信息。

群集主机启动后,网络负载平衡报告聚合已经完成,但是默认主机却多于一台。

可能的原因

群集主机已经成为不同子网的成员,这样在同一网络上的所有主机就不能被访问。

解决方案

请确认所有群集主机都能互相通讯。

可能的原因

正在使用第三层交换机。

解决方案

在主机和第三层交换机之间放入一个第二层交换机。

可能的原因

冗余交换机的断开导致群集分裂为两个独立群集,产生了两个独立的默认主机。

解决方案

删除两个群集,然后重新创建一个群集。

可能的原因

将交换机配置成了拒绝广播数据包状态。

解决方案

将交换机配置成接受广播数据包状态(请注意,这可能会带来某些安全问题),或将网络负载平衡群集配置成使用多播模式。

可能的原因

一个主机无法发送或接收检测信号。

解决方案

使用 ping 命令测试每个主机的连接性。Ping 主机的完全合格的域名。

可能的原因

将主机插入到了交换机上的错误端口。

解决方案

使用交换机上的正确端口。

网络负载平衡没有对应用程序进行网络负载平衡,而且默认主机处理了所有网络通讯。

可能的原因

丢失端口规则。默认情况下,网络负载平衡将不受端口规则约束的所有传入网络通讯定向到默认主机。这可确保您不希望对其进行网络负载平衡的应用程序正常运行。

解决方案

要在整个群集内对应用程序进行负载平衡,请在每个群集主机上为接受该应用程序服务的 TCP/IP 端口创建端口规则。

可能的原因

您向单主机群集添加第二个主机,但是对第二个主机的配置不正确。群集一直没有聚合,而且原来的主机继续处理所有通讯。

解决方案

仔细查看,而且如果必要,更正第二个主机上的每种设置,例如群集 IP 地址、专用 IP 地址和端口规则。

可能的原因

如果将群集配置用于单播模式,那么交换机可能已经发现网络负载平衡网络适配器的 MAC 地址。

解决方案

清除到 MAC 地址映射的交换机端口。

可能的原因

代理服务器正在用一个 IP 地址,将所有连接发送到单一相似性模式下的群集。

解决方案

将代理服务器配置成使用多个 IP 地址。

通讯在群集主机间交替进行,打断了 TCP 连接。

原因:单播网络地址给交换集线器带来了问题。如果正在用交换集线器来互连群集主机,则必须使用网络负载平衡多播支持;否则,当在多个交换机端口上使用同一单播网络时,交换机将运行不正常。

解决方案:检查已在网络负载平衡属性对话框中选择多播支持。如果不希望使用多播支持,则可以用集线器或同轴电缆而不是交换机来互连群集主机。

在群集主机间,网络通讯好像没有均衡地进行负载平衡。

原因:网络通讯来自有限的 IP 地址,可能是由于使用了代理服务器。

解决方案:配置代理服务器,使用多个 IP 地址。

注意

这些主题描述了几个普通问题,您可能会在安装和着手使用网络负载平衡时遇到。每个主题都描述了每个问题的可能原因,并介绍了一种或多种建议的解决办法。

这些主题假定您的系统和应用程序可以满足网络负载平衡的最低要求。有关详细信息,请参阅清单:启用并配置网络负载平衡 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/65319bac-2efe-4764-8752-d091447dddbe2052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EQMAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>确定哪些应用程序将与网络负载平衡一起使用 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/26cc9e66-d19e-4ed2-9987-f784ba2249712052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EVMAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

使用网络负载平衡管理器,可以避免、诊断和更正此处描述的许多问题。详细信息,请参阅网络负载平衡管理器 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/543cd17d-899a-401e-a01e-3847d8affc522052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("E4MAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>

要获得更多疑难解答支持,请单击 支持资源 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/07bb2619-68b5-4a1a-825d-dbb9093559162052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("EFNAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>上的相应链接,转到 Microsoft 产品支持服务网站,并执行网络负载平衡“Nlb”“Windows Server 2003” 搜索。

在安装网络负载平衡之前,应当测试网络和所有网络适配器都运行正常。请确保按照所有安装步骤操作,检查为所有群集主机设置的群集参数和端口规则都是一致的。如果出现问题,请始终检查 Windows 事件日志,查找来自网络负载平衡驱动程序的消息。详细信息,请参阅网络负载平衡参数 <script language="JavaScript" type="text/javascript"> if(typeof(IsPrinterFriendly) != "undefined") { var l = "/WindowsServer/zh-CHS/Library/57c24429-0268-4ed8-afdf-fd4b0b6539b72052.mspx"; var nl; var c = l.charAt(0); var o = document.getElementById("ENNAC"); switch (c){ case "/": nl=(" [http://" + document.domain + l + "]"); break case "#": nl=(""); break default: nl=" [" + l + "]" } if(o != null) o.innerHTML = nl; } </script>中的群集参数、主机参数和端口规则。

在您将网络负载平衡用于 Microsoft Internet Security and Acceleration (ISA) Server 时,一个群集主机可能会记录定向到另外一个主机的专用 Internet 协议 (IP) 地址的被阻塞的数据包。

原因: 其中的一个群集主机配置了一个等于 1 的主机优先级标识符。

解决方案: 不要为任何群集主机配置等于 1 的主机优先级标识符,而要配置一个大于 1 的数。

您无法在 64 位环境中创建网络负载平衡群集。

原因: 您可能没有为正在使用的环境运行适当的网络负载平衡版本。当在 64 位版的计算机上使用 32 位版的网络负载平衡时,网络负载平衡无法构成群集。由于 32 位版的网络负载平衡组件(nlb.exewlbs.exe nlbmgr.exe)看起来好像可以在 64 位环境中正常运行,所以可能无法检测到此问题。

解决方案: 如果您计划使用 64 位版环境,则必须使用 64 位版的网络负载平衡

 

7.   注意事项(必看)

l         网络负载平衡群集与服务器群集不能同时配置;

l         网络负载平衡的远程控制最好不要打开;

l         群集中的服务器只使用TCP/IP协议,不要将其它协议添加至“本地连接”中(IPX);

l         使用多播模式时,最好拥有两块网卡;

l         如果使用单播模式时,群集中的服务器将不能互相访问;

l         做负载平衡时,防火墙最好不要开,如果要使用防火墙可以使用物理防火墙;

l         要保证所有应用负载平衡的应用程序均已启动,并可以正常使用;

l         群集中的所有服务器均必须拥有专用的静态IP;

l         群集中的所有服务器均要使用相同的端口规则和相同的模式(多播或单播);

l         群集中的所有主机必须属于同一子网,并且客户端可以访问该子网;

l         端口规则不能多于32;


       
    
 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值