scha_cluster_get -O optag [-Z zoneclustername] [args]
scha_cluster_get コマンドでは、クラスタ情報にアクセスしたり、クラスタ情報を生成したりすることができます。クラスタ、ノード、ホスト名、リソースグループ、リソースタイプ、および状態に関する情報にアクセスできます。
このコマンドは、リソースタイプに対するコールバックメソッドのシェルスクリプト実装で使用するためのものです。リソースタイプ向けのこれらのコールバックメソッドは、クラスタの Resource Group Manager (RGM) によって制御されるサービスを表します。このコマンドは、scha_resource_get() 関数と同じ情報を提供します。
このコマンドは、scha_cmds(1HA) のマニュアルページで説明されているように、出力を標準出力 (stdout) に別々の行で書式付き文字列として送信します。出力はシェル変数に格納できます。また、出力は awk コマンドなどのシェルコマンドで解析できます。
次のオプションがサポートされています。
optag 引数に、アクセス対象の情報を指定します。optag によっては、情報を取得するクラスタノードを指定するのに、追加の引数が必要になる場合があります。
次の optag 値がサポートされています。
グローバルクラスタまたはゾーンクラスタに定義されているすべての loadlimit 名を連続した行に生成します。
クラスタ内の全ノードの数値形式の識別子を複数の行に生成します。
クラスタ内の全ノード名を複数の行に生成します。
クラスタインターコネクト上に全クラスタノードのアドレスを指定するホスト名を、複数の行に生成します。
クラスタ内のすべてのプライベート文字列の値ではなく、名前を連続した行に生成します。プライベート文字列の詳細は、clpstring(1CL) のマニュアルページを参照してください。
クラスタ内で管理される全リソースグループの名前を複数の行に生成します。
クラスタに登録された全リソースタイプの名前を複数の行に生成します。
クラスタ内のすべてのノードで、大域ゾーンを含むすべてのゾーンの nodename:zonename 文字列を連続した行に生成します。
次の条件が発生した場合に限り、非大域ゾーンがこのクエリーの出力に書き込まれます。
クラスタがオンラインになって以降、非大域ゾーンが少なくとも 1 回ブートした。
非大域ゾーンが Service Management Facility (SMF) サービス /system/cluster/sc_ng_zones を正常に起動した。
SMF サービス /system/cluster/sc_ng_zones を実行しない非大域ゾーンはリソースグループをマスターできないため、出力に書き込まれません。
数値ノード識別子が引数として指定されているクラスタノードで、大域ゾーンを含むすべてのノードの nodename:zonename 文字列を連続した行に生成します。
次の条件が発生した場合に限り、非大域ゾーンがこのクエリーの出力に書き込まれます。
クラスタがオンラインになって以降、非大域ゾーンが少なくとも 1 回ブートした。
非大域ゾーンが Service Management Facility (SMF) サービス /system/cluster/sc_ng_zones を正常に起動した。
SMF サービス /system/cluster/sc_ng_zones を実行しない非大域ゾーンはリソースグループをマスターできないため、出力に書き込まれません。
クラスタの名前を生成します。
グローバルクラスタまたはゾーンクラスタのすべてのノードで特定の limitname に設定されている強い制限値を連続した行に生成します。負荷制限の名前文字列である、追加の旗なしの string 引数が必要です。
文字列配列の出力の各要素の書式は "%s=%d" で、左側の文字列は nodename または nodename:zonename、右側の整数はそのノードで指定されている制限名に対する強い負荷制限値です。強い制限値を指定しない場合、強い制限値の値として -1 が表示されます。
グローバルクラスタまたはゾーンクラスタの全ノードの強い制限値と弱い制限値 (/ で区切り) を複数行に連続して生成します。負荷制限の名前文字列である、追加の旗なしの string 引数が必要です。
文字列配列の出力の各要素の書式は "%s=%d/%d" で、左側の文字列は nodename または nodename:zonename、最初の整数は弱い制限値、2 番目の整数は強い制限値です。強い制限値を指定しない場合、強い制限値の値として -1 が表示されます。弱い制限値を指定しない場合、弱い制限値の値として 0 が表示されます。
特定のノードに設定されている負荷制限 (/ 区切り) を連続した行に生成します。負荷制限の名前文字列である、フラグが設定されていない追加の string 引数が必要です。
文字列配列の出力の各要素の書式は "%s=%d/%d" で、文字列は指定したノードに定義されている制限名、最初の整数は弱い制限値、2 番目の整数は強い制限値です。強い制限値を指定しない場合、強い制限値の値として -1 が表示されます。弱い制限値を指定しない場合、弱い制限値の値として 0 が表示されます。
コマンドを実行するノードの数値形式の識別子を生成します。
ノード名を指定して、そのノードの数値形式の識別子を生成します。フラグが設定されていない引数を追加して、クラスタノード名を指定する必要があります。
コマンドを実行するクラスタノードの名前を生成します。
数値形式のノード識別子を指定して、クラスタノード名を生成します。フラグが設定されていない引数を追加して、数値形式のノード識別子を指定する必要があります。
コマンドの実行元ノードの状態 (UP または DOWN) を生成します。
指定のノードの状態 (UP または DOWN) を生成します。フラグが設定されていない引数を追加して、クラスタノード名を指定する必要があります。
クラスタインターコネクト上にコマンドの実行元ノードのアドレスを指定するホスト名を生成します。
クラスタインターコネクトで特定ノードのアドレスを指定するホスト名を生成します。フラグが設定されていない引数を追加して、クラスタノード名を指定する必要があります。
プライベート文字列の平文の値を生成します。プライベート文字列の名前である、フラグが設定されていない追加の引数が必要です。スーパーユーザー以外のユーザーがこのクエリータグを使用するには、solaris.cluster.modify 役割に基づくアクセス制御 (RBAC) の承認が必要です。プライベート文字列の詳細は、clpstring(1CL) のマニュアルページを参照してください。
resource_security クラスタプロパティーの現在の設定を生成します。
クラスタ上で構成されているリソースグループのフェイルオーバーおよび手動のスイッチオーバーイベントログを生成します。このオプションのあとに、ログを取得する日数が続きます。最大 7 日間のログファイルを取得できます。日数を指定しない場合は、デフォルト値の 1 日が使用されます。Example 3 を参照してください。
クラスタのすべてのノードで特定の limitname に設定されている弱い負荷制限値を連続した行に生成します。負荷制限の名前文字列である、追加の旗なしの string 引数が必要です。
文字列配列の出力の各要素の書式は "%s=%d" で、左側の文字列は nodename または nodename:zonename、右側の整数はそのノードで指定されている制限名に対する弱い負荷制限値です。弱い制限値を指定しない場合、弱い制限値の値として 0 が表示されます。
RGM がログメッセージで使用する syslog(3C) 機能の番号を生成します。この値は 24 で、これは daemon 機能に対応しています。この値を logger(1) コマンドで機能レベルとして使用することにより、クラスタログ内にメッセージを記録できます。
操作するクラスタを指定します。このオプションは、コマンドが大域ゾーンで実行されるものの、指定されたゾーンクラスタで動作する必要がある場合に使用します。ゾーンクラスタ内で、異なるゾーンクラスタにアクセスするために使用することはできません。
クエリーが zoneclustername という名前のゾーンクラスタで実行されるように指定します。
–Z オプションを省略すると、コマンドが実行されるクラスタでクエリーが実行されます。
グローバルクラスタのノード状態など、ゾーン別のプロパティー値をクエリーするには、–Z オプションは使用しないでください。代わりに、クエリータグのゾーン別の書式を使用します。 たとえば、NODESTATE の代わりに NODESTATE_NODE を使用し、nodename:zonename という形式の追加のコマンド行引数を指定します。
次のシェルスクリプトは scha_cluster コマンドを使用して、各クラスタノードが稼働しているかどうかを出力します。
#!/bin/sh nodenames=`scha_cluster_get -O All_Nodenames` for node in $nodenames do state=`scha_cluster_get -O NodeState_Node $node` printf "State of node: %s\n exit: %d\n value: %s\n" "$node" $? "$state" done使用例 2 scha_cluster コマンドを使用したノードの負荷制限の表示
次のコマンドは、ノード node1 に対して定義されたすべての負荷制限を表示します。
# scha_cluster_get -O LOADLIMITS_NODE node1 factor1=50/100 factor2=0/4使用例 3 scha_cluster コマンドを使用したイベントログの表示
次のコマンドは、最後の 7 日間のクラスタのフェイルオーバーおよび手動のスイッチオーバーイベントログを表示します。この出力は、rg_name、リソースグループのフェイルオーバー先、または手動での切り替え先である node_name、および timestamp の形式で一覧表示されます。
# scha_cluster_get -O RG_FAILOVER_LOG 7 rg1,psnow4,Thu Oct 17 04:17:31 2013 rg2,psnow4,Thu Oct 17 04:17:31 2013 rg1,psnow4,Thu Oct 17 04:30:56 2013 rg2,psnow4,Thu Oct 17 04:30:56 2013 rg_fo_nfs,psnow4,Tue Oct 22 22:42:43 2013 rg_fo_nfs,psnow4,Tue Oct 22 22:46:08 2013 testrg-lh-1,psnow4,Tue Oct 22 22:47:43 2013 rg_test,psnow4,Tue Oct 22 22:51:50 2013 rg_test,psnow4,Tue Oct 22 22:51:55 2013 rg_test,psnow4,Tue Oct 22 22:52:01 2013 RG1,psnow4,Tue Oct 22 23:09:14 2013 RG1,psnow4,Tue Oct 22 23:15:39 2013 RG4,psnow4,Tue Oct 22 23:16:10 2013 RG3,psnow4,Tue Oct 22 23:16:16 2013 RG2,psnow4,Tue Oct 22 23:16:20 2013 RG1,psnow4,Tue Oct 22 23:16:26 2013 RG4,psnow4,Tue Oct 22 23:16:51 2013 RG2,psnow4,Tue Oct 22 23:16:51 2013 RG1,psnow4,Tue Oct 22 23:17:07 2013 RG3,psnow4,Tue Oct 22 23:17:10 2013 RG1,psnow4,Tue Oct 22 23:18:08 2013 RG2,psnow4,Tue Oct 22 23:18:08 2013 RG3,psnow4,Tue Oct 22 23:18:08 2013
次の終了ステータスコードが返されます。
正常終了。
エラーが発生しました。
エラーコードは、scha_calls(3HA) で説明されています。
次の属性については、attributes(5) を参照してください。
|
awk(1), logger(1), sh(1), scha_cmds(1HA), syslog(3C), scha_calls(3HA), scha_cluster_get(3HA), attributes(5), rg_properties(5)