注:以下の文章では、独自のリカバリキットを定義してリソースを作成する方法を案内しています。既存のリカバリキットを使用する場合は、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 ディスクサブシステム (デバイス、ディスク、およびホストアダプタのリソースを含む) に依存します。

結果として、階層を作成する作業は以下の図のようになります。

 

階層の定義

この例のアプリケーション階層を作成するために必要な作業を示します。

  1. ファイルシステムリソースの作成。 LifeKeeper の GUI には、ファイルシステムリソースを作成するメニューがあります。ファイルシステムリソース階層の作成 を参照してください。 

この定義作業の最後で、LCD では 2 つのファイルシステムリソースが以下のように定義されます。

ID
タグ
サーバ
/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 のデフォルト値です。

  1. リソースの定義。 この例では、以下の項目を定義する必要があります。
アプリケーション: projectapp
リソースタイプ: plan
インスタンス ID: 1yrplan
タグ: the-project-plan

注記: LifeKeeper の GUI を使用して定義の大部分を作成できますが、この例の以降ではコマンドインターフェースの操作を説明します。

  1. ディレクトリの作成。 各システムで以下のコマンドを使用して、ディレクトリ /opt/LifeKeeper/subsys の下に必要なアプリケーションリカバリディレクトリを作成します。

mkdir -p /opt/LifeKeeper/subsys/projectapp/Resources/plan/actions

  1. アプリケーションの定義。 以下のコマンドで、アプリケーション projectapp を作成します。

app_create -d Server1 -a projectapp

app_create -d Server2 -a projectapp

  1. リソースタイプの定義。 以下のコマンドで、リソースタイプ plan を作成します。

typ_create -d Server1 -a projectapp -r plan

typ_create -d Server2 -a projectapp -r plan

  1. リカバリスクリプトのインストール。 restore と remove のスクリプトを各サーバの以下のディレクトリにコピーします。

/opt/LifeKeeper/subsys/projectapp/Resources/plan/actions

  1. インスタンスの定義。 以下のコマンドで、リソースのインスタンスタイプが 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 にします。

  1. 依存関係の定義。 以下のコマンドは、アプリケーションとファイルシステムの依存関係を定義します。

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

  1. lcdsync の実行。 以下の lcdsync コマンドを実行して、設定のコピーを更新するように LifeKeeper に通知します。

lcdsync -d Server1

lcdsync -d Server2

  1. リソースを In Service にする。 プライマリサーバで LifeKeeper の GUI にアクセスし、 [Edit] > [Resource] > [In-Service] をクリックしてリソースを In Service にします。もしくはプライマリサーバー上で以下のコマンドを実行し In-Service にします。

perform_action -t the-project-plan -a restore

  1. 共有関係の作成。 以下のコマンドで各ノードで登録したリソースの共有関係を作成し、リソースを切り替えることができるようにします。

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

フィードバック

フィードバックありがとうございました

このトピックへフィードバック

送信