文書番号: LK20191009-259-006

LifeKeeper for Windows
HULFT RecoveryKit スクリプト仕様書
第6版

サイオステクノロジー株式会社

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

目次
概要 ..................................................................................................................................3
前提条件 ...........................................................................................................................4
環境構成例 .......................................................................................................................5
3.1. OS とアプリケーションの動作環境 ...........................................................................5
4. 基本動作 ...........................................................................................................................6
4.1. 起動処理(restore) .................................................................................................6
4.2. 停止処理(remove).................................................................................................6
4.3. 監視処理(quickCheck).........................................................................................6
4.4. 回復処理(recover) ................................................................................................65. スクリプト仕様 ................................................................................................................85.1. 起動処理(restore) .................................................................................................85.2. 停止処理(remove).................................................................................................95.3. 監視処理(quickCheck)...................................................................................... 105.4. 回復処理(recover) ............................................................................................. 106. スクリプトの実行時間 ................................................................................................... 116.1. restore、remove、recover、quickCheck................................................. 117. パラメーター一覧.......................................................................................................... 128. リソースの作成/拡張 ................................................................................................... 14
9. メッセージ一覧 ............................................................................................................. 15
10. 免責事項 ........................................................................................................................ 16
1.
2.
3.

改版履歴
2019 年 10 月 9 日
2021 年 4 月 7 日
2021 年 5 月 11 日
2021 年 12 月 27 日
2022 年 7 月 21 日
2024 年 6 月 26 日

第1版
第2版
第3版
第4版
第5版
第6版

2
©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

1. 概要
本書は、HULFT RecoveryKit スクリプトの動作詳細を解説します。本スクリプトにて、HULFT サービスの起動や停止、監視を行います。
本書はあらゆる環境において正常に動作することを保証するものでありません。以降、本文書内でスクリプトと記載している箇所は、HULFT RecoveryKit スクリプトを指すものとします。

3©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

2. 前提条件
HULFT リソースを作成する前に以下の前提条件を満たす必要があります。
■OS、環境の前提条件➢

各ノードに同一の OS バージョンがインストールされていること➢

各ノードに同一の LifeKeeper for Windows がインストールされていること➢

HULFT の設定ファイルが共有ディスク上に配置されていること➢

HULFT サービスのサービス名が各ノードで同一であること➢

自ホスト名(myhostname)に LifeKeeper が保護している仮想 IP アドレスに対応するホスト名が指定されていること。
ただし、同じサーバーで Recovery Kit for Route 53 を併用する場合は、自ホスト名(myhostname)には仮想 IP アドレスではなく、Recovery Kit for Route53 が保護するレコードのレコード名(完全修飾ドメイン名)が指定されていること。

4©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

3. 環境構成例
3.1. OS とアプリケーションの動作環境
HULFT RecoveryKit を使用した際の構成例は以下の通りです。

■LifeKeeper の前提条件➢ IP リソースとボリュームリソースが、事前に作成済みであること➢IP リソースで保護する仮想 IP アドレスは、他の HULFT サーバーからアクセス可能なネットワークを使用していること➢

HULFT リソース作成後に、HULFT リソースと IP リソース、ボリュームリソースとの依存関係を作成すること
依存関係作成例：
HULFT リソース
┗ IP リソース┗ ボリュームリソース

5©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

4. 基本動作
HULFT リソースでは 4 つの動作を行います。
4.1. 起動処理(restore)
HULFT リソースを ISP(サービス稼動状態)にするために、HULFT のバイナリを使用して HULFT サービスを起動します。この動作は LifeKeeper の GUI クライアントまたは CUI で HULFT リソースの起動処理を実行したときが該当します。起動処理に失敗した場合は、HULFT リソースは OSF(サービス障害状態)になります。スイッチオーバーやフェイルオーバーの切り替えにおいても同様の処理を行います。この動作の詳細は「5.スクリプト仕様」をご参照下さい。
4.2. 停止処理(remove)
HULFT リソースを OSU(サービス停止状態)にするために、HULFT のバイナリを使用して HULFT サービスを停止します。この動作は LifeKeeper の GUI クライアントまたは CUI で HULFT リソースの停止処理を実行したときが該当します。停止処理に失敗した場合は、LKHULFT_FORCE_REMOVE パラメーターに応じて動作が異なります。デフォルトでは、HULFT リソースは OSU になります。パラメーターの詳細は後述の「7.パラメーター一覧」をご参照ください。スイッチオーバーやフェイルオーバーの切り替えにおいても同様の処理を行います。この動作の詳細は「5.スクリプト仕様」をご参照下さい。
4.3. 監視処理(quickCheck)
HULFT リソースが ISP のときに、HULFT サービスが正常に動作していることを確認します。監視処理で正しいことが確認されない場合は回復処理に状態遷移します。この動作の詳細は「5.スクリプト仕様」をご参照下さい。
4.4. 回復処理(recover)
監視処理で障害を検出した場合に限り実行します。監視処理で障害を検出したノード上で、 停止処理(remove)を実施後に起動処理(restore)を行います。回復処理に失敗した場合、待機系へのフェイルオーバーを開始します。この動作の詳細は「5.スクリプト仕様」をご参照下さい。フェイルオーバー動作の詳細を下記に記載します。
スクリプトは以下のようなケースで切り替えが発生することを目的にしております。
HULFT リソースは起動(restore)スクリプト、停止(remove)スクリプト、監視(quickCheck)スクリプト、回復(recover)スクリプトがそれぞれ指定されているものとします。

6©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

・HULFT リソース障害時HULFT リソースの障害を検知した場合は、以下のように動作します。
(1).HULFT リソースの quickCheck 処理で障害を検知します。
(2).HULFT リソースの recover 処理が実行され回復処理を行います。
➢HULFT リソースの回復処理に成功した場合は、通常のサービス状態に戻ります。

➢HULFT リソースの回復処理に失敗した場合は、スタンバイノードにフェイルオーバーします。

・ノード障害時
コミュニケーションパスが全て DEAD 状態かつ Safety Check が失敗した場合は、スタンバイノードでフェイルオーバーを開始します。このフェイルオーバーではスタンバイノードで各リソースを順次、起動処理を行います。この時の HULFT リソース起動時の動作は、起動処理を行うことになります。詳細は、「4.1.起動処理(restore)」を参照して下さい。

7©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

5. スクリプト仕様
スクリプト(hulft_generic_ark.pl)の仕様を以下に記載いたします。Generic リソース作
成時に、本スクリプトを restore、remove、quickCheck、recover に登録頂くことでそれぞれの動作で起動します。
説明の各所で実行コマンドラインや関連ファイル名 / パスを例示します。
具体的には実際のスクリプトを参照して下さい。
5.1. 起動処理(restore)
以下の手順で HULFT リソースの起動を試みます。
(1). コマンドラインオプションから自リソースのタグ名を取得します。
(2). 自リソースのタグ名から HULFT のサービス名を取得します。
失敗したら以降の処理は行わず exit 0 で処理を終了します。
※以下、特に明記していない限り、「～を取得します。」で失敗した際は、exit 1 で処理を異常終了します。
(3). リソース作成時に配置されたスクリプトのフルパスに /!restore/または/!recover/が含まれることで、restore、recover モードで動作します。
※restore と recover では同じ動作を行います。
(4). HULFT サービスの状態を確認します。
既に起動されている場合は、処理を終了します。
(5). HULFT サービスの起動処理を実施します。
起動に失敗した場合は、処理を異常終了します。
utlsvcctl.exe -c start(6). HULFT サービスの状態を確認します。
起動されていない場合は、異常終了します。
(7). 設定ファイルを読み込み、HULFT が使用する rcvport, obsport, sddport,srvcprocport, schport の Port 番号を取得します。
設定ファイルが読み込めない場合、異常終了します。

8©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書(8). 取得した Port に接続できることを確認します。Port が設定されていない場合確しません。
Port が確認できない場合異常終了します。
utlalivecheck.exe -p $port -w 10(9). 正常終了します。
5.2. 停止処理(remove)
以下の手順で HULFT リソースの停止を試みます。
※LKHULFT_FORCE_REMOVE パラメーターに応じて異常終了を強制的に正常終了にします。詳しくは後述の「7.パラメーター一覧」をご参照ください。
(1). コマンドラインオプションから自リソースのタグ名を取得します。
(2). 自リソースのタグ名から HULFT のサービス名を取得します。
失敗したら以降の処理は行わず exit 0 で処理を終了します。
※以下、特に明記していない限り、「～を取得します。」で失敗した際は、exit 1 で処理を異常終了します。
(3). リソース作成時に配置されたスクリプトのフルパスに /!remove/が含まれることで、remove モードで動作します。
(4). HULFT サービスのスタートアップの種類を確認します。
スタートアップの種類が手動でない場合、手動に変更します。
sc qc $service_name | findstr START_TYPE | findstr DEMAND_START
sc config $service_name start=demand(5). HULFT サービスの状態を確認します。
既に停止されている場合は、処理を終了します。
(6). HULFT サービスの停止処理を実施します。
停止に失敗した場合は、処理を異常終了します。
utlsvcctl.exe -c stop(7). HULFT サービスの状態を確認します。
停止されていない場合は、異常終了します。
(8). 正常終了します。

9©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

5.3. 監視処理(quickCheck)
以下の内容で監視を実行します。
(1). 5.1. 起動処理(restore)の(6)～(9)と同様の処理を実施し HULFT リソースの監視を行います。詳細は「5.1 起動処理(restore)」を参照して下さい。
5.4. 回復処理(recover)
HULFT リソースの停止処理を実行後に起動処理を実行し、HULFT リソースの回復を行います。
(1). 5.2. 停止処理(remove)と同様の処理を実施した後、5.1. 起動処理(restore)と同様の処理を実施します。詳細は「5.1 起動処理(restore)」と「5.2 停止処理(remove)」を参照して下さい。

10©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

6. スクリプトの実行時間
スクリプトの実行時間およびタイムアウトは下記の通りです。
6.1.

restore、remove、recover、quickCheck

これらのスクリプトの処理に要する時間に制限を設けています。スクリプトの終了時間はスクリプト内部で使用されている OS のコマンドや HULFT の各バイナリの実行処理時間に依存します。導入するシステムの CPU、Memory、I/O 等 のシステムリソースの使用状況により終了時間に遅延が発生する場合があります。
※デフォルトで、スクリプトを開始してからタイムアウト値(300 秒)で指定された時間が経過するまでの間、処理が成功するまでリトライ回数(2 回)で繰り返し処理を行います。
詳しくは後述の「7.パラメーター一覧」をご参照ください。

11©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

7. パラメーター一覧
各スクリプト内で設定可能なパラメーター一覧を下記に記載します。
下記パラメーターの修正を実施する際は、restore、remove、quickCheck、recover として登録された全てのスクリプトを全てのクラスターノードで同内容に修正し更新してください。
パラメーター$debug$exe_path$conf_file

説明
デバッグログの出力有無(0 または 1)を設定します。
0: disable debug print (無効)
1: enable debug print (有効)※初期値は「0」です。
HULFT の Bin ディレクトリのフルパスを指定してください。
※例は以下です。
「C:\\HULFT\ Family\\hulft8\\bin」
HULFT の設定ファイルのフルパスを指定してください。
※例は以下です。
「E:\\HULFT\ Family\\hulft8\\etc\\hulenv.cnf」※上記以外のパラメーターおよびコードの変更はできません。可能なパラメーター以外の変更を行った場合、LifeKeeper 製品サポートの対象外となります。予めご注意ください。

12©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

下記のパラメーターは設定ファイル（%LKROOT%¥etc¥default¥LifeKeeper）を編集することにより設定可能です。
パラメーター
LKHULFT_TIMEOUTLKHULFT_RETRIESLKHULFT_FORCE_R
EMOVE

説明
各スクリプトの処理のタイムアウト値を設定します。（秒）※デフォルトは 300 秒
各処理のリトライ回数を設定します。（回）※デフォルトは 2 回
remove 処理で異常終了した場合、強制的に正常終了します。
※デフォルトは有効
共有ディスクの障害など、何らかの理由で HULFT リソースのremove 処理に失敗しフェイルオーバー処理に失敗することがあります。強制的に正常終了とすることで、フェイルオーバー処理を継続させることができます。
※注記：強制的に正常終了とすることで HULFT サービスが停止されず起動した状態になることがあります。必要に応じて停止してください。
設定は 0 または 1 を指定してください。
0: 無効
1: 有効（デフォルト）
設定例（無効）LKHULFT_FORCE_REMOVE=013©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

8. リソースの作成/拡張
HULFT リソースの作成/拡張方法は、Generic Application を利用します。
LifeKeeper GUI 管理画面を起動し、[編集] > [サーバー] > [リソース階層の作成] の順にクリックし [リソース作成ウィザード]から[汎用アプリケーション]を選択します。
項目の詳細については、LifeKeeper for Windows テクニカルドキュメンテーションの「Generic Application リソース階層の作成」及び「Generic Application リソース階層の拡張」を参照してください。
HULFT リソースを作成する際の注意点は以下のとおりです。
・事前にスクリプトをアクティブノードに配置する。
・リソース作成時にスクリプトを選択する際、restore、remove、quickCheck、
recover では同じスクリプトを指定します。deepCheck は何もスクリプトを指定せず空欄にして進みます。
・アプリケーション情報の項目は、HULFT のサービス名を記入します。

14©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書

9. メッセージ一覧
スクリプトで出力するメッセージの一覧です。各メッセージは、イベントログに出力されます。
コードカテゴリ

メッセージ

メッセージ内容

51050000

WARN$service_name : Changed the

HULFT サービスのスタートアップの種類が手動

startup type to demandでなかったため、手動に変更しています。

Failed to stop $service_name

HULFT サービスの停止処理が失敗しています。

51050002

ERROR(code = $ret)
51050004

ERROR

Failed to start $service_name

HULFT サービスの起動処理が失敗しています。

(code = $ret)
51050005

ERROR$service_name is not runnringHULFT サービスが起動していないため、監視が失敗しています。

51050006

ERROR

HULFT サービスの設定ファイルが開けないた

Failed to open config file

め、監視に失敗しています。
51050007

ERROR

Failed to check the port used by

HULFT サービスの設定ファイルに記述されてい$service_name (port = $port,る使用するポート番号の確認で失敗しています。

code = $ret)
51050008

51050009

ERROR

ERROR

Failed to get transport name for

指定されたタグ名のリソースが存在しないため、$tag

リソースの情報の取得に失敗しています。

Failed to get transport name for

指定されたタグ名のリソースの情報から、HULFT$tagのサービス名の取得に失敗しています。

51050015

ERROR

deepCheck is not supported.

deepCheck にスクリプトが登録されています。

51050016

ERROR

Please change exe_path and$exe_path または$conf_file が設定されていまconf_file ofせん。

hulft_generic_ark.pl.
51050017

ERROR

or指定された HULFT の Bin ディレクトリのフルパ

inaccessible. Please specify theスが正しくない、もしくはアクセスできないため

correct path (exe_path =失敗しています。

The exe_path is incorrect$exe_path)51050018

ERROR

The conf_file is incorrector指定された HULFT の設定ファイルのフルパスがinaccessible. Please specify the

正しくない、もしくはアクセスできないため失敗

correct path (conf_file =しています。

$conf_file)51050019

WARN

Forced the remove process to

LKHULFT_FORCE_REMOVE パラメーターが有end normally according to

効であるため、remove 処理の異常終了を強制的the ”LKHULFT_FORCE_REMOVEに正常終了にしています。

15©2024 SIOS Technology, Inc.

LifeKeeper for Windows HULFT RecoveryKit スクリプト仕様書" parameter.
51050020

ERROR

Timeout occurred during$action スクリプトの実行がタイムアウトしまし$action action.

た。

10.免責事項⚫

本書に記載された情報は予告なしに変更、削除される場合があります。最新のものをご確認下さい。

⚫

本書に記載された情報は、全て慎重に作成され、記載されていますが、本書をもって、その妥当性や正確性についていかなる種類の保証もするものではありません。

⚫

本書に含まれた誤りに起因して、本書の利用者に生じた損害については、サイオステ
クノロジー株式会社は一切の責任を負うものではありません。

⚫

第三者による本書の記載事項の変更、削除、ホームページ及び本書等に対する不正なアクセス、その他第三者の行為により本書の利用者に応じた一切の損害について、サイオステクノロジー株式会社は一切の責任を負うものではありません。

⚫

システム障害などの原因によりメールフォームからのお問い合せが届かず、または延着する場合がありますので、あらかじめご了承下さい。お問い合せの不着及び延着に関し、サイオステクノロジー株式会社は一切の責任を負うものではありません。

16©2024 SIOS Technology, Inc.