本人根据上课笔记整理
1、集群的定义
集群是一组协同工作的服务集合,用来提供比单一服务更稳定,更高效,更具扩展性的服务平台,在外界看来就是一个独立的服务实体,但实际上,在集群的内部,有两个或两个以上的服务实体在协调,配合完成一系列复杂的工作,每个服务器被称为一个集群节点,集群节点之间可以相互通信,通信有两种方式,一种是基于RS232线的心跳检测,另一种是通过独立的网卡来跑心跳,所以集群节点间有服务状态监控功能,同时还必须具有服务实体的扩展功能,可以灵活的增加或删除某个服务实体
在集群中,同样的服务可以由多个服务实体提供,当一个节点出现故障时,集群的另一个节点可以自动接管故障节点的资源,从而保证服务持久,不间断的运行。集群具有故障自动转义功能
在一个集群系统中必须拥有共享的数据存储,因为集群对外提供一样的服务,任何一个集群节点运行一个应用时,应用的数据都集中存储在节点共享空间内,而每个节点的操作系统上面仅运行应用的服务,同时存储应用程序文件
综上所述,构建一个集群至少需要两台服务器,同时需要串口线,集群软件,共享存储等
2、集群的分类
2.1 高可用性集群HA
此类集群实现的功能就是保证用户的应用程序持久,不间断的提供服务,当应用程序出现故障,或者系统硬件,网络出现故障时,应用可以自动,快速的从一个节点切换到另一个节点,从而保证应用持续不间断的对外提供服务
高可用集群一般是通过高可用软件来实现的,在linux下常用的高可用软有,heatbeart,keepalived等,下次我们将要详细介绍keeplived的配置和使用
2.2负载均衡集群
负载均衡集群分为前端负载调度和后端节点服务两个部分,负载调度负责把客户端的请求按照不同的策略分配给后端服务节点,而后端节点是真正提供应用程序服务的部分,与高可用性不同的是,在负载均衡集群中,所有的后端节点都是活动状态,他们都对外提供服务,分摊系统的工作负载,一般前端负载调度机上面具有监控后面服务节点的功能,当后端某个节点出现故障后,节点监控系统会自动将故障从集群中剔除,当此节点恢复后,节点监控系统又会自动将其加入集群中,而这一切都用户来说完全是透明的
2.3 高性能计算集群
这类集群致力于提供单个计算机所不能提供的强大的计算能力,包含数值计算和数据处理
3、集群的特点与功能
3.1高可用性HA
3.2可扩展性
3.3负载均衡
3.4错误恢复
3.5心跳检测
3.6VIP地址漂移