pacemaker详细介绍:

http://blog.51cto.com/freeloda/1274533

corosync详细介绍:

http://blog.51cto.com/freeloda/1272417

Pacemaker是一个集群资源管理器。它利用集群基础构件(OpenAIS 、heartbeat或corosync)提供的消息和成员管理能力来探测并从节点或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性。

Pacemaker 通过资源代理程序(RAs)(默认提供了 70 多种)和应用程序进行交互,在Pacemaker 集群中应用第三方资源代理程序(RAs)也非常容易。OpenStack 高可用配置中使用
了 Pacemaker 自带的资源代理程序RAs(如 MySQL 数据库服务、虚拟 IP 地址等)、已有的第三方资源代理程序(如 RabbitMQ 服务)以及 OpenStack 资源代理程序RAs(如 OpenStack 身份认证服务、磁盘镜像服务)。

corosync是一个集群管理套件的部分,可以使用组播或者单播 IP 地址进行集群心跳通信。它在传递信息的时候可以通过一个简单的配置来定义信息传递的方式和协议等,能实现资源间的高可用。目前,corosync功能和特性已经非常完善了,所以pacmaker独立出来之后通常都将pacmaker和corosync结合来使用,corosync并没有通用的资源管理器,因此要借助pacmaker来实现,pacemaker是作为corosync的插件来使用的,所以只需要在corosync配置文件中启动pacemaker插件即可;但是真正启动corosync并且配置它需要命令行接口进行调用,没配置pcs那么这里我们只能使用crm工具来对其进行资源的管理。

CRM:集群资源管理
    资源类型:
    primitive:基本资源,主资源,仅能运行一个节点
    group:组,将组成一个高可用服务所需要的所有资源集合在一起
    clone:克隆,同一资源科出现多份,可运行在多个节点
    multi-state(master/slave):多状态类型,是克隆资源的特殊表现,副本间可存在主从的关系

RA:资源代理
    资源代理类别: 
    LSB:位于/etc/rc.d/init.d/*,支持start,stop,restart,reload,status,force-reload

注意:使用LSB资源类型的不能开机自动运行 
    OCF(open cluster framework):/usr/lib/ocf/resource.d/provider/,类似于LSB的脚本,但仅支持start,stop,status,monitor,meta-data

STONITH:调用stonith设备的功能,systemd:unite ifle,/usr/lib/systemd/system/ 
注意:必须设置enable,设置为开机自动启动

资源约束方式: 
    位置约束:定义资源对节点的倾向性

排序约束:定义资源彼此能否运行在同一个节点的倾向性

顺序约束:多个资源启动顺序的依赖关系

HA集群常用的工作模型:
    A/P:两节点,active/passive,工作于主备模型
    A/A:两节点,active/active,工作于主主模型
    N-M:N>M,N个节点,M个服务,假设每个节点运行一个服务,活动节点数为N,备用节点数为N-M

在集群分裂(split-brain)时需要使用到资源隔离,有两种隔离级别:
    STONITH:节点级别的隔离,通过断开一个节点的电源或者重新启动节点
    fencing:资源级别的隔离,类似通过向交换机发出隔离信号,特意让数据无法通过此接口
    当集群分裂,即分裂后的一个集群的法定票数小于总票数一半时采取对资源的控制策略

CRM中的几个基本概念: 
资源粘性:资源粘性表示资源是否倾向于留在当前节点,如果为正整数,表示倾向,负数表示移离,-inf表示正无穷,inf表示正无穷。 
资源黏性值范围及其作用: 
0:默认选项。资源放置在系统中的最适合位置。这意味着当负载能力“较好”或较差的节点变得可用时才转移资源。 
此选项的作用基本等同于自动故障回复,只是资源可能会转移到非之前活动的节点上; 
大于0:资源更愿意留在当前位置,但是如果有更合适的节点可用时会移动。值越高表示资源越愿意留在当前位置; 
小于0:资源更愿意移离当前位置。绝对值越高表示资源越愿意离开当前位置; 
INFINITY:如果不是因节点不适合运行资源(节点关机、节点待机、达到migration-threshold 或配置更改)而强制资源转移, 
资源总是留在当前位置。此选项的作用几乎等同于完全禁用自动故障回复; 
-INFINITY:资源总是移离当前位置; 
资源类型: 
primitive(native):基本资源,原始资源 
group:资源组 
clone:克隆资源(可同时运行在多个节点上),要先定义为primitive后才能进行clone。主要包含STONITH和集群文件系统(cluster filesystem) 
master/slave:主从资源,如drdb(下文详细讲解) 
RA类型: 
Lsb:linux表中库,一般位于/etc/rc.d/init.d/目录下的支持start|stop|status等参数的服务脚本都是lsb 
ocf:Open cluster Framework,开放集群架构 
heartbeat:heartbaet V1版本 
stonith:专为配置stonith设备而用

Pacemaker、corosync的更多相关文章

  1. 2、corosync集群初步

    配置高可用集群 配置环境:两台centos7 192.168.184.141  192.168.184.142 corosync v2 + pacemaker corosync v2:vote sys ...

  2. postgresql双机热备、高可用方案(采用pacemaker+corosync实现)

    http://blog.csdn.net/qguanri/article/details/51151974 需求描述 我们有两台centos7的数据库主机A.B.要对A.B实现双机热备,A作为数据库m ...

  3. 采用pacemaker+corosync实现postgresql双机热备、高可用方案

    环境说明 参照上章已完成postgresql流复制配置,并关闭postgres服务. su - postgres pg_ctl -D /data/postgresql/data/ stop -m fa ...

  4. pacemaker+corosync/heartbeat对比及资源代理RA脚本

    一.Pacemaker概念 (1)Pacemaker(心脏起搏器),是一个高可用的群集资源管理器.它实现最大可用性资源管理的节点和资源级故障检测和恢复,通过使用首选集群基础设施(Corosync或He ...

  5. Corosync+Pacemaker+DRBD+MySQL 实现高可用(HA)的MySQL集群

    大纲一.前言二.环境准备三.Corosync 安装与配置四.Pacemaker 安装与配置五.DRBD 安装与配置六.MySQL 安装与配置七.crmsh 资源管理 推荐阅读: Linux 高可用(H ...

  6. 【原】ubuntu下Mysql的HA(corosync+pacemaker+drbd)

    一.前提准备: 1.OS:ubuntu 12.04 2.cat /etc/hosts: 127.0.0.1 localhost 192.168.153.154 ha1 192.168.153.155 ...

  7. openstack controller ha测试环境搭建记录(二)——配置corosync和pacemaker

    corosync.conf请备份再编辑:# vi /etc/corosync/corosync.conf totem {        version: 2 token: 10000        t ...

  8. zabbix 3.2 高可用实现方式二-pacemaker+corosync实现zabbix高可用集群

    一.pacemaker 是什么 1.pacemaker 简单说明 2.pacemaker 由来 二.pacemaker 特点 三.pacemaker 内部结构 1.群集组件说明: 2.功能概述 四.c ...

  9. 3、基于多播、安全认证的corosync集群(VIP、Httpd、Filesystem)

    Messaging Layer --> CRM --> RA systemd:/usr/lib/systemd/system     systemd有一个特性,即便一个服务开机启动,但是在 ...

随机推荐

  1. 学习MyBatis之简单入门HelloWorld

    转:https://blog.csdn.net/gaomb_1990/article/details/78299784 一.准备 Eclipse:Luna Service Release 1 (4.4 ...

  2. element el-tooltip 内容换行的方法

    <el-tooltip class="item" effect="light" placement="top-start">  ...

  3. MySQL存储引擎MyISAM与InnoDB

    一. MySQL存储引擎MyISAM与InnoDB如何选择 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM.InnoDB.MERGE.MEMORY(HEAP).B ...

  4. 简单了解:Web前端攻击方式及防御措施

    一.XSS [Cross Site Script]跨站脚本攻击  恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用 ...

  5. 【PGP公钥】

    Fingerprint: 37AF 3814 3ABC 5DFA 97F5 300E 581D A2E3 F4D2 F585 Key ID:0x581DA2E3F4D2F585 -----BEGIN ...

  6. Dapper and Repository Pattern in MVC

    大家好,首先原谅我标题是英文的,因为我想不出好的中文标题. 这里我个人写了一个Dapper.net 的Repository模式的底层基础框架. 涉及内容: Dapper.net结合Repository ...

  7. OpenLDAP部署目录服务

        文档信息 目        的:搭建一套完整的OpenLDAP系统,实现账号的统一管理.                     1:OpenLDAP服务端的搭建               ...

  8. ethereum(以太坊)(二)--合约中属性和行为的访问权限

    pragma solidity ^0.4.0; contract Test{ /* 属性的访问权限 priveta public internal defualt internal interlnal ...

  9. scrapy--ipproxy

    不要急于求成,你只要做的是比昨天的你更优秀一点 --匿名 今天给大家讲一下--IpProxy,由于从"http://www.xicidaili.com/nn"爬取,以下是我转载的博 ...

  10. Python学习笔记:logging(日志处理)

    在一个软件中,日志是可以说必不可少的一个组成部分,通常会在定位客户问题或者记录软件使用情况等场景中会用到.logging模板块是Python的一个内置标准库,用于实现对日志的控制输出,对于平常的日志输 ...