SAP HANA Recovery Kit が提供する監視機能と起動処理、停止処理についてご説明します。
対象製品
SAP HANA Recovery Kit (LifeKeeper for Linux)
SAP HANA Recoverry Kit では SIOS Protection Suite for Linux のレプリケーションを用いて SAP HANA を制御しております。
本処理概要は LifeKeeper for Linux v9.1.1 に付属するリカバリキットをもとに作成しており、SAP HANA Rocovery Kit が提供する動作の概要について記載しております。
LifeKeeper for Linux v9.2 から SAP HANA2.0 にも対応しておりますが、基本的には本ページと同じ動作となります。
監視処理
LKCHECKINTERVAL(デフォルト120秒)の間隔で以下のサービスを監視いたします。
必要なプロセスおよびデータベースがアクティブではないと判断された場合は、対象のプロセスおよびデータベースを再起動させる為に回復処理を実施します。
処理は HANA_TIMEOUT の時間でタイムアウトします。
1)Agentの確認(プライマリ)
SAP host agent が動作しているかを確認します。
動作していなければその旨をログに記録します。
2)sapstartsrv サービスの確認(プライマリ)
sapstartsrv サービスが動作しているか確認します。
動作していなければその旨をログに記録します。
3)レプリケーションモードの確認(プライマリ)
プライマリとして動作しているか確認します。
4)レプリケーションモードの確認(セカンダリ)
接続可能かを確認し、レプリケーションモードが定義されていなければその旨をログに記録します。
プライマリではないことを確認します。
5)DBインスタンスの確認(プライマリ)
HANA-DB のインスタンスが動作していなければその旨をログに記録します。
6)Agentの確認(セカンダリ)
SAP host agent が動作しているかを確認します。
動作していなければその旨をログに記録します。
7)sapstartsrv サービスの確認(セカンダリ)
sapstartsrv サービスが動作しているか確認します。
動作していなければその旨をログに記録します。
8)DBインスタンスの確認(セカンダリ)
HANA-DB のインスタンスが動作していなければその旨をログに記録します。
起動処理
リソース起動時に以下のプロセスおよびデータベースを起動します。
処理は HANA_TIMEOUT の時間でタイムアウトします。
1)Agentの開始(プライマリ)
SAP host agent を起動します。
起動に失敗する場合は一度だけリトライします。
起動結果をログに記録します。
2)sapstartsrv サービスの開始(プライマリ)
sapstartsrv サービスを起動します。
起動に失敗する場合は一度だけリトライします。
起動結果をログに記録します。
3)レプリケーションモードの変更を開始(プライマリ)
プライマリノードでレプリケーションモードの変更を開始します。
現在の起動状態を確認し、起動していなければ起動させます。
4)レプリケーションモードの変更を開始(セカンダリ)
セカンダリノードでレプリケーションモードの変更を開始します。
現在の起動状態を確認し、起動していなければ起動させます。
5)プライマリノード(プライマリ)でレプリケーションモードを開始します。
初めに以前のプライマリノードのHDBを停止します。
次に、新しいプライマリノードでsr_takeoverを実行します
6)DBインスタンスの開始(プライマリ)
HANA-DB を起動します。
7)セカンダリノードでレプリケーションモードを変更を開始します。
その後、以前のプライマリノードでsr_registerを実行します。
現在の起動状態を確認し、起動していなければ起動させます。
8)Agentの起動(セカンダリ)
SAP host agent を起動します。
現在の起動状態を確認し、起動していなければ起動させます。
9)sapstartsrv サービスの起動(セカンダリ)
sapstartsrv サービスを起動します。
現在の起動状態を確認し、起動していなければ起動させます。
10)DBインスタンスの起動(セカンダリ)
HANA-DB のインスタンスを起動します。
現在の起動状態を確認し、起動していなければ起動させます。
停止処理
SAP HANA リソースの停止ではプライマリーノードのデータベースのみを停止致します。
システムレプリケーションモードと同様、セカンダリーノードのデータベースはアクティブのままとなります。
処理は HANA_STOP_WAIT の時間でタイムアウトします。
SAP HANA システム全体をシャットダウンする場合は、まず制御フラグ “!volatile!noHANAremove” を次のコマ
ンドを使用して削除してから「Out of Service」を実施します。
# /opt/LifeKeeper/bin/flg_remove -f “!volatile!noHANAremove”
フラグがある場合は通常停止として以下が実施されます。
1)プライマリサーバで DB を停止する。
2)セカンダリサーバにテイクオーバを実行する。
3)セカンダリサーバにて DB を起動する。
回復処理
リソースの異常を検知した場合は、以下の起動処理を行い復帰を試みます。
処理は HANA_TIMEOUT の時間でタイムアウトします。
- SAP host agent
- sapstartsrv サービス
- プライマリノードのレプリケーションモード
- セカンダリノードのレプリケーションモード
- DBインスタンス
パラメータ
各パラメーターは /etc/default/LifeKeeper の任意の位置へ記載してください。
記載のない場合はデフォルト値で動作しております。
HANA_START_WAIT
デフォルト:2700(秒)
※sapcontrol に対応したリソース起動時に有効となるタイムアウト値です。
HANA_STOP_WAIT
デフォルト:600(秒)
※sapcontrol に対応したリソース停止時に有効となるタイムアウト値です。
HANA_TIMEOUT
デフォルト:LKCHKINTERVALの値 – 10(固定)
※監視処理時に有効となるタイムアウト値です。
HANA_DEBUG
デフォルト:0 [0:無効、1:有効]
改訂履歴
[公開日:2017年7月7日] [改訂日:2017年10月13日]