Windows 服务器负载均衡
1.网络服务的需求
在企业中现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,比如: 常见的服务器的处理能力和可靠性提出的要求、网络拥塞、用户的访问质量、服务器的响应 速度、数据中心的单点失效等等?那么,有没有解决办法或技术来解决此问题呢?
通常有两种方法解决这些问题。第一种方法称为“向上扩展”,说明了通过升级单个系
统的个别部件来最大化其计算能力的过程。通常涉及到使用更快和功能更强的组件来替换现 有的硬件组建。例如,为单个处理器系统添加一个或多个CPU,使其计算能力突飞猛进。 通过增加处理器和存储控制器缓存,或者安装大量的快速内存来缩短处理时间。不过这种有 一些不足之处。系统升级可能很昂贵而且不灵活。它们通常还需要系统停机时间(尽管一些 新技术有助于解决这个问题,例如在Windows Server 2003 Enterprise Server 中支持的Hot Add Memory)。因为硬件或软件的兼容性问题,替换现有组件也许是不可能的。克服某些类 型的瓶颈,例如系统总线的宽度和速度或者支持的处理器数目,可能需要对主系统进行彻底 检修。此外,根据应用软件而不仅仅是操作系统的性能来充分利用对称多处理。在别处充分 利用旧硬件也可能会很困难。最后,无论单个系统的功能有多么强大,维护一个单一的系统 都会引入单点故障。
第二种方法称做“向外扩展”,采用了一种区别很大的解决方法。这种方法使用多个系 统而不是单个系统来负责处理负载。这种方法提供可扩展性以及可用性。采用这种类型的解 决方案可以重用现有的系统,从财政的观点来看这带来了一个优点。其他的优点之一是能够 在执行常规维护过程中,例如软件或者硬件的升级,不会影响全部资源的可用性。然而,这 种方法极大地增加了典型管理任务的复杂性,例如安装、配置、监控和故障诊断。向外扩展 的系统管理员面临一些新的挑战,例如确保正确的同步、复制和其组成部分之间的相互通信。 对于像操作一个服务器那样操作多个单独的服务器来说,这些额外的功能是必须的。不幸的 是,这些功能在每个服务器上创建了一组额外的处理任务。尽管这些开销,但是由于服务器 总数的增加,整体性能水平还是得到了改善。
概括的说就是“可用性、可扩展性、可管理性、经济性”。网络的可用性是说提供的网 络服务不仅是可用的,而且必须是高效稳定的。首先保证网络的正常可用,使网络的各项服 务和应用得到正常的使用,其次,要求网络是稳定的,网络不能时通时断,或是由于网络阻 塞而导致网络在某些时候无法使用。总之要保证一个高效稳定的网络,使得网络的各项服务
能够正常使用。
网路的可扩展性是说,网络服务的使用需求是不稳定的,无法预料何时会有更大的负载需求,为此要求网络有良好的可扩展性。网络的可扩展性包括速率和容量,要求网络服务提供商在硬件和软件等各个方
面优化处理,以提高速率。此外,用户的激增将引起带宽、存储容量和数据访问时效等方面的问题。在规划网路的过程中这些问题是要考虑的,虽然不能全部考虑到以后的发展,但做好长远的规划,预留足够的扩展空间是必须的。
网络服务的可管理性要求能够有效的监测和监管所提供的服务,以便能够正常干预服务
的质量。如果监管所提的服务是混乱无序的,则服务质量可想而知。只要有效的管理网络服 务,才能保证所提供的服务是正常且高效的。
网络服务的经济性不仅要求完成所有必须任务所需要的硬件投入尽量减少,而且在软件 资源消耗上能以最小的系统开销完成所要提供的服务。
2.网路服务新需求的研究方向
高可用性:通过服务器集,资源(例如:磁盘驱动器和Internet 协议(IP)地址)的所有权会自动从故障服务器转移到可用的服务器。当集中的某个系统或应用程序发生故障时,集软件会在可用的服务器上重新启动故障应用程序,或者将工作从故障节点分散到剩下的节点上。由此,用户只在瞬间感觉到服务的暂停。故障恢复:当故障服务器重新回到其预定的首选所有者的联机状态时,集服务将自动在集中重新分配工作负荷。该特性可配置,但默认禁用。
可管理性:您可以使用“集管理器”工具(),将集作为一个单一的 系统进行管理,并对犹如运行于一个单一服务器的应用程序实施管理。您可以将应用程序转 移到集中的其它服务器。“集管理器”可用于手动平衡服务器的工作负荷,并针对计划 维护释放服务器。您还可以监控集的状态、所有节点以及来自网络任何地方的资源。
可伸缩性:集服务可扩展以满足需求的增长。当集监督应用程序的总体负荷超出了
集的能力范围时,可以添加附加的节点。
3.集概述
集是一组通过协同工作方式运行同一套应用程序并针对客户端及应用程序提供单一 系统映像的独立计算机。集技术的目标在于通过多层网络结构进一步提高伸缩能力、可用 性与可靠性。
服务器集允许客户端在出现故障和计划中的暂停时,依然能够访问应用程序和资源。
如果集中的某一台服务器由于故障或维护需要而无法使用,资源和应用程序将转移到可用 的集节点上。
Windows 集(Windows Clustering)解决方案使用了名词“高可用性”而非“容错”。
容错技术提供更高层次的弹性和恢复能力。容错服务器通常使用深层硬件冗余,加上专门的 软件,几乎可以即时地恢复任何单一的硬件或软件错误。这些解决方案要比Windows 集 (Windows Clustering)解决方案昂贵得多,因为组织必须为处于空闲状态等待错误的冗余 硬件支付费用。
服务器集无法保证无间断运作,但是确实能够为多数关键任务应用程序提供足够的可 用性。集服务可以对应用程序和资源进行监控,并能够自动识别和恢复众多故障状况。这 为在集中管理工作负荷提供了灵活性。另外,还提高了整个系统的可用性。
4.NLB 集
NLB 是Microsoft 在Windows 2000 Server 和Windows Server 2003 操作系统中提供的一 种负载均衡技术,它使用一种分布式算法将负载均衡分布到多台主机上,从而提高了基于 IP 的任务关键型服务例如Web、虚拟专用网等可伸缩性和可用性。它同时可监测到主机故 障并自动将流量重新分配给操作主机,从而提供高可用性。
NLB 底层软件是一种位于NIC 与TCP/IP 之间的网络设备接口规范(NDIS)驱动程序。
您应当在NLB 集中的每台服务器上安装这种驱动程序。所有NLB 节点均共享同一个代表 所需网络资源(如Web 服务器)的虚拟IP 地址。所有NLB 服务器均监听用户请求,但其 中只有一台服务器对这些
用户请求进行响应。基于快速Hash 算法的负载平衡架构负责合并 客户端IP 地址与端口号,并确定由哪台服务器进行响应。您可以指定某种相似性规则,以 便能够在不同服务器上分配不同的负载量(例如,您可以指定某些服务器应当获取多于其它 服务器工作负载)。通过一种心跳特性,所有NLB 节点均可及时集变化(例如新增节点或 节点故障)情况。当集发生变化时,NLB 将启动一个汇聚过程,以便在集中自动协调 变化情况并以透明方式重新对进入系统的工作负载进行分配。
一、网络负载平衡的优点
网络负载平衡允许你将传入的请求传播到最多达32 台的服务器上,即可以使用最多32 台服务器共同分担对外的网络请求服务。网络负载平衡技术保证即使是在负载很重的情况下 它们也能作出快速响应。
网络负载平衡对外只须提供一个IP 地址或域名。
如果网络负载平衡中的一台或几台服务器不可用时,服务不会中断。网络负载平衡自动
检测到服务器不可用时,能够迅速在剩余的服务器中重新指派客户机通讯。此保护措施能够 帮助你为关键的业务程序提供不中断的服务。可以根据网络访问量的增多来增加网络负载平 衡服务器的数量。
网络负载平衡可在普通的计算机上实现。
二、网络负载均衡的原理
网络负载均衡的工作原理就是使用两台或更多台一起工作的主机(服务器)组成集,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地
址应在同一个网段)、输入子网掩码,输入域名。集操作模式选“多播”

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。