1.高可用集群概念
高可用集群就是当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转
移到另一个节点上去,这样另一个节点有了资源既可以向外提供服务。高可用集群是用于单个节点发生故障时,能够自动将资源、服务进行切换,这样可以保证服务
一直在线。在这个过程中,对于客户端来说是透明的。
2.高可用集群组件
1).Messaging Layer:集群服务信息层,主要的作用是传递当前节点的心跳信息,并告知给对方,这样对方就知道其他节点是否在线。如果不在线,则可以实现资源
转移,这样另一台节点就可以充当主节点,并正常提供服务。传递心跳信息一般使用一根心跳线连接,该线接口可以使用串行接口也可以是以太网接口来连接。每一
个节点上都包含信息层。
2).CRM:Cluster Resource
Messager,该组件叫做资源管理器,它主要是用来提供那些不具有高可用的服务提供高可用性的。它需要借助Messaging
Layer来实现工作,因此工作在Messaging Layer上层。资源管理器的主要工作是根据messaging
Layer传递的健康信息来决定服务的启动、停止和资源转移、资源的定义和资源分配。在每一个节点上都包含一个CRM,且每个CRM都维护这一个
CIB(Cluster Internet
Base,集群信息库),只有在主节点上的CIB是可以修改的,其他节点上的CIB都是从主节点那里复制而来的。在CRM中还包含LRM和DC等组件。
3).DC:事务协调员,其包括PE和TE两个子模块,DC负责收集每个组中集群的事务信息,并形成CIB,且同步到每一个集群节点上。同时DC还会统计每个组的法定票数(quorum),当该组的法定票数大于二分之一时,则表示启动该组节点上的服务;否则停止该节点上的服务。DC一般位于主节点上。
4).PE和TE:PE和TE是DC的子组件,PE(Policy Engine),策略引擎,来定义资源转移的一整套转移方式,但只是做策略者,并不亲自来参加资源转移的过程,而是让TE来执行自己的策略。TE(Transition Engine),事务引擎, 就是来执行PE做出的策略的。
5).LRM:Local Resource Messager,叫做本地资源管理器,它是CRM的一个子组件,用来获取某个资源的状态,并且管理本地资源的。例如:当检测到对方没有心跳信息时,则会启动本地相应服务。
参考资料:
linux高可用集群原理详解:http://www.mamicode.com/info-detail-416675.html