Sun Cluster 数据服务开发者指南(适用于 Solaris OS)

获取属性信息

大多数回调方法需要获取有关数据服务的资源和资源类型属性的信息。为实现此操作,API 提供了 scha_resource_get() 函数。

系统定义的属性和扩展属性都可用。系统定义的属性是预定义的。由您在 RTR 文件中定义扩展属性。

当使用 scha_resource_get() 获取系统定义的属性的值时,使用 -O 选项指定属性的名称。命令仅返回该属性的。例如,在数据服务样例中,Monitor_start 方法需要找到探测程序,这样才能启动该程序。该探测程序位于数据服务的基目录中,由 RT_basedir 属性指向该基目录。Monitor_start 方法检索 RT_basedir 的值并将其放到 RT_BASEDIR 变量中,如下所示:

RT_BASEDIR=`scha_resource_get -O RT_basedir -R $RESOURCE_NAME -G \
$RESOURCEGROUP_NAME`

对于扩展属性,必须使用 -O 选项指定某属性为扩展属性。您还必须提供属性的名称,将其作为最后一个参数。对于扩展属性,命令将同时返回属性的类型。例如,在数据服务样例中,探测程序检索 Probe_timeout 扩展属性的类型和值并使用 awk 命令将值仅放于 PROBE_TIMEOUT shell 变量中,如下所示:

probe_timeout_info=`scha_resource_get -O Extension \
-R $RESOURCE_NAME -G $RESOURCEGROUP_NAME Probe_timeout`
PROBE_TIMEOUT=`echo $probe_timeout_info | awk '{print $2}'`