paceMaker_pacemaker怎么读

paceMaker_pacemaker怎么读1. 简介 Pacemaker是一个集群资源管理者。他用资源级别的监测和恢复来保证集群服务(aka.资源)的最大可用性。它可以用你所擅长的基础组件(Corosync或者是Heartbeat)来实现通信和关系管理。​2. 特性 Pacemaker包含以下的关键特性:  监测并恢复节点和服务级别的故障​  存储无关,并不需要共享存储​  资源无关,任何能用脚本控制的资源

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1. 简介

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. 架构​

1) 集群组成

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

 paceMaker_pacemaker怎么读

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

从更具体的层次来看,由Pacemaker管理的集群,基本架构如下:

paceMaker_pacemaker怎么读

GUI console是一个图形管理界面;Pacemaker充当的是CRM的角色;Heartbeat(Corosync)充当的是Messaging& Membership的角色; Cluster Glue和Resource Agents,对应的是LRM和Resource Scripts,虽然把Glue和Resource Agents归为了同一类,但实际上它们是完全平行的两个部分,参考:http://www.linux-ha.org/wiki/Cluster_Glue。


Resource Agents是什么?

它是标准化的Cluster Resource接口,Pacemaker通过这个接口对Cluster Resource进行操作。Pacemaker支持三种类型的Resource Agents:LSB,OCF,和Heartbeat

LSB Resource Agents:LinuxStandard Base Resource Agents,就是那些/etc/init.d下的脚本。

OCF Resource Agents:Open ClusterFramework,是对LSB Resource Agents的扩展。

Heartbeat Resource Agents:Heartbeat遗留下来的ResourceAgents

这些RA的语法跟linux的/etc/init.d/下的普通自启动脚本有点不同,若要配置自己的RA,在配置自己的RA之前,阅读一下参考文档:http://www.linux-ha.org/wiki/Resource_Agents,特别注意LSB标准和OCF标准各自RA的写法。


2) 支持的集群架构

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

paceMaker_pacemaker怎么读

Pacemaker&Openais

paceMaker_pacemaker怎么读

Pacemaker&Heartbeat

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

 

4. 内部组件

paceMaker_pacemaker怎么读

  • 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_pacemaker怎么读

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

paceMaker_pacemaker怎么读

支持多个节点,允许多个Active/Passive集群共享一个共同的备份节点, Pacemaker可以大幅降低硬件成本。

paceMaker_pacemaker怎么读

共享存储时,每个节点都可以被用于故障切换。Pacemaker甚至可以运行服务的多个副本来展开工作量。

paceMaker_pacemaker怎么读

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


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209963.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)

    帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)  作为一名前端工程师,必须搞懂JS中的prototype、__proto__与constructor属性,相信很多初学者对这些属性存在许多困惑,容易把它们混淆,本文旨在帮助大家理清它们之间的关系并彻底搞懂它们。这里说明一点,__proto__属性的两边是各由两个下划线构成(这里为了方便大家看清,在两下划线之间加入了一个空格:__proto__)。  现在正式开始!让我们从如下一个简单的例…

    2022年7月23日
    9
  • 从零开始安装pytorch,并在pycharm中使用

    从零开始安装pytorch,并在pycharm中使用pytorch安装与使用步骤简述anaconda下载与安装anaconda环境配置anaconda安装pytorch包pycharm运行pytorch环境理解环境步骤简述pytorch是基于torch和Python语言的机器学习库。anaconda是环境与包的管理工具,pytorch的下载需要借助anaconda来完成。另外,安装的anaconda自带Python,因此没安装过Python的小伙伴也不必要再安装Python了。最后anaconda为我们提供了运行环境,为了编写程序的方便,我们还需要一款

    2022年8月26日
    2
  • html简单登录页面代码

    html简单登录页面代码图片必须是在Imges下的否则显示不出来(复制代码的话把图片换成你的图片就好了)代码如下<html><head><title>tes

    2022年6月13日
    58
  • easymock单元测试(控制测试)

    本文转自:点击打开链接测试驱动开发是软件开发的重要部分。如果代码不进行测试,就是不可靠的。所有代码都必须测试,而且理想情况下应该在编写代码之前编写测试。但是,有些东西容易测试,有些东西不容易。如果要编写一个代表货币值的简单的类,那么很容易测试把$1.23和$2.8相加是否能够得出$4.03,而不是$3.03或$4.029999998。测试是否不会出现$

    2022年4月12日
    51
  • 【数据结构】— kmp算法和strstr函数

    【数据结构】— kmp算法和strstr函数kmp算法和strstr函数注:现实生活中,字符串匹配在很多的应用场景里都有着极其重要的作用,包括生物信息学、信息检索、拼写检查、语言翻译、数据压缩、网络入侵检测等等,至此诞生了很多的算法,那么我们今天就来探索这两种经典的算法。一、概念分析首先我们需要了解到什么是kmp算法和strstr函数概念如下:KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R….

    2022年6月25日
    21
  • Java学习之JDBC篇

    Java学习之JDBC篇0x00前言在一些web开发或者是数据存储的时候,肯定会使用到数据库来进行数据存储。而在Java里面需要调用JDBC来对数据库进行操作。0x01JDBC概念Jav

    2021年12月12日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号