系统服务

heartbeat2.x-pacemaker Configuration Explained翻译笔记序[原创]

Pacemaker配置手册讲解

上篇文章蚊子是从半截开始翻译的,这篇文章补充完整,这个是文章开头那部分介绍内容,没有更多的技术,只是对Pacemaker的整体介绍。还是那句话,蚊子英文水平太烂,真有翻译不对还望各位指正。

先读我

什么是Pacemaker

Pacemaker是集群资源管理。它利用你的集群基础组件(如OpenAIS或heartbeat)来停止,启动甚至监控你希望集群提供服务的健康状况。

它可以在任何大小规模的集群中工作,伴随使用可靠的模块,管理可以很准确的描述集群中资源的关系。

蚊子世界

集群堆栈概述

在最顶层,集群由三部分组成

集群的核心基础提供消息和成员功能(红色描述)

非集群意识组件(蓝色描述)。在Pacemaker集群中,这一块不仅仅包含了知道如何启动,停止及监控资源的脚本,同时还有一个本地守护进程来掩饰脚本执行不同标准之间带来的差异。

大脑(绿色显示)用来响应和处理从集群(节点的脱离和加入),资源(监控健康),及管理员对于配置文件变更的事件。对于这些事件的响应,Pacemaker将会评估出集群的理想状态同时划分出一个路径用来打包。这可能会包括移动资源,停止节点,甚至是通过远程switches强迫他们离线。

Pacemaker架构

Pacemaker自己由4个关键组件组成(下面颜色的描述和之前那个概念上一样)

CIB(Cluster Information Base集群信息基础)

CRMd(Cluster Resource Management daemon集群资源管理守护进程)

PEngine(PE or Policy EnginePE或者策略引擎)

STONITHd

CIB使用XML替代了集群中的集群配置和所有资源的当前状态。CIB的内在自动在整个集群中保持同步同时被PEngine用来评估集群的理想状态和如何达到这个状态。

指令的列表传递给DC(指派的协调者)。Pacemaker通过选举一个CRMd线程作为主控的方式来收集集群中作出的决策。如果在选举的过程中或者选在一个几点上的时候,失败了,那一个新的就会被很快的建立起来。

DC通过必要的命令来实现PEngine的指示,通过集群消息架构(这个消息架构可以轮流把命令传递给他们的LRMd进程)把命令传递个LRMd(本地资源管理守护进程)或者其他节点上的CRMd。

同级节点奖他们的操作返回汇报给DC,同时基于真实的和期望的结果,将会需要等待前置任务完成再来执行任何响应,或者忽略进程告知PEngine根据意外的结果重新计算理想的集群状态。

在有些情况下关闭节点来保护共享数据或者完全恢复资源是很有必要的。为了这个Pacemaker出现了STONITHd。STONITH是Shoot-The-Other-Node-In-The-Head的缩写,通常用远程电源开关来充当。在Pacemaker中,STONITH设备是一个资源模块(配置在CIB中),使用它们可以很容易监控故障,然而STONITHd关心理解STONITH的拓扑结构这样在client请求把一个节点保护起来STONITHd就可以重启了。

蚊子世界

运行在OpenAIS上的Pacemaker集群子系统

这个手册的作用域

本篇手册的目的更确切的讲是解释使用Pacemaker配置的概念。为了达到最好,更多的关注点放在了CIB配置文件中XML的语句规则上。

因为XML语法的敏感,Pacemaker随之出现了集群shell脚本,python脚本还有基于GUI的工具,然而这些命令并没有完全涵盖在此文档中,恰好因为他们隐藏了XML。

另外要说的就是这篇手册并不是一个手把手教你如何配置一个特定集群系统的文档。尽管可能这类文章将来会写出来,这篇文档的目的是提供建筑的地基,使用它可以构建任何类型的Pacemaker集群。

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *