一、简单介绍负载均衡

负载均衡也称负载共享,它是指负载均衡是指通过对系统负载情况进行动态调整,把负荷分摊到多个操作节点上执行,以减少系统中因各个节点负载不均衡所造成的影响,从而提高系统的工作效率。
在常用的大型服务器系统当中都存在着负载均衡组件,常用的像微软的网络负载平衡NLB、甲骨文的Oracle RAC、思科的负载均衡(SLB),Apach+Tomcat 负载均衡,它们能从硬件或软件不同方面实现系统各节点的负载平衡,有效地提高大型服务器系统的运行效率,从而提升系统的吞吐量。本篇文章以微软的网络负载平衡NAT为例子,简单介绍Windows Server 2008 R2 负载平衡的安装与使用方式。
在Windows Server 2008 R2当中,存在着 “网络负载平衡” 功能 (简称 NLB, Network Load Balancing),它以TCP/IP 为基础的服务,可以将一个已注册的IP地址映射到多个内部域的IP地址当中,让多台主机为同时对网络请求作出反应。使用NLB网络负载均衡最多可以连接到32台主机上,让32台主机共同分担大量的服务压力。在Windows Server 2008 R2 中还具备 “故障转移群集” 功能,它是利用负载共享的方式,把多台服务器的共用信息进行持久化储存,当其中某台服务器出现问题时,请求会自动分摊到其他服务器当中。使用 “故障转移群集” 功能,更能保证 “网络负载平衡集群”的正常运行,有利于统筹管理分布式系统中的各种资源,利用共享信息及其服务机制扩大系统的处理能力。“故障转移群集” 功能将在下一篇文章再作详细介绍。

二、NLB 主要功能

  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)”。

结束语

为满足大型企业内部需求,实现企业服务器的高性能、高可用度、高可靠度,各大软、硬件提供商都构建起一系列的解决方案,而微软的网络负载平衡(NLB)只是其中一种。但鉴于本人知识度有限,且并非网络服务管理类专家,所以本文只牵涉到NLB入门安装方面的知识。
更多资料可参阅 TechNet Library http://technet.microsoft.com/zh-cn/library/cc778263.aspx
文中存在的错误与漏洞敬请各位点评。
对 .NET 开发有兴趣的朋友欢迎加入QQ群:230564952 共同探讨 !

服务类工具的应用与管理

Apache2.2+Tomcat7.0整合配置详解
Windows Server 2008 R2 负载平衡入门篇
数字证书应用综合揭秘(包括证书生成、加密、解密、签名、验签)

作者:风尘浪子
http://www.cnblogs.com/leslies2/archive/2012/11/15/WindowsServer2008R2_NLB.html

原创作品,转载时请注明作者及出处

转载于:https://www.cnblogs.com/leslies2/archive/2012/11/15/WindowsServer2008R2_NLB.html

Windows Server 2008 R2 负载平衡入门篇相关推荐

  1. 至强服务器装2003系统蓝屏,Windows Server 2008 R2 ntoskrnl.exe 引起蓝屏故障,重新启动...

    前不久在HP ProLiant DL360 G6的服务器上面安装了Windows Server 2008 R2,系统一到晚上凌晨就出现蓝屏.重启现象,并且在 C:\Windows\Minidump 目 ...

  2. 【系统篇 / 文件】01. 文件服务安装与配置 ❀ Windows Server 2008 R2

    [简介]文件服务提供帮助管理存储.启用文件复制.管理共享文件夹.确保快速搜索文件,以及启用对UNXI客户端计算机访问的技术.使用文件服务,组织可以将文件存储到中心位置,然后通过公司网络与用户共享.可以 ...

  3. 升级域控制器:向现有域添加 Windows Server 2008 或 Windows Server 2008 R2 域控制器的 Microsoft 支持快速入门...

    1(共 1)对本文的评价是有帮助 - 评价此主题 更新时间: 2011年11月 应用到: Windows Server 2008, Windows Server 2008 R2 本主题介绍将域控制器升 ...

  4. 稳定可靠的Windows Server 2008 R2服务器操作系统

    几月前随手写了篇偏市场的文章,有幸被成为微软的Windows Server 2008 "闪亮的日子" 征文活动获奖作品,转过来分享给给想了解windows Server 2008 ...

  5. Windows Server 2008 R2 RODC(只读域控制器)

    一.RODC的特征 只读数据:RODC上包含所有ADDS的对象和属性,但是和可读写的DC不一样的是,默认情况下,RODC上不包含账户的密码.在不能保证域控制器的安全性的情况下(例如分支机构),我们通过 ...

  6. 打造 Microsoft Windows Server 2008 R2 SP1 支持的 Dell 桌面虚拟化解决方案

    此博文的原作者是 Dell 最佳价值解决方案产品营销部门的 Fahd Pirzada:以及 Dell 服务部门高级全球架构师 Terry Storey 2010 年 7 月,我们发表的一篇博文介绍了  ...

  7. nc361t支持的服务器,Windows Server 2008 R2通过IP安全策略阻止某个IP

    这篇文章主要为大家详细介绍了Windows Server 2008 R2通过IP安全策略阻止某个IP,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 最近网站访问 ...

  8. Windows Server 2008 R2中的Hyper-V

    现在虚拟化技术已经成为数据中心的一个主要组成部分.虚拟化技术提供的操作效率帮助企业机构大幅简化操作流程和降低能耗. Windows Server 2008提供以下类型的虚拟化: ?Hyper-V提供的 ...

  9. KVM安装Windows Server 2008 R2使用virtio硬盘

    在上一篇文章中,我们介绍了使用IDE硬盘来安装Windows Server 2008 R2,这篇文章我们来介绍使用virtio硬盘来安装Windows Server 2008 R2. 说明:KVM默认 ...

最新文章

  1. VMware View把iPad从娱乐工具变成强大办公平台
  2. SM01 事务代码的加锁以及解锁
  3. PHP中Cookie的使用
  4. SpringBoot和Elasticsearch集成
  5. Web的新图像格式WebP
  6. html5 dzzxjbd cn,UEditor实现单张图片上传至腾讯云(对象存储服务)功能(html5
  7. python日志记录_Python日志记录
  8. RTP 包格式 详细解析
  9. (转)密码学研究与区块链实践应该打破隔空喊话
  10. MATLAB 中gcf、gca 以及gco三者的解析
  11. 通过GPRS 模块M26程序实现 实时时钟
  12. kryo com.esotericsoftware.kryo.KryoException: Buffer underflow.
  13. Vue.use 写多个_老师说“你女儿跟多个男生早恋”,爸爸的回应改变了女儿的一生|早恋|马伊琍|晓敏|老师|告白...
  14. 深度分析NandFlash—硬件实现机制
  15. macbook pro window蓝牙驱动 下载
  16. c#操作word图表(一)
  17. 5G和WiFi6的故事
  18. 卷积神经网络初步(零):从原始汤到细胞
  19. 在全民直播的背景下,金融机构做直播带货是必须的吗?
  20. VR元宇宙展会,带来全新线上展厅沉浸式体验

热门文章

  1. 【蓝桥杯Java_C组·从零开始卷】第三节(附)、for循环练习题(数据题与图形题)
  2. Linux学习笔记04
  3. 基于springboot2.x集成缓存注解及设置过期时间
  4. 关于box-shadow、border-radius不兼容ie8的解决办法
  5. [Protobuf] Mac系统下安装配置及简单使用
  6. FastJSON 简介及其Map/JSON/String 互转(转载)
  7. iOS-控件响应用户控制事件之事件处理
  8. C# - dynamic 特性
  9. 三维点云可以导航吗_基于视觉高精定位的“室内AR导航”技术点解析
  10. php无法查询mysql字母,php – 无法在Multi MYSQL查询语句中获取结果