4.3. 3 番目のサイトでの SAP HANA システムレプリケーションのセットアップ
既存のインストールでは、プライマリーおよびセカンダリーの SAP HANA サイト間に SAP HANA システムレプリケーションがすでに設定されています。SAP HANA システムレプリケーションは、稼働中のプライマリー SAP HANA データベースで有効になります。
この章では、3 番目の SAP HANA データベースを、サイト DC3 のノード az3n1 および az3n2 上にある追加のセカンダリー HANA システムレプリケーションサイトとして登録する方法を説明します。このステップは、2 番目のサイトにある元のセカンダリー HANA インスタンス (DC2) の登録と似ています。詳細は、以降の章で説明します。さらに詳しい情報が必要な場合は、General Prerequisites for Configuring SAP HANA System Replication も参照してください。
4.3.1. プライマリーデータベースの確認 リンクのコピーリンクがクリップボードにコピーされました!
他のデータベースが実行中であり、システムのレプリケーションが適切に動作していることを確認する必要があります。以下を参照してください。
次の方法でプライマリー HANA インスタンスを検出できます。
az1n1:rh2adm> hdbnsutil -sr_state | egrep -e "primary masters|^mode"
mode: primary
4.3.2. データベースキーのコピー リンクのコピーリンクがクリップボードにコピーされました!
新しいセカンダリー HANA インスタンスを登録する前に、プライマリー HANA インスタンスのデータベースキーを新しい追加の HANA レプリケーションサイトにコピーする必要があります。この例では、3 番目のサイトのホスト名は az3n1 です。
たとえば、プライマリーノード az1n1 で次のコマンドを実行します。
az1n1:rh2adm> scp -rp
/usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/data/SSFS_${SAPSYSTEMNAME}.DAT az3n1:/usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/data/SSFS_${SAPSYSTEMNAME}.DAT
az1n1:rh2adm> scp -rp
/usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/key/SSFS_${SAPSYSTEMNAME}.KEY az3n1:/usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/key/SSFS_${SAPSYSTEMNAME}.KEY
4.3.3. 3 番目のサイトをセカンダリーとして登録する リンクのコピーリンクがクリップボードにコピーされました!
プライマリーデータベースを実行するノードの名前を知っておく必要があります。詳細は、プライマリーデータベースの検出 を参照してください。
登録を監視するには、プライマリーノードの別のターミナルで次のコマンドを実行します。
az1n1:rh2adm> watch python
/usr/sap/${SAPSYSTEMNAME}/HDB${TINSTANCE}/python_support/systemReplicationStatus.py
これにより、進行状況とエラー (発生した場合) が表示されます。
3 番目のサイト (DC3) の HANA インスタンスを追加のセカンダリー SAP HANA インスタンスとして登録するには、3 番目のサイトのホスト (az3n1) で次のコマンドを実行します。
az3n1:rh2adm> hdbnsutil -sr_register --name=DC3
--remoteHost=az1n1 --remoteInstance=${TINSTANCE}
--replicationMode=async --operationMode=logreplay --online
この例では、DC3 は 3 番目のサイトの名前、az1n1 はプライマリーノードの名前です。
データベースインスタンスがすでに実行されている場合は、停止する必要はありません。オプション --online を使用すると、オンライン中にインスタンスが登録されます。hdbnsutil 自体がインスタンスの必要な再起動 (停止と起動) を開始します。
--online オプションは、HANA インスタンスがオンラインでもオフラインでも、どのような場合でも機能します (このオプションは SAP HANA 2.0 SPS04 以降で使用できます)。
HANA インスタンスがオフラインの場合は、3 番目のノードが登録された後に起動する必要があります。追加情報は、インストールの検証 を参照してください。
4.3.4. SAP HANA マルチターゲットシステムレプリケーションの自動登録サポートの追加 リンクのコピーリンクがクリップボードにコピーされました!
register_secondaries_on_takeover = true という SAP HANA システムレプリケーションオプションを使用しています。これにより、以前のプライマリーサイトと他のセカンダリーサイトの間でフェイルオーバーが発生した場合に、セカンダリーサイトが新しいプライマリーサイトに自動的に再登録されます。このオプションは、すべてのデータベースノードであるすべての潜在的なプライマリーサイトの global.ini ファイルに追加する必要があります。global.ini は /hana/shared に保存されるため、サイトごとに global.ini ファイルを 1 回のみ編集する必要があります。
すべての HANA インスタンスの global.ini に、このエントリーが含まれている必要があります。
[system_replication]
register_secondaries_on_takeover = true
次の 2 つの章では、global.ini 設定の詳細を説明します。
このパラメーターが設定されていても、フェイルオーバーの開始時に 3 番目のデータベースが 停止 している場合、3 番目のインスタンスを新しいプライマリーサイトに手動で再登録する必要があります。
4.3.5. pacemaker ノードでの global.ini の設定 リンクのコピーリンクがクリップボードにコピーされました!
サイト 1 とサイト 2 の SAP HANA ノードの global.ini の [system_replication] セクションに、オプション register_secondaries_on_takeover = true を追加します。pacemaker クラスターがこれらを管理します。global.ini ファイルは常にそれぞれのノード上で編集し、別のノードからこのファイルをコピーしないでください。
global.ini ファイルは、サイトの HANA インスタンスが処理を停止した場合にのみ編集してください。
rh2adm ユーザーとして global.ini を編集します。
az1n1:rh2adm> vi
/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=hana07 --remoteInstance=02 --replicationMode=syncmem --operationMode=logreplay --name=DC2
[multidb]
mode = multidb
database_isolation = low
singletenant = yes
[ha_dr_provider_SAPHanaSR]
provider = SAPHanaSR
path = /usr/share/SAPHanaSR/srhook
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 = az1n1:30201
[trace]
ha_dr_saphanasr = info
このオプションは、SAP HANA データベースインスタンスが開始されるとすぐにアクティブになります。
4.3.6. site3 での global.ini の設定 リンクのコピーリンクがクリップボードにコピーされました!
<sid>adm ユーザーとして global.ini を編集します。
az3n1:rh2adm>% vi /usr/sap/${SAPSYSTEMNAME}/SYS/global/hdb/custom/config/global.ini
サイト 3 (az3n1 および az3n2) では、ha_dr_provider_SAPHanaSR セクションは使用されません。
az3n1 の 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 = az1n1:30201
4.3.7. インストールの検証 リンクのコピーリンクがクリップボードにコピーされました!
インストール後、すべての HANA インスタンスが稼働しているか、およびそれらの間で HANA システムレプリケーションが機能しているかを確認する必要があります。最も簡単な方法は、プライマリーデータベースノードの systemReplicationStatus を確認することです。詳細は、システムレプリケーションステータスの確認 を参照してください。詳細は、データベースの確認 も参照してください。
HANA システムレプリケーションが正しく機能するには、“log_mode” パラメーターが “normal” に設定されていることを確認してください。詳細は、SAP HANA データベースの log_mode の確認 を参照してください。
セットアップが期待通りに機能していることを確認する場合:
run the xref:asmb_test_cases_configuring-hana-scale-out-multitarget-system-replication-disaster-recovery[Test cases] as described in the following chapter.