このセクションでは、基本的なテストを実行して、スイッチオーバーとフェイルオーバーでの HANA-SPS_HDB00 リソース階層の予想される動作を確認します。
- HANA-SPS_HDB00 リソースの状態が現在、node-a で「Active」、node-b で「Standby – In-Sync」であることを確認します。
- Node-a と node-b で以下のコマンドを実行し、両ノードで HDB00 インスタンスが正常に動作していること、node-a と node-b がともに SAP HANA システムレプリケーションに適切に登録されていること、仮想ホスト名 sps-hana を介してプライマリーデータベースに接続できることを確認します。レプリケーションモードとオペレーションモードは、node-a で primary/primary、node-b で sync/logreplay となります。
[root@node-a ~]# su - spsadm -c "sapcontrol -nr 00 -function GetProcessList"
04.03.2021 21:31:50
GetProcessList
OK
name, description, dispstatus, textstatus, starttime, elapsedtime, pid
hdbdaemon, HDB Daemon, GREEN, Running, 2021 03 04 19:44:27, 1:47:23, 19236
hdbcompileserver, HDB Compileserver, GREEN, Running, 2021 03 04 19:45:46, 1:46:04, 19618
hdbindexserver, HDB Indexserver-SPS, GREEN, Running, 2021 03 04 19:45:47, 1:46:03, 19666
hdbnameserver, HDB Nameserver, GREEN, Running, 2021 03 04 19:44:27, 1:47:23, 19254
hdbpreprocessor, HDB Preprocessor, GREEN, Running, 2021 03 04 19:45:46, 1:46:04, 19621
hdbwebdispatcher, HDB Web Dispatcher, GREEN, Running, 2021 03 04 19:46:15, 1:45:35, 20241
hdbxsengine, HDB XSEngine-SPS, GREEN, Running, 2021 03 04 19:45:47, 1:46:03, 19669
[root@node-a ~]# su - spsadm -c "hdbnsutil -sr_state"
System Replication State
~~~~~~~~~~~~~~~~~~~~~~~~
online: true
mode: primary
operation mode: primary
site id: 1
site name: SiteA
is source system: true
is secondary/consumer system: false
has secondaries/consumers attached: true
is a takeover active: false
Host Mappings:
~~~~~~~~~~~~~~
node-a -> [SiteB] node-b
node-a -> [SiteA] node-a
Site Mappings:
~~~~~~~~~~~~~~
SiteA (primary/primary)
|---SiteB (sync/logreplay)
Tier of SiteA: 1
Tier of SiteB: 2
Replication mode of SiteA: primary
Replication mode of SiteB: sync
Operation mode of SiteA: primary
Operation mode of SiteB: logreplay
Mapping: SiteA -> SiteB
done.
[root@node-b ~]# su - spsadm -c "sapcontrol -nr 00 -function GetProcessList"
04.03.2021 21:38:10
GetProcessList
OK
name, description, dispstatus, textstatus, starttime, elapsedtime, pid
hdbdaemon, HDB Daemon, GREEN, Running, 2021 03 04 19:48:50, 1:49:20, 13383
hdbcompileserver, HDB Compileserver, GREEN, Running, 2021 03 04 19:49:00, 1:49:10, 13747
hdbindexserver, HDB Indexserver-SPS, GREEN, Running, 2021 03 04 19:49:00, 1:49:10, 13794
hdbnameserver, HDB Nameserver, GREEN, Running, 2021 03 04 19:48:51, 1:49:19, 13401
hdbpreprocessor, HDB Preprocessor, GREEN, Running, 2021 03 04 19:49:00, 1:49:10, 13750
hdbwebdispatcher, HDB Web Dispatcher, GREEN, Running, 2021 03 04 19:49:42, 1:48:28, 15167
hdbxsengine, HDB XSEngine-SPS, GREEN, Running, 2021 03 04 19:49:00, 1:49:10, 13797
[root@node-b ~]# su - spsadm -c "hdbsql -n sps-hana -i 00 -u SYSTEM -p <SYSTEM user password> -d SPS '\s'"
host : sps-hana:30013
sid : SPS
dbname : SPS
user : SYSTEM
kernel version: 2.00.046.00.1581325702
SQLDBC version: libSQLDBCHDB 2.04.182.1579711187
autocommit : ON
locale : en_US.UTF-8
input encoding: UTF8
sql port : node-a:30015
- node-b の HANA-SPS_HDB00 リソースを右クリックし、 [In-Service…] を選択して、SAP HANA リソース階層のスイッチオーバーを実行します。 [In Service] をクリックして、スイッチオーバーを開始します。
スイッチオーバーが完了し、リソースの状態が node-a で「Standby – In Sync」に、node-b で「Active」に切り替わるまで待ちます。なお、スタンバイ データベース インスタンスの稼働後、リソースの状態が「Standby – HDB Running」から「Standby – In-Sync」に移行するまでに最大2分かかる場合があることに注意してください。
- Node-a と node-b で以下のコマンドを実行し、両ノードで HDB00 インスタンスが正常に動作していること、node-a と node-b がともに SAP HANA システムレプリケーションに適切に登録されていること、仮想ホスト名 sps-hana を介してプライマリーデータベースに接続できることを検証します。レプリケーションモードが sync/logreplay に、オペレーションモードが primary/primary にそれぞれ変更されました。
[root@node-a ~]# su - spsadm -c "sapcontrol -nr 00 -function GetProcessList"
04.03.2021 21:50:20
GetProcessList
OK
name, description, dispstatus, textstatus, starttime, elapsedtime, pid
hdbdaemon, HDB Daemon, GREEN, Running, 2021 03 04 21:43:51, 0:06:29, 156845
hdbcompileserver, HDB Compileserver, GREEN, Running, 2021 03 04 21:43:58, 0:06:22, 156970
hdbindexserver, HDB Indexserver-SPS, GREEN, Running, 2021 03 04 21:43:58, 0:06:22, 157101
hdbnameserver, HDB Nameserver, GREEN, Running, 2021 03 04 21:43:52, 0:06:28, 156864
hdbpreprocessor, HDB Preprocessor, GREEN, Running, 2021 03 04 21:43:58, 0:06:22, 156973
hdbwebdispatcher, HDB Web Dispatcher, GREEN, Running, 2021 03 04 21:44:36, 0:05:44, 157429
hdbxsengine, HDB XSEngine-SPS, GREEN, Running, 2021 03 04 21:43:58, 0:06:22, 157104
[root@node-a ~]# su - spsadm -c "hdbsql -n sps-hana -i 00 -u SYSTEM -p <SYSTEM user password> -d SPS '\s'"
host : sps-hana:30013
sid : SPS
dbname : SPS
user : SYSTEM
kernel version: 2.00.046.00.1581325702
SQLDBC version: libSQLDBCHDB 2.04.182.1579711187
autocommit : ON
locale : en_US.UTF-8
input encoding: UTF8
sql port : node-b:30015
[root@node-b ~]# su - spsadm -c "sapcontrol -nr 00 -function GetProcessList"
04.03.2021 21:52:36
GetProcessList
OK
name, description, dispstatus, textstatus, starttime, elapsedtime, pid
hdbdaemon, HDB Daemon, GREEN, Running, 2021 03 04 19:48:50, 2:03:46, 13383
hdbcompileserver, HDB Compileserver, GREEN, Running, 2021 03 04 19:49:00, 2:03:36, 13747
hdbindexserver, HDB Indexserver-SPS, GREEN, Running, 2021 03 04 19:49:00, 2:03:36, 13794
hdbnameserver, HDB Nameserver, GREEN, Running, 2021 03 04 19:48:51, 2:03:45, 13401
hdbpreprocessor, HDB Preprocessor, GREEN, Running, 2021 03 04 19:49:00, 2:03:36, 13750
hdbwebdispatcher, HDB Web Dispatcher, GREEN, Running, 2021 03 04 19:49:42, 2:02:54, 15167
hdbxsengine, HDB XSEngine-SPS, GREEN, Running, 2021 03 04 19:49:00, 2:03:36, 13797
[root@node-b ~]# su - spsadm -c "hdbnsutil -sr_state"
System Replication State
~~~~~~~~~~~~~~~~~~~~~~~~
online: true
mode: primary
operation mode: primary
site id: 2
site name: SiteB
is source system: true
is secondary/consumer system: false
has secondaries/consumers attached: true
is a takeover active: false
Host Mappings:
~~~~~~~~~~~~~~
node-b -> [SiteB] node-b
node-b -> [SiteA] node-a
Site Mappings:
~~~~~~~~~~~~~~
SiteB (primary/primary)
|---SiteA (sync/logreplay)
Tier of SiteB: 1
Tier of SiteA: 2
Replication mode of SiteB: primary
Replication mode of SiteA: sync
Operation mode of SiteB: primary
Operation mode of SiteA: logreplay
Mapping: SiteB -> SiteA
done.
- 次のコマンドを実行して、node-b を強制的に再起動します。
[root@node-b ~]# echo b > /proc/sysrq-trigger
Node-b の電源がオフになっていることを LifeKeeper が検出すると、LifeKeeper GUI で node-b のステータスが「Unknown」に更新されます。
この時点で、LifeKeeper は HANA-SPS_HDB00 リソース階層のnode-a へのフェイルオーバーを自動的に開始します。
Node-b がオンラインに戻ると、LifeKeeper はそれを SAP HANA システムレプリケーションのセカンダリーレプリケーションサイトとして自動的に再登録し、セカンダリーデータベースインスタンスを再起動します。このプロセスが完了するまでに数分かかる場合があります。このプロセスが完了すると、リソースの状態は node-a で「Active」に戻り、node-b で「Standby – In-Sync」に戻ります。
- ステップ2のコマンドを再度実行し、両ノードでデータベースが期待通りに動作していることを確認します。
これで、SAP HANA リソース階層の基本的なスイッチオーバーおよびフェイルオーバー機能の確認が完了しました。
このトピックへフィードバック