corosync+pacemaker实现web集群高可用


pacemaker:心脏起搏器,是一个集群资源管理器。它实现最大可用性群集服务的节点和资源级别故障检测和恢复使用首选集群基础设施提供的消息和成员能力。

pacemaker是个资源管理器,不提供心跳信息。

heartbeat3.0拆分后的组成部分:

    heartbeat:将原来的消息通信层独立为heartbeat项目,新的heartbeat只负责维护集群各节点的信息以及他们之前通信。

    cluster-glue:相当于一个中间层,它用来将heartbeat和pacemaker关联起来,主要包含2个部分,即LRM和STONITH。

    resource-agent:用来控制服务启停,监控服务器状态的脚本集合

    pacemaker:也就是cluster resource manager(CRM),用来管理整个HA的控制中心,客户端通过pacemaker来配置管理监控整个集群。


pacemaker特点

    主机和应用程序级别的故障检测和恢复

    几乎支持任何冗余配置

    同时支持多种集群配置模式

    配置策略处理法定人数损失

    支持应用启动/关机顺序

    支持多种模式的应用程序

    可以测试任何故障或集群的群集状态


pacemaker内部结构

技术分享

群集组件说明

    stonithd:心跳系统

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

    pengine:策略引擎。

    cib:群集信息库。

    crmd:群集资源管理守护进程。主要消息代理的PEnine和LRM,还选举一个领导者DC统筹活动的集群

    openais:OpenAIS的消息和成员层

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

    ccm:共识群集成员,心跳成员层

功能

CIB使用XML表示集群中所有资源的配置和当前状态,CIB的内容会被自动同步整个集群中,使用PEngine计算集群的理想状态,生成指令列表,然后输送给DC。

pacemaker集群中所有节点选举的DC节点作为主决策节点。如果当选DC的节点宕机,它会在所有的节点上迅速建立一个新的DC。DC将PEngine生成的策略传递给其他节点上的LRMD或CRMD通过集群消息传递基础结构。

当集群中有节点宕机PEngine重新计算理想策略。在某些情况下,可能有必要关闭节点,以保护共享数据或完成的资源回收,因为,pacemaker配置了stonithd设备。STONITH可以将其它节点爆头,通常是实现与远程电源断开。pacemaker会将STONITH设备配置为资源保存在CIB中,使他们可以更容易地监测资源失败或宕机。


实验操作centos6.X

拓扑图

技术分享


安装配置

yum install corosync pacemaker -y



本文出自 “ngames” 博客,请务必保留此出处http://ngames.blog.51cto.com/3187187/1607503

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。