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 命令。
支持以下选项:
配置了资源的资源组的名称。尽管该参数是可选的,但如果包括该参数,命令将会更有效地运行。
表示要访问的信息。根据您指定的 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
r_properties(5) 手册页中未介绍以下 optag 值。
在连续的若干行中,生成资源的所有扩展属性的名称。
在连续的若干行中,生成属性类型,其后跟有该属性的值。如果属性是每节点扩展属性,则返回的值是执行 scha_resource_get 的节点上的该属性的值。需要给出资源扩展属性名称的不带标志的参数。Shell 脚本可能需要放弃该类型以获取值,如 示例 中所示。
当用户请求未指定明确值的节点上的该属性的值时,将会返回在资源类型注册 (Resource Type Registration, RTR) 文件中声明的默认值。请参见 rt_reg(4) 手册页。
在连续的若干行中,生成已命名节点的属性类型,其后跟有该属性的值。该值需要两个给出特定节点上资源的扩展名称的不带标志的参数,其顺序如下:
扩展属性名称
节点名称
Shell 脚本可能需要放弃该类型以获取值。
当用户请求未指定明确值的节点上的该属性的值时,将会返回在 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_OVERRIDE 属性的当前值,而不是 GLOBAL_ZONE 属性的值。有关更多信息,请参见 rt_properties(5) 手册页中的 Global_zone 属性和 r_properties(5) 手册页中的 Global_zone_override 属性的描述。
在资源依赖性列表中包括所有指定限定符。r_properties(5) 手册页中介绍了 {LOCAL_NODE}、{ANY_NODE}、@nodename 和 {FROM_RG_AFFINITIES} 限定符。如果省略了 –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 检索依赖于两个不同逻辑主机名资源的每节点资源依赖性。要设置每节点资源依赖性,必须使用 clresource set 命令。该示例使用名为 gds-rs 的可伸缩资源,并设置 gds-rs 对 ptrancos1 上 trancos-3-rs 的依赖性以及对 ptrancos2 上 trancos-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
返回以下退出状态代码:
命令已成功完成。
发生错误。
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)