你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

向 HANA Pacemaker 群集添加附加辅助站点

本文描述了需要满足哪些要求和进行哪些设置,才能配置附加辅助 HANA 复制站点来补充现有 Pacemaker 群集。 本文涵盖 SUSE Linux Enterprise Server (SLES) 和 RedHat Enterprise Linux (RHEL) 的具体信息。

概述

SAP HANA 支持使用两个以上的连接站点进行系统复制 (HSR)。 可以将附加站点配置到 Pacemaker 在高可用性设置中管理的现有 HSR 对中。 例如,可以将这些附加站点部署在第二个 Azure 区域中,以实现灾难恢复 (DR)。

Pacemaker 和 HANA 群集资源代理仅管理 HSR 中的前两个站点。 附加站点不受 Pacemaker 群集控制。

SAP HANA 支持两种模式下的附加辅助站点系统复制:

  • 多目标将数据更改从主系统复制到多个目标系统。 附加站点以星型拓扑形式连接到主要复制节点。
  • 多层是 HANA 系统复制的级联或链式设置。 第三个站点连接到辅助站点。

有关一个区域和不同区域中 HANA HSR 的更多详细信息,请参阅跨 Azure 区域的 SAP HANA 可用性

SLES 的先决条件

对于 HANA 纵向扩展和 HANA 横向扩展,附加 HSR 站点的要求有所不同。

注意

  • 本文中的要求仅适用于已启用 Pacemaker 的环境。 如果不使用 Pacemaker,SAP HANA 版本要求适用于所选复制模式。
  • Pacemaker 和 HANA 群集资源代理仅管理两个站点。 附加 HSR 站点不受 Pacemaker 群集控制。
  • SUSE 最多支持在 Pacemaker 群集之外为 SAP HANA 数据库添加一个附加系统复制站点。
  • 纵向扩展和横向扩展:需要 SAP HANA SPS 04 或更高版本才能将多目标 HSR 与 Pacemaker 群集结合使用。
  • 纵向扩展和横向扩展:最多有一个从 Linux 群集外部连接的 SAP HANA 系统复制。
  • 仅 HANA 横向扩展:SLES 15 SP1 或更高版本。
  • 仅 HANA 横向扩展:操作系统 (OS) 包 SAPHanaSR-ScaleOut 版本 0.180 或更高版本。
  • 仅 HANA 横向扩展:SAP HANA 高可用性 (HA) 挂钩 正在使用 SAPHanaSrMultiTarget。 预览 HANA HA 挂钩 SAPHanaSR 无法识别横向扩展的多目标。

RHEL 的先决条件

对于 HANA 纵向扩展和 HANA 横向扩展,附加 HSR 站点的要求有所不同。

注意

  • 本文中的要求仅适用于已启用 Pacemaker 的环境。 如果不使用 Pacemaker,SAP HANA 版本要求适用于所选复制模式。
  • Pacemaker 和 HANA 群集资源代理仅管理两个站点。 附加 HSR 站点不受 Pacemaker 群集控制。
  • RedHat 支持 Pacemaker 群集之外的 SAP HANA 数据库的一个或多个附加系统复制站点。
  • 仅 HANA 纵向扩展:有关最低的 OS、SAP HANA 和群集资源代理版本的详细信息,请参阅 RHEL HA 群集的 RedHat 支持策略
  • 仅 HANA 横向扩展:具有 Pacemaker 群集的 Azure 不支持 HANA 多目标复制。

提示

该配置说明如何在 Pacemaker 群集之外设置第三个站点。 在 RHEL 上,如果在 Pacemaker 群集之外有多个附加站点,则还需要将设置扩展到附加站点。

HANA 纵向扩展:添加 HANA 多目标系统复制以实现 DR

借助适用于 SLESRHEL 的 SAP HANA HA 挂钩 SAPHanaSR/susHanaSR,可以向 HANA 系统复制添加附加站点。 Pacemaker 环境知道 HANA 多目标设置。

附加站点的故障不会触发任何群集操作。 群集检测已连接站点的复制状态,并且第三个站点的受监视属性可以在 SOKSFAIL 状态之间切换。 对附加站点执行任何接管测试或执行 DR 演习过程都应首先将群集资源置于维护模式,以防止任何不需要的群集操作。

以下示例演示了一个多目标系统复制系统。 有关详细信息,请参阅 SAP 文档显示了 HANA 纵向扩展多目标系统复制系统的示例的示意图。

  1. 为第三个节点部署 Azure 资源。 根据要求,可以使用不同的 Azure 区域以实现 DR。

    第三个站点所需的步骤类似于适用于 HANA 纵向扩展群集的虚拟机 (VM)。 第三个站点使用 Azure 基础结构。 OS 和 HANA 版本与现有的 Pacemaker 群集匹配,但以下情况除外:

    • 没有为第三个站点部署负载均衡器。 没有与第三个站点的 VM 的现有群集负载均衡器集成。
    • 没有在第三个站点 VM 上安装 OS 包 SAPHanaSR、SAPHanaSR-doc 和 OS 包模式 ha_sles。
    • 没有集成到第三个站点的 VM 或 HANA 资源的群集。
    • global.ini 中的第三个站点没有 HANA HA 挂钩设置
  2. 在第三个节点上安装 SAP HANA。

    必须对第三个站点使用相同的 HANA SID 和 HANA 安装编号。

  3. 在第三个站点上安装并运行 SAP HANA 后,将第三个站点注册到主站点。

    以下示例使用 SITE-DR 作为第三个站点的名称。

    # Execute on the third site 
    su - hn1adm
    # Register the HANA third site to the primary. Switch --online will shutdown the HANA instance on third site.
    hdbnsutil -sr_register --name=SITE-DR --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=async --online
    
  4. 验证 HANA 系统复制是否显示辅助站点和第三个站点。

    # Verify HANA HSR is in sync, execute on primary
    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    
  5. 检查第三个站点的 SAPHanaSR 属性。 SITE-DR 应在 Sites 部分显示状态为 SOK

    # Check SAPHanaSR attribute on any cluster managed host (first or second site)
    sudo SAPHanaSR-showAttr
    # Example result
    # Global cib-time                 maintenance
    # --------------------------------------------
    # global Tue Feb 21 19:28:21 2023 false
    # 
    # Sites     srHook
    # -----------------
    # HN1-SITE1 PRIM
    # HN1-SITE2 SOK
    # SITE-DR   SOK
    

    群集检测已连接站点的复制状态。 监视的属性可以在 SOKSFAIL之间切换。 如果复制到 DR 站点失败,则不会执行群集操作。

HANA 横向扩展:添加 HANA 多目标系统复制以实现 DR

借助 SAP HANA HA 提供程序 SAPHanaSrMultiTarget,可以添加第三个 HANA 横向扩展站点。 此第三个站点通常用于另一个 Azure 区域中的 DR。 Pacemaker 环境可识别 HANA 多目标 DR 设置。 本部分仅适用于在 SUSE 上运行 Pacemaker 的系统。 有关详细信息,请参阅本文档中的“先决条件”部分。

第三个节点失败不会触发任何群集操作。 群集检测已连接站点的复制状态,并且第三个站点的受监视属性可以在 SOKSFAIL 状态之间切换。 对第三个/DR 站点执行任何接管测试或执行 DR 演习过程都应首先将群集资源置于维护模式,以防止任何不需要的群集操作。

以下示例演示了一个多目标系统复制系统。 有关详细信息,请参阅 SAP 文档显示了 HANA 横向扩展多目标系统复制系统的示例的示意图。

  1. 为第三个站点部署 Azure 资源。 根据要求,可以使用不同的 Azure 区域以实现 DR。

    在第三个站点上进行 HANA 横向扩展所需的步骤与部署 HANA 横向扩展群集的步骤相同。 第三个站点对横向扩展群集的 SITE1 使用 Azure 基础结构、操作系统和 HANA 安装步骤,但以下情况除外:

    • 没有为第三个站点部署负载均衡器。 没有与第三个站点的 VM 的现有群集负载均衡器集成。
    • 没有在第三个站点 VM 上安装 OS 包 SAPHanaSR-ScaleOut、SAPHanaSR-ScaleOut-doc 和 OS 包模式 ha_sles。
    • 第三个站点没有多数制造商 VM,因为没有群集集成。
    • 创建 NFS 卷 /hana/shared 供第三个站点专用。
    • 没有集成到第三个站点的 VM 或 HANA 资源的群集。
    • global.ini 中的第三个站点没有 HANA HA 挂钩设置

    必须对第三个站点使用相同的 HANA SID 和 HANA 安装编号。

  2. 在第三个站点上安装并运行 SAP HANA 横向扩展后,将第三个站点注册到主站点。

    以下示例使用 SITE-DR 作为第三个站点的名称。

    # Execute on the third site 
    su - hn1adm
    # Register the HANA third site to the primary. Switch --online will shutdown the HANA instance on third site.
    hdbnsutil -sr_register --name=SITE-DR --remoteHost=hana-s1-db1 --remoteInstance=03 --replicationMode=async --online
    
  3. 验证 HANA 系统复制是否显示辅助站点和第三个站点。

    # Verify HANA HSR is in sync, execute on primary
    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    
  4. 检查第三个站点的 SAPHanaSR 属性。 SITE-DR 应在 Sites 部分显示状态为 SOK

    # Check SAPHanaSR attribute on any cluster managed host (first or second site)
    sudo SAPHanaSR-showAttr
    # Expected result
    # Global cib-time                 maintenance prim  sec sync_state upd
    # ---------------------------------------------------------------------
    # HN1    Fri Jan 27 10:38:46 2023 false       HANA_S1 -   SOK        ok
    # 
    # Sites     lpt        lss mns         srHook srr
    # ------------------------------------------------
    # SITE-DR                              SOK
    # HANA_S1   1674815869 4   hana-s1-db1 PRIM   P
    # HANA_S2   30         4   hana-s2-db1 SOK    S
    

    群集检测已连接站点的复制状态。 监视的属性可以在 SOKSFAIL之间切换。 如果复制到 DR 站点失败,则不会执行群集操作。

自动注册第三个站点

在两个 Pacemaker 群集站点之间的计划内或计划外接管事件期间,第三个站点的 HSR 也会中断。 Pacemaker 不会修改第三个站点的 HANA 复制。

SAP 从 HANA 2 SPS 04 开始提供参数 register_secondaries_on_takeover。 将参数设置为值 true,在群集站点 1 和 2 之间接管 HSR 后,HANA 会自动在新主站点上注册第三个站点,以保留 HSR 多目标设置。 配置在 Linux 群集中两个 SAP HANA 站点上的 global.ini 的 [system_replication] 块中配置的 HANA 参数 register_secondaries_on_takeover = true。 SITE1 和 SITE2 都需要相应 HANA global.ini 配置文件中的参数。 此参数也可以在 Pacemaker 群集外部使用。

对于 HSR 多层,不存在第三个站点的自动 SAP HANA 注册。 需要将第三个站点手动注册到当前辅助站点,以保留用于多层的 HSR 复制链。

显示了在接管期间 HANA 自动注册如何与第三个站点配合使用的示意图流。

后续步骤