Pacemaker 介绍

 

1. 简介shell

 

Pacemaker是一个集群资源管理者。他用资源级别的监测和恢复来保证集群服务(aka.资源)的最大可用性。它能够用你所擅长的基础组件(Corosync或者是Heartbeat)来实现通讯和关系管理。​架构

2. 特性分布式

 


Pacemaker包含如下的关键特性:工具

  1.   监测并恢复节点和服务级别的故障​
  2.   存储无关,并不须要共享存储​
  3.   资源无关,任何能用脚本控制的资源均可以做为服务来管理​
  4.   支持使用STONITH来保证数据一致性。​
  5.   支持大型或者小型的集群​
  6.   支持quorate(法定人数) 或 resource(资源) 驱动的集群​ 
  7.   支持几乎全部的冗余配置,包括Active/Active, Active/Passive, N+1, N+M, N-to-1 and N-to-N
  8.   自动同步各个节点的配置文件​
  9.   能够设定集群范围内的ordering, colocation , anti-colocation约束
  10.   支持更多高级服务类型:支持须要在多个节点运行的服务​,支持须要多种模式的服务。(好比 主/从,主/备)
  11.   统一的,脚本化的,cluster shell

3. 架构spa

 

1) 集群组成

 

一个HA集群的高层架构由三个部分组成 :.net

 

  •    Messaging & Membership部分是基础核心,负责消息传递以及集群中的成员关系管理;
  •    CRM部分是集群的大脑,负责对集群(节点的加入或退出)和资源(失效监测)的各类事件作出反应和决策;
  •    LRM及RS是直接和服务相关的底层组件,CRM调用LRM来管理资源,而LRM调用RS来和具体的服务打交道。 

2) 支持的集群架构

 

由Pacemaker的介绍咱们知道Pacemaker支持使用Corosync(即Openais)或者是Heartbeat来实现通讯和关系管理。代理

Pacemaker&Openaisorm

 

Pacemaker&Heartbeat接口

 

当与Corosync集成时,Pacemaker也支持常见的开源集群文件系统,根据来着集群文件系统社区的最新标准,他们用一个通用的分布式锁控制器,它靠Corosync通讯而且用Pacemaker管理成员关系(哪些节点是开启或关闭的)和隔离服务。 尽管Pacemaker也支持Heartbeat,可是文件系统也要用基层软件来通讯和维护节点关系,Corosync看来是他们的标准,技术上来讲,让它们支持Heartbeat也是可能的,可是看起来他们没多大兴趣 。进程

 

4. 内部组件

 

  • lrmd(local resource manager demaon):本地资源管理守护进程(非集群感知守护进程),提供一个统一的接口去支持不一样的资源类型,直接与Resource agents(脚本)交互.
  • ccm(consensus cluster membership):CCM的最主要工做就是管理集群中各个节点的成员以及各成员之间的关系。他让集群中各个节点有效的组织称一个总体,保持着稳定的链接。
  • heartbeat:心跳消息层(能够被OpenAIS替代),heartbeat模块所担当的只是一个通讯工具,而CCM是经过这个通讯工具来将各个成员链接到一块儿成为一个总体。
  • openais:指OpenAIS的消息和成员层。

Pacemaker 本身由如下4 个关键组件组成:

  • pengine(PE or Policy EnginePE 或者策略引擎):主要负责将CRM发过来的一些信息按照配置文件中的各类设置(基于目前的状态和配置)计算集群的下一个状态。产生一个包括一系列行动和依赖关系的过渡图。 
  • stonithd(Shoot-The-Other-Node-In-The-Head ):一般用远程电源开关来充当。在 Pacemaker 中,STONITH设备被当成资源(而且是在CIB中配置)从而轻松地监控,然而Stonithd会注意理解STONITH拓扑,好比它的客户端请求隔离一个节点,它会重启那个机器。 
  • crmd(Cluster Resource Management daemon 集群资源管理守护进程):主要做为pengine和lrm的消息代理,它同时也得选举一个leader去协调管理集群的活动(包括集群资源的中止和启动)
  • cib(Cluster Information Base 集群信息基础):CIB在系统中充当的是当前集群中各资源原始配置以及以后动态变化了的状态,统计信息收集分发中心,是一个不断更新的信息库(包含全部群集选项,节点,资源以及他们的相互关系和当前状态的定义)。当他收集到任何资源的变化,以及节点统计信息的变化后,都会集成整合到一块儿组成当前集群最新的信息,并分发到集群各个节点。 

5. 应用

 

由Pacemaker的特性咱们知道Pacemaker对环境的要求不高,支持几乎全部的冗余配置,包括Active/Active, Active/Passive ,N+1, N+M, N-to-1 and N-to-N ,如下是常见的几种配置例子。

使用Pacemaker和DRBD的双节点主备方案做为一种经济的解决方案被不少高可用环境所采用。

 

支持多个节点,容许多个Active/Passive集群共享一个共同的备份节点, Pacemaker能够大幅下降硬件成本。

 

共享存储时,每一个节点均可以被用于故障切换。Pacemaker甚至能够运行服务的多个副原本展开工做量。

 

 

Pacemaker1.2在简化分站点集群的搭建方面有了进一步的加强。

相关文章
相关标签/搜索