转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. CF767 A. Snacktower 暴力

    LINK 题意:给出一个序列,如果存的数满足连续递减(第一个必须为n)则输出否则输出空行,并暂存当前数 思路:直接暴力不可行,由于待输出的数的个数满足单调性可以稍微优化,即从上一回输出的最小一个数开始 ...

  2. [linx] ubuntu网络重启命令

    /etc/init.d/networking restart #这种方式必须有/etc/network/interface文件 ifconfig eth0 down #直接重启网卡 ifconfig ...

  3. lintcode 40. 用栈实现队列

    使用两个栈来回倒腾可以实现队列. AC代码: import java.util.Stack; public class Queue { private Stack<Integer> sta ...

  4. 5、Linux操作系统介绍

    1操作系统的作用·是现代计算机系统中最基本和最重要的系统软件·是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展·主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用·而其 ...

  5. JS几个常用的工具函数

    一个项目中JS也不可避免会出现重用,所以可以像Java一样抽成工具类,下面总结了几个常用的函数: 1.日期处理函数 将日期返回按指定格式处理过的字符串: function Format(now,mas ...

  6. py,pyc,pyw文件的区别和使用

    熟悉python编程的都知道,python三种最常见的py文件格式,.py,.pyc,.pyw,下面说一说它们各自的使用. py文件 python最常见的文件,是python项目的源码: 文件执行时l ...

  7. [Leetcode] N-Queens 系列

    N-Queens 系列题解 题目来源: N-Queens N-Queens II N-Queens The n-queens puzzle is the problem of placing n qu ...

  8. 64_r3

    rubygem-resque-cleaner-0.3.0-5.fc24.noarch.rpm 24-Sep-2016 22:26 22422 rubygem-resque-cleaner-doc-0. ...

  9. 码源中国.gitignore忽略文件配置

    码源中国.gitignore忽略文件配置 ## Ignore Visual Studio temporary files, build results, and ## files generated ...

  10. (MHA+MYSQL-5.7增强半同步)高可用架构设计与实现

           架构使用mysql5.7版本基于GTD增强半同步并行复制配置 reploication 一主两从,使用MHA套件管理整个复制架构,实现故障自动切换高可用        优势:       ...