HSR の 3 番目のサイトを HANA Pacemaker クラスターに追加する

この記事では、既存の Pacemaker クラスターを補完するための 3 番目の HANA レプリケーション サイトの要件とセットアップについて説明します。 SUSE Linux Enterprise Server (SLES) と RedHat Enterprise Linux (RHEL) の両方の詳細について説明します。

概要

SAP HANA では、2 つを超えるサイトが接続されたシステム レプリケーション (HSR) がサポートされています。 3 番目のサイトを既存の HSR ペアに追加できます。これは、Pacemaker によって高可用性のセットアップで管理されます。 ディザスター リカバリー (DR) の目的で、3 番目のサイトを 2 番目の Azure リージョンにデプロイできます。

Pacemaker と HANA クラスター リソース エージェントでは、最初の 2 つのサイトが管理されます。 Pacemaker クラスターでは、3 番目のサイトは制御されません。

SAP HANA では、次の 2 つのモードで 3 番目のシステム レプリケーション サイトがサポートされます。

  • マルチターゲットでは、プライマリから複数のターゲット システムへのデータ変更がレプリケートされます。 3 番目のサイトは、star トポロジのプライマリ レプリケーションに接続されています。
  • 多層は 2 層レプリケーションです。 3 つの異なる HANA 層のカスケード (チェーン) セットアップ。 3 番目のサイトはセカンダリに接続されます。

1 つのリージョン内および異なるリージョン間での HANA HSR の概念の詳細については、「Azure リージョンの枠を越えた SAP HANA の可用性」を参照してください。

SLES の前提条件

HANA のスケールアップと HANA のスケールアウトでは、3 番目の HSR サイトの要件が異なります。

Note

この記事の要件は、Pacemaker 対応ランドスケープでのみ有効です。 Pacemaker がない場合、SAP HANA バージョンの要件は、選択したレプリケーション モードに適用されます。 Pacemaker と HANA クラスター リソース エージェントでは、2 つのサイトのみが管理されます。 3 番目の HSR サイトは Pacemaker クラスターによって制御されません。

  • スケールアップとスケールアウトの両方: Pacemaker クラスターでマルチターゲット HSR を使用するには、SAP HANA SPS 04 以降が必要です。
  • スケールアップとスケールアウトの両方: Linux クラスターの外部から接続された SAP HANA システム レプリケーションの最大数。
  • HANA スケールアウトのみ: SLES 15 SP1 以降。
  • HANA スケールアウトのみ: オペレーティング システム (OS) パッケージ SAPHanaSR-ScaleOut バージョン 0.180 以降。
  • HANA スケールアウトのみ: SAP HANA 高可用性 (HA) フック SAPHanaSrMultiTarget を使用。 プレビュー HANA HA フック SAPHanaSR は、スケールアウトの場合はマルチターゲット対応ではありません。

RHEL の前提条件

HANA のスケールアップと HANA のスケールアウトでは、3 番目の HSR サイトの要件が異なります。

Note

この記事の要件は、Pacemaker 対応ランドスケープでのみ有効です。 Pacemaker がない場合、SAP HANA バージョンの要件は、選択したレプリケーション モードに適用されます。 Pacemaker と HANA クラスター リソース エージェントでは、2 つのサイトのみが管理されます。 3 番目の HSR サイトは Pacemaker クラスターによって制御されません。

  • HANA スケールアップのみ: 最小 OS、SAP HANA、クラスター リソース エージェントのバージョンの詳細については、RedHat の RHEL HA クラスターのサポート ポリシーに関するページを参照してください。
  • HANA スケールアウトのみ: Pacemaker クラスターを使用する Azure では、HANA マルチターゲット レプリケーションはサポートされていません。

HANA スケールアップ: DR 目的で HANA マルチターゲット システム レプリケーションを追加する

SLES および RHEL の SAP HANA HA フック SAPHanaSR を使用すると、DR 目的で 3 番目のノードを追加できます。 Pacemaker 環境では、HANA マルチターゲット DR セットアップが認識されます。

3 番目のノードで障害が発生しても、クラスター アクションはトリガーされません。 クラスターによって、接続されているサイトのレプリケーションの状態が検出され、3 番目のサイトの監視対象属性の状態が SOKSFAIL の間で変化する可能性があります。 3 番目/DR サイトへの引き継ぎテストや DR 演習プロセスの実行では、まずクラスター リソースをメンテナンス モードにして、望ましくないクラスター アクションを防ぐ必要があります。

マルチターゲット システム レプリケーション システムの例を以下に示します。 詳しくは、SAP のドキュメントをご覧ください。 Diagram that shows an example of a HANA scale-up multitarget system replication system.

  1. 3 番目のノードの Azure リソースをデプロイします。 要件に応じて、DR 目的で別の Azure リージョンを使用できます。

    3 番目のサイトに必要な手順は、HANA スケールアップ クラスターの仮想マシン (VM) と似ています。 3 番目のサイトでは Azure インフラストラクチャが使用されます。 OS と HANA のバージョンは、次の例外を除き、既存の Pacemaker クラスターと一致します。

    • 3 番目のサイトにロード バランサーはデプロイされません。 3 番目のサイトの VM の既存のクラスター ロード バランサーとの統合はありません。
    • OS パッケージ SAPHanaSR、SAPHanaSR-doc、および OS パッケージ パターン ha_sles を 3 番目のサイト VM にインストールしないでください。
    • 3 番目のサイトの VM または HANA リソースのクラスターへの統合はありません。
    • global.ini の 3 番目のサイトに対する HANA HA フックのセットアップはありません。
  2. 3 番目のノードに SAP HANA をインストールします。

    3 番目のサイトには、同じ HANA SID と HANA インストール番号を使用する必要があります。

  3. 3 番目のサイトに SAP HANA がインストールされ、実行されている状態で、3 番目のサイトをプライマリ サイトに登録します。

    次の例では、3 番目のサイトの名前として 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 システム レプリケーションにセカンダリ サイトと 3 番目のサイトが表示されていることを確認します。

    # Verify HANA HSR is in sync, execute on primary
    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    
  5. 3 番目のサイトの 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 スケールアウト: DR 目的で HANA マルチターゲット システム レプリケーションを追加する

SAP HANA HA プロバイダーの SAPHanaSrMultiTarget を使用すると、3 番目の HANA スケールアウト サイトを追加できます。 この 3 番目のサイトは、別の Azure リージョンの DR によく使用されます。 Pacemaker 環境では、HANA マルチターゲット DR セットアップが認識されます。 このセクションは、SUSE のみで Pacemaker を実行しているシステムに適用されます。 詳細については、このドキュメントの「前提条件」セクションを参照してください。

3 番目のノードで障害が発生しても、クラスター アクションはトリガーされません。 クラスターによって、接続されているサイトのレプリケーションの状態が検出され、3 番目のサイトの監視対象属性の状態が SOKSFAIL の間で変化する可能性があります。 3 番目/DR サイトへの引き継ぎテストや DR 演習プロセスの実行では、まずクラスター リソースをメンテナンス モードにして、望ましくないクラスター アクションを防ぐ必要があります。

マルチターゲット システム レプリケーション システムの例を以下に示します。 詳しくは、SAP のドキュメントをご覧ください。 Diagram that shows an example of a HANA scale-out multitarget system replication system.

  1. 3 番目のサイトの Azure リソースをデプロイします。 要件に応じて、DR 目的で別の Azure リージョンを使用できます。

    3 番目のサイトの HANA スケールアウトに必要な手順は、HANA スケールアウト クラスターをデプロイする手順と似ています。 3 番目のサイトでは、スケールアウト クラスターの SITE1 に Azure インフラストラクチャ、OS、HANA のインストール手順が使用されますが、次の例外があります。

    • 3 番目のサイトにロード バランサーはデプロイされません。 3 番目のサイトの VM 用の既存のクラスター ロード バランサーとの統合はありません。
    • OS パッケージ SAPHanaSR-ScaleOut、SAPHanaSR-ScaleOut-doc、および OS パッケージ パターン ha_sles を 3 番目のサイト VM にインストールしないでください。
    • クラスター統合がないため、3 番目のサイトのマジョリティ メーカー VM はありません。
    • 3 番目のサイト専用の NFS ボリューム /hana/shared を作成します。
    • 3 番目のサイトの VM または HANA リソースのクラスターへの統合はありません。
    • global.ini の 3 番目のサイトに対する HANA HA フックのセットアップはありません。

    3 番目のサイトには、同じ HANA SID と HANA インストール番号を使用する必要があります。

  2. 3 番目のサイトに SAP HANA スケールアウトがインストールされ、実行されている状態で、3 番目のサイトをプライマリ サイトに登録します。

    次の例では、3 番目のサイトの名前として 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 システム レプリケーションにセカンダリ サイトと 3 番目のサイトが表示されていることを確認します。

    # Verify HANA HSR is in sync, execute on primary
    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    
  4. 3 番目のサイトの 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 サイトへのレプリケーションが失敗した場合、クラスター アクションはありません。

3 番目のサイトを自動登録する

2 つの Pacemaker クラスター サイト間の計画的または計画外の引き継ぎイベント中に、3 番目のサイトへの HSR も中断されます。 Pacemaker では、3 番目のサイトへの HANA レプリケーションは変更されません。

SAP では、HANA 2 SPS 04 以降でパラメーター register_secondaries_on_takeover が提供されます。 パラメーターを true の値に設定すると、クラスター サイト 1 と 2 の間で HSR が引き継がれた後、HANA によって新しいプライマリに 3 番目のサイトが自動的に登録され、HSR マルチターゲット セットアップが維持されます。 Linux クラスター内の両方の SAP HANA サイト上の global.ini[system_replication] ブロックで構成されている HANA パラメーター register_secondaries_on_takeover = true を構成します。 SITE1 と SITE2 の両方で、それぞれの HANA global.ini 構成ファイルにパラメーターが必要です。 このパラメーターは、Pacemaker クラスターの外部でも使用できます。

HSR 多層の場合、3 番目のサイトの SAP HANA の自動登録は存在しません。 HSR レプリケーション チェーンを多層の状態に維持するには、3 番目のサイトを現在のセカンダリに手動で登録する必要があります。

Diagram flow that shows how a HANA autoregistration works with a third site during a takeover.

次のステップ