Oracle® Solaris Cluster 参考手册

退出打印视图

更新时间: 2014 年 7 月,E51743-01
 
 

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) 控制的资源的信息。您可以使用该命令查询资源类型的属性(如 rt_properties(5) 中所述)以及资源的属性(如 r_properties(5) 中所述)。

在代表受群集 RGM 控制的服务的资源类型回调方法的 shell 脚本实现中使用 scha_resource_get 命令。该命令提供的信息与 scha_resource_get(3HA) C 函数提供的信息相同。

该命令将信息生成到 stdout,并在各个行中以格式化字符串表示,如 scha_cmds(1HA) 中所述。可以将输出存储在 shell 变量中,并通过使用 shell 工具或 awk(1) 进行解析,以供脚本进一步使用。

要使用该命令,您需要具有 solaris.cluster.resource.read 基于角色的访问控制 (role-based access control, RBAC) 授权。请参见 rbac(5)

您还必须能够承担已向其分配 Oracle Solaris Cluster 命令权限配置文件的角色,才能使用该命令。经授权的用户可以通过 pfsh(1)pfcsh(1)pfksh(1) 配置文件 shell 在命令行中发出授权的 Oracle Solaris Cluster 命令。配置文件 shell 是一种特殊的 shell,通过该 shell,可以访问分配给 Oracle Solaris Cluster 命令权限配置文件的 Oracle Solaris Cluster 特权命令。当您运行 su(1M) 以承担某个角色时,即会启动配置文件 shell。也可以使用 pfexec(1) 发出授权的 Oracle Solaris Cluster 命令。

选项

支持以下选项:

–G group

配置了资源的资源组的名称。尽管该参数是可选的,但如果包括该参数,命令将会更有效地运行。

–O optag

表示要访问的信息。根据您指定的 optag 值,可能需要包括一个附加值,以指示要检索其信息的群集节点。


注 -  optag 值(例如 AFFINITY_TIMEOUT BOOT_TIMEOUT区分大小写。指定 optag 值时,您可以使用大小字母的任意组合。

以下 optag 值将检索相应的资源属性。将生成资源的已命名属性的值。NUM_RG_RESTARTSNUM_RESOURCE_RESTARTSMONITORED_SWITCHON_OFF_SWITCHRESOURCE_STATESTATUS 属性在执行命令的节点上引用该值。有关与以下 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

r_properties(5) 手册页中未介绍以下 optag 值。

ALL_EXTENSIONS

在连续的若干行中,生成资源的所有扩展属性的名称。

EXTENSION

在连续的若干行中,生成属性类型,其后跟有该属性的值。如果属性是每节点扩展属性,则返回的值是执行 scha_resource_get 的节点上的该属性的值。需要给出资源扩展属性名称的不带标志的参数。Shell 脚本可能需要放弃该类型以获取值,如 示例 中所示。

当用户请求未指定明确值的节点上的该属性的值时,将会返回在资源类型注册 (Resource Type Registration, RTR) 文件中声明的默认值。请参见 rt_reg(4) 手册页。

EXTENSION_NODE

在连续的若干行中,生成已命名节点的属性类型,其后跟有该属性的值。该值需要两个给出特定节点上资源的扩展名称的不带标志的参数,其顺序如下:

  • 扩展属性名称

  • 节点名称

Shell 脚本可能需要放弃该类型以获取值。

当用户请求未指定明确值的节点上的该属性的值时,将会返回在 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_VERSION BOOT区分大小写。指定 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_OVERRIDE 属性的当前值,而不是 GLOBAL_ZONE 属性的值。有关更多信息,请参见 rt_properties(5) 手册页中的 Global_zone 属性和 r_properties(5) 手册页中的 Global_zone_override 属性的描述。

–Q

在资源依赖性列表中包括所有指定限定符。r_properties(5) 手册页中介绍了 {LOCAL_NODE}{ANY_NODE}@nodename{FROM_RG_AFFINITIES} 限定符。如果省略了 –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 command 检索依赖于两个不同逻辑主机名资源的每节点资源依赖性。要设置每节点资源依赖性,必须使用 clresource set 命令。该示例使用名为 gds-rs 的可伸缩资源,并设置 gds-rsptrancos1trancos-3-rs 的依赖性以及对 ptrancos2trancos-4-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

命令已成功完成。

非零值

发生错误。

scha_calls(3HA) 中介绍了故障错误代码。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
ha-cluster/developer/api
接口稳定性
Evolving(发展中)

另请参见

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)