8.4. 在 SAP HANA 实例上执行维护


对于 HA 集群管理的任何类型的应用程序或其他组件,您必须启用集群 维护模式,以防止集群在维护期间出现任何干扰。

在更新 HANA 实例期间,集群将保持运行,但不主动监控资源或执行任何操作。完成 HANA 实例的更改后,刷新集群资源状态并验证检测到的资源状态是否正确。然后才能再次禁用维护模式,而无需意外的集群操作。

如果您需要停止集群进行维护活动,请确保先设置 维护模式,然后根据 HANA 维护的要求,在节点上停止并启动集群。

先决条件

  • 您已配置了 Pacemaker 集群来管理 HANA 系统复制。

流程

  1. 为整个集群设置维护模式

    [root]# pcs property set maintenance-mode=true

    为整个集群设置维护可确保维护阶段没有活动,可以触发集群操作并影响 HANA 更新过程。

  2. 验证集群资源管理是否已完全禁用:

    [root]# pcs status
    ...
    
                  *** Resource management is DISABLED ***
      The cluster will not attempt to start, stop or recover services
    
    Node List:
      * Online: [ node1 node2 ]
    
    Full List of Resources:
      * Clone Set: cln_SAPHanaTop_RH1_HDB02 [rsc_SAPHanaTop_RH1_HDB02] (maintenance):
        * rsc_SAPHanaTop_RH1_HDB02  (ocf:heartbeat:SAPHanaTopology):         Started node2 (maintenance)
        * rsc_SAPHanaTop_RH1_HDB02  (ocf:heartbeat:SAPHanaTopology):         Started node1 (maintenance)
      * Clone Set: cln_SAPHanaCon_RH1_HDB02 [rsc_SAPHanaCon_RH1_HDB02] (promotable, maintenance):
        * rsc_SAPHanaCon_RH1_HDB02  (ocf:heartbeat:SAPHanaController):       Unpromoted node2 (maintenance)
        * rsc_SAPHanaCon_RH1_HDB02  (ocf:heartbeat:SAPHanaController):       Promoted node1 (maintenance)
      * Clone Set: cln_SAPHanaFil_RH1_HDB02 [rsc_SAPHanaFil_RH1_HDB02] (maintenance):
        * rsc_SAPHanaFil_RH1_HDB02  (ocf:heartbeat:SAPHanaFilesystem):       Started node2 (maintenance)
        * rsc_SAPHanaFil_RH1_HDB02  (ocf:heartbeat:SAPHanaFilesystem):       Started node1 (maintenance)
      * rsc_vip_RH1_HDB02_primary   (ocf:heartbeat:IPaddr2):         Started node1 (maintenance)
      * rsc_vip_RH1_HDB02_readonly  (ocf:heartbeat:IPaddr2):         Started node2 (maintenance)
    
    ...
  3. 使用 SAP 过程更新 HANA 实例。如果需要在 HANA 更新过程中执行接管,您可以使用带有 Handshake 选项的 SAP HANA Takeover。如需更多信息,请参阅 HA 解决方案 来管理 HANA System Replication 的 HA 解决方案是否能够使用 SAP HANA "接管 Handshake" 选项?

    如果您在此步骤中停止集群,请确保在继续执行后续步骤前再次启动它。保持维护模式启用。

  4. 在 HANA 更新后,验证 HANA 系统复制是否正常工作。使用 systemReplicationStatus.py 脚本显示主实例上 HANA 系统复制的状态。以下是在维护期间手动接管 node2 的示例:

    [root]# su - <sid>adm
    
    rh1adm $ cdpy; python systemReplicationStatus.py --sapcontrol=1 | grep -i replication_status=
    service/node2/30201/REPLICATION_STATUS=ACTIVE
    service/node2/30207/REPLICATION_STATUS=ACTIVE
    service/node2/30203/REPLICATION_STATUS=ACTIVE
    site/1/REPLICATION_STATUS=ACTIVE
    overall_replication_status=ACTIVE

    在继续操作前,请确保系统复制处于健康状态,并报告为 ACTIVE

  5. 刷新所有集群资源来执行一个 monitor 操作并更新其状态:

    [root]# pcs resource refresh
    Waiting for 1 reply from the controller
    ... got reply (done)

    HANA 资源更新集群和节点属性至关重要,以反映新的 HANA 系统复制状态。它确保集群具有正确的信息,且不会在维护停止后因为状态信息而触发恢复操作。

  6. 检查集群状态,并验证资源状态和 main HANA 资源 score 属性。所有资源都必须显示为 Started,可升级的资源必须在所有节点上显示为 Unpromoted

    [root]# pcs status
    ...
    Full List of Resources:
      * Clone Set: cln_SAPHanaTop_RH1_HDB02 [rsc_SAPHanaTop_RH1_HDB02] (maintenance):
        * rsc_SAPHanaTop_RH1_HDB02  (ocf:heartbeat:SAPHanaTopology):         Started node2 (maintenance)
        * rsc_SAPHanaTop_RH1_HDB02  (ocf:heartbeat:SAPHanaTopology):         Started node1 (maintenance)
      * Clone Set: cln_SAPHanaCon_RH1_HDB02 [rsc_SAPHanaCon_RH1_HDB02] (promotable, maintenance):
        * rsc_SAPHanaCon_RH1_HDB02  (ocf:heartbeat:SAPHanaController):       Unpromoted node2 (maintenance)
        * rsc_SAPHanaCon_RH1_HDB02  (ocf:heartbeat:SAPHanaController):       Unpromoted node1 (maintenance)
      * Clone Set: cln_SAPHanaFil_RH1_HDB02 [rsc_SAPHanaFil_RH1_HDB02] (maintenance):
        * rsc_SAPHanaFil_RH1_HDB02  (ocf:heartbeat:SAPHanaFilesystem):       Started node2 (maintenance)
        * rsc_SAPHanaFil_RH1_HDB02  (ocf:heartbeat:SAPHanaFilesystem):       Started node1 (maintenance)
      * rsc_vip_RH1_HDB02_primary   (ocf:heartbeat:IPaddr2):         Started node1 (maintenance)
      * rsc_vip_RH1_HDB02_readonly  (ocf:heartbeat:IPaddr2):         Started node2 (maintenance)
    
    ...
  7. 检查集群属性,并验证 srHookrolescore 属性是否处于正确的新状态:

    [root]# SAPHanaSR-showAttr
    ...
    
    Site lpt        lss mns   opMode    srHook srMode srPoll srr
    -------------------------------------------------------------
    DC2  1746793335 4   node2 logreplay PRIM   sync   SOK    S
    DC1  30         4   node1 logreplay SOK    sync   PRIM   P
    
    Host  clone_state roles                        score site sra srah version     vhost
    -------------------------------------------------------------------------------------
    node1 DEMOTED     master1:master:worker:master 100   DC1  -   -    2.00.078.00 node1
    node2 DEMOTED     master1:master:worker:master 150   DC2  -   -    2.00.078.00 node2
    • 在运行主实例的节点上,srHookPRIM,它在正确的次要实例上显示 SOK
    • 对于运行主的节点,分数150,在另一个地方是 100
  8. 当检查步骤 6 和 7 时,在预期的健康状态中会显示环境,您可以再次删除集群的维护模式:

    [root]# pcs property set maintenance-mode=

    当您修补维护时,它会触发监控再次运行所有资源。集群将可升级资源的状态更新为 PromotedUnpromoted,对应于主实例和次要实例的位置。现在,资源还会再次更新 srPoll 属性,以匹配 srHook 属性值。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部