注:以下の文章では、独自のリカバリキットを定義してリソースを作成する方法を案内しています。既存のリカバリキットを使用する場合は、GUI を使用してリソースを作成してください。
LifeKeeper には、アプリケーションのリソース階層を定義するためのメカニズムが 2 つ用意されています。
- LifeKeeper の GUI
- LifeKeeper 設定データベースのインターフェース (LCDI) コマンド
LCDI は LifeKeeper が提供するインターフェースコマンドのセットで、使用するアプリケーションのニーズに合わせてリソース階層の設定の作成とカスタマイズができます。アプリケーションが複数のリソース (例: 2 つ以上のファイルシステム) に依存する場合、コマンドインターフェースを使用します。
コマンドの詳細については、LCDI のマニュアルページを参照してください。このトピックでは、開発シナリオを示し、GUI とコマンドの両方の機能を使用してリソース階層を作成できる方法を説明します。
シナリオの状況
アプリケーションの例である ProjectPlan は、サーバ 1 とサーバ 2 が共有する SCSI ファイルシステムにデータを保存しています。サーバ 1 が、アプリケーションのプライマリ階層にあります。アプリケーションには、 /project-data と /schedule の 2 つのファイルシステムがあります。階層定義の最初の手順では、依存関係を指定します。
このアプリケーションの例には、以下の依存関係があります。
- 共有ファイルシステム。 アプリケーションは、 /project-data と /schedule のファイルシステムに依存します。
- SCSI ディスクサブシステム。 .次に、ファイルシステムは、SCSI ディスクサブシステム (デバイス、ディスク、およびホストアダプタのリソースを含む) に依存します。
結果として、階層を作成する作業は以下の図のようになります。
階層の定義
この例のアプリケーション階層を作成するために必要な作業を示します。
- ファイルシステムリソースの作成。 LifeKeeper の GUI には、ファイルシステムリソースを作成するメニューがあります。ファイルシステムリソース階層の作成 を参照してください。
この定義作業の最後で、LCD では 2 つのファイルシステムリソースが以下のように定義されます。
/project-data /project-data |
project-data-on-Server1 project-data-from-Server1 |
Server1 Server2 |
/schedule /schedule |
schedule-on-Server1 schedule-from-Server1 |
Server1 Server2 |
注記: LifeKeeper で使用されるタグ名には意味はありません。単なるラベルです。表内のタグ名は LifeKeeper のデフォルト値です。
- リソースの定義。 この例では、以下の項目を定義する必要があります。
アプリケーション: | projectapp |
リソースタイプ: | plan |
インスタンス ID: | 1yrplan |
タグ: | the-project-plan |
注記: LifeKeeper の GUI を使用して定義の大部分を作成できますが、この例の以降ではコマンドインターフェースの操作を説明します。
- ディレクトリの作成。 各システムで以下のコマンドを使用して、ディレクトリ /opt/LifeKeeper/subsys の下に必要なアプリケーションリカバリディレクトリを作成します。
mkdir -p /opt/LifeKeeper/subsys/projectapp/Resources/plan/actions
- アプリケーションの定義。 以下のコマンドで、アプリケーション projectapp を作成します。
app_create -d Server1 -a projectapp
app_create -d Server2 -a projectapp
- リソースタイプの定義。 以下のコマンドで、リソースタイプ plan を作成します。
typ_create -d Server1 -a projectapp -r plan
typ_create -d Server2 -a projectapp -r plan
- リカバリスクリプトのインストール。 restore と remove のスクリプトを各サーバの以下のディレクトリにコピーします。
/opt/LifeKeeper/subsys/projectapp/Resources/plan/actions
- インスタンスの定義。 以下のコマンドで、リソースのインスタンスタイプが plan、ID が 1yrplan のリソースを定義します。
ins_create -d Server1 -a projectapp -r plan -I\
AUTORES_ISP -t the-project-plan -i 1yrplan
ins_create -d Server2 -a projectapp -r plan -I\
SEC_ISP -t the-project-plan -i 1yrplan
Server1 に作成したインスタンスの -I AUTORES_ISP 命令は、LifeKeeper の再起動時にそのリソースを自動的に in service にするように LifeKeeper に指示します。この例では、リソースの restore スクリプトが実行され、正常に実行された場合はリソースが ISP 状態になります。この動作は、ペアのリソースがすでにサービス起動している場合は実行されません。
Server2 に作成したインスタンスの -I SEC_ISP 命令は、LifeKeeper の再起動時にそのリソースを in service にしないように LifeKeeper に指示します。その代わり、Server2 は Server1 上にあるリソースのバックアップとして機能し、プライマリのリソースまたはサーバに障害が発生したときにローカルリソースを in service にします。
- 依存関係の定義。 以下のコマンドは、アプリケーションとファイルシステムの依存関係を定義します。
dep_create -d Server1 -p the-project-plan -c project-data-on-System1
dep_create -d Server2 -p the-project-plan -c project-data-from-Server1
dep_create -d Server1 -p the-project-plan -c schedule-on-Server1
dep_create -d Server2 -p the-project-plan -cschedule-from-Server1
- lcdsync の実行。 以下の lcdsync コマンドを実行して、設定のコピーを更新するように LifeKeeper に通知します。
lcdsync -d Server1
lcdsync -d Server2
- リソースを In Service にする。 プライマリサーバで LifeKeeper の GUI にアクセスし、 [Edit] > [Resource] > [In-Service] をクリックしてリソースを In Service にします。もしくはプライマリサーバー上で以下のコマンドを実行し In-Service にします。
perform_action -t the-project-plan -a restore
- 共有関係の作成。 以下のコマンドで各ノードで登録したリソースの共有関係を作成し、リソースを切り替えることができるようにします。
eqv_create -d Server1 -t the-project-plan -p 1 -S Server2 -o the-project-plan -r 10 -e SHARED
eqv_create -d Server2 -t the-project-plan -p 10 -S Server1 -o the-project-plan -r 1 -e SHARED
このトピックへフィードバック