ツール
CHMPXにはCHMPXプログラム、クラスタのための以下にリストするツールが付属しています。
chmpxstatus
CHMPXプロセスの持つ自分自身を含む全CHMPXサーバーノード、スレーブノードの状態を確認するためのツールです。
CHMPXは自分自身のプロセスの持つ全CHMPXノードの状態をシェアードメモリに格納しています。
このツールは、このシェアードメモリから、CHMPXプロセスに影響を及ぼさず、状態を取得するためのツールです。
このツールは、CHMPXプロセス自身の状態、もしくはこのCHMPXプロセスが接続している他の全CHMPXプロセスの状態を表示する(デフォルト)ことができます。
使い方
manページを参照してください。 もしくは、-h(help)オプションを指定して起動するとヘルプを表示します。
chmpxstatusには、chmpxプロセスの状態(ステータス)を指定し、その指定したステータスに変化するまで待機するモードがあります。
この待機モードにより、chmpx起動直後にchmpxの初期化完了を待ち、正常起動するまで待機することができます。
本コマンドの待機モードにより、連続したプロセスの起動や、chmpxを使ったテストを行う場合に利用できます。
起動オプション
-h
本ツールのヘルプを表示します。
-conf [filename]
CHMPXプロセスを起動するときに指定したコンフィグレーションファイル(.ini .yaml .json)を指定してください。
-json [json string]
CHMPXプロセスを起動するときに指定したJSON文字列のコンフィグレーションを指定してください。
このオプションは、-confオプションとは排他のオプションです。
-ctlport
CHMPXプロセスを起動するときに指定した制御ポートを指定してください。
-cuk
CHMPXプロセスを起動するときに指定したCUK文字列を指定してください。
-self
CHMPXプロセス自身の状態(ステータス)のみを表示します。 本オプションが指定されない場合には、自身を含むCHMPXプロセスが接続している全CHMPXプロセスの状態を表示します。
-wait
chmpxプロセスの状態(ステータス)を指定し、その指定したステータスに変化するまで待機するモードとしてchmpxstatusを起動します。
ステータスを指定するオプションを同時に指定する必要があります。
-live [UP | DOWN]
待機モードとしてchmpxstatusを起動する場合(-waitオプションを指定した場合)、このオプションも指定する必要があります。
chmpxプロセスが起動していないことを示す DOWN もしくは、起動していることを示す UP をパラメータで指定します。
このオプションの値は、chmpxのステータスの一部分です。
-ring [SERVICEIN | SERVICEOUT | SLAVE]
待機モードとしてchmpxstatusを起動する場合(-waitオプションを指定した場合)、このオプションも指定する必要があります。
chmpxプロセスがサーバーノードの場合、RINGに参加していることを示す SERVICEIN 、もしはRINGに参加していないことを示す SERVICEOUT を指定します。
chmpxプロセスがスレーブノードである場合、 SLAVE を指定します。
このオプションの値は、chmpxのステータスの一部分です。
-suspend または -nosuspend
待機モードとしてchmpxstatusを起動する場合(-waitオプションを指定した場合)、これらのオプションのいずれかを指定する必要があります。
chmpxプロセスにJOINしているプロセスが存在していない状態を示す -suspend 、もしくはプロセスが存在している状態を示す -nosuspend のいずれかを指定します。
このオプションの値は、chmpxのステータスの一部分です。
-d [level]
本ツールのデバッグ情報のレベルを指定します。(ERR、WAN、INFO、DUMP)
-dfile [file]
デバッグ情報をファイルに出力する場合にファイルパスを指定してください。
chmpxbench
このツールは、CHMPXプロセスの動作確認や、ベンチマーク測定のために利用できるツールです。
このツールは、CHMPXサーバーノード、およびスレーブノードのクライアントプログラムとして起動することができ、ダミークライアントとして動作できます。
このツールを使い、CHMPXプロセス同士の疎通確認、ベンチマーク測定ができます。
このツールを利用する場合には、CHMPXサーバーノード、スレーブノードの双方に接続するように双方で本ツールを起動して使ってください。
使い方
manページを参照してください。 もしくは、-h(help)オプションを指定して起動するとヘルプを表示します。
起動オプション
-h
本ツールのヘルプを表示します。
-conf [filename]
接続するCHMPXプロセスを起動するときに指定したコンフィグレーションファイル(.ini .yaml .json)を指定してください。
-json [json string]
接続するCHMPXプロセスを起動するときに指定したJSON文字列のコンフィグレーションを指定してください。 このオプションは、-confオプションとは排他のオプションです。
-s
本ツールをCHMPXサーバノードに接続する場合に指定し、サーバープロセスとして起動します。
-c
本ツールをCHMPXスレーブノードに接続する場合に指定し、クライアントプロセスとして起動します。
-l
本ツールの送受信する通信回数を指定します。
本ツールは、指定回数の送受信をおこなうと自動的に終了します。
このオプションで、送受信回数を指定します。
このオプションに、0を指定した場合には送受信回数の上限はなくなります。
-proccnt
本ツールは、複数プロセスのシミュレートができるように複数プロセスとして起動させることができます。
このオプションで、起動させるプロセス数を指定します。
-threadcnt
本ツールは、複数スレッドのシミュレートができるように複数スレッドを起動させることができます。
このオプションで、起動させるスレッド数を指定します。
起動スレッド数は、1プロセス単位であり、-proccntオプションと組み合わせて並列処理数が決定されます。
-ta
ターンアラウンドモードとして本プロセスを起動します。
-sオプションを指定したサーバプロセスの場合、データを受信した後をクライアントプロセスにデータを返します。
-cオプションを指定したクライアントプロセスの場合には、データを送信後サーバープロセスからの返信を待ちます。
このオプションにより、クライアントプロセスからサーバプロセスを経由して、クライアントプロセスに戻されるターンアラウンドの通信をシミュレーションできます。
-b
-cオプションを指定したクライアントプロセス専用のオプションです。
このオプションを指定したクライアントプロセスは、データを全CHMPXサーバーノードぬ向け、ブロードキャストで送信します。
-dl
-cオプションを指定したクライアントプロセス専用のオプションです。
送信するデータ長を指定します。
最小サイズは64byteとなっています。
-pr
本ツールが送受信するデータを表示します。
-mergedump
CHMPXが提供する自動データマージのための通信データを表示します。
このオプションで、CHMPXの自動データマージ機能のシミュレーション、検査をします。
-d [level]
本ツールのデバッグ情報のレベルを指定します。(ERR、WAN、INFO、DUMP)
-dfile [file]
デバッグ情報をファイルに出力する場合にファイルパスを指定してください。
chmpxconftest
このツールは、CHMPX起動時に指定するコンフィグレーションファイル、もしくはJSON文字列のチェックを行うツールです。
コンフィグレーションファイル、もしくはJSON文字列に間違いがないか事前に確認するためのバリデーションツールです。
使い方
manページを参照してください。 もしくは、-h(help)オプションを指定して起動するとヘルプを表示します。
起動オプション
-h
本ツールのヘルプを表示します。
-conf [filename]
検査するコンフィグレーションファイル(.ini .yaml .json)を指定してください。
-json [json string]
検査するJSON文字列のコンフィグレーションを指定してください。
このオプションは、-confオプションとは排他のオプションです。
-no_check_update
コンフィグレーションファイルの更新チェックをしない場合に指定するオプションです。
-print_default
CHMPXプログラムが、コンフィグレーションに未指定の項目に設定するデフォルト値を表示します。
-d [level]
本ツールのデバッグ情報のレベルを指定します。(ERR、WAN、INFO、DUMP)
-dfile [file]
デバッグ情報をファイルに出力する場合にファイルパスを指定してください。
chmpxlinetool
起動しているCHMPXプロセスを制御する対話形式のコマンドラインツールです。
CHMPXプロセスの制御ポートに接続し、制御コマンドを実行でき、CHMPXプロセスを管理できるツールです。
このツールにより、制御ポートに手入力で制御コマンドを送る必要がなくなります。
また、起動しているRING上のCHMPXプロセスも自動的に認識し、区別することができます。
本ツールは、対話形式のコマンドラインを基本としていますが、複数のコマンドをコマンドファイルとし、そのコマンドファイルを自動実行することができます。
これにより、コマンドの自動実行を提供します。
本ツールのコマンドには、制御コマンド以外にCHMPXプロセスの状態をチェックするためのコマンドがあり、RING上のCHMPXサーバーノード、スレーブノードの状態の整合性をチェックすることができます。
また、この整合性をチェックするコマンドは、起動オプションで提供されており、モニタリングツールとして利用することができます。
使い方
起動時のオプションについては、manページを参照するか、-h(help)オプションを指定して参照できます。
対話形式のコマンドについては、本ツールを起動後、対話形式のプロンプト上で、”h(help)”コマンドを指定して参照できます。
起動方法
本ツールは、3種類の起動方法を提供します。
以下のいずれかの方法で起動することができます。
環境変数による指定
環境変数(CHMCONFFILE、もしくはCHMJSONCONF)により、コンフィグレーションファイル、もしくはJSON文字列を指定して起動します。
この指定方法は、CHMPXの起動時と同じです。
この起動方法は、CHMPXプロセスを起動しているホスト上のみ利用できます。
コンフィグレーション指定
コンフィグレーションファイル(もしくはJSON文字列)を起動オプションとして指定します。
この指定方法は、chmpxプロセスの起動時と同じです。
この起動方法は、CHMPXプロセスを起動しているホスト上のみ利用できます。
ホスト名(制御ポート、CUK、制御ポートエンドポイント、CUSTOM_SEED)指定
CHMPXプロセスが起動しているホスト名(IPアドレス)および制御ポート、CUK、制御ポートエンドポイント、CUSTOM_SEEDを起動オプションとして指定します。
この起動方法では、CHMPXプロセスが制御ポートにアクセスを許可している任意のホスト上で起動することができます。
この方法で本ツールを起動する場合、接続するCHMPXプロセスが、サーバーノードであるか、スレーブノードであるか不明であるため、仮(初期値)としてノードのタイプ(サーバー/スレーブ)を指定して起動することができます。
仮(初期値)のノードタイプが未指定の場合、接続するCHMPXプロセスは、スレーブノードとして動作します。
この仮(初期値)のノードタイプは、起動直後のみの値であり、起動後にCHMPXプロセスの情報を更新することで正しいノードのタイプを認識します。
起動オプション
-h
本ツールのヘルプを表示します。
-conf [filename]
接続するCHMPXプロセスを起動するときに指定したコンフィグレーションファイル(.ini .yaml .json)を指定してください。
-json [json string]
接続するCHMPXプロセスを起動するときに指定したJSON文字列のコンフィグレーションを指定してください。
このオプションは、-confオプションとは排他のオプションです。
-group [group name]
接続するCHMPXプロセスのグループ名を指定します。
このオプションは、-confおよび-jsonオプションと排他のオプションです。
-host [hostname]
接続するCHMPXプロセスの動作しているホスト名を指定します。
このオプションは、-confおよび-jsonオプションと排他のオプションです。
-ctlport
CHMPXプロセスを起動するときに指定した制御ポートを指定してください。
このオプションは、-hostオプションを指定した場合には必須のオプションです。
-cuk
CHMPXプロセスを起動するときに指定したCUK文字列を指定してください。
-ctlendpoints
CHMPXプロセスを起動するときに指定した制御ポートエンドポイント(<host:port,…>)を指定してください。
-custom_seed
CHMPXプロセスを起動するときに指定したCUSTOM_SEEDを指定してください。
-server
このオプションは、-hostオプションを指定した場合に、接続するCHMPXプロセスの仮(初期値)ノードタイプをサーバーノードとして指定するオプションです。
-slave
このオプションは、-hostオプションを指定した場合に、接続するCHMPXプロセスの仮(初期値)ノードタイプをスレーブノードとして指定するオプションです。
-hostオプションを指定し、-server/-slaveオプションが未指定の場合は、接続するCHMPXプロセスの仮(初期値)ノードタイプをスレーブノードとして動作します。
-threadcnt [count]
本ツールは、各コマンドの処理において、内部でCHMPX制御コマンドを各CHMPXプロセスに送ります。
全ノードと通信する処理において、並列処理を可能とするため、スレッド数を指定することができます。
並列処理をする場合には、このオプションでスレッド数を指定してください。
本オプションを指定しない場合は、並列処理は行いません。
-check [second]
本ツールのcheckコマンドを起動時に実行します。
checkコマンドは、本オプションに渡されたパラメータで示される秒間隔(インターバル)で実行され続けます。
停止する場合には、Ctrl-Cを入力してください。
-status [second]
本ツールのstatusコマンドを起動時に実行します。
statusコマンドは、本オプションに渡されたパラメータで示される秒間隔(インターバル)で実行され続けます。
停止する場合には、Ctrl-Cを入力してください。
-run [file path]
複数のコマンドを記述したコマンドファイル(1行1コマンド)を指定して、起動直後に実行します。
-his [count]
対話形式で入力されるコマンドの履歴の最大数を指定します。
デフォルトは500コマンド分を履歴として保持できます。
-nocolor
本ツールのcheck/statusコマンドの処理結果の表示に色(エスケープシーケンス)を利用しないようにします。
-lap
本ツールの各コマンド実行時に、実行時間(ラップタイム)を表示するように指定します。
-d [level]
本ツールのデバッグ情報のレベルを指定します。(SILENT、ERR、WAN、INFO、DUMP)
-dchmpx
本ツールが内部で利用するlibchmpx.soからのデバッグ情報を有効にします。 このデバッグ情報レベルは、-dオプションで指定されたレベルと同じものが適応されます。
-dfile [file]
デバッグ情報をファイルに出力する場合にファイルパスを指定してください。
対話形式コマンド
本ツールを起動後、対話形式で入力できるコマンドです。
これらのコマンドは、コマンドファイルとしてファイルに記述し、起動時に-runオプションで指定することができます。
help(h)
対話形式コマンドのヘルプを表示します。
quit(q)/exit
本ツールを終了します。
update(u)
本ツールでは、起動時に指定したCHMPX(コンフィグレーション、もしくはホスト名で指定)が初期のCHMPXノード群として登録されています。
このコマンドを実行することにより、初期のCHMPXノード群から、全CHMPXノードをリストし、登録します。
登録されたCHMPXノードが対象として、他の対話形式コマンドで利用されます。
本ツールの内部で、初期のCHMPXノードに対してDUMP制御コマンドが呼び出され、全ノードを取得します。
この後から登録されるCHMPXノードのリストをダイナミックCHMPXノードリストと呼びます。
nodes [nodyna | noupdate] [server | slave]
本ツールに登録されているCHMPXノードのリストを表示します。
nodynaパラメータを指定した場合には、起動時に指定したCHMPXノード(コンフィグレーション、もしくはホスト名で指定)のリストを表示します。
nodynaパラメータを指定しない場合には、ダイナミックCHMPXノードリストを使います。
noupdateパラメータを指定した場合には、ダイナミックCHMPXノードリストは更新されません。
noupdateパラメータを指定しない場合には、ダイナミックCHMPXノードリストは本コマンド実行直前に更新されます。
serverもしくはslave)パラメータを指定した場合には、サーバーノード(もしくはスレーブノード)のみを表示します。
server/slaveパラメータを指定しない場合には全CHMPXノードのリストが表示されます。
status [self | all] [host(*1)]
対象となるCHMPXノードの情報を表示します。この情報とは、CHMPXの制御コマンド(SELFSTATUSもしくはALLSTATUS)の結果です。
selfパラメータを指定した場合には、対象となるCHMPXノードのSELFSTATUS制御コマンドの結果を表示します。
allパラメータを指定した場合には、対象となるCHMPXノードに対してALLSTATUS制御コマンドの結果を表示します。
本ツールを -host オプションを指定して起動した場合、そのホストと制御ポートで指定したCHMPXプロセスが、対象のCHMPXノードとなります。
本ツールをコンフィグレーションで起動した場合、対象となるCHMPXノードを本コマンドのパラメータ(host:port)で指定する必要があります。
この指定するhost:portパラメータは、本ツールに登録されているCHMPXノードでなければなりません。
check [noupdate] [all | host(*1)]
ダイナミックCHMPXノードリストの全CHMPXノードの状態の整合性をチェックします。
チェックされる情報は、CHMPXノードのステータス、通信ソケット(IN/OUT)数、サーバーノードのHASH値です。
チェック結果は、色付(-nocolor未指定時)で表示され、整合性に問題がある場合には、ERRが表示されます。
host:portパラメータが指定されない場合は、全CHMPXノードのチェック結果を簡易的に表示します。
host:portパラメータを指定した場合は、そのCHMPXノードのみの詳細なチェック結果を表示します。
この指定するhost:portパラメータは、本ツールに登録されているCHMPXノードでなければなりません。
statusupdate [noupdate] [all | host(*1)]
ダイナミックCHMPXノードリストの全CHMPXノード、もしくはひとつを対象として、そのCHMPXノードの状態を他CHMPXノードに強制的に反映します。
このコマンドは、UPDATESTATUS制御コマンドに対応しています。
allおよびhost:portパラメータを省略した場合には、全CHMPXノードが対象となります。
servicein [noupdate] [host(*1)]
対象となるCHMPXノードをサービス提供する(SERVICEIN制御コマンド)ように指示します。
host:portを指定した場合、対象となるCHMPXノードは、その指定したCHMPXノードとなります。
本ツールをhostオプションで起動した場合、host:portを省略可能です。省略した場合には、起動時に指定したCHMPXノードが対象となります。
serviceout [noupdate] [host(*1)]
対象となるCHMPXノードをサービス提供停止する(SERVICEOUT制御コマンド)ように指示します。
host:portを指定した場合、対象となるCHMPXノードは、その指定したCHMPXノードとなります。
本ツールをhostオプションで起動した場合、host:portを省略可能です。省略した場合には、起動時に指定したCHMPXノードが対象となります。
merge [noupdate] [start | abort | complete]
startパラメータを指定した場合、ダイナミックCHMPXノードリストの全CHMPXサーバーノードに対して、AUTOMERGEの実行開始(MERGE制御コマンド)を指示します。
abortパラメータを指定した場合、ダイナミックCHMPXノードリストの全CHMPXサーバーノードに対して、マージ中の処理の中断(ABORTMERGE制御コマンド)を指示します。
completeパラメータを指定した場合、ダイナミックCHMPXノードリストの全CHMPXサーバーノードに対して、マージ中の処理の完了(COMPMERGE制御コマンド)を指示します。
suspend [noupdate]
ダイナミックCHMPXノードリストの全CHMPXサーバーノードに対して、AUTOMERGEの設定を無視する(SUSPEND制御コマンド)ように指示します。
nosuspend [noupdate]
ダイナミックCHMPXノードリストの全CHMPXサーバーノードに対して、AUTOMERGEの設定を有効にする(NOSUSPEND制御コマンド)ように指示します。
dump [noupdate] [host(*1)]
対象となるCHMPXノードのDUMP制御コマンドの結果を表示します。
本ツールを -host オプションを指定して起動し、host:portパラメータを省略した場合、起動時に指定したCHMPXプロセスが、対象のCHMPXノードとなります。
本ツールをコンフィグレーションで起動した場合、対象となるCHMPXノードを本コマンドのパラメータ(host:port)で指定する必要があります。
この指定するhost:portパラメータは、本ツールに登録されているCHMPXノードでなければなりません。
version [nodyna | noupdate]
対象のCHMPXノード群のバージョンを表示(VERSION制御コマンド)します。
nodynaパラメータを指定した場合には、起動時に指定したCHMPXノード(コンフィグレーション、もしくはホスト名で指定)が対象のCHMPXノードとなります。
nodynaパラメータを指定しない場合には、ダイナミックCHMPXノードリストが対象のCHMPXノードとなります。
noupdateパラメータを指定した場合には、ダイナミックCHMPXノードリストは更新されません。
noupdateパラメータを指定しない場合には、ダイナミックCHMPXノードリストは本コマンド実行直前に更新されます。
loop [second] [loop limit count]
本ツールのコマンドを連続実行するように指示します。
secondパラメータで実行間隔を秒指定(インターバル)します。
loop limit countパラメータで実行回数を指定します。このパラメータを指定しない場合には、無制限(nolimit)で連続実行されます。
本コマンドを入力したあと、入力プロンプトが、 CLT LOOP….> コマンドプロンプトに変わります。
このコマンドプロンプトに入力したコマンドが順番に実行されます。
CLT LOOP….> コマンドプロンプトへのコマンド入力を完了するには、”.”を入力します。
CLT LOOP….> コマンドプロンプトへの入力が完了次第、コマンドの連続実行が開始されます。
コマンドの連続実行を停止させるには、Ctrl-Cを入力してください。
loopcmd [command…]
このコマンドは、対話形式の入力では利用できません。
このコマンドは、-runオプションに指定するコマンドファイルの中のみで使用できます。
コマンドファイルでは、loopコマンドに続き、本コマンドを連続して記述します。
本コマンドが非連続となった時点までが連続実行のコマンド範囲として認識されます。
コマンド履歴に表示されるloopコマンドの連続実行するコマンドは、すべてこのコマンドをプレフィックスとして表示されます。
dbglevel [slt | err | wan | msg | dmp]
本ツールの実行時のデバッグ情報レベルを動的に変更します。
dchmpx [on | off]
本ツールの実行時のlibchmpxのデバッグ出力を切り替えます。
history(his)
コマンド履歴を表示します。
表示したコマンド履歴から、”!”を使ってコマンドの再実行できます。
save [file path]
コマンド履歴をファイルに出力できます。
出力したファイルは、起動時の-runオプションで指定することができます。また、loadコマンドで指定することもできます。
load [file path]
コマンドファイルを読み込み、実行します。
shell
シェルを起動します。
本ツールに戻る場合にはシェルを終了(exit)してください。
echo [string]
任意の文字列を表示します。
sleep [second]
指定した秒数間、実行を停止します。
[補足] ターゲットホストの指定方法
ターゲットホストを指定する場合、以下のフォーマットで指定します。
"hostname(IP address)":"control port"[:"cuk"[:"custom_seed"[:"control endpoints..."]]]