Linux 高可用(HA)集群之Pacemaker详解(2)

六、pacemaker 支持集群
1.基于OpenAIS的集群

Linux 高可用(HA)集群之Pacemaker详解

2.传统集群架构,基于心跳信息

Linux 高可用(HA)集群之Pacemaker详解

七、pacemaker 内部结构

Linux 高可用(HA)集群之Pacemaker详解

1.群集组件说明:

stonithd:心跳系统。

lrmd:本地资源管理守护进程。它提供了一个通用的接口支持的资源类型。直接调用资源代理(脚本)。

pengine:政策引擎。根据当前状态和配置集群计算的下一个状态。产生一个过渡图,包含行动和依赖关系的列表。

CIB:群集信息库。包含所有群集选项,节点,资源,他们彼此之间的关系和现状的定义。同步更新到所有群集节点。

CRMD:集群资源管理守护进程。主要是消息代理的PEngine和LRM,还选举一个领导者(DC)统筹活动(包括启动/停止资源)的集群。

OpenAIS:OpenAIS的消息和成员层。

Heartbeat:心跳消息层,OpenAIS的一种替代。

CCM:共识群集成员,心跳成员层。

2.功能概述
  CIB使用XML表示集群的集群中的所有资源的配置和当前状态。CIB的内容会被自动在整个集群中同步,使用PEngine计算集群的理想状态,生成指令列表,然后输送到DC(指定协调员)。Pacemaker 集群中所有节点选举的DC节点作为主决策节点。如果当选DC节点宕机,它会在所有的节点上, 迅速建立一个新的DC。DC将PEngine生成的策略,传递给其他节点上的LRMd(本地资源管理守护程序)或CRMD通过集群消息传递基础结构。当集群中有节点宕机,PEngine重新计算的理想策略。在某些情况下,可能有必要关闭节点,以保护共享数据或完整的资源回收。为此,Pacemaker配备了stonithd设备。STONITH可以将其它节点“爆头”,通常是实现与远程电源开关。Pacemaker会将STONITH设备,配置为资源保存在CIB中,使他们可以更容易地监测资源失败或宕机。

八、pacemaker 源代码组成

Linux 高可用(HA)集群之Pacemaker详解

说明:大家可以看到Pacemaker主要是由C语言写的,其次是Python,说明其效率非常高。最后我们来说一个小案例,实现高可用的Web集群。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/7a250d41457a88e624ba3af16acdf629.html