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 の確認 を参照してください。
設定が想定どおりに機能していることを確認するには、以下の章の説明に従って テストケース を実行してください。