1.3. Pacemaker 概述
Pacemaker 是一个集群资源管理器。它通过使用集群基础结构的消息和成员资格功能来实现集群服务和资源的最大可用性。
1.3.1. Pacemaker 架构组件
使用 Pacemaker 配置的集群由独立的组件守护进程组成,这些守护进程监控集群成员资格、管理服务的脚本以及监控不同资源的管理子系统。
以下组件组成 Pacemaker 架构:
- Cluster Information Base(CIB)
- Pacemaker 信息守护进程使用 XML 在内部向所有其他集群节点分发和同步当前配置和状态信息。这些信息来自于 DC(Designated Coordinator),它是由 Pacemaker 分配的用来存储和发布集群状态和动作的节点。
- 集群资源管理守护进程(CRMd)
Pacemaker 集群资源操作通过这个守护进程进行路由。由 CRMd 管理的资源可由客户端系统查询,并在需要时进行移动、实例化和更改。
每个节点还包括一个本地资源管理器守护进程(LRMd),它充当 CRMd 和资源间的接口。LRMd 将命令从 CRMd 传递给代理,如启动和停止状态信息。
- STONITH(Shoot the Other Node in the Head)
- STONITH 是 Pacemaker 的隔离(fencing)实现。它在 Pacemaker 中作为集群资源使用,用于处理保护请求,强制关闭节点并从集群中移除它们以确保数据的完整性。STONITH 在 CIB 中配置,它可以作为普通的集群资源被监控。
- corosync
corosync
是满足高可用性群集的核心成员身份和成员沟通需求的组件 - 和相同名称的守护进程。它是 High Availability Add-On 正常运行所必需的功能。除了成员资格和消息功能外,
corosync
还:- 管理仲裁规则并进行裁定。
- 为在集群的多个成员间协调或操作的应用程序提供消息功能,因此必须在实例间进行有状态或其他信息通信。
-
使用
kronosnet
库作为其网络传输,以提供多个冗余链接和自动故障转移。
1.3.2. Pacemaker 配置和管理工具
High Availability Add-On 有两个配置工具用于集群部署、监控和管理。
pcs
pcs
命令行界面控制并配置 Pacemaker 和corosync
心跳守护进程。基于命令行的程序pcs
可以执行以下集群管理任务:- 创建并配置 Pacemaker/Corosync 集群
- 在集群运行时修改集群配置
- 远程配置 Pacemaker 和 Corosync 以及启动、停止和显示集群状态信息
pcsd
Web UI- 用于创建和配置 Pacemaker/Corosync 集群的图形用户界面。
1.3.3. 集群和 Pacemaker 配置文件
红帽高可用性附加组件的配置文件是 corosync.conf
和 cib.xml
。
corosync.conf
文件提供了 corosync(Pacemaker
构建的集群管理器)使用的集群参数。通常,您不应该直接编辑 corosync.conf
,而是使用 pcs
或 pcsd
接口。
cib.xml
文件是一个 XML 文件,它代表集群的配置和群集中所有资源的当前状态。Pacemaker 的集群信息基础(Cluster Information Base,CIB)会使用这个文件。CIB 的内容会在整个集群中自动保持同步。不要直接编辑 cib.xml
文件;改为使用 pcs
或 pcsd
接口。