转http://www.aixchina.net/Article/31746

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

在Internet快速发展的今天,为了满足企业的高速发展。为了解决服务器的负载、高可用、以及服务器的可伸缩性。通常我们的做法是在“网络层、数据链路层”不断的添加硬件设备。但是这种做法对于一些中小企业来说是在“资金”方面是吃不消的。有没有一种方法解决这些问题呢?答案是肯定的,常见的有linux中的LVS和windows中的NLB以及其它的第三方软件来实现。
今天,主要给大家介绍一下Windows下的NLB (Network Load balancing),网络负载平衡是Microsoft 在所有 Windows 2000 Server 和 Windows Server 2003 操作系统上提供的一种负载平衡技术。NLB 使用一种分布算法将负载均衡分布到多台主机上,从而提高基于 IP 的关键型服务(例如Web、虚拟专用网络、流媒体、终端服务、代理等等)的可伸缩性和可用性,同时可检测主机故障并自动将流量重新分配给其他操作主机,从而提供高可用性。
其实,网络负载平衡就是两个或两个以上的Windows 2003服务器组成群集的方式,其中每台服务器的地位是平等的。 都可以为客户端提供服务并且不用其它服务器的辅助。例如:如下图群集的服务器将虚拟出来的主机Server3 和IP地址分配给Server1和Server2。然后将虚拟出来的IP地址和主机名发布到互联网上,服务器之间将均衡来处理客户端请求。如果某一台服务器出现宕机,则将请求分配给另外一台服务器。同时我们需要注意,如果将数据存放到NLB每个服务器成员上,服务器之间的数据要求统一,但是他们之间的数据是无法通过NLB自动同步,所以需要通过手动的完成数据的同步。如果要避免这种情况我们可以使用第三方存储(磁盘柜)或者将Web服务器的数据交给数据库。
 

网络负载均衡的工作原理就是使用两台或更多台一起工作的主机(服务器)组成群集,Internet客户端使用一个IP地址或一组地址访问群集。网络负载均衡使用全面分布式的算法来从统计意义上将客户端的请求映射到基于IP地址、端口和其它信息的群集主机上,在检查收到的数据包时,所有主机均同步执行这种映射以迅速决定哪个主机应处理该数据包。对于Web服务而言,程序的一个拷贝运行在群集内的所有主机上,然后通过均衡技术,将外部发送来的请求均匀地分配到对称结构中的某一台服务器上,而接受到请求的服务器都能独立回应客户机的请求,网络负载均衡则将工作负载在这些主机间进行分配,其中只有一台主机处理工作负载,网络负载均衡允许网络通讯量流到一个主机上,并在该主机发生故障时将通讯量移至其它主机。
群集在配置了网络负载平衡以后,对群集IP地址的客户请求被群集内的所有主机收到。网络负载平衡在这些数据报到达TCP/IP协议软件之前,就对这些数据报进行过滤以指定TCP和UDP协议,并以端口方式控制它们的活动。除了流向指定端口的TCP和UDP通讯量之外,网络负载平衡不控制任何其它的IP通讯量。
网络负载平衡通过在分配给群集(NLB)的一个或多个虚拟IP地址(群集IP地址)间分配传入的网络通信。然后,群集中的主机同时对不同的客户端请求甚至来自同一个客户端的多个请求做出响应。Web浏览器可以从网络负载平衡群集中的不同之际获得所有单张网页中的多幅图像。这就提高了处理速度,并缩短了对客户端做出响应的时间。
在群集中,每个NLB成员都会想群集中的其他主机发出心跳信号。如果某台主机停止发送心跳信号则认为此主机出现故障,群集中的其他主机就会经历一个称为收敛的过程。通过收敛,整个群集重新协商成员关系,并删除掉出现故障的成员,网络负载平衡则将传入的网络通信重定向到工作的群集主机。连到脱机主机的现有连接将丢失,在多数情况下客户端软件可以自动重试失败的连接,而且客户端在重新接收响应时,只有数秒钟的延迟。
配置实例:
1、建立如图环境,在实际环境下建议不要使用DC在作负载均衡。
2、配置如图环境,每台服务器有两块网卡,一个用于负载均衡,一个用于管理
3、如果使用DNS服务器的话,可以建立一条和虚拟IP对应的dns记录
4、建立两个网站用于测试NLB群集。
 

(1)Windows系统默认安装的服务,首先在Server1上以管理员身份登录,从“管理工具”中运行“网络负载平衡管理器”,单击“网络负载平衡群集”右键“新建群集”
 

(2)在“群集参数”对话框,输入我们规划好的虚拟群集IP地址(注意虚拟IP地址与主机IP地址应在同一个网段)、输入子网掩码,输入域名。群集操作模式选“多播”,这里单播和组播的含义如下:
单播
  在单播模式下,NLB重新对每个NLB节点中启用NLB的网络适配器分配MAC地址(此MAC地址称为群集MAC地址),并且所有的NLB节点均使用相同的MAC地址(均使用群集MAC地址),同时NLB修改所有发送的数据包中的源MAC地址,从而使交换机不能将此群集MAC地址绑定在某个端口上。
  工作在单播模式下的NLB可以在所有网络环境下正常运行,但是由于它的工作特性,具有以下两个限制:
n 由于NLB所使用的群集MAC地址没有绑定在某个具体的交换机端口上,所以所有的NLB通讯均通过在交换机的所有端口上广播进行,而不管此端口是否连接了NLB节点,这造成了额外的网络流量负担;
n 由于所有的NLB节点具有相同的MAC地址,NLB节点之间不能通过自己原有的专用IP地址进行通讯。  
多播

  在多播模式下,NLB不会修改NLB节点启用NLB的网络适配器的MAC地址,而是为它再分配一个二层多播MAC地址专用于NLB的通讯(此MAC地址称为群集MAC地址),这样NLB节点之间可以通过自己原有的专用IP地址进行通讯。但是在多播模式中,NLB节点发送的针对群集IP地址MAC地址ARP请求的ARP回复会将群集IP地址映射到多播MAC地址,而许多路由器或者交换机(包括CISCO的产品)会拒绝这一行为。当出现这种情况时,你必须在路由器和交换机上手动添加静态映射,将群集IP地址映射到群集的多播MAC地址。

 

(3)单击“下一步”如果要虚拟多个群集IP的话可以在这里添加。
 

(4)在“端口规则”保持默认设置,单击“下一步”即可。
 

(5)在“连接”界面,我们可以输入当前主机的计算机名或任意的有效IP地址即可。注意选择和虚拟IP对应的的接口IP地址。(也就是对外提供服务的网卡)
 

(6)点击“完成”完成配置。系统会开始配置网络负载平衡,大约需要几分钟。
 

(7)这是Server1完成配置后的图片。
 

(8)在Server2上,我们可以先连接到现存的群集,单击“群集”选择“连接到现存的”
 

(9)这里在主机上输入Server1的计算机名或IP地址,点击连接。有的时候会出现连接不上的故障,根据提示,查看系统日志去解决问题即可。
 

(10)连接成功后,我们会在管理界面看到只有Server1服务器,这时只需单击我们的群集名称“[url]www.abc.com[/url]”右键选择“添加主机到群集”
 

(11)在连接界面,还是输入Server2的IP地址或计算机名,这里也要注意我们需要选择对外提供服务的网卡IP地址。
 

(12)点击“完成”后,大约需要几分钟我们发现系统已配置成功,如下图。
 

(13)验证一下配置,在两台服务器上我们会发现网卡上都添加了响应的群集参数。
 

(14)配置Web这里不做详细介绍,为了看出效果我在Server上添加了如下图内容,我们可以将Server2的IP网卡禁用,会发现我们访问的内容是Server1上的。
 

(15)启用Server2的网卡,禁用Server1的,我们可以看到Server2上的网站信息。
 

(16)如果关闭了网络负载平衡管理器后再次进入的话,我们可以选择“连接到现存的”。

Windows群集之NLB的更多相关文章

  1. Windows群集之NLB【转】

    本文转自:http://www.talkwithtrend.com/Article/31746 网络负载平衡群集(Network Load balancing) 在Internet快速发展的今天,为了 ...

  2. 当前Windows群集心跳阀值设置

    一.内容描述: WINDOWS群集之间通过心跳检测(HeartBeat)各个节点是否正常在线,微软称此检测为lookalive,检测通过UDP数据包中封装的RPC信息进行传送.默认情况下为每秒检测一次 ...

  3. Windows群集安装

    一.安装前准备 1.安装dotnet 3.5 框架功能 2.安装starwind,并创建虚拟磁盘http://www.cnblogs.com/chhuang/p/3623305.html 3.使用iS ...

  4. 在Hyper-V上安装配置Windows负载均衡NLB

    搭建过程 Hyper-V 是自Windows Server2008 以来提供的虚拟机管理软件,它操作简便,功能也不错,可以方便的在它里面安装各种操作系统,如图所示: 现在,想利用这几台虚拟服务器搭建一 ...

  5. WINDOWS 负载均衡NLB配置中单播与多播区别(转载)

    单播 在单播模式下,NLB重新对每个NLB节点中启用NLB的网络适配器分配MAC地址(此MAC地址称为群集MAC地址),并且所有的NLB节点均使用相同的MAC地址(均使用群集MAC地址),同时NLB修 ...

  6. 配置Windows群集

    故障转移群集 l  一个群集支持8个节点,(64位操作系统支持16个节点) l  可以使用故障转移群集的服务:SQL Server(数据库), Exchange(邮件),文件和打印服务,DHCP服务等 ...

  7. windows网络服务之配置网络负载均衡(NLB)群集

    O首页51CTO博客我的博客 搜索 每日博报 社区:学院论坛博客下载更多            登录注册 家园 学院 博客 论坛 下载 自测 门诊 周刊 读书 技术圈 曾垂鑫的技术专栏 http:// ...

  8. Windows 2008 故障转移群集介绍

    转载:http://dufei.blog.51cto.com/382644/902026 今天有客户问起Windows 群集的相关内容,毕竟Windows Server2008所支持的群集技术和Win ...

  9. Windows NLB搭配IIS的ARR搭建高可用环境(转载)

    原文地址:http://www.cnblogs.com/shanyou/archive/2010/04/28/1723276.html 在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求, ...

随机推荐

  1. JVM学习三:JVM之类加载器之连接分析

    学习完类加载之加载篇后,让我们继续来看加载之连接,连接分为三个步骤:验证.准备和解析三步,我们将一一分析之. 连接就是将已经读入到内存的类的二进制数据合并到虚拟机的运行时环境中去. 类加载完毕之后进入 ...

  2. File System Implementation 文件系统设计实现

    先来扯淡吧,上一篇文章说到要补习的第二篇文章介绍文件系统的,现在就来写吧.其实这些技术都已经是很久以前的了,但是不管怎么样,是基础,慢慢来学习吧.有种直接上Spark源码的冲动.. 1. 这篇博客具体 ...

  3. Web 开发者不可不知的15条编码原则

    HTML 已经走过了近20的发展历程.从HTML4到XHTML,再到最近十分火热的HTML5,它几乎见证了整个互联网的发展.但是,即便到现在,有很多基础的概念和原则依然需要开发者高度注意.下面,向大家 ...

  4. CSS浏览器兼容问题集-第二部分

    11.高度不适应 高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节,特别是当内层对象使用margin 或paddign 时.   例:  #box {background-color:# ...

  5. Linux 安装tomcat,搭建web app运行环境

    Tomcat 8 下载地址:https://tomcat.apache.org/download-80.cgi 解压tomcat:tar -xf apache-tomcat-8.5.31.tar.gz ...

  6. 【最大流】【CODEVS】1993 草地排水

    [算法]网络流-最大流(dinic) [题解]http://www.cnblogs.com/onioncyc/p/6496532.html #include<cstdio> #includ ...

  7. 【BZOJ】1468: Tree(POJ1741) 点分治

    [题意]给定带边权树,求两点距离<=k的点对数.n<=40000. [算法]点分治 [题解]对于一个区域,选择其重心x作为根,则划分出来的每棵子树都是子区域,可以证明至多划分log n次( ...

  8. 【leetcode 简单】第三十二题 买卖股票的最佳时机Ⅱ

    给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...

  9. NYOJ 925 国王的烦恼 (并查集)

    题目链接 描述     C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛.两个小岛间可能存在多座桥连接.然而,由于海水冲刷,有一些大桥面临着不能使用的危险.如 ...

  10. react input 设置默认值

    1.text类型 <input type="text" value={默认值} />  ,这种写法可以显示默认值,但不能对输入框进行编辑 正确写法: <input ...