4.3. 3 番目のサイトに SAP HANA システムレプリケーションをセットアップする
既存のインストールでは、2 ノードクラスターのプライマリー SAP HANA インスタンスとセカンダリー SAP HANA インスタンスの間にすでに SAP HANA システムレプリケーションが設定されています。SAP HANA システムレプリケーションは、プライマリー SAP HANA データベースインスタンスが稼働していることが有効になっています。
本章では、3 番目の SAP HANA インスタンスを、ノード remotehost3 のノード DC3 で追加のセカンダリー HANA システムレプリケーションサイトとして登録する方法を説明します。この手順は、ノード clusternode2 での元のセカンダリー HANA インスタンス(DC2)の登録に似ています。詳細は、以降の章で説明します。さらに詳しい情報が必要な場合は、General Prerequisites for Configuring SAP HANA System Replication も参照してください。
4.3.1. プライマリーデータベースの確認
他のデータベースが実行中であり、システムのレプリケーションが適切に動作していることを確認する必要があります。以下を参照してください。
プライマリー HANA インスタンスは、以下で検出できます。
clusternode1:rh2adm> hdbnsutil -sr_state | egrep -e "primary masters|^mode"
mode: primary
4.3.2. データベースキーのコピー
新しいセカンダリー HANA インスタンスを登録する前に、プライマリー HANA インスタンスのデータベースキーを新しい追加の HANA レプリケーションサイトにコピーする必要があります。この例では、3 番目のサイトのホスト名は remotehost3 です。
たとえば、プライマリーノード clusternode1 で以下を実行します。
clusternode1:rh2adm> scp -rp /usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/data/SSFS_${SAPSYSTEMNAME}.DAT remotehost3:/usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/data/SSFS_${SAPSYSTEMNAME}.DAT clusternode1:rh2adm> scp -rp /usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/key/SSFS_${SAPSYSTEMNAME}.KEY remotehost3:/usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/key/SSFS_${SAPSYSTEMNAME}.KEY
4.3.3. 追加の HANA インスタンスをセカンダリー HANA レプリケーションサイトとして登録
プライマリーデータベース を実行しているノードの名前を確認する必要があります。
登録を監視するには、プライマリーノードの別のターミナルで以下のコマンドを実行します。
clusternode1:rh2adm> watch python /usr/sap/${SAPSYSTEMNAME}/HDB${TINSTANCE}/python_support/systemReplicationStatus.py
これにより、進行状況とエラー (発生した場合) が表示されます。
3 番目のサイトの HANA インスタンスを追加のセカンダリー SAP HANA インスタンスとして登録するには、3 番目のサイトのホスト node3 で次のコマンドを実行します。
remotehost3:rh2adm> hdbnsutil -sr_register --name=DC3 --remoteHost=clusternode1 --remoteInstance=${TINSTANCE} --replicationMode=async --operationMode=logreplay --online
この例では、DC3 は 3 番目のサイトの名前、clusternode1 はプライマリーノードのホスト名です。
データベースインスタンスがすでに実行されている場合は、停止する必要はありません。オプション --online
を使用すると、オンライン中にインスタンスが登録されます。インスタンスの必要な再起動 (停止と起動) は、hdbnsutil
自体によって開始されます。
オプション --online
は、HANA インスタンスがオンラインでもオフラインでも機能します(このオプションは SAP HANA 2.0 SPS04 以降で利用可能です)。
データベースインスタンスがオフラインの場合は、3 番目のノードを登録した後にデータベースインスタンスを起動する必要があります。詳細は、SAP HANA システムレプリケーション を参照してください。
4.3.4. SAP HANA マルチターゲットシステムレプリケーションの自動登録サポートの追加
register_secondaries_on_takeover = true
という SAP HANA システムレプリケーションオプションを使用しています。これにより、以前のプライマリーサイトと他のセカンダリーサイトの間でフェイルオーバーが発生した場合に、セカンダリー HANA インスタンスを新しいプライマリーサイトに自動的に再登録します。このオプションは、すべての潜在的なプライマリーサイトの global.ini
ファイルに追加する必要があります。
すべての HANA インスタンスの global.ini
に次のエントリーが含まれている必要があります。
[system_replication] register_secondaries_on_takeover = true
次の 2 つの章では、global.ini
設定について詳しく説明します。
パラメーターにもかかわらず、フェイルオーバーの開始時に 3 番目のノード上の追加のセカンダリー HANA インスタンスが 停止 している場合は、この HANA インスタンスを手動で再登録する必要があります。
4.3.5. Pacemaker ノードでの global.ini
の設定
Pacemaker クラスターによって管理される SAP HANA インスタンスの global.ini
に、オプション register_secondaries_on_takeover = true
を追加する必要があります。ファイル global.ini
は、常にそれぞれのノードで編集し、別のノードからファイルをコピーしないでください。
global.ini
ファイルは、サイトの HANA インスタンスが処理を停止した場合にのみ編集してください。
rh2adm
ユーザーとして global.ini
を編集します。
clusternode1:rh2adm> vim /usr/sap/${SAPSYSTEMNAME}/SYS/global/hdb/custom/config/global.ini
以下に例を示します。
# global.ini last modified 2023-07-14 16:31:14.120444 by hdbnsutil -sr_register --remoteHost=remotehost3 --remoteInstance=02 --replicationMode=syncmem --operationMode=logreplay --name=DC2 [multidb] mode = multidb database_isolation = low singletenant = yes [ha_dr_provider_SAPHanaSR] provider = SAPHanaSR path = /hana/shared/myHooks execution_order = 1 [persistence] basepath_datavolumes = /hana/data/RH2 basepath_logvolumes = /hana/log/RH2 log_mode = normal enable_auto_log_backup = true [system_replication] register_secondaries_on_takeover = true timetravel_logreplay_mode = auto operation_mode = logreplay mode = primary actual_mode = syncmem site_id = 1 site_name = DC2 [system_replication_site_masters] 2 = clusternode1:30201 [trace] ha_dr_saphanasr = info
このオプションは、SAP HANA データベースインスタンスが起動するとすぐにアクティブになります。
4.3.6. 3 番目のサイトで global.ini
を設定する
<sid>adm
ユーザーとして global.ini
を編集します。
remotehost3:rh2adm> vim /usr/sap/${SAPSYSTEMNAME}/SYS/global/hdb/custom/config/global.ini
remotehost3 では、ha_dr_provider_SAPHanaSR
セクションは使用されません。
remotehost3 の global.ini
の例:
# global.ini last modified 2023-06-22 17:22:54.154508 by hdbnameserver [multidb] mode = multidb database_isolation = low singletenant = yes [persistence] basepath_datavolumes = /hana/data/RH2 basepath_logvolumes = /hana/log/RH2 log_mode = normal enable_auto_log_backup = true [system_replication] operation_mode = logreplay register_secondaries_on_takeover = true reconnect_time_interval = 5 timetravel_logreplay_mode = auto site_id = 3 mode = syncmem actual_mode = syncmem site_name = DC3 [system_replication_site_masters] 2 = clusternode1:30201
4.3.7. インストールの検証
インストール後、すべての HANA インスタンスが稼働しているか、および HANA システムレプリケーションがそれらのインスタンス間で動作していることを確認する必要があります。最も簡単な方法は、システムレプリケーション ステータスの確認 で説明されているように、systemReplicationStatus
を確認 することです。
詳細は、データベースステータスの確認 も参照してください。
HANA システムレプリケーションが正しく機能するには、log_mode パラメーターが normal に設定されていることを確認してください。詳細は、SAP HANA データベースの log_mode の確認 を参照してください。
設定が想定どおりに機能していることを確認するには、以下の章の説明に従って テストケース を実行してください。