Pacemaker 基本组件

在具有 Pacemaker的集成高可用性 (HA) 解决方案中,集群软件堆栈由有效运行 Pacemaker 所需的各种组件组成。

重要信息: Db2® 11.5.8 及更高版本中,当使用 Pacemaker 作为集成集群管理器时,支持相互故障转移高可用性。Db2 11.5.6 及更高版本中,用于自动故障转移到 HADR 备用数据库的 Pacemaker 集群管理器随 Db2打包并安装。 在 Db2 11.5.5中,包含了 Pacemaker ,并且可用于生产环境。 在 Db2 11.5.4中, Pacemaker 仅作为技术预览包含在开发,测试和概念验证环境中。

资源

一组 Db2 定义的实体,将在这些实体中监视,启动或停止状态。 这包括 Db2 成员进程,支持 HADR 的数据库 (用于 HADR) ,安装点 (用于相互故障转移),以太网网络适配器和虚拟 IP 地址。

约束

以下是集群创建期间设置的规则,用于扩充进程的行为:

  • 位置约束 - 资源可以运行的位置。
  • 排序约束-必须执行某些资源操作的顺序。
  • 共存约束-一个资源的位置与另一个资源的位置的依赖关系。
以下是说明这些约束的作用方式的示例:
  • 以下位置约束指定实例资源 db2_draping1_gerry_0 的首选运行位置是 draping1 主机。
    location prefer-db2_draping1_gerry_0 db2_draping1_gerry_0 100: draping1
  • 位置约束还可以是有条件的,以下位置约束指定:仅当以太网网络适配器 eth1 运行状况良好时,才会运行数据库资源。
    location loc-rule-db2_gerry_gerry_SAMPLE-eth1-talkers1 db2_gerry_gerry_SAMPLE-clone \
            rule -inf: db2ethmon-eth1 eq 0
  • 排序约束可以确保资源以正确的顺序启动。 以下排序约束可以确保数据库资源在主 VIP 资源之前启动。
    order order-rule-db2_gerry_gerry_SAMPLE-then-primary-VIP Mandatory: db2_gerry_gerry_SAMPLE-clone:start db2_gerry_gerry_SAMPLE-primary-VIP:start
  • 相互位置约束可以确保需要位于同一主机上的资源当前在同一主机上处于活动状态。 以下相互位置约束可以确保主 VIP 与主 HADR 数据库在同一主机上运行。
    colocation db2_gerry_gerry_SAMPLE-primary-VIP-colocation inf: db2_gerry_gerry_SAMPLE-primary-VIP:Started db2_gerry_gerry_SAMPLE-clone:Master

资源集

一组在特定约束的影响下的资源。

资源模型

Db2Pacemaker 资源模型是指所有资源的预定义关系和约束。 资源模型是在集群设置过程中使用带有 -create 选项的 db2cm 实用程序创建的。 未经 Db2 核准而对模型进行的任何偏差或更改都将使模型不受支持。

资源代理程序

Pacemaker 中的资源代理程序是 Db2 用户出口,它是由 Db2 开发并支持执行的一组 shell 脚本。 对资源模型中定义的资源执行的操作。

总共提供了三个资源代理程序:
  • db2ethmon
    • 用于监视已定义的以太网网络适配器的资源代理程序。 此代理程序处于主机级别。
  • db2inst (仅限 HADR)
    • 用于监视,启动和停止 Db2 成员进程的资源代理程序。 这是在 Db2 实例级别。
  • db2hadr (仅限 HADR)
    • 用于监视、启动和停止各个启用了 HADR 的数据库的资源代理程序。 这是在 Db2 数据库级别。
  • db2partition (相互故障转移)
    • 用于监视,启动和停止 Db2 分区进程的资源代理程序。 这是在 Db2 实例级别。
  • db2fs (相互故障转移)
    • 用于监视,启动和停止文件系统的资源代理程序。

集群拓扑和通信层

所有 HA 集群管理器软件都必须能够确保每个节点具有相同集群拓扑(或成员资格)视图。 Pacemaker 利用开放式源代码组通信系统软件 Corosync Cluster Engine 来提供集群拓扑的一致视图,确保可靠的消息传递基础结构,以便在每个节点中按相同的顺序执行事件,并应用定额约束。

集群管理域

集群中的其中一个节点将被选为域引导程序 (也称为 Pacemaker 术语中的指定控制器 (DC)) ,其中驻留在 DC 上的 Pacemaker 控制器守护程序将承担制定所有集群决策的角色。 如果当前管理域的主机发生故障,那么将选择新的管理域。

有关 Pacemaker 内部组件及其交互的更多信息,请参阅 Pacemaker 体系结构