集群是由一些互相链接在一块儿的计算机构成的一个并行或分布式系统。这些计算机一块儿工做并运行一系列共同的应用程序,同时,为用户和应用程序提供单一的系统映射。从外部来看,它们仅仅是一个系统,对外提供统一的服务。集群内的计算机物理上经过电缆链接,程序上则经过集群软件链接。这些链接容许计算机使用故障应急与负载平衡功能,而故障应急与负载平衡功能在单机上是不可能实现的。前端
高可用集群,High Availability Cluster,简称HA Cluster。高可用集群用来保障应用持久、不间断的提供服务,当应用程序出现故障,或者系统硬件、网络出现故障是,应用能够自动快速的从一个节点切换到另外一个节点。node
双机热备是最简单的高可用集群,即常常说的active/standby方式。它使用两台服务器,一台作为主服务器(action),运行应用程序对外提供服务;另外一台作为备用服务器(standby),安装和主服务器同样的应用程序,但并不启动服务,处于待机状态。主服务器和备用服务器之间经过心跳技术相互监控,监控的资源能够是网络、操做系统,也能够是服务,用户能够根据本身的须要选择监控的资源。当备用服务器监控到主服务器的某个资源出现故障时,根据预先设定好的策略进行主备切换。后端
高可用集群通常是经过高可用软件来实现的,在Linux下经常使用的高可用软件有:开源heartbea HA、红帽提供的RHCS、商业软件ROSE和keepalived等。服务器
负载均衡集群,Load Balance Cluster,简称为LB Cluster。负载均衡集群由两台或两台以上服务器组成,分为前端负载调度和后端节点服务两个部分,负载调度部分负责把客户端的请求按照不一样的策略分配给后端服务节点,然后端节点是真正提供服务的部分。网络
与HA Cluster不一样的是,在负载均衡集群中,全部的后端节点都处于活动状态,它们对外提供服务,分摊整个系统的工做负载。负载均衡
负载均衡集群能够把一个高负载的应用分散到多个节点来共同完成,适用于业务繁忙、高负载的应用系统。但它也有不足之处:当一个后端节点出现故障时,前端调度系统并不知道此节点已经没法提供服务,仍然会将客户端的请求调度到故障节点上,这样访问就会失败。分布式
为了解决以上问题,负载均衡集群通常都会引入节点监控系统。节点监控系统部署在前端负载调度机上,负责监控后端节点。当某个节点故障后,节点监控系统会自动将故障节点从集群中剔除;当故障节点恢复正常后,节点监控系统会自动将其加入集群。性能
分布式计算集群致力于提供单个计算机所不能提供的强大的计算能力,包括数值计算和数据处理,而且倾向于追求综合性能。测试
节点是集群中的一个独立主机,是集群的核心组成部分。每一个节点上运行着操做系统和高可用软件;在高可用集群中,节点有主次之分,分别称为主节点和备用/备份节点;每一个节点拥有惟一的主机名,而且拥有属于本身的一组资源,如磁盘、文件系统、网络地址和应用服务等;主节点上通常运行着一个或多个应用服务,而备用节点通常处于监控状态。操作系统
资源是一个节点能够控制的实体,而且当节点发生故障时,这些资源能够被其余节点接管。在集群软件中,能够当作资源的实体有如下几个:
事件是集群中可能发生的事情,例如节点系统故障、网络连通故障、网卡故障、应用程序故障等。这些事件都会致使节点的资源发生转移。集群的测试也是基于这些事件来进行的。
事件发生时HA的响应方式。例如当某个节点发生故障后,备份节点将经过事先设定好的执行脚本进行服务的关闭或启动,进而接管故障节点的资源。