               GenericARK開発ガイド　サンプルスクリプトの使い方


                                                          2009年10月30日
                                            サイオステクノロジー株式会社


本スクリプトは、GenericARK開発ガイドでご紹介している各スクリプトの実装を、
サンプルとしてまとめたものです。

【ファイルの解凍】

LK4L_Gen_sample_scripts_v1.0.tgzを、適当なディレクトリで解凍してください。

====================================================
# tar xvzf LK4L_Gen_sample_scripts_v1.0.tgz 
====================================================

解凍すると以下のファイルが作成されます。ファイルのパーミッションが以下と
同じかどうかを確認してください。

====================================================
# ls -l restore remove quickCheck recover 
-r-x------  1 root root 6416 10月 23 17:07 quickCheck
-r-x------  1 root root 6702 10月 23 17:07 recover
-r-x------  1 root root 6634 10月 23 17:07 remove
-r-x------  1 root root 6901 10月 23 17:07 restore
====================================================

各ファイルのmd5sumの値は以下の通りです。

====================================================
quickCheck  d6fdc9f97b8fc434b8e2a1573afac179
recover     4e7f17c89e331466b887039e064ce7fd
remove      91a55c5a23fc18a1eff37d7eecc459b0
restore     d6e719fbe24729f4592b547d60debec9
====================================================

アーカイブに含まれる各スクリプトの用途は以下の通りです。

quickCheck
　リソースの監視を行います。

recover
　quickCheckの結果がエラーであった場合に、ローカルノードでの再起動を行い、
　サービス復旧を試みます。成功すればフェイルーバは発生しません。

restore
　リソースの起動を行います。

remove
　リソースの停止を行います。

【ファイルの編集】
本スクリプトキットは、各ファイルの上部に必要なパラメータを記述することで、
GenericARK開発ガイドでご紹介している仕様を簡単に実現することが出来ます。
ここでは、各スクリプトの使用方法についてご説明します。

[スクリプトの設定項目]
restore、remove、quickCheck、recoverの各スクリプトの25行目から始まってい
る、「保護対象パラメータ設定 (ユーザ定義)」に必要な設定を追記してくださ
い。設定する内容は、各行のコメントを参照してください。

なお、これらのパラメータの全てが必須項目というわけではありません。強制停
止コマンドが用意されていないアプリケーションなどは、当該項目を空のままに
しておいてください。

====================================================
############################################
#  保護対象パラメータ設定   (ユーザ定義)   #
############################################
APP=""                    # 保護対象アプリケーション名
VHOSTNAME=""              # 仮想 IP アドレスに対応するホスト名

APP_START=""              # 起動コマンド
APP_START_ARGS=""         # 起動コマンドの引数

APP_STOP=""               # 停止コマンド
APP_STOP_ARGS=""          # 停止コマンドの引数

APP_FORCE_STOP=""         # 強制停止コマンド
APP_FORCE_STOP_ARGS=""    # 強制停止コマンドの引数

APP_CHECK[0]=""           # 動作確認コマンド1
APP_CHECK_ARGS[0]=""      # 上記コマンドの引数

# APP_CHECK[1]=""         # 動作確認コマンド2
# APP_CHECK_ARGS[1]=""    # 上記コマンドの引数
====================================================

さらに47行目から、パラメータの初期化を行うブロックがあります。パラメータ
の下後半、コメントで説明のある部分のみ、設定可能です。以下は47行目からの
コピーです。

====================================================
##########################
# パラメータ初期化       #
##########################
TAG=$APP
TTAG=
TIMEOUT=
STATUS=
DEFAULT_TIMEOUT=22   # スクリプトタイムアウト値
START_SUCCESS_CODE=0 # 動作確認コマンドの起動状態の戻り値
STOP_SUCCESS_CODE=0  # 動作確認コマンドの停止状態の戻り値
CHECK_RETRY_CODE=12  # 動作確認コマンドのリトライが必要な戻り値
DEBUG=
lklog="/opt/LifeKeeper/out/log"
====================================================

上記の各パラメータの使用方法は以下の通りです。

以下の5つパラメータは、スクリプトの内部で使用されるものです。ユーザはこ
れらの項目を変更してはいけません。

====================================================
TAG=$APP
TTAG=
TIMEOUT=
STATUS=
DEBUG=
====================================================

以下のパラメータのうち、"lklog"以外は設定が必要です。

====================================================
DEFAULT_TIMEOUT=22   # スクリプトタイムアウト値
START_SUCCESS_CODE=0 # 動作確認コマンドの起動状態の戻り値
STOP_SUCCESS_CODE=0  # 動作確認コマンドの停止状態の戻り値
CHECK_RETRY_CODE=12  # 動作確認コマンドのリトライが必要な戻り値
lklog="/opt/LifeKeeper/out/log"
====================================================

上記の各パラメータについて詳細をご説明します。

DEFAULT_TIMEOUT
　restoreスクリプトのタイムアウト値を指定します。単位は秒です。初期値は2
　2秒(quickCheckのみ12秒)です。後述の、"/etc/default/LifeKeeper"へのタイ
　ムアウト設定を行っている場合は、"/etc/default/LifeKeeper"内の設定が優
　先的に使用されます。

START_SUCCESS_CODE=0
　動作確認コマンド(前述の「保護対象パラメータ設定 (ユーザ定義)」の、APP_
　CHECK[0](または[1])に指定したコマンド])における、「起動中」のステータ
　スを示す戻り値を設定してください。

STOP_SUCCESS_CODE
　動作確認コマンド(前述の「保護対象パラメータ設定 (ユーザ定義)」の、APP_
　CHECK[0](または[1])に指定したコマンド])における、「停止中」ステータス
　を示す戻り値を設定してください。

CHECK_RETRY_CODE
　動作確認コマンド(前述の「保護対象パラメータ設定 (ユーザ定義)」の、APP_
　CHECK[0](または[1])に指定したコマンド])において、「再チェックが必要」
　であることを示す戻り値を設定してください。

lklog
　LifeKeeperのログファイルの位置を指定します。この設定は変更しないでくだ
　さい。

【/etc/default/LifeKeeperへのタイムアウト設定】

/etc/default/LifeKeeper に "タグ名_TIMEOUT" を入れると、スクリプトのタイ
ムアウト値を調整することができます。この場合、quickCheckスクリプトには
 ("タグ名_TIMEOUT" -10)秒が適用され、その他は値は指定したままの秒数が適
用されます。なお、タイムアウトは全て障害扱いとなり、ローカルリカバリ(ロ
ーカルリカバリが無ければフェイルオーバ)の対象となります。

例：TAG名がAPP1であり、タイムアウト値に60秒を指定する場合。
　　========================
　　/etc/default/LifeKeeper
　　APP1_TIMEOUT=60
  　========================

【/etc/default/LifeKeeperへのデバッグモード設定】

/etc/default/LifeKeeper に "タグ名_DEBUG=1" を入れると、スクリプトのデバッ
グモードを有効になり、「set -x」が付与された状態で実行されます。

例：TAG名がAPP1であり、デバッグモードを有効化する場合。
　　========================
　　/etc/default/LifeKeeper
　　APP1_DEBUG=1
  　========================

【お問い合わせについて】

本スクリプトに関するお問い合わせは、別途「GenericARK サンプルスクリプト
サポート」にお申し込みいただく必要があります。ご要望の際は、サポート証書
に記載のサポート窓口までお問い合わせください。

「GenericARK サンプルスクリプトサポート」のサポート範囲は以下の通りです。

・本スクリプトの内容および動作についてのお問い合わせを承ります。
・スクリプトの動作状況について、LifeKeeperのログからの解析を行います。

以下の各項は、サポート範囲に含まれません。ご注意ください。

・本スクリプトを使用して制御されるアプリケーションそのものの動作や、アプ
　リケーション制御のコマンドについてのご質問。
・ユーザの要望に沿った動作を行うためのスクリプトの改変についてのお問い合
　わせ(別途有償で、スクリプトの作成を承ることが可能なケースもございます。
　お問い合わせください)。

また、「GenericARK サンプルスクリプトサポート」でお問い合わせを受け付け
る前提として、以下の条件を満たしている必要があります。

・LifeKeeper製品サポートをご契約いただいていること。
・本READMEでご案内している部分以外に、スクリプトの内容が改変されていない
　こと。

【権利について】
restore、remove、recover、quickCheckの各スクリプトおよび本文書の著作権は、
サイオステクノロジーが保持します。

以上

