高可用集群的集群层次有4层,每层都有独特的作用和属于该层的核心工具,下面我们就去剖析各层次和该层核心工具的作用
高可用集群的集群层次剖析图
我们从底层向上层分析:
1、信息和基础架构层(心跳层)(Message/infrastructure layers)最基础层:通过特定的插件实现传输心跳等集群事务信息能此的功能,各节点之间的通信是通过这个层次实现的
2、成员关系层(Membership layers)进行整个集群的票数统计、获得整个集群收敛状态信息的层次,为上层进行资源分配提供依据的基础
核心工具CCM
CCM(Cluster Consensus Membership)服务的作用:承上启下,监听底层接受的心跳信息,当监听不到心跳信息的时候就重新计算整个集群的票数和收敛状态信息,并将结果转递给上层,让上层做出决定采取怎样的措施,CCM还能够生成一个各节点状态的拓扑结构概览图,保证该节点在特殊情况下能够采取一定的动作
3、资源分配层(Resource Allocation layers):这个层次主要是实现资源管理的,核心工具有一下几种
集群资源管理器(CRM,Cluster Resource Manager),来实现资源的分配,是先资源分配的每个动作都要通过CRM来实现,是核心组建,每个节点上的CRM都维护着一个CIB
集群信息基库(CIB ,Cluster Infonation Base),在内存中的一个XML格式的集群级别的配置文件,需要通知给其它节点,只有DC上的CIB才能进行修改,其他节点上的CIB都是拷贝DC上的
LRM(Local Resource Manager)本地资源管理器,获取本地某个资源的状态,并且实现本地资源的管理,如当检测到对方没有心跳信息时,来启动本地的服务进程等
XLM文档是一种能够实现各节点之间无差误的理解节点之间的配置信息的文件格式
配置XML方式:
1、基于命令行配置
2、基于前台的图形界面配置
PE(Policy Engine):策略引擎,来定义资源转移的一整套转移方式,但只是做策略者,并不亲自来参加资源转移的过程,而是让TE来执行自己的策略
TE(Transition Engine): 就是来执行型PE做出的策略的
并且只有DC上才运行PE和TE。
4、资源层(Resource Layer) 通过LSB脚本来实现脚本服务的启动关闭
核心工具RA
RA:资源代理:在本机上或其他节点上实现某种资源的管理,对资源的管理有启动、停止、加载服务,获取服务状态信息等