https://packages.endpoint.com/rhel/
高可用集群[HA]
Highly available clusters
负载均衡集群
Load balanced clusters
高性能计算集群【HPC】
网格计算集群
集群优势
可用性
可伸缩性
可管理性
https://clusterlabs.org/pacemaker
https://corosync.github.io/corosync
Linux HA
Pacemake+Corosync组合
Pacemaker体系结构
群集组件说明:
- stonithd:心跳系统
- lrmd:本地资源管理守护进程。它提供了一个通用的接口支持的资源类型。直接调用资源代理(脚本)
- pengine:政策引擎。根据当前状态和配置集群计算的下一个状态。产生一个过渡图,包含行动和依赖关系的列表
- CIB:群集信息库。包含所有群集选项,节点,资源,他们彼此之间的关系和现状的定义。同步更新到所有群集节点
- CRMD:集群资源管理守护进程。主要是消息代理的PEngine和LRM,还选举一个领导者(DC)统筹活动(包括启动/停止资源)的集群
- OpenAIS:OpenAIS的消息和成员层
- Heartbeat:心跳消息层,OpenAIS的一种替代
- CCM:共识群集成员,心跳成员层
Corosync
heartbeat v2+haresource/crm (说明:一般常用于CentOS 5.X)
heartbeat v3+pacemaker (说明:一般常用于CentOS 6.X)
corosync+pacemaker (说明:现在最常用的组合,因为heartbeat 存在一些稳定性问题,v3拆分后发展也比较缓慢)
Pacemaker是为 Heartbeat项目而开发的 CRM项目的延续, CRM最早出现于2003年,是专门为 Heartbeat项目而开发的集群资源管理器,而在2005年,随着 Heartbeat2.0版本的发行才正式推出第一版本的 CRM,即 Pacemaker的前身。在2007年末, CRM正式从 Heartbeat2.1.3版本中独立,之后于2008年 Pacemaker0.6稳定版本正式发行,随后的2010年3月 CRM项目被终止,作为 CRM项目的延续, Pacemaker被继续开发维护,如今 Pacemaker已成为开源集群资源管理器的事实标准而被广泛使用。此外, Heartbeat到了3.0版本后已经被拆分为几个子项目了,这其中便包括 Pacemaker、 Heartbeat3.0、 Cluster Glue和 Resource Agent。
(1)Heartbeat
Heartbeat项目最初的消息通信层被独立为新的 Heartbeat项目,新的 Heartbeat只负责维护集群各节点的信息以及它们之间的心跳通信,通常将 Pacemaker与 Heartbeat或者 Corosync共同组成集群管理软件, Pacemaker利用 Heartbeat或者Corosync提供的节点及节点之间的心跳信息来判断节点状态。
(2)Cluster Clue
Cluster Clue 相当于一个中间层,它用来将Heartbeat和Pacemaker关联起来,主要包含两个部分,即本地资源管理器(Local Resource Manager,LRM)和Fencing设备(Shoot The Other Node In The Head,STONITH)
(3)Resource Agent
资源代理(Resource Agent,RA)是用来控制服务的启停,监控服务状态的脚本集合,这些脚本会被位于本节点上的LRM调用从而实现各种资源的启动、停止、监控等操作。
(4) pacemaker
Pacemaker是整个高可用集群的控制中心,用来管理整个集群的资源状态行为,客户端通过 pacemaker来配置、管理、监控整个集群的运行状态。Pacemaker是一个功能非常强大并支持众多操作系统的开源集群资源管理器,Pacemaker支持主流的 Linux系统,如 Redhat的 RHEL系列、 Fedora系列、 openSUSE系列、Debian系列、 Ubuntu系列和 centos系列,这些操作系统上都可以运行 Pacemaker并将其作为集群资源管理器。
pacemaker的主要功能包括以下几方面:
1、监测并恢复节点和服务级别的故障。
2、存储无关,并不需要共享存储。
3、资源无关,任何能用脚本控制的资源都可以作为集群服务。
4、支持节点 STONITH功能以保证集群数据的完整性和防止集群脑裂。
5、支持大型或者小型集群。
6、支持 Quorum机制和资源驱动类型的集群。
7、支持几乎是任何类型的冗余配置。
8、自动同步各个节点的配置文件。
9、可以设定集群范围内的 Ordering、 Colocation and Anti-colocation等约束。
10、高级服务类型支持,例如:
Clone功能,即那些要在多个节点运行的服务可以通过 Clone功能实现, Clone功能将会在多个节点上启动相同的服务;
Multi-state功能,即那些需要运行在多状态下的服务可以通过 Multi—state实现,在高可用集群的服务中,有很多服务会运行在不同的高可用模式下,
如:Active/Active模式或者 Active/passive模式等,并且这些服务可能会在 Active 与standby(Passive)之间切换。
11、具有统一的、脚本化的集群管理工具。
Redhat 7 官方文档
Red_Hat_Enterprise_Linux-7-High_Availability_Add-On_Reference-zh-CN
Red_Hat_Enterprise_Linux-7-High_Availability_Add-On_Reference-zh-CN.pdf