集群的目的:
提高性能
减低成本
提高可扩展性
增强可靠性
集群的分类
1 科学集群
科学集群是并行计算的基础。通常,科学集群涉及为集群开发的并行应用程序,以解决复杂的科学问题。科学集群对外就好像一个超级计算机,这种超级计算机内部由十至上万个独立处理器组成,并且在公共消息传递层上进行通信以运行并行应用程序。
2 负载均衡集群
负载均衡集群为企业需求提供了更实用的系统。负载均衡集群使负载可以在计算机集群中尽可能平均地分摊处理。负载通常包括应用程序处理负载和网络流量负载。这样的系统非常适合向使用同一组应用程序的大量用户提供服务。每个节点都可以承担一定的处理负载,并且可以实现处理负载在节点之间的动态分配,以实现负载均衡。对于网络流量负载,当网络服务程序接受了高入网流量,以致无法迅速处理,这时,网络流量就会发送给在其它节点上运行的网络服务程序。同时,还可以根据每个节点上不同的可用资源或网络的特殊环境来进行优化。与科学计算集群一样,负载均衡集群也在多节点之间分发计算处理负载。它们之间的最大区别在于缺少跨节点运行的单并行程序。大多数情况下,负载均衡集群中的每个节点都是运行单独软件的独立系统。
但是,不管是在节点之间进行直接通信,还是通过中央负载均衡服务器来控制每个节点的负载,在节点之间都有一种公共关系。通常,使用特定的算法来分发该负载。
3 高可用性集群
当集群中的一个系统发生故障时,集群软件迅速做出反映,将该系统的任务分配到集群中其它正在工作的系统上执行。考虑到计算机硬件和软件的易错性,高可用性集群的主要目的是为了使集群的整体服务尽可能可用。如果高可用性集群中的主节点发生了故障,那么这段时间内将由次节点代替它。次节点通常是主节点的镜像。当它代替主节点时,它可以完全接管其身份,因此使系统环境对于用户是一致的。
高可用性集群使服务器系统的运行速度和响应速度尽可能快。它们经常利用在多台机器上运行的冗余节点和服务,用来相互跟踪。如果某个节点失败,它的替补者将在几秒钟或更短时间内接管它的职责。因此,对于用户而言,集群永远不会停机。
在实际的使用中,集群的这三种类型相互交融,如高可用性集群也可以在其节点之间均衡用户负载。同样,也可以从要编写应用程序的集群中找到一个并行集群,它可以在节点之间执行负载均衡。从这个意义上讲,这种集群类别的划分是一个相对的概念,不是绝对的。
服务器集群
集群,英文名称为Cluster,通俗地说,集群是这样一种技术:它将多个系统连接到一起,使多台服务器能够像一台机器那样工作或者看起来好像一台机器。采用集群系统通常是为了提高系统的稳定性和网络中心的数据处理能力及服务能力。目前,有两种常用的服务器集群方法,一种是将备份服务器连接在主服务器上,当主服务器发生故障时,备份服务器才投入运行,把主服务器上所有任务接管过来。另一种方法是将多台服务器连接,这些服务器一起分担同样的应用和数据库计算任务,改善关键大型应用的响应时间
服务器集群运行的原理
在集群系统中,所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。集群必须可以协调管理各分离组件的错误和失败,并可透明的向集群中加入组件。用户的公共数据被放置到了共享的磁盘柜中,应用程序被安装到了所有的服务器上,也就是说,在集群上运行的应用需要在所有的服务器上安装一遍。当集群系统在正常运转时,应用只在一台服务器上运行,并且只有这台服务器才能操纵该应用在共享磁盘柜上的数据区,其它的服务器监控这台服务器,只要这台服务器上的应用停止运行(无论是硬件损坏、操作系统死机、应用软件故障,还是人为误操作造成的应用停止运行),其它的服务器就会接管这台服务器所运行的应用,并将共享磁盘柜上的相应数据区接管过来。其接管过程如下图所示(以应用A为例): 1.应用A正常工作时; 2.应用A停止工作后,其它的备用服务器将该应用接管过来。 具体接管过程分三部执行: a.系统接管 b.加载应用 c.客户端连接
优势
集群系统的优势在于以下几点: 一、集群系统可解决所有的服务器硬件故障,当某一台服务器出现任何故障,如:硬盘、内存、CPU、主板、I/O板以及电源故障,运行在这台服务器上的应用就会切换到其它的服务器上。 二、集群系统可解决软件系统问题,我们知道,在计算机系统中,用户所使用的是应用程序和数据,而应用系统运行在操作系统之上,操作系统又运行在服务器上。这样,只要应用系统、操作系统、服务器三者中的任何一个出现故障,系统实际上就停止了向客户端提供服务,比如我们常见的软件死机,就是这种情况之一,尽管服务器硬件完好,但服务器仍旧不能向客户端提供服务。而集群的最大优势在于对故障服务器的监控是基于应用的,也就是说,只要服务器的应用停止运行,其它的相关服务器就会接管这个应用,而不必理会应用停止运行的原因是什么。
三、集群系统可以解决人为失误造成的应用系统停止工作的情况,例如,当管理员对某台服务器操作不当导致该服务器停机,因此运行在这台服务器上的应用系统也就停止了运行。由于集群是对应用进行监控,因此其它的相关服务器就会接管这个应用。
不足之处
集群系统的不足之处在于: 我们知道集群中的应用只在一台服务器上运行,如果这个应用出现故障,其它的某台服务器会重新启动这个应用,接管位于共享磁盘柜上的数据区,进而使应用重新正常运转。我们知道整个应用的接管过程大体需要三个步骤:侦测并确认故障、后备服务器重新启动该应用、接管共享的数据区。因此在切换的过程中需要花费一定的时间,原则上根据应用的大小不同切换的时间也会不同,越大的应用切换的时间越长