ページの先頭行へ戻る
PRIMECLUSTER 活用ガイド<コマンドリファレンス編>
FUJITSU Software

第12章 プロセス監視機能

コマンド

機能

Solaris

Linux

備考

clmonproc(1M)

プロセス監視機構にプロセスの監視を要求する

Solaris のみ

clmonsetdet(1M)

プロセス監視機能を使うための設定を行う

Solaris のみ

clmonproc(1M)

プロセス監視機構にプロセスの監視を要求する

◆形式

/etc/opt/FJSVcluster/bin/clmonproc -s -R $HV_NODENAME |-r rid -a command [-p pid ] [-h] [-d [-g]] [-c count] [-t time] [-i time] [-o]
/etc/opt/FJSVcluster/bin/clmonproc -e [-k] -R $HV_NODENAME |-r rid [-p pid ]
/etc/opt/FJSVcluster/bin/clmonproc -l -R $HV_NODENAME |-r rid
/etc/opt/FJSVcluster/bin/clmonproc -L -R $HV_NODENAME |-r rid

◆機能説明

本コマンドは、プロセス監視機構に対して、指定したプロセスの監視開始/停止を要求するコマンドです。また、監視しているプロセスの一覧を表示することもできます。監視の結果、プロセスが停止したと判断すると、プロセス監視機構はプロセスのリカバリ処理を行います。

本コマンドは、システム管理者権限で実行してください。

◆オプション

-s

監視の開始を要求します。

注意

本コマンドは、プロセス監視機構に対してプロセスの監視を要求するコマンドです。このため、プロセス監視機構の動作前に clmonproc コマンドを利用することはできません。プロセス監視機構は、/etc/rc2.d/S76clprmd で起動します。

本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-e [-k]

プロセスの監視を停止します。-k オプションを指定した場合、監視対象プロセスを停止することができます(プロセスの停止は、SIGTERM による強制停止です)。

注意

  • プロセスの停止は、原則として、-k オプションを使用せずに各プロセスの停止手順に従ってください。

  • プロセス監視機構は、/etc/rc0.d/K68clprmd で停止します。プロセス監視機構の停止以降に本コマンドを利用することはできません。

  • -e オプション指定時に -p オプションを省略すると、現在監視している全プロセスが停止対象となります。

本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-l

監視しているプロセスの状態を表示します。
本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-L

監視しているプロセスのプロセス ID を表示します。
本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-R $HV_NODENAME

文字列 $HV_NODENAME をそのまま指定してください。本コマンドが RMS から起動された場合、環境変数が $HV_NODENAME に渡されます。-r オプションと同時に指定することはできません。

-r rid

監視対象のプロセスに対応する、リソースのクラスタリソース ID を指定してください。リソースのクラスタリソース ID は、状態遷移プロシジャの第 4 引数に渡ってきますので、これを使用してください。-R オプションと同時に指定することはできません。
本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-p pid

監視開始時に、すでに動作しているプロセスを監視対象とする場合、そのプロセス ID を指定してください。監視停止時には、停止または監視対象から外すプロセスのプロセス ID を指定してください。省略時は、現在監視している全プロセスが停止対象となります。プロセス ID は複数指定できません。
本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-a command

command には、監視対象とするプロセスをフルパスで指定してください。すでに動作しているプロセスを監視する場合(-p オプション指定時)には、プロセスの再起動時にこの command を実行します。

注意

  • command は絶対パスで記述し、' " ' で囲んでください。

  • command に空白が含まれる場合は、単一引用符で全体を囲んでください。

         例)-a '"/opt/Cmd path/bin/proc" -c "/opt/Cmd path/etc"'
                         ~~~~                        ~~~

本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-h

複数のプロセスの監視に同一のクラスタリソース ID または $HV_NODENAME を指定する場合、当オプションにより、クラスタリソースのステータス変更を次のように制御することができます。

  • -h を指定すると、関連づけられた全プロセスが停止しないかぎり、Fault を通知しません。

  • -h を省略すると、プロセスが異常終了し、再起動も失敗した場合に Fault を通知します。

本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-d

-d オプションは、指定した command を実行したことにより生成されたプロセス(親)から派生した子孫プロセスも監視対象とします。

注意

親プロセスより生成される子孫プロセスをプロセス監視機構が認識する前に親プロセスが終了してしまうようなプロセスは監視することはできません。

本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-g

-g オプションは、派生した子孫プロセスのプロセスグループが異なるグループになる場合に指定してください。
本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-c count

-c count は、監視対象のプロセスが停止した場合の再起動処理におけるリトライ回数の最大数を指定します。-R $HV_NODENAME を指定した場合、省略時の最大リトライ回数は 3 回です。-r rid を指定した場合の省略時は、-r rid で指定したリソースの属性名 PROC_RETRY_COUNT の属性値が採用されます。リソースに属性名 PROC_RETRY_COUNT がない場合、最大リトライ回数は 3 回です。
本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-t time

-t time は、監視対象プロセスが停止したと判断してから何秒後に再起動を行うかを秒単位で指定します。-R $HV_NODENAME を指定した場合、省略時の再起動の間隔は 3 秒です。-r rid を指定した場合の省略時は、-r rid で指定したリソースの属性名 PROC_RETRY_TIME の属性値が採用されます。リソースに属性名 PROC_RETRY_TIME がない場合、再起動の間隔は 3 秒です。
本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-i time

-i time は、プロセス監視機構で保持している、再起動が何回行われたかの情報(カウンタ)をリセットする間隔を秒単位に指定します。
time に 0 を指定した場合は、カウンタはリセットされません。-R $HV_NODENAME を指定した場合、省略時の間隔は(-c count の値 × 60 秒)です。-r rid を指定した場合の省略時は、-r rid で指定したリソースの属性名PROC_RETRY_INTERVAL の属性値が採用されます。リソースに属性名PROC_RETRY_INTERVAL がない場合は、(-c count の値 × 60 秒)です。
本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

-o

本コマンドを実行した、シェル環境上の環境変数をプロセス再起動の直前に設定します。

注意

-o を指定する場合には、監視対象プロセスで必要な環境変数を設定し、不要な環境変数については設定を解除してから、本コマンドを実行してください。不要な環境変数を解除しないと、監視対象プロセスの性能劣化を招く可能性があります。

本オプションは、SafeCLUSTER のプロセス監視機構と互換性があります。

◆使用例

監視対象プロセスの状態を参照する例

以下は、-l オプションの結果表示です。

    1     # /opt/FJSVclapm/bin/clmonproc -R ManageProgram000_Cmd_APP1 -l
2 RID : ManageProgram000_Cmd_APP1 3 PID : 2042 4 RETRY : 0(3) 5 TIME : 0 6 CPID : 2042 : 2043 7 2043 : 2044 8 2043 : 2045

[解説]

  • 1 行目 : -R オプションには "hvdisp -T gResource" を実行して表示される Resource を指定

  • 2 行目 : $HV_NODENAMEはManageProgram000_Cmd_APP1

  • 3 行目 : プロセス ID は 2042

  • 4 行目 : 再起動回数が最大 3 回で、現状の再起動のカウンタは 0 回

  • 5 行目 : プロセスの停止を検出してから、再起動するまでの間隔は 0 秒

  • 6~8 行目 : 監視しているプロセスの親子関係を表示。表示されるプロセス ID は、現在動作中でかつ、プロセス監視機構が認識できているプロセスのみです。

以下は、-L オプションの結果表示です。監視対象となっているプロセスの ID が表示されます。表示されるプロセス ID は、現在動作中でかつ、プロセス監視機構が認識できているプロセスのみです。

    1     # /opt/FJSVclapm/bin/clmonproc -R ManageProgram000_Cmd_APP1 -L
2 2042 3 2043 4 2044 5 2045 6 2028 7 2029 8 2031 9 2032

◆終了ステータス

0:正常終了

1:異常終了

clmonsetdet(1M)

プロセス監視機能を使うための設定を行う

◆形式

/etc/opt/FJSVcluster/bin/clmonsetdet rKind

◆機能説明

プロセス監視機能の detector(hvdet_prmd) を、PRIMECLUSTER の detector 格納ディレクトリ("/usr/opt/reliant/bin")に複写します。また、指定された rKind 番号(nn)を付加したシンボリックリンク名("hvdet_prmd.gnn")を作成し、detector 格納ディレクトリ("/usr/opt/reliant/bin")に hvdet_prmd へのシンボリックリンクを作成します。

本コマンドは、システム管理者権限で実行してください。

◆オプション

rKind

detector が動作するときに指定される rKind 番号を指定します。rKind 番号は、PRIMECLUSTER の HA 構成を行う人が事前に予約した値でなければなりません。rKind 番号は個々の detector について一意である必要があります。他の detector に割り当てられることのない番号を予約しておかなければなりません。rKind 番号を予約するには、PRIMECLUSTER の RMS Wizard Tools を使用します。まず、RMS Wizard Tools のトップメニューを表示させ、メニューの "Configuration-Edit-Global-Settings" の番号を入力して、Enter キーを押下します。"Configuration-Edit-Global-Settings" のメニューが表示されたら、FirstAvailableDetector と LastAvailableDetector の 2 つの項目の値を設定します。この値の範囲内の数値が、RMS Wizard Tools によって管理される数値になります。従って、この範囲外の数値が予約された値となります。例えば 0 番を予約したい場合は、FirstAvailableDetector=1、LastAvailableDetector=127 と設定すればよいのです。

◆終了ステータス

0 :正常終了

0以外:異常終了

◆ファイル

/etc/opt/FJSVcluster/FJSVclapm/detector/hvdet_prmd

プロセス監視機能の detector

◆注意事項

クラスタを構成する全ノードで同じ rKind を指定して実行してください。

まず、rKind 番号の予約を実行してから、その rKind 番号を指定してこのコマンドを実行してください。その後にプロセス監視機能の定義ファイルを作成してください。

本コマンドがエラーになった場合は、/usr/opt/reliant/bin ディレクトリに hvdet_prmd ファイル、または hvdet_prmd.gnn(nn は数字)という名前のシンボリックリンクができることがあります。プロセス監視機構が動作していないことを確認したうえで、これらのファイルが不要であれば、削除してから再び実行してください。