为 IBM Db2 HADR 配置支持 Pacemaker 的快照

备份和灾难恢复服务为 IBM Db2 高可用性灾难恢复 (HADR) 数据库提供了一个可感知 Pacemaker 的快照功能。使用此功能可安全地为 Pacemaker 集群管理的备用数据库拍摄 Persistent Disk 快照。

此过程可防止 Pacemaker 将快照期间的临时数据库停用误解为故障。避免误解可防止不必要的数据库重启。

准备工作

向 Db2 实例操作系统用户授予必要的权限,以便在所有 Db2 HADR 备用节点上以 sudo 权限运行 Pacemaker 命令。

  1. root 用户身份打开 /etc/sudoers.d/db2_pacemaker_access 文件进行修改:

    visudo -f /etc/sudoers.d/db2_pacemaker_access
    
  2. 将以下代码行添加到文件中:

    DB2_INSTANCE_OS_USER  ALL=(root)    NOPASSWD: /usr/sbin/pcs status, /usr/sbin/pcs resource * DB2_HADR_PACEMAKER_RESOURCE_REGEX
    
  3. 替换以下占位符:

    • DB2_INSTANCE_OS_USER:您的 Db2 实例操作系统用户名。
    • DB2_HADR_PACEMAKER_RESOURCE_REGEX:与 Db2 HADR Pacemaker 资源名称匹配的正则表达式。 例如 *_db2

启用 Pacemaker 感知型备份

如需启用此功能,请在 Db2 应用的备份设置中指定 Pacemaker 资源名称。

  1. 在备份和灾难恢复管理控制台中,前往 Db2 应用备份设置。
  2. 找到 Db2 HADR 集群 Pacemaker 资源选项。
  3. 输入管理 HADR 集群的 Db2 实例的 Pacemaker 资源名称。

Pacemaker-aware 快照的工作原理

支持 Pacemaker 的备份进程通过特定的操作序列协调 Pacemaker 和 Db2。

  1. 该脚本会运行预检查,以验证它是否位于备用节点上,以及 HADR 对是否处于健康状态。
  2. 该脚本会将 Db2 实例资源置于 Pacemaker 的维护模式。此操作会指示 Pacemaker 停止监控资源。
  3. 该脚本使用 db2 deactivate 命令停用数据库,以冻结数据库 I/O。
  4. 该脚本会拍摄 Persistent Disk 存储空间的快照。
  5. 该脚本使用 db2 activate 命令激活数据库,以解除冻结 I/O。
  6. 该脚本可让 Db2 实例资源退出维护模式,从而使 Pacemaker 恢复监控。
  7. 脚本会记录所有操作并运行清理例程。

问题排查

如果备份作业失败,请检查数据库备用节点上的以下日志以了解详情:

  • /var/act/log/customapp-db2instance.log:包含有关备用数据库停用和启用以及 Pacemaker 资源维护模式进入和退出的信息。
  • /act/tmpdata/BACKUP_JOB_NAME/pcs_background_cleanup.log:表示 Pacemaker 资源是否因快照超出两分钟的超时时间而自动退出维护模式。
  • /var/log/pacemaker/pacemaker.log:提供来自 Pacemaker 的其他上下文。

快照超时

如果 Persistent Disk 快照作业超过两分钟,Backup and DR 会自动退出 Pacemaker 资源维护模式。备份作业状态会变为 Retrying,并且调度程序会在 10 分钟后启动新的备份。

已中止或已阻塞的备份作业

如果备份作业中止或被阻止,系统会在两分钟后退出 Pacemaker 资源维护模式,并且备份作业会失败。

配置提醒

您可以在 Backup and DR 管理控制台中配置提醒,以便在备份作业失败时发送电子邮件。还建议根据 pcs status 配置 Pacemaker 提醒。

后续步骤