Cluster群集三类:NLB,CLB,MSCS
来源:网络整理
http://blog.chinaunix.net/uid-12427199-id-1745709.html
Microsoft 服务器提供了三种支持群集的技术:网络负载平衡 (NLB)、组件负载平衡 (CLB) 和 Microsoft 群集服务 (MSCS)。
网络负载平衡(NLB,Network Load Balancing)
网络负载平衡充当前端群集,用于在服务器群集中分配传入的 IP 流量,是为电子商务 Web 站点实现增量可伸缩性和显著可用性的理想选择。可将最多 32 个 Windows .NET Enterprise Server 连结在一起共享一个虚拟 IP 地址。NLB 通过在群集内的多个服务器之间分配客户端请求增强了可伸缩性。随着流量的增加,可以向群集中添加更多的服务器,任何一个群集最多可容纳 32 个服务器。NLB 在为用户提供连续服务的同时还提供了高可用性,即自动检测服务器故障,并在 10 秒钟内在其余服务器中重新分配客户端流量。
NLB提供以TCP/IP为基础的服务与应用程序的网络流量负载均衡,用于提升操作系统的可用性和延展性。常见的应用有terminal service、web service与web application等。NLB是通过一个虚拟的IP提供对外服务。当收到请求时,NLB会随机决定由哪一台服务器来处理这个请求。
组件负载平衡(CLB,Component LoActive Directory Balancing)
组件负载平衡可以在多个运行站点业务逻辑的服务器之间分配负载。它在最多包含八个等同服务器的服务器集中提供 COM+ 组件的动态平衡。在 CLB 中,COM+ 组件位于单独的 COM+ 群集中的服务器上。激活 COM+ 组件的调用是平衡到 COM+ 群集中的不同服务器的负载。CLB 通过作用于多层群集网络的中间层与 NLB 和群集服务配合工作。CLB 是作为 Application Center 2000 的功能提供的,可与 Microsoft 群集服务在同一组计算机上运行。
CLB主要提供使用COM+组件的中介层应用程序的动态负载均衡,用于提升系统的可用性和延展性。CLB会依据目前的工作负载来决定由谁来处理服务请求。
群集服务(MSCS,Microsoft Cluster Service)
群集服务充当后端群集,可为数据库、消息以及文件和打印服务等应用程序提供高可用性。当任一节点(群集中的服务器)发生故障或脱机工作时,MSCS 将尝试最大程度地减少故障对系统的影响。
群集服务的价值
在线商务应用程序处于公司运作的中心地位,它包括数据库、消息服务器、企业资源计划(ERP)应用及核心文件/打印服务等功能。Windows 2000操作系统的群集服务通过将物理服务器作为一个单点故障加以删除的方法确保上述关键应用程序在需要的情况下处于在线状态。
当任一节点出现硬件或软件故障时,当前运行在该节点上的应用会由群集服务功能移往其它无故障的节点并被重新启动。由于群集服务使用诸如SCSI和光纤等具有公共总线结构的共享磁盘配置,因此,在故障应急期间将不会有数据被丢失。
MSCS主要提供后端服务与应用程序的容错移转(failover),用来提升系统的可用性。常见的应用有SQL Server与Exchange Server等。
MSCS是由client来决定由谁来处理服务请求,所有服务器共享一个share storage来储存session状态。当主动服务器挂了,则继续由被动服务器接手。被动服务器会从share storage取出session状态,继续未完成的工作,以达到容错移转的目的。
Cluster 这个集群还要看是哪家的产品,个人认为绝大部分的cluster目的都是N个node分摊去做一个或某几个共同的任务。按照功能和结构可划分成HA(High-availability高可用集群)LB(Load balancing 负载均衡集群)
双机热备份方案中,根据两台服务器的工作方式可以有三种不同的工作模式,即:双机热备模式、双机互备模式和双机双工模式。
双机热备模式:即目前通常所说的active/standby 方式,active服务器处于工作状态;而standby 服务器处于监控准备状态,服务器数据包括数据库数据同时往两台或多台服务器写入(通常各服务器采用RAID磁盘阵列卡),保证数据的即时同步。当active服务器出现故障的时候,通过软件诊测或手工方式将standby机器激活,保证应用在短时间内完全恢复正常使用。典型应用在证券资金服务器或行情服务器。这是目前采用较多的一种模式,但由于另外一台服务器长期处于后备的状态,从计算资源方面考量,就存在一定的浪费。
双机互备模式:是两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性,但对服务器的性能要求比较高。配置相对要好。
双机双工模式:是目前cluster(群集:群集包括两种,一种是网络负载平衡,别一种是服务器群集。这里的双机双工模式是属于网络负载平衡群集。)的一种形式,两台服务器均为活动,同时运行相同的应用,保证整体的性能,也实现了负载均衡和互为备份,需要利用磁盘柜存储技术(最好采用San方式)。WEB服务器或FTP服务器等用此种方式比较多。
双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,
双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-Active方式),主-备方式即指的是一台服务器处于某种业务的激活状态(即Active状态),另一台服务器处于该业务的备用状态(即Standby状态)。而双主机方式即指两种不同业务分别在两台服务器上互为主备状态(即Active-Standby和Standby-Active状态)。
负载均衡,英文名称为Load Balance,其意思就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
集群(Cluster)
所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。
负载均衡(Load Balance)
网络的负载均衡是一种动态均衡技术,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去。这种技术基于现有网络结构,提供了一种扩展服务器带宽和增加服务器吞吐量的廉价有效的方法,加强了网络数据处理能力,提高了网络的灵活性和可用性。
特点
(1)高可靠性(HA)。利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。
(2)高性能计算(HP)。即充分利用集群中的每一台计算机的资源,实现复杂运算的并行处理,通常用于科学计算领域,比如基因分析、化学分析等。
(3)负载平衡。即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。
load balance cluster
一共有四兄弟开裁缝铺,生意特别多,一个人做不下来,老是延误工期,于是四个兄弟商量
老大接订单, 三个兄弟来干活。 客户多起来之后,老大根据一定的原则(policy) 根据三兄弟手上的工作量来分派新任务.
High availability cluster
两兄弟开早餐铺,生意不大,但是每天早上7点到9点之间客户很多并且不能中断。为了保证2个小时内这个早餐铺能够保证持续提供服务,两兄弟商量几个方法:
方法一:平时老大做生意,老二这个时间段在家等候,一旦老大无法做生意了,老二就出来顶上,这个叫做 Active/Standby.
方法二:平时老大做生意,老二这个时候就在旁边帮工,一旦老大无法做生意,老二就马上顶上,这个叫做Active/Passive
方法三:平时老大卖包子,老二也在旁边卖豆浆,老大有问题,老二就又卖包子,又卖豆浆,老二不行了,老大就又卖包子,又卖豆浆.这个叫做Active/Active (dual Active)
包子= application package, 互相照应叫做heartbeat, 顶替对方工作叫做 failover/takeover. 如果两个兄弟突然都瞎了聋了,不知道现在对方到底是否正在干活,都认为自己要顶对方的工作,这个叫做brain-split, 然后需要第三者,比如他们的老爹来解决问题,这个叫做tier-breaker, 或者让他们两个的媳妇过来拉走其中一个,这个叫做fency.
high computing clustering
10个兄弟一起做手工家具生意,一个客户来找他们的老爹要求做一套非常复杂的仿古家具,一个人做也可以做,不过要做很久很久,为了1个星期就交出这一套家具,10个兄弟决定一起做。
老爹把这套家具的不同部分分开交给儿子们作,然后每个儿子都在做木制家具的加工,最后拼在一起叫货.
老爹是 scheduler任务调度器,儿子们是compute node. 他们做的工作叫做作业.