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 で制御されるサービスを表すリソースタイプのコールバックメソッドのシェルスクリプト実装で使用します。このコマンドは、C 関数 scha_resource_get(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 の特権コマンドを実行できます。
次のオプションがサポートされています。
内部でリソースが構成されているリソースグループの名前です。この引数はオプションですが、これを含めるとコマンドの実行効率が上がります。
アクセスする情報を指定します。指定する optag 値によっては、情報を取得するクラスタノードを示すための追加の値を含める必要が生じる場合があります。
次の optag 値は、対応するリソースのプロパティーを取得します。リソースの名前付きプロパティーの値が生成されます。NUM_RG_RESTARTS、NUM_RESOURCE_RESTARTS、MONITORED_SWITCH、ON_OFF_SWITCH、RESOURCE_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) のマニュアルページで説明されていません。
リソースの拡張プロパティー名を複数の行に出力します。
プロパティーの型とその値を連続した複数の行に生成します。プロパティーがノード単位の拡張プロパティーである場合、返される値は scha_resource_get が実行されるノード上のプロパティー値です。フラグが設定されていない引数を使って、リソースの拡張プロパティーを指定する必要があります。例 に示すように、シェルスクリプトは、値を取得するためにタイプを破棄する必要がある場合があります。
明示的な値が割り当てられていないノード上でユーザーがこのプロパティーの値をリクエストすると、リソースタイプ登録 (RTR) ファイルで宣言されているデフォルト値が返されます。rt_reg(4) のマニュアルページを参照してください。
指定のノード用に、プロパティーのタイプに続いて、その値を後続の行に生成します。この値には、特定のノード上のリソースの拡張子を指定する、2 つのフラグなしの引数が次の順序で必要です:
拡張プロパティー名
ノード名
シェルスクリプトは、値を取得するためにタイプを破棄する必要がある場合があります。
明示的な値が割り当てられていないノード上でこのプロパティーの値をユーザーがリクエストすると、RTR ファイルで宣言されているデフォルト値が返されます。rt_reg(4) のマニュアルページを参照してください。
リソースを構成するリソースグループの名前を指定します。
指定のノード用に、リソースの RESOURCE_DEPENDENCIES プロパティーの値を生成します。ノードを指定する、フラグが設定されていない引数が必要です。
指定のノード用に、リソースの RESOURCE_DEPENDENCIES_OFFLINE_RESTART プロパティーの値を生成します。ノードを指定する、フラグが設定されていない引数が必要です。
指定のノード用に、リソースの RESOURCE_DEPENDENCIES_RESTART プロパティーの値を生成します。ノードを指定する、フラグが設定されていない引数が必要です。
指定のノード用に、リソースの RESOURCE_DEPENDENCIES_WEAK プロパティーの値を生成します。ノードを指定する、フラグが設定されていない引数が必要です。
指定のノード用に、リソースの RESOURCE_STATE プロパティーの値を生成します。ノードを指定する、フラグが設定されていない引数が必要です。
指定のノード用に、リソースの STATUS プロパティーの値を生成します。ノードを指定する、フラグが設定されていない引数が必要です。
次の 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 プロパティーの説明を参照してください。
指定された修飾子は、いずれもリソース依存性リストに含めます。{LOCAL_NODE}、{ANY_NODE}、@nodename、および {FROM_RG_AFFINITIES} 修飾子は、r_properties(5) のマニュアルページで説明されています。–Q オプションを省略すると、リソースの依存関係リストの戻り値には、ローカルノードで適用可能な依存関係のリソース名 (宣言された修飾子を含まない) のみが含まれます。
RGM クラスタ機能によって管理されているリソースの名前
リソースグループが存在し、操作するクラスタを指定します。このオプションは、コマンドが大域ゾーンで実行されるものの、指定されたゾーンクラスタで動作する必要がある場合に使用します。ゾーンクラスタ内で、異なるゾーンクラスタにアクセスするために使用することはできません。
クエリーが zoneclustername という名前のゾーンクラスタで実行されるように指定します。
–Z オプションを省略すると、コマンドが実行されるクラスタでクエリーが実行されます。
次のスクリプトには、必要なリソース名とリソースグループ名を指定する –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 command コマンドを使用して、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
次の終了ステータスコードが返されます。
コマンドは正常に完了しました。
エラーが発生しました。
障害エラーコードは、scha_calls(3HA) で説明されています。
次の属性については、attributes(5) を参照してください。
|
awk(1), scha_cmds(1HA), scha_calls(3HA), scha_resource_get(3HA), rt_reg(4), attributes(5), property_attributes(5), r_properties(5), rt_properties(5)