Oracle Solaris Cluster リファレンスマニュアル

印刷ビューの終了

更新: 2015 年 9 月
 
 

scha_cluster_get (1HA)

名前

scha_cluster_get - クラスタ情報へのアクセス

形式

scha_cluster_get -O optag [-Z zone-cluster-name] [args]

説明

scha_cluster_get コマンドでは、クラスタ情報にアクセスしたり、クラスタ情報を生成したりすることができます。クラスタ、ノード、ホスト名、リソースグループ、リソースタイプ、および状態に関する情報にアクセスできます。

このコマンドは、リソースタイプに対するコールバックメソッドのシェルスクリプト実装で使用するためのものです。リソースタイプ向けのこれらのコールバックメソッドは、クラスタの Resource Group Manager (RGM) によって制御されるサービスを表します。このコマンドは、scha_resource_get() 関数と同じ情報を提供します。

このコマンドは、scha_cmds(1HA) のマニュアルページで説明されているように、出力を標準出力 (stdout) に別々の行で書式付き文字列として送信します。出力はシェル変数に格納できます。また、出力は awk コマンドなどのシェルコマンドで解析できます。

オプション

次のオプションがサポートされています。

–O optag

optag 引数に、アクセス対象の情報を指定します。optag によっては、情報を取得するクラスタノードを指定するのに、追加の引数が必要になる場合があります。


注 -  NODENAME_LOCALNODENAME_NODEID などの optag オプションは、大文字と小文字を区別しません。optag オプションを指定するときには、大文字と小文字の任意の組み合わせを使用できます。

次の optag 値がサポートされています。

ALL_LOADLIMITS

グローバルクラスタまたはゾーンクラスタに定義されているすべての loadlimit 名を連続した行に生成します。

ALL_NODEIDS

クラスタ内の全ノードの数値形式の識別子を複数の行に生成します。

ALL_NODENAMES

クラスタ内の全ノード名を複数の行に生成します。

ALL_PRIVATELINK_HOSTNAMES

クラスタインターコネクト上に全クラスタノードのアドレスを指定するホスト名を、複数の行に生成します。

ALL_PSTRINGS

クラスタ内のすべてのプライベート文字列の値ではなく、名前を連続した行に生成します。プライベート文字列の詳細は、clpstring(1CL) のマニュアルページを参照してください。

ALL_RESOURCEGROUPS

クラスタ内で管理される全リソースグループの名前を複数の行に生成します。

ALL_RESOURCETYPES

クラスタに登録された全リソースタイプの名前を複数の行に生成します。

CLUSTERNAME

クラスタの名前を生成します。

HARD_LOADLIMIT

グローバルクラスタまたはゾーンクラスタのすべてのノードで特定の limit-name に設定されている強い制限値を連続した行に生成します。負荷制限の名前文字列である、追加の旗なしの string 引数が必要です。

文字列配列の出力の各要素の書式は "%s=%d" で、左側の文字列は nodename または nodename:zonename、右側の整数はそのノードで指定されている制限名に対する強い負荷制限値です。強い制限値を指定しない場合、強い制限値の値として -1 が表示されます。

LOADLIMIT_PROPS

グローバルクラスタまたはゾーンクラスタの全ノードの強い制限値と弱い制限値 (/ で区切り) を複数行に連続して生成します。負荷制限の名前文字列である、追加の旗なしの string 引数が必要です。

文字列配列の出力の各要素の書式は "%s=%d/%d" で、左側の文字列は nodename または nodename:zonename、最初の整数は弱い制限値、2 番目の整数は強い制限値です。強い制限値を指定しない場合、強い制限値の値として -1 が表示されます。弱い制限値を指定しない場合、弱い制限値の値として 0 が表示されます。

LOADLIMITS_NODE

特定のノードに設定されている負荷制限 (/ 区切り) を連続した行に生成します。負荷制限の名前文字列である、追加の旗なしの string 引数が必要です。

文字列配列の出力の各要素の書式は "%s=%d/%d" で、文字列は指定したノードに定義されている制限名、最初の整数は弱い制限値、2 番目の整数は強い制限値です。強い制限値を指定しない場合、強い制限値の値として -1 が表示されます。弱い制限値を指定しない場合、弱い制限値の値として 0 が表示されます。

NODEID_LOCAL

コマンドを実行するノードの数値形式の識別子を生成します。

NODEID_NODENAME

ノード名を指定して、そのノードの数値形式の識別子を生成します。フラグが設定されていない引数を追加して、クラスタノード名を指定する必要があります。

NODENAME_LOCAL

コマンドを実行するクラスタノードの名前を生成します。

NODENAME_NODEID

数値形式のノード識別子を指定して、クラスタノード名を生成します。フラグが設定されていない引数を追加して、数値形式のノード識別子を指定する必要があります。

NODESTATE_LOCAL

コマンドの実行元ノードの状態 (UP または DOWN) を生成します。

NODESTATE_NODE

指定のノードの状態 (UP または DOWN) を生成します。フラグが設定されていない引数を追加して、クラスタノード名を指定する必要があります。

PRIVATELINK_HOSTNAME_LOCAL

クラスタインターコネクト上にコマンドの実行元ノードのアドレスを指定するホスト名を生成します。

PRIVATELINK_HOSTNAME_NODE

クラスタインターコネクトで特定ノードのアドレスを指定するホスト名を生成します。フラグが設定されていない引数を追加して、クラスタノード名を指定する必要があります。

PSTRING

プライベート文字列の平文の値を生成します。プライベート文字列の名前である、フラグが設定されていない追加の引数が必要です。スーパーユーザー以外のユーザーがこのクエリータグを使用するには、solaris.cluster.modify 役割に基づくアクセス制御 (RBAC) の承認が必要です。プライベート文字列の詳細は、clpstring(1CL) のマニュアルページを参照してください。

RESOURCE_SECURITY

resource_security クラスタプロパティーの現在の設定を生成します。

RG_FAILOVER_LOG

クラスタ上で構成されているリソースグループの最近発生したフェイルオーバーおよび手動スイッチオーバーイベントのログを生成します。ログを取得する履歴の日数を示す 1 から 7 まで (両端の値を含む) の符号なし整数を、フラグなし追加引数として受け入れます。日数を指定しない場合は、デフォルト値の 1 日が使用されます。

出力の各ログエントリには、セミコロンで区切られた次のフィールドが含まれています。

resource-group-name;source-nodes;target-nodes;time-stamp
  • source-nodes フィールドは、リソースグループのフェイルオーバー元または手動切り替え元となったノードをコンマで区切ったリストです。空の source-nodes フィールドは、リソースグループが手動で、またはクラスタのブート中にオンラインに切り替えられたイベントを示しています。

  • target-nodes フィールドは、リソースグループのフェイルオーバー先または手動切り替え先となったノードをコンマで区切ったリストです。空の target-nodes フィールドは、リソースグループオフラインになったことを示しています。

  • time-stamp 値は ctime 形式で書き込まれます。ctime() 関数の詳細は、ctime(3C) のマニュアルページを参照してください。

RG_FAILOVER_LOG のサンプル出力については、例 3 を参照してください。

SOFT_LOADLIMIT

クラスタのすべてのノードで特定の limit-name に設定されている弱い負荷制限値を連続した行に生成します。負荷制限の名前文字列である、追加の旗なしの string 引数が必要です。

文字列配列の出力の各要素の書式は "%s=%d" で、左側の文字列は nodename または nodename:zonename、右側の整数はそのノードで指定されている制限名に対する弱い負荷制限値です。弱い制限値を指定しない場合、弱い制限値の値として 0 が表示されます。

SYSLOG_FACILITY

RGM がログメッセージに使用する syslog(3C) 機能の番号を生成します。この値は 24 で、これは daemon 機能に対応しています。この値を logger(1) コマンドで機能レベルとして使用することにより、クラスタログ内にメッセージを記録できます。

–Z zone-cluster-name

操作するクラスタを指定します。このオプションは、コマンドが大域ゾーンで実行されるものの、指定されたゾーンクラスタで動作する必要がある場合に使用します。ゾーンクラスタ内で、異なるゾーンクラスタにアクセスするために使用することはできません。

zone-cluster-name

クエリーが zone-cluster-name という名前のゾーンクラスタで実行されるように指定します。

–Z オプションを省略すると、コマンドが実行されるクラスタでクエリーが実行されます。

使用例 1 シェルスクリプトでの scha_cluster_get コマンドの使用

次のシェルスクリプトは scha_cluster_get コマンドを使用して、各クラスタノードが稼働しているかどうかを出力します。

#!/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_get コマンドを使用したノードの負荷制限の表示

次のコマンドは、ノード node1 に対して定義されたすべての負荷制限を表示します。

# scha_cluster_get -O LOADLIMITS_NODE node1
factor1=50/100
factor2=0/4
使用例 3 scha_cluster_get コマンドを使用したイベントログの表示

次のコマンドは、最後の 3 日間のクラスタのフェイルオーバーおよび手動のスイッチオーバーイベントログを表示します。出力は resource-group-name;source-nodes;target-nodes;time-stamp の形式で表示されます。

# scha_cluster_get -O RG_FAILOVER_LOG 3
geo-infrastructure;schost1c;;Mon Jul 21 15:50:51 2014
geo-clusterstate;schost2c,schost1c;schost2c;Mon Jul 21 15:50:51 2014
oracle-rg;schost1c;;Mon Jul 21 15:58:04 2014
asm-dg-rg;schost2c,schost1c;schost2c;Mon Jul 21 15:58:04 2014
asm-inst-rg;schost2c,schost1c;schost2c;Mon Jul 21 15:58:51 2014
oracle-rg;;schost2c;Mon Jul 21 15:58:51 2014
geo-infrastructure;;schost2c;Mon Jul 21 15:59:19 2014
geo-clusterstate;schost2c;schost2c,schost1c;Mon Jul 21 16:01:51 2014
asm-inst-rg;schost2c;schost2c,schost1c;Mon Jul 21 16:02:10 2014
asm-dg-rg;schost2c;schost2c,schost1c;Mon Jul 21 16:02:10 2014
oracle-rg;schost2c;;Tue Jul 22 16:58:02 2014
oracle-rg;;schost1c;Tue Jul 22 16:59:05 2014
oracle-rg;schost1c;schost1c;Tue Jul 22 17:05:33 2014

終了ステータス

次の終了ステータスコードが返されます。

0

正常終了。

0 以外

エラーが発生しました。

エラーコードは、scha_calls(3HA) で説明されています。

属性

次の属性については、attributes(5) を参照してください。

属性タイプ
属性値
使用条件
ha-cluster/developer/api
インタフェースの安定性
安定

関連項目

awk(1), logger(1), sh(1), scha_cmds(1HA), syslog(3C), scha_calls(3HA), scha_cluster_open(3HA), attributes(5), rg_properties(5)