5.4. テスト 2: プライマリーノードをパッシブな 3 番目のサイトを使用してフェイルオーバーする


Expand

テストの内容

3 番目のサイトの登録なし。

3 番目のサイトが停止している場合でも、フェイルオーバーが機能する。

テストの前提条件

  • DC1、DC2 では SAP HANA が稼働しているが、DC3 では停止している。
  • クラスターがエラーや警告なく稼働している。

テストの手順

pcs move コマンドを使用して SAPHana リソースを移動します。

テストの開始

クラスターコマンドを実行します。

[root@clusternode1]# pcs move resource SAPHana_RH2_02-clone

テストのモニタリング

3 番目のサイトで sidadm として % watch hdbnsutil -sr_stateConfiguration を実行します。

クラスターノード上で root として [root@clusternode1]# watch pcs status を実行します。

期待される結果

DC3 には何も変化がありません。レプリケーションは古い関係を維持します。

初期状態に戻す方法

新しいプライマリーに DC3 を再登録し、SAP HANA を起動します。

詳細な説明:

  • clusternode1 または clusternode2 で root としてクラスターの初期状態を確認します。

    [root@clusternode1]# pcs status --full
    Cluster name: cluster1
    Cluster Summary:
      * Stack: corosync
      * Current DC: clusternode1 (1) (version 2.1.2-4.el8_6.6-ada5c3b36e2) - partition with quorum
      * Last updated: Mon Sep  4 06:34:46 2023
      * Last change:  Mon Sep  4 06:33:04 2023 by root via crm_attribute on clusternode1
      * 2 nodes configured
      * 6 resource instances configured
    
    Node List:
      * Online: [ clusternode1 (1) clusternode2 (2) ]
    
    Full List of Resources:
      * auto_rhevm_fence1	(stonith:fence_rhevm):	 Started clusternode1
      * Clone Set: SAPHanaTopology_RH2_02-clone [SAPHanaTopology_RH2_02]:
        * SAPHanaTopology_RH2_02	(ocf::heartbeat:SAPHanaTopology):	 Started clusternode2
        * SAPHanaTopology_RH2_02	(ocf::heartbeat:SAPHanaTopology):	 Started clusternode1
      * Clone Set: SAPHana_RH2_02-clone [SAPHana_RH2_02] (promotable):
        * SAPHana_RH2_02	(ocf::heartbeat:SAPHana):	 Slave clusternode2
        * SAPHana_RH2_02	(ocf::heartbeat:SAPHana):	 Master clusternode1
      * vip_RH2_02_MASTER	(ocf::heartbeat:IPaddr2):	 Started clusternode1
    
    Node Attributes:
      * Node: clusternode1 (1):
        * hana_rh2_clone_state            	: PROMOTED
        * hana_rh2_op_mode                	: logreplay
        * hana_rh2_remoteHost             	: clusternode2
        * hana_rh2_roles                  	: 4:P:master1:master:worker:master
        * hana_rh2_site                   	: DC1
        * hana_rh2_sra                    	: -
        * hana_rh2_srah                   	: -
        * hana_rh2_srmode                 	: syncmem
        * hana_rh2_sync_state             	: PRIM
        * hana_rh2_version                	: 2.00.062.00
        * hana_rh2_vhost                  	: clusternode1
        * lpa_rh2_lpt                     	: 1693809184
        * master-SAPHana_RH2_02           	: 150
      * Node: clusternode2 (2):
        * hana_rh2_clone_state            	: DEMOTED
        * hana_rh2_op_mode                	: logreplay
        * hana_rh2_remoteHost             	: clusternode1
        * hana_rh2_roles                  	: 4:S:master1:master:worker:master
        * hana_rh2_site                   	: DC2
        * hana_rh2_sra                    	: -
        * hana_rh2_srah                   	: -
        * hana_rh2_srmode                 	: syncmem
        * hana_rh2_sync_state             	: SOK
        * hana_rh2_version                	: 2.00.062.00
        * hana_rh2_vhost                  	: clusternode2
        * lpa_rh2_lpt                     	: 30
        * master-SAPHana_RH2_02           	: 100
    
    Migration Summary:
    
    Tickets:
    
    PCSD Status:
      clusternode1: Online
      clusternode2: Online
    
    Daemon Status:
      corosync: active/disabled
      pacemaker: active/disabled
      pcsd: active/enabled
    Copy to Clipboard Toggle word wrap

    この例のこの出力は、HANA がプライマリー SAP HANA サーバーである clusternode1 上でプロモートされていること、およびクローンリソースの名前が SAPHana_RH2_02-clone であり、プロモート可能であることを示しています。HANA の前にテスト 3 を実行すると、clusternode2 でテスト 3 がプロモートされる可能性があります。

  • remotehost3 上のデータベースを停止します。

    remotehost3:rh2adm> HDB stop
    hdbdaemon will wait maximal 300 seconds for NewDB services finishing.
    Stopping instance using: /usr/sap/RH2/SYS/exe/hdb/sapcontrol -prot NI_HTTP -nr 02 -function Stop 400
    
    12.07.2023 11:33:14
    Stop
    OK
    Waiting for stopped instance using: /usr/sap/RH2/SYS/exe/hdb/sapcontrol -prot NI_HTTP -nr 02 -function WaitforStopped 600 2
    
    
    12.07.2023 11:33:30
    WaitforStopped
    OK
    hdbdaemon is stopped.
    Copy to Clipboard Toggle word wrap
  • remotehost3 上のプライマリーデータベースを確認します。

    remotehost3:rh2adm> hdbnsutil -sr_stateConfiguration| grep -i "primary masters"
    
    primary masters: clusternode2
    Copy to Clipboard Toggle word wrap
  • クラスターノード上のクラスター内の現在のプライマリーを確認します。

    [root@clusternode1]# pcs resource | grep Masters
        * Masters: [ clusternode2 ]
    Copy to Clipboard Toggle word wrap
  • sr_state を確認して、SAP HANA System Replication 関係を確認します。

    clusternode2remotehost3:rh2adm> hdbnsutil -sr_state
    
    System Replication State
    ~~~~~~~~~~~~~~~~~~~~~~~~
    
    online: true
    
    mode: primary
    operation mode: primary
    site id: 2
    site name: DC1
    
    is source system: true
    is secondary/consumer system: false
    has secondaries/consumers attached: true
    is a takeover active: false
    is primary suspended: false
    
    Host Mappings:
    ~~~~~~~~~~~~~~
    
    clusternode1 -> [DC3] remotehost3
    clusternode1 -> [DC1] clusternode1
    clusternode1 -> [DC2] clusternode2
    
    
    Site Mappings:
    ~~~~~~~~~~~~~~
    DC1 (primary/primary)
        |---DC3 (syncmem/logreplay)
        |---DC2 (syncmem/logreplay)
    
    Tier of DC1: 1
    Tier of DC3: 2
    Tier of DC2: 2
    
    Replication mode of DC1: primary
    Replication mode of DC3: syncmem
    Replication mode of DC2: syncmem
    
    Operation mode of DC1: primary
    Operation mode of DC3: logreplay
    Operation mode of DC2: logreplay
    
    Mapping: DC1 -> DC3
    Mapping: DC1 -> DC2
    done.
    Copy to Clipboard Toggle word wrap

    SAP HANA System Replication 関係には、依然として 1 つのプライマリー (DC1) があり、DC2 と DC3 にレプリケートされます。

    ダウンしている remotehost3 上のレプリケーション関係は、次のコマンドを使用して表示できます。

    remothost3:rh2adm> hdbnsutil -sr_stateConfiguration
    
    System Replication State
    ~~~~~~~~~~~~~~~~~~~~~~~~
    
    mode: syncmem
    site id: 3
    site name: DC3
    active primary site: 1
    
    primary masters: clusternode1
    done.
    Copy to Clipboard Toggle word wrap

    オフラインの remotehost3 上のデータベースは、global.ini ファイル内のエントリーをチェックします。

  • テストの開始: クラスター内でフェイルオーバーを開始し、SAPHana-clone-resource の例を移動します。

    [root@clusternode1]# pcs resource move SAPHana_RH2_02-clone clusternode2
    Copy to Clipboard Toggle word wrap
    注記

    SAPHana が clusternode2 でプロモートされている場合は、クローンリソースを clusternode1 に移動する必要があります。この例では、SAPHana が clusternode1 でプロモートされることを想定しています。

    出力はありません。前のテストと同様に、場所の制約が作成され、次のように表示できます。

    [root@clusternode1]# pcs constraint location
    Location Constraints:
      Resource: SAPHana_RH2_02-clone
        Enabled on:
          Node: clusternode1 (score:INFINITY) (role:Started)
    Copy to Clipboard Toggle word wrap

    クラスターが再び正常に見える場合でも、この制約により、制約が削除されない限り、別のフェイルオーバーが回避されます。1 つの方法は、リソースをクリアすることです。

  • リソースをクリアします。

    [root@clusternode1]# pcs constraint location
    Location Constraints:
      Resource: SAPHana_RH2_02-clone
        Enabled on:
          Node: clusternode1 (score:INFINITY) (role:Started)
    [root@clusternode1]# pcs resource clear SAPHana_RH2_02-clone
    Removing constraint: cli-prefer-SAPHana_RH2_02-clone
    Copy to Clipboard Toggle word wrap
  • リソースをクリーンアップします。

    [root@clusternode1]# pcs resource cleanup SAPHana_RH2_02-clone
    Cleaned up SAPHana_RH2_02:0 on clusternode2
    Cleaned up SAPHana_RH2_02:1 on clusternode1
    Waiting for 1 reply from the controller
    ... got reply (done)
    Copy to Clipboard Toggle word wrap
  • 現在のステータスを確認します。

    レプリケーションのステータスを表示するには 3 つの方法があり、同期している必要があります。まずは remotehost3 のプライマリーから始めます。

    remotehost3clusternode2:rh2adm>  hdbnsutil -sr_stateConfiguration| grep -i primary
    active primary site: 1
    primary masters: clusternode1
    Copy to Clipboard Toggle word wrap

    出力には、サイト 1 または clusternode1 が表示されます。これは、プライマリーを clusternode2 に移動するテストを開始する前はプライマリーでした。

    次に、新しいプライマリーのシステムレプリケーションステータスを確認します。

    まず新しいプライマリーを検出します。

    [root@clusternode1]# pcs resource | grep  Master
        * Masters: [ clusternode2 ]
    Copy to Clipboard Toggle word wrap

    ここでは不整合が発生しているため、remotehost3 を再登録する必要があります。テストを再度実行すると、プライマリーを元の clusternode1 に戻すのではないかと思うかもしれません。この場合、システムレプリケーションが機能しているかどうかを確認する 3 番目の方法があります。プライマリーノードで次のコマンドを実行します。

    clusternode2:rh2adm> cdpy
    clusternode2:rh2adm> python ${DIR_EXECUTABLES}/python_support/systemReplicationStatus.py
    |Database |Host   |Port  |Service Name |Volume ID |Site ID |Site Name |Secondary |Secondary |Secondary |Secondary |Secondary     |Replication |Replication |Replication    |Secondary    |
    |         |       |      |             |          |        |          |Host      |Port      |Site ID   |Site Name |Active Status |Mode        |Status      |Status Details |Fully Synced |
    |-------- |------ |----- |------------ |--------- |------- |--------- |--------- |--------- |--------- |--------- |------------- |----------- |----------- |-------------- |------------ |
    |SYSTEMDB |clusternode2 |30201 |nameserver   |        1 |      2 |DC2       |clusternode1    |    30201 |        1 |DC1       |YES           |SYNCMEM     |ACTIVE      |               |        True |
    |RH2      |clusternode2 |30207 |xsengine     |        2 |      2 |DC2       |clusternode1    |    30207 |        1 |DC1       |YES           |SYNCMEM     |ACTIVE      |               |        True |
    |RH2      |clusternode2 |30203 |indexserver  |        3 |      2 |DC2       |clusternode1    |    30203 |        1 |DC1       |YES           |SYNCMEM     |ACTIVE      |               |        True |
    
    status system replication site "1": ACTIVE
    overall system replication status: ACTIVE
    
    Local System Replication State
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    mode: PRIMARY
    site id: 2
    site name: DC2
    Copy to Clipboard Toggle word wrap

    この出力に remotehost3 が表示されない場合は、remotehost3 を再登録する必要があります。登録する前に、プライマリーノードで次のコマンドを実行して、登録の進行状況を確認してください。

    clusternode2:rh2adm> watch python
    ${DIR_EXECUTABLES}/python_support/systemReplicationStatus.py
    Copy to Clipboard Toggle word wrap

    これで、このコマンドを使用して、remotehost3 を再登録できます。

    remotehost3:rh2adm> hdbnsutil -sr_register --remoteHost=clusternode2 --remoteInstance=${TINSTANCE} --replicationMode=async --name=DC3 --remoteName=DC2 --operation
    Mode=logreplay --online
    adding site ...
    collecting information ...
    updating local ini files ...
    done.
    Copy to Clipboard Toggle word wrap

    remotehost3 上のデータベースがまだ起動していない場合でも、システムレプリケーションステータスの出力で 3 番目のサイトを確認できます。登録は、remotehost3 でデータベースを起動することで完了できます。

    remotehost3:rh2adm> HDB start
    
    
    StartService
    Impromptu CCC initialization by 'rscpCInit'.
      See SAP note 1266393.
    OK
    OK
    Starting instance using: /usr/sap/RH2/SYS/exe/hdb/sapcontrol -prot NI_HTTP -nr 02 -function StartWait 2700 2
    
    
    04.09.2023 11:36:47
    Start
    OK
    Copy to Clipboard Toggle word wrap

    上記で開始されたモニターには、remotehost3 の同期がすぐに表示されます。

  • 元に戻すには、テストを再度実行します。オプションのテストの 1 つは、プライマリーをノードに切り替えて、remotehost3 の global.ini で設定してデータベースを起動することです。データベースが起動する場合もありますが、再登録しない限り、システムレプリケーションステータスの出力には表示されません。
  • 欠落しているエントリーがすぐに作成され、SAP HANA データベースが起動するとすぐにシステムレプリケーションが開始されます。
  • これは、次を実行して確認できます。

    sidadm@clusternode1% hdbnsutil -sr_state
    sidadm@clusternode1% python systemReplicationStatus.py ; echo $?
    Copy to Clipboard Toggle word wrap
  • 詳細は、SAP HANA System Replication ステータスの確認 を参照してください。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る