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

印刷ビューの終了

更新: 2015 年 9 月
 
 

scha_resource_get (1HA)

名前

scha_resource_get - リソース情報へのアクセス

形式

scha_resource_get [-Q] -O optag -R resource [-G group] [-Z 
     zoneclustername] [args]

説明

scha_resource_get コマンドは、Resource Group Manager (RGM) の制御下にあるリソースの情報にアクセスします。このコマンドを使用して、r_properties(5) で説明されているリソースのプロパティーと同様に、rt_properties(5) で説明されているリソースタイプのプロパティーのクエリーを実行できます。

scha_resource_get コマンドは、クラスタの RGM で制御されるサービスを表すリソースタイプのコールバックメソッドのシェルスクリプト実装で使用します。このコマンドは、scha_resource_get() C 関数と同じ情報を提供します。scha_resource_get() 関数の詳細は、scha_resource_open(3HA) のマニュアルページを参照してください。

これらの情報は、このコマンドによって、scha_cmds(1HA) で説明されている書式付き文字列で stdout に別々の行で生成されます。あとでスクリプトで使用できるように、この出力をシェル変数に格納し、シェル機能または awk(1) で解析できます。

このコマンドを使用するには solaris.cluster.resource.read の役割に基づくアクセス制御 (RBAC) が必要です。rbac(5) を参照してください。

さらにこのコマンドを使用するにあたっては、Oracle Solaris Cluster コマンド権プロファイルを割り当てておく必要があります。認証されたユーザーは、pfsh(1)pfcsh(1)、または pfksh(1) プロファイルシェルから、Oracle Solaris Cluster の特権コマンドをコマンド行で実行できます。プロファイルシェルは、Oracle Solaris Cluster コマンド権プロファイルに割り当てられた Oracle Solaris Cluster の特権コマンドへのアクセスを可能にする特別なシェルです。プロファイルシェルは、su(1M) を実行して役割を引き受けると起動されます。pfexec(1) を使用しても、Oracle Solaris Cluster の特権コマンドを実行できます。

オプション

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

–G group

内部でリソースが構成されているリソースグループの名前です。この引数はオプションですが、これを含めるとコマンドの実行効率が上がります。

–O optag

アクセスする情報を指定します。指定する optag 値によっては、情報を取得するクラスタノードを示すための追加の値を含める必要が生じる場合があります。


注 -  optag 値 (AFFINITY_TIMEOUTBOOT_TIMEOUT など) は大文字と小文字が区別されませんoptag 値を指定するときには、大文字と小文字の任意の組み合わせを使用できます。

次の optag 値は、対応するリソースのプロパティーを取得します。リソースの名前付きプロパティーの値が生成されます。NUM_RG_RESTARTSNUM_RESOURCE_RESTARTSMONITORED_SWITCHON_OFF_SWITCHRESOURCE_STATE、および STATUS プロパティーは、そのコマンドが実行されているノード上の値を参照します。次の optag 値に対応するリソースプロパティーについては、r_properties(5) のマニュアルページを参照してください。次のリストにあるいくつかの optag 値は、r_properties(5) のマニュアルページ内にではなく、このリストのあとに説明があることに注意してください。

AFFINITY_TIMEOUT
ALL_EXTENSIONS
APPLICATION_USER
BOOT_TIMEOUT
CHEAP_PROBE_INTERVAL
EXTENSION
EXTENSION_NODE
FAILOVER_MODE
FINI_TIMEOUT
GLOBAL_ZONE_OVERRIDE
GROUP
INIT_TIMEOUT
LOAD_BALANCING_POLICY
LOAD_BALANCING_WEIGHT
SMONITORED_SWITCH
MONITORED_SWITCH_NODE
MONITOR_CHECK_TIMEOUT
MONITOR_START_TIMEOUT
MONITOR_STOP_TIMEOUT
NETWORK_RESOURCES_USED
NUM_RESOURCE_RESTARTS
NUM_RESOURCE_RESTARTS_ZONE
NUM_RG_RESTARTS
NUM_RG_RESTARTS_ZONE
ON_OFF_SWITCH
ON_OFF_SWITCH_NODE
PORT_LIST
POSTNET_STOP_TIMEOUT
PRE_EVICT
PRENET_START_TIMEOUT
RESOURCE_DEPENDENCIES
RESOURCE_DEPENDENCIES_OFFLINE_RESTART
RESOURCE_DEPENDENCIES_RESTART
RESOURCE_DEPENDENCIES_WEAK
RESOURCE_PROJECT_NAME
RESOURCE_STATE
RESOURCE_STATE_NODE
RETRY_COUNT
RETRY_INTERVAL
R_DESCRIPTION
SCALABLE
START_TIMEOUT
STATUS
STATUS_NODE
STOP_TIMEOUT
THOROUGH_PROBE_INTERVAL
TYPE
TYPE_VERSION
UDP_AFFINITY
UPDATE_TIMEOUT
VALIDATE_TIMEOUT
WEAK_AFFINITY

次の optag 値は、r_properties(5) のマニュアルページで説明されていません。

ALL_EXTENSIONS

リソースの拡張プロパティー名を複数の行に出力します。

EXTENSION

プロパティーの型とその値を連続した複数の行に生成します。プロパティーがノード単位の拡張プロパティーである場合、返される値は scha_resource_get が実行されるノード上のプロパティー値です。フラグが設定されていない引数を使って、リソースの拡張プロパティーを指定する必要があります。例 に示すように、シェルスクリプトは、値を取得するためにタイプを破棄する必要がある場合があります。

明示的な値が割り当てられていないノード上でユーザーがこのプロパティーの値をリクエストすると、リソースタイプ登録 (RTR) ファイルで宣言されているデフォルト値が返されます。rt_reg(4) のマニュアルページを参照してください。

EXTENSION_NODE

指定のノード用に、プロパティーのタイプに続いて、その値を後続の行に生成します。この値には、特定のノード上のリソースの拡張子を指定する、2 つのフラグなしの引数が次の順序で必要です:

  • 拡張プロパティー名

  • ノード名

シェルスクリプトは、値を取得するためにタイプを破棄する必要がある場合があります。

明示的な値が割り当てられていないノード上でこのプロパティーの値をユーザーがリクエストすると、RTR ファイルで宣言されているデフォルト値が返されます。rt_reg(4) のマニュアルページを参照してください。

GROUP

リソースを構成するリソースグループの名前を指定します。

RESOURCE_DEPENDENCIES_NODE

指定されたノードでの、このリソースの RESOURCE_DEPENDENCIES プロパティーの値を生成します。ノードを指定する、フラグが設定されていない引数が必要です。

RESOURCE_DEPENDENCIES_OFFLINE_RESTART_NODE

指定されたノードでの、このリソースの RESOURCE_DEPENDENCIES_OFFLINE_RESTART プロパティーの値を生成します。ノードを指定する、フラグが設定されていない引数が必要です。

RESOURCE_DEPENDENCIES_RESTART_NODE

指定されたノードでの、このリソースの RESOURCE_DEPENDENCIES_RESTART プロパティーの値を生成します。ノードを指定する、フラグが設定されていない引数が必要です。

RESOURCE_DEPENDENCIES_WEAK_NODE

指定されたノードでの、このリソースの RESOURCE_DEPENDENCIES_WEAK プロパティーの値を生成します。ノードを指定する、フラグが設定されていない引数が必要です。

RESOURCE_STATE_NODE

指定されたノードでの、このリソースの RESOURCE_STATE プロパティーの値を生成します。ノードを指定する、フラグが設定されていない引数が必要です。

STATUS_NODE

指定のノード用に、リソースの STATUS プロパティーの値を生成します。ノードを指定する、フラグが設定されていない引数が必要です。

次の optag 値は、対応するリソースタイプのプロパティーを取得します。リソースのタイプの名前付きプロパティーの値が生成されます。


注 -  optag 値 (API_VERSIONBOOT など) は大文字と小文字が区別されませんoptag 値を指定するときには、大文字と小文字の任意の組み合わせを使用できます。

リソースタイププロパティーについては、rt_properties(5) を参照してください。

API_VERSION
BOOT
FAILOVER
FINI
GLOBAL_ZONE
INIT
INIT_NODES
INSTALLED_NODES
IS_LOGICAL_HOSTNAME
IS_SHARED_ADDRESS
MONITOR_CHECK
MONITOR_START
MONITOR_STOP
PKGLIST
POSTNET_STOP
PRENET_START
PROXY
RT_BASEDIR
RT_DESCRIPTION
RT_SYSTEM
RT_VERSION
SINGLE_INSTANCE
START
STOP
UPDATE
VALIDATE

このリソースのタイプが GLOBAL_ZONE_OVERRIDE リソースプロパティーを宣言している場合、GLOBAL_ZONE optag によって取得される値は GLOBAL_ZONE プロパティーの値ではなく、GLOBAL_ZONE_OVERRIDE プロパティーの現在の値です。詳細は、rt_properties(5) のマニュアルページの Global_zone プロパティー、および r_properties(5) のマニュアルページの Global_zone_override プロパティーの説明を参照してください。

–Q

指定された修飾子は、いずれもリソース依存性リストに含めます。{LOCAL_NODE}{ANY_NODE}@nodename、および {FROM_RG_AFFINITIES} 修飾子は、r_properties(5) のマニュアルページで説明されています。–Q オプションを省略すると、リソースの依存関係リストの戻り値には、ローカルノードで適用可能な依存関係のリソース名 (宣言された修飾子を含まない) のみが含まれます。

–R resource

RGM クラスタ機能によって管理されているリソースの名前

–Z zoneclustername

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

zoneclustername

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

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

使用例 1 scha_resource_get コマンドを使用したサンプルスクリプト

次のスクリプトには、必要なリソース名とリソースグループ名を指定する –R 引数と –G 引数が渡されます。次に、scha_resource_get コマンドがこのリソースの Retry_count プロパティーと、このリソースの enum 型の LogLevel 拡張プロパティーにアクセスしています。

#!/bin/sh

while getopts R:G: opt
do
     case $opt in
           R)      resource="$OPTARG";;
           G)      group="$OPTARG";;
     esac
done

retry_count=`scha_resource_get -O Retry_count -R $resource \\ 
-G $group`
printf "retry count for resource %s is %d\n" $resource \\
$retry_count

LogLevel_info=`scha_resource_get -O Extension -R $resource \\
-G $group LogLevel`

# Get the enum value that follows the type information
# of the extension property.  Note that the preceding
# assignment has already changed the newlines separating
# the type and the value to spaces for parsing by awk.

loglevel=`echo $LogLevel_info | awk '{print $2}'`
使用例 2 リソース依存性のクエリーを行うために –Q オプション付きまたはオプションなしで scha_resource_get コマンドを使用

この例では、clresource コマンドを使用して、myres という名前のリソースを作成する方法を示します。このリソースは、{LOCAL_NODE} スコープ修飾子または {ANY_NODE} スコープ修飾子があるか、あるいはスコープ修飾子がない複数のリソース依存性を持つという前提です。この例では次に、scha_resource_get コマンドを使用して Resource_dependencies プロパティーをクエリーする方法を示します。–Q オプションがない場合は、リソース名のみが返されます。–Q オプションがある場合は、宣言されたスコープ修飾子も返されます。

# clresource create -g mygrp -t myrestype \
-p Resource_dependencies=myres2{LOCAL_NODE},myres3{ANY_NODE},myres4 \
myres
# scha_resource_get -O Resource_dependencies -R myres -G mygrp

myres2
myres3
myres4
# scha_resource_get -Q -O Resource_dependencies -R myres -G mygrp

myres2{LOCAL_NODE}
myres3{ANY_NODE}
myres4
# 
使用例 3 リソースの依存関係のプロパティーの表示

次の例では、scha_resource_get コマンドを使用して、2 つの異なる論理ホスト名リソースに依存するノード単位のリソース依存関係を取得する方法を示します。ノード単位のリソースの依存関係を設定するには、clresource set コマンドを使用する必要があります。この例では、gds-rs と呼ばれるスケーラブルリソースを使用し、ptrancos1 上の trancos-3-rs および ptrancos2 上の trancos-4-rs に対する gds-rs の依存関係を設定します。

ptrancos1 ノードから:

ptrancos1(/root)$ scha_resource_get -O RESOURCE_DEPENDENCIES -R gds-rs

trancos-3-rs
ptrancos1(/root)$ scha_resource_get -O RESOURCE_DEPENDENCIES_NODE -R gds-rs ptrancos1

trancos-3-rs
ptrancos1(/root)$ scha_resource_get -O RESOURCE_DEPENDENCIES_NODE -R gds-rs ptrancos2

trancos-4-rs
ptrancos1(/root)$ scha_resource_get -Q -O RESOURCE_DEPENDENCIES -R gds-rs

trancos-3-rs@ptrancos1
trancos-4-rs@ptrancos2
ptrancos1(/root)$ scha_resource_get -O NETWORK_RESOURCES_USED -R gds-rs

trancos-3-rs

ptrancos2 ノードから:

ptrancos2(/root)$ scha_resource_get -O RESOURCE_DEPENDENCIES -R gds-rs

trancos-4-rs
ptrancos2(/root)$ scha_resource_get -O RESOURCE_DEPENDENCIES_NODE -R gds-rs ptrancos1

trancos-3-rs
ptrancos2(/root)$ scha_resource_get -O RESOURCE_DEPENDENCIES_NODE -R gds-rs ptrancos2

trancos-4-rs
ptrancos2(/root)$ scha_resource_get -Q -O RESOURCE_DEPENDENCIES -R gds-rs

trancos-3-rs@ptrancos1
trancos-4-rs@ptrancos2
ptrancos2(/root)$ scha_resource_get -O NETWORK_RESOURCES_USED -R gds-rs

trancos-4-rs

終了ステータス

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

0

コマンドは正常に完了しました。

0 以外

エラーが発生しました。

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

属性

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

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

関連項目

awk(1), scha_cmds(1HA), scha_calls(3HA), scha_resource_open(3HA), rt_reg(4), attributes(5), property_attributes(5), r_properties(5), rt_properties(5)