码迷,mamicode.com
首页 > Windows程序 > 详细

Windows Server 2008 R2 负载平衡入门篇

时间:2016-02-27 21:59:33      阅读:391      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

 

  1. 支持群集功能,一个群集最多支持32台服务器。
  2. 支持网络地址转换(NAT)功能,能把请求自动转发到 NLB 群集上对各台服务器。
  3. 实现管道化式管理,允许向 NLB 群集同时发送多个请求。
  4. 支持多地址多端口管理,每台服务器可以绑定多个虚拟 IP,每个虚拟 IP 可建立多个开放式端口。
  5. 支持故障快速恢复功能,当服务器出现故障重启后将自动恢复群集联机。
  6. 支持单播、多播、IGMP多播多种群集操作模式。
  7. 支持事件日志管理,可以快速查阅群集事件记录。

 

三、NLB 使用方式

3.1.  打开 “服务管理器”,添加 “网络负载平衡” 功能。

技术分享

3.2. 安装完成后,打开“网络负载平衡管理器”

技术分享

3.3.新建群集,连接到作为群集服务器当中的一台主机

技术分享

3.4.为此主机绑定优先级数,和专用的IP地址,一台主机可以绑定多个IP地址

技术分享

3.5.建立群集IP地址以进行负载平衡,若存在多个IP地址系统将会以第一个IP作为此群集的IP对信息进行检测。

技术分享

3.6.设定群集参数,此处可设定群集完整的Internet名称,确定其操作模式。此处需要稍作解释:

3.6.1 单播模式
指把各主机节点重时指向同一个虚拟MAC地址,在此情况下各节点之间不能实现通讯。

3.6.2 多播模式
指各主机节点都保留原有的MAC地址,此外再外加专用于NLB的通讯MAC地址,使各节点之间能正常实现通讯。但并非所有的路由器或交换机都支持多播模式,使用时需要谨慎处理。

3.6.3 IGMP多播模式
建立在多播模式功能之上,在默认情况下每隔60秒发送一次IGMP信息。它可以确保发送给网络负载平衡群集的通讯只通过服务于群集主机的端口,而不是所有交换机端口。

技术分享

注意: 由于并非所有路由器或交换机都支持多播模式,所以在不确定的情况下最好使用双网卡单播模式,并且预先设置好ARP,否则可能造成跨网段无法访问群集ip的错误。

3.7 绑定群集开放的端口,此处可为主机设置一定范围内的开放端口。置于TCP、UDP协议就不多作解释,一般设置只使用TCP协议使数据传输更具备可靠性和安全性。此处对筛先模式稍作解释:

3.7.1 多主机
该参数指定了群集中多个主机处理与端口规则相关的网络通讯。通过在多个主机之间分布网络负载,该筛选模式提供了可缩放性能以及容错。可以指定在主机之间均衡分布负载,或每个主机处理指定的负荷量。在多主机相似性选项中,存在3种选择:

  • “无”选项:指定来自同一客户端 IP 地址的多条连接可由不同的主机(无客户端的相似性)进行处理。第一次请求可能指向主机A,第二次请求可能指向主机B,为了实现在多台主机之间共享session,系统应该预先把session作出持久化处理。若使用ASP.NET进行开发时,可通过命令: 
    aspnet_regsql.exe -S 〈SQL Server IP> -U 〈User Name> -P 〈Password> -E -ssadd -sstype c -d 〈Database Name>
    建立用于Session持久化保存的数据库
  • “单一”选项:指定网络负载平衡应该将来自同一客户端 IP 地址的多个请求导向同一台群集主机。这是相似性的默认设置。
  • “网络”选项指相似性指定网络负载平衡将来自同一个 TCP/IP C 类地址范围的多个请求定向到同一台群集主机。比如在客户端使用了多台代理服务器对群集进行访问时,请求看起来像源自不同的计算机。启用“网络”相似性选项,可以正确处理同一客户端多个代理服务器的session会话数据。

3.7.2 单一主机
该参数指定群集中的单个主机根据指定的处理优先级来处理相关端口规则的网络通讯。该筛选模式为处理网络通讯提供了端口专用的容错性能。

3.7.3 禁用该端口范围
该参数指定阻止相关端口规则的所有网络通讯。在这种情况下,网络负载平衡驱动程序将筛选所有相应的网络数据包或数据报。该筛选模式可让您阻止传送到特定范围的端口的网络通讯。

技术分享

3.8 在完成群集配置后,在群集上按右键,选择 “添加主机到群集”,重复 3.3 、3.4安装步骤,可连接多台群集主机。

技术分享

技术分享

 

四、网络负载平衡群集系统测试

建立一个ASP.NET项目,加入以下 Default.aspx 页面,然后建立一个群集,绑定IP为192.168.1.110,在编辑 “端口规则” 时,选择 “多主机无相关性” 筛选模式。最后分别在群集加入Virtual-PC-A1、Virtual-PC-A2两台主机。使用第三方客户端进行访问时,多次点击 NewPage 连接时,可检测到系统会把请求连接到不同的主机之上。

技术分享
 1 <html xmlns="http://www.w3.org/1999/xhtml">
 2 <head runat="server">
 3     <title></title>
 4     <script type="text/C#" runat="server">
 5         protected void Page_Load(object sender, EventArgs e)
 6         {
 7             String hostName = System.Net.Dns.GetHostName();
 8             Response.Write(hostName+"<br/>");
 9             IPAddress[] addressList = System.Net.Dns.GetHostAddresses(hostName);
10             foreach(IPAddress address in addressList)
11                Response.Write(address.ToString()+"<br/>");
12         }
13     </script>
14 </head>
15 <body>
16     <form id="form1" runat="server" >
17     <div align="left"> 
18        <a href="http://192.168.1.110/Default.aspx" target="_blank">New Page</a>     
19     </div>
20     </form>
21 </body>
22 </html>
技术分享

测试结果

技术分享

 

五、NLB 安装注意事项

5.1.如果需要使用“域”服务,一般在安装 “网络负载平衡” 管理器前,先添加“Active Directory 域服务” 角色,并进行林、域配置。

技术分享

 
若服务器需要使用IIS或者ASP.NET,那么在安装 NLB 前建议先添加Web服务器(IIS)服务器角色和 .NET Framework 3.5 功能

技术分享


5.2.要建立 “网络负载平衡群集” ,需要先在 “高级共享设置” 中打开 “启用网络发现” 功能。

技术分享

若无法打开 “启用网络发现” 功能,可先在服务管理器中打开以下3项服务:

  • Function Discovery Resource Publication
  • SSDP Discovery
  • UPnP Device Host

技术分享


5.3. 若使用VMware、Hyper-V等虚拟化工具,在网络中实现信息共享时无法查找到其他虚拟主机,可尝试检查虚拟机设置时“网络适配器”是否使用同一种“网络连接方式”,并且已打开“网络共享服务”功能。

技术分享

技术分享


5.4.在“网络负载平衡管理器”中建立群集,群集连接主机时显示“RPC连接服务器不可用”等错误信息,可尝试检查主机有否打开“Remote Procedure Call(RPC)”和“Remote Procedure Call(RPC)Locator” 服务,并查检“Remote Procedure Call(RPC)的属性——依存关系——依赖服务” 的“状态”是否已经全部设置为 “已经启动” 或 “启动类型” 设置为 “自动”。

技术分享


5.5. 若使用虚拟化工具克隆主机,在群集连接主机时显示 “指定主机没有可用于安装新的群集的任何接口”,这可能是在克隆主机时多台主机使用同一个MAC造成的,此时可以尝试卸载网络适配器的驱动程序,然后再进行驱动软件更新。

技术分享


5.6.若在群集连接主机时显示出现错误提示 “在主机 ‘MyPC上的NLB管理器’ 不能继续,因为没有安装Microsoft群集服务” 。可以检查服务器上是否已经成功安装 “网络负载平衡” 服务,然后打开 “本地连接-属性”,选择“网络负载平衡(NLB)”。

技术分享

Windows Server 2008 R2 负载平衡入门篇

标签:

原文地址:http://www.cnblogs.com/wangchaozhi/p/5223659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!