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

声明资源特性

与资源类型特性一样,资源特性也在 RTR 文件中声明。按照约定,在 RTR 文件中资源特性声明位于资源类型声明之后。资源声明的语法是一组用花括号括起来的属性值对:


{
    Attribute = Value;
    Attribute = Value;
             .
             .
             .
    Attribute = Value;
}

对于由 Sun Cluster 提供的资源特性,即所谓系统定义的特性,您可以在 RTR 文件中更改具体属性。例如,Sun Cluster 为每个回调方法提供方法超时特性,并指定缺省值。在 RTR 文件中,您可以指定各种缺省值。

您也可以使用一组由 Sun Cluster 提供的特性属性,在 RTR 文件中定义新的资源特性,即所谓的扩展特性。资源特性属性中列出了用于更改和定义资源特性的属性。在 RTR 文件中,扩展特性声明位于系统定义的特性声明之后。

第一组系统定义的资源特性用于指定回调方法的超时值:

...

# Resource property declarations appear as a list of bracketed
# entries after the resource type declarations. The property 
# name declaration must be the first attribute after the open
# curly bracket of a resource property entry.
#
# Set minimum and default for method timeouts.
{
        PROPERTY = Start_timeout;
        MIN=60;
        DEFAULT=300;
}

{
        PROPERTY = Stop_timeout;
        MIN=60;
        DEFAULT=300;
}
{
        PROPERTY = Validate_timeout;
        MIN=60;
        DEFAULT=300;
}
{
        PROPERTY = Update_timeout;
        MIN=60;
        DEFAULT=300;
}
{
        PROPERTY = Monitor_Start_timeout;
        MIN=60;
        DEFAULT=300;
}
{
        PROPERTY = Monitor_Stop_timeout;
        MIN=60;
        DEFAULT=300;
{
        PROPERTY = Monitor_Check_timeout;
        MIN=60;
        DEFAULT=300;
}

特性的名称 (PROPERTY = value) 必须是所有资源特性声明中的第一个属性。您可以在根据 RTR 文件中的特性属性定义的限制范围内配置资源特性。例如,样例中每个方法超时的缺省值都是 300 秒。管理员可以更改此值;但是 MIN 属性指定的最小允许值为 60 秒。资源特性属性中包含一个资源特性属性的列表。

下一组资源特性用于定义在数据服务中有特定用法的特性。

{
        PROPERTY = Failover_mode;
        DEFAULT=SOFT;
        TUNABLE = ANYTIME;
}
{
        PROPERTY = Thorough_Probe_Interval;
        MIN=1;
        MAX=3600;
        DEFAULT=60;
        TUNABLE = ANYTIME;
}

# The number of retries to be done within a certain period before concluding 
# that the application cannot be successfully started on this node.
{
        PROPERTY = Retry_Count;
        MAX=10;
        DEFAULT=2;
        TUNABLE = ANYTIME; 
}

# Set Retry_Interval as a multiple of 60 since it is converted from seconds
# to minutes, rounding up. For example, a value of 50 (seconds)
# is converted to 1 minute. Use this property to time the number of 
# retries (Retry_Count).
{
        PROPERTY = Retry_Interval;
        MAX=3600;
        DEFAULT=300;
        TUNABLE = ANYTIME;
}

{
        PROPERTY = Network_resources_used;
        TUNABLE = WHEN_DISABLED;
        DEFAULT = "";
}
{
        PROPERTY = Scalable;
        DEFAULT = FALSE;
        TUNABLE = AT_CREATION;
}
{
        PROPERTY = Load_balancing_policy;
        DEFAULT = LB_WEIGHTED;
        TUNABLE = AT_CREATION;
}
{
        PROPERTY = Load_balancing_weights;
        DEFAULT = "";
        TUNABLE = ANYTIME;
}
{
        PROPERTY = Port_list;
        TUNABLE = AT_CREATION;
        DEFAULT = ;
}

这些资源特性声明将添加 TUNABLE 属性,该属性用于限制系统管理员在什么情况下可以更改特性值。AT_CREATION 表明管理员只能在创建资源时指定该值,并且今后无法进行更改。

对于其中大多数特性,您可以接受当 Agent Builder 生成这些特性时所具有的缺省值,除非您有理由进行更改。以下是有关这些特性的信息(其他信息请参见资源特性r_properties(5) 手册页):

Failover_mode

表明在 StartStop 方法失败的情况下,RGM 是应该重定位资源组还是应该终止该节点。

Thorough_probe_intervalRetry_countRetry_interval

用于故障监视器。如果 Tunable 的值等于 ANYTIME,则系统管理员可以在故障监视器不能达到最佳工作效果时调整这些特性。

Network_resources_used

数据服务使用的逻辑主机名或共享地址资源的列表。Agent Builder 将声明此特性,因此配置数据服务时,系统管理员可以指定资源列表(如果有)。

Scalable

设置为 FALSE 可表明此资源不使用群集联网(共享地址)工具。此设置与设为 TRUE 的资源类型 Failover 特性相符,用来表明故障转移服务。有关如何使用此特性的其他信息,请参见将数据服务传送到群集实现回调方法

Load_balancing_policyLoad_balancing_weights

将自动声明这些特性,但是在故障转移资源类型中不能发挥作用。

Port_list

标识服务器侦听的端口的列表。Agent Builder 将声明此特性,因此系统管理员可以在配置数据服务时指定端口列表。