当前位置: 首页 > 图文教程 > 服务器 > Windows服务器 > Windows Server网络负载均衡技术

Windows服务器
Windows Server 2003 R2 Beta 2将公测
Windows 2003组策略和安全模板的应用
Windows 2003 64位正式版抢先体验
微软发布WinServer2003 R2 Beta2
Windows Server 2003 安全配置实战演习
快速关闭Windows 2003的三种方法
windows 2003服务器防止海洋木马的安全设置
制作无盘Windows 2003之无忧Ghost文件
为Windows 2003加装视频压缩
安全配置向导为Win2003打造“铜墙铁壁”
用Win 2003 SP1向导功能打造安全服务器
在Win 2003系统中挖掘免费刻录软件
Windows 2003优化系列之系统服务的开关
发扬DIY精神 为Windows 2003移植系统还原
活学活用Win2003分区增容功能
轻松管理Win 2003的“远程桌面”
自动管理Windows 2003好用的“远程桌面”
活学活用Windows Server 2003分区增容功能
使用Web接口远程维护Win2003服务器
教你一招:Windows2003系统优化大有玄机

Windows服务器 中的 Windows Server网络负载均衡技术


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 91 ::
收藏到网摘: n/a

Windows Server集群(cluster)技术是以三层式应用程序的架构来设计的,每一层都有相对应的解决方案。例如,本文介绍的网络负载均衡(Network Load Balance,NLB)便是属于前端的集群技术,另外尚有属于中介层的COM+组件负载均衡(Component Load Balance,CLB),以及后端服务的服务器集群(Microsoft Cluster Server,MSCS)。

在介绍NLB之前,先来了解一些与集群有关的基本概念:什么是丛集,以及使用丛集的好处。

集群的基本概念

简单来说,集群是指一组服务器,透过彼此的协同作业,提供一个相同的服务或应用程序,用于提升服务或应用程序的可用性(availability,注1)、可靠性(reliability,注2),以及延展性(scalability,注3)。当集群内的服务器挂了,请求会转移给其它的服务器,提供全年无休、一天24小时不中断的服务。

Windows Server支持了三种集群技术,分别是NLB、CLB与MSCS等,NLB和MSCS已内建于Windows Server中, CLB则需要购买Application Center。

这些集群技术简单说明如下:

1.NLB,提供以TCP/IP 为基础的服务与应用程序的网络流量负载均衡,用于提升系统的可用性和延展性。常见的应用有terminal service、web service与web application等。

NLB是透过一个虚拟IP对外提供服务。当收到请求时,NLB会随机决定由谁来处理请求。

2.CLB,提供使用COM+组件的中介层应用程序的动态负载均衡,用于提升系统的可用性和延展性。CLB会依据目前的工作负载来决定由谁来处理服务请求。

3.MSCS,提供后端服务与应用程序的容错移转(failover),可提升系统的可用性。常见的应用有SQL Server与Exchange Server等。

MSCS是由client来决定由谁来处理服务请求,所有服务器共享一个share storage来储存session状态。当主动服务器挂了,则继续由被动服务器接手。被动服务器会从share storage取出session状态,继续未完成的工作,以达到容错移转的目的。

NLB的运作原理

对Windows Server集群有了基本的认识之后,接下来进一步了解NLB是如何将Client的服务请求分配给丛集内的服务器,以分散服务请求的流量,使得负载不会集中在某一部服务器上。NLB是使用筛选模式相似性算法来分配服务请求。它又分成无相似性、单一相似性,以及class C等三种,简单说明如下:

1.无相似性

Client的服务请求会平均分配到丛集内的每一部服务器。假设NLB丛集内有2部服务器。当接到Client的请求时,NLB会将第1个请求交由第1部服务器来处理,第2个请求交由第2部服务器来处理,第3个请求交由第1部服务器来处理,…依此类推。因为所有Client联机会平均分配到每一部服务器,因此可以达到最佳的负载平衡。如果需要执行交易楚理,为了能够共享session状态,则必须将session状态集中储存在state或database server中。这种方式适用于大部分的应用程序。

2.单一相似性

Client的服务请求会固定分配到丛集内的某一部服务器。当接到Client的请求时,NLB会根据Client 的IP来决定交由哪一部服务器来楚理,也就是一部服务器只会处理来自某些IP的请求。因为一个IP的服务请求只会固定由一个服务器来处理,因此没有session状态共享的问题,但可能会导致负载不平衡。这种方式适用于联机需支持 SSL 集多重联机的通讯协议 ( 例如FTP与PPTP等)。

3.Class C与单一相似性类似,不同的是Class C是根据IP的Class C屏蔽来决定交由哪一部服务器来楚理,也就是一部服务器只会处理来自某些网段C的请求。这种方式可确保使用多重 Proxy 的客户端能导向到相同的服务器。

结论

在动手建立NLB之前,需要特别注意一些限制条件,例如服务器的Private IP必须是固定,而且在相同的网段。若只有一张网卡,则集群内服务器之间无法互通,因此建议要有两张网卡,一张网卡用于建立NLB,另一个网卡,则用于服务器之间的heart beat,侦测集群内服务器是否正常运作。若是使用两张网卡,则只能在其中一张网卡上设定default gateway,否则封包将无法转送至正确的IP地址上。

NLB的基本概念简单地介绍到这理,实作部份可利用Windows Server的网络负载平衡管理员或区域联机设定,详细步骤请参阅"说明与支持"。

注1:可用性(availability)是指应用程序、服务或系统提供的服务等级。可用性高的系统很少停机 (无论是计划的还是意外的停机)。可用性通常表示为服务或系统可用的时间百分比,例如,一年停机 8.75 小时之服务的可用性是 99.9%。

注2:可靠性(reliability)是指计算机系统或装置在指定期间内或是指定条件下,可继续运作的可能性。

注3:延展性(scalability)是测量计算机、服务或应用程序可以扩充至何种程度以符合渐增之效能需求的一种方式。对于服务器集群而言,它是指集群的整体负载超过其功能时,可持续为现存集群新增一或多个系统的能力。