青蛙学Linux—服务器集群技术

集群是由一些互相连接在一起的计算机构成的一个并行或分布式系统。这些计算机一起工作并运行一系列共同的应用程序,同时,为用户和应用程序提供单一的系统映射。从外部来看,它们仅仅是一个系统,对外提供统一的服务。集群内的计算机物理上通过电缆连接,程序上则通过集群软件连接。这些连接允许计算机使用故障应急与负载平衡功能,而故障应急与负载平衡功能在单机上是不可能实现的。

1、集群中的分类

高可用集群

高可用集群,High Availability Cluster,简称HA Cluster。高可用集群用来保障应用持久、不间断的提供服务,当应用程序出现故障,或者系统硬件、网络出现故障是,应用可以自动快速的从一个节点切换到另一个节点。

双机热备是最简单的高可用集群,即经常说的active/standby方式。它使用两台服务器,一台做为主服务器(action),运行应用程序对外提供服务;另一台做为备用服务器(standby),安装和主服务器一样的应用程序,但并不启动服务,处于待机状态。主服务器和备用服务器之间通过心跳技术相互监控,监控的资源可以是网络、操作系统,也可以是服务,用户可以根据自己的需要选择监控的资源。当备用服务器监控到主服务器的某个资源出现故障时,根据预先设定好的策略进行主备切换。

高可用集群一般是通过高可用软件来实现的,在Linux下常用的高可用软件有:开源heartbea HA、红帽提供的RHCS、商业软件ROSE和keepalived等。

负载均衡集群

负载均衡集群,Load Balance Cluster,简称为LB Cluster。负载均衡集群由两台或两台以上服务器组成,分为前端负载调度和后端节点服务两个部分,负载调度部分负责把客户端的请求按照不同的策略分配给后端服务节点,而后端节点是真正提供服务的部分。

与HA Cluster不同的是,在负载均衡集群中,所有的后端节点都处于活动状态,它们对外提供服务,分摊整个系统的工作负载。

负载均衡集群可以把一个高负载的应用分散到多个节点来共同完成,适用于业务繁忙、高负载的应用系统。但它也有不足之处:当一个后端节点出现故障时,前端调度系统并不知道此节点已经无法提供服务,仍然会将客户端的请求调度到故障节点上,这样访问就会失败。

为了解决以上问题,负载均衡集群一般都会引入节点监控系统。节点监控系统部署在前端负载调度机上,负责监控后端节点。当某个节点故障后,节点监控系统会自动将故障节点从集群中剔除;当故障节点恢复正常后,节点监控系统会自动将其加入集群。

分布式计算集群

分布式计算集群致力于提供单个计算机所不能提供的强大的计算能力,包括数值计算和数据处理,并且倾向于追求综合性能。

2、HA集群中的相关术语

节点(node)

节点是集群中的一个独立主机,是集群的核心组成部分。每个节点上运行着操作系统和高可用软件;在高可用集群中,节点有主次之分,分别称为主节点和备用/备份节点;每个节点拥有唯一的主机名,并且拥有属于自己的一组资源,如磁盘、文件系统、网络地址和应用服务等;主节点上一般运行着一个或多个应用服务,而备用节点一般处于监控状态。

资源(resource)

资源是一个节点可以控制的实体,并且当节点发生故障时,这些资源可以被其他节点接管。在集群软件中,可以当做资源的实体有以下几个:

  • 磁盘分区和文件系统
  • IP地址VIP
  • 应用程序服务
  • NFS文件系统

事件(event)

事件是集群中可能发生的事情,例如节点系统故障、网络连通故障、网卡故障、应用程序故障等。这些事件都会导致节点的资源发生转移。集群的测试也是基于这些事件来进行的。

动作(action)

事件发生时HA的响应方式。例如当某个节点发生故障后,备份节点将通过事先设定好的执行脚本进行服务的关闭或启动,进而接管故障节点的资源。

原文地址:https://www.cnblogs.com/yu2006070-01/p/10369619.html