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

资源特性

表 A–2 中介绍了 Sun Cluster 定义的资源特性。 特性值分为以下几类(在“类别”列中):

表 A–2 还列出了是否以及何时您可以更新资源类型(在“是否可以更新?”列中), 如下所示:

NoneFalse

从不 

TrueAnytime

任何时候 

At_creation

在将资源添加到群集时 

When_disabled

当资源被禁止时 

表 A–2 资源特性

特性名称 

说明 

是否可以更新?  

类别 

Affinity_timeout (整数)

以秒计算的时间长度,在这段时间从给定客户机 IP 地址指向资源中的任意服务的连接将发送到同一服务器节点。  

仅当 Load_balancing_policy 的值为 Lb_stickyLb_sticky_wild 时,此特性才适用。 此外,Weak_affinity 必须设置成 false(缺省值)。

此特性只用于可伸缩服务。  

任何时候 

可选的 

Cheap_probe_interval(整数)

在两次资源故障快速探测的调用之间的秒数。 此特性仅可由 RGM 创建,在 RTR 文件中声明后,管理员可以使用该特性。 

如果在 RTR 文件中指定了缺省值,则此特性是可选的。 如果未在资源类型文件中指定 Tunable 属性,则该特性的 Tunable 值为 When_disabled

如果未在 RTR 文件的特性声明中指定 Default 属性,则此特性为必需的。

禁用时  

有条件的 

扩展特性 

在资源类型的 RTR 文件中声明的扩展特性。 资源类型的实现中定义了这些特性。 有关可为扩展特性设置的各个属性的信息,请参阅表 A–4

取决于特定的特性 

有条件的 

Failover_mode(枚举值)

可能的设置为 NONESOFTHARD。 控制 RGM 是重新定位资源组还是中断节点来响应对资源调用 StartStopMonitor_stop 方法时发生的失败。 NONE 表示 RGM 在方法失败时只需设置资源状态并等待操作员的干预。 SOFT 表示 Start 方法的失败可能导致 RGM 将资源的组重新定位到另一个节点,而 StopMonitor_stop 方法的失败可能导致 RGM 将资源设置成 STOP_FAILED 状态,同时将资源组设置成 ERROR_STOP_FAILED 状态,并等待操作人员的干涉。 对于 StopMonitor_stop 失败,NONESOFT 设置等效。 HARD 表示 Start 方法的失败可能导致组的重新定位,通过中断群集节点来响应 StopMonitor_stop 方法的失败可能导致资源被强制停止。

缺省值为 NONE

任何时候  

可选的 

Load_balancing_policy(字符串)

定义所使用的负载平衡策略的字符串。 此特性仅用于可伸缩服务。 如果在 RTR 文件中声明了 Scalable 特性,则 RGM 自动创建此特性。 Load_balancing_policy 可以采用以下值:

Lb_weighted(缺省值)。 根据在 Load_balancing_weights 特性中设置的权重在不同的节点间分配负载。 Lb_sticky。 可伸缩服务的给定客户机(由客户机的 IP 地址标识)总是发送到同一群集节点。 Lb_sticky_wild。 连接到通配符粘滞服务的 IP 地址的给定客户机(由客户机的 IP 地址标识)总是发送到同一群集节点,而不管它来自哪个端口号。

缺省值为 Lb_weighted

创建时  

有条件的/可选的 

Load_balancing_weights(字符串数组)

只用于可伸缩资源。 如果在 RTR 文件中声明了 Scalable 特性,则 RGM 将自动创建此特性。 其格式为 weight@node,weight@node,其中 weight 是一个反映分配到指定 node 的相对负载部分的整数。 分配到某个节点的负载部分是此节点的权重除以所有权重的和。 例如,1@1,3@2 表示节点 1 接收负载的 1/4,节点 2 接收 3/4。空字符串 (“”)(缺省值)表示均匀分布。 未指定显式权重的节点将接收到缺省权重 1。

如果未在资源类型文件中指定 Tunable 属性,则特性的 Tunable 值为 Anytime。 更改该特性将仅改变新连接的分配。

缺省值是空字符串 (“”)。 

任何时候  

有条件的/可选的 

Type(整数)中每个回叫方法的 method_timeout

以秒计算的时间段,这段时间过后,RGM 将认为对方法的调用已失败。  

如果在 RTR 文件中声明了该方法本身,则缺省值为 3,600(一个小时)。 

任何时候 

有条件的/ 

可选的 

Monitored_switch(枚举值)

如果群集管理员通过管理公用程序启用或禁止监视器,则 RGM 将把此特性设置为 EnabledDisabled。 如果设置为 Disabled,则在再次启用该监视器之前,不会调用监视器的 Start 方法。 如果资源没有监视器回叫方法,则此特性不存在。

缺省值为 Enabled

从不 

仅限于查询 

Network_resources_used(字符串数组)

资源所使用的逻辑主机名或共享地址网络资源的列表。 对于可伸缩服务,此特性必须是指存在于单独资源组的共享地址资源。 对于失败转移服务,此特性是指存在于相同的资源组的逻辑主机名或共享地址资源。 如果在 RTR 文件中声明了 Scalable 特性,则 RGM 将自动创建此特性。 如果在 RTR 文件中未声明 ScalableNetwork_resources_used 将不可用,除非在 RTR 文件中显式声明。

如果未在资源类型文件中指定 Tunable 属性,则该特性的 Tunable 值为 At_creation

创建时  

有条件的/必需的 

On_off_switch(枚举值)

如果群集管理员通过管理公用程序启用或禁止资源,则 RGM 将把此特性设置成 EnabledDisabled。 如果被禁止,则在再次启用资源之前,资源的回叫不会被调用。

缺省值为 Disabled

从不  

仅限于查询 

Port_list(字符串数组)

端口(服务器在其上进行侦听)号列表。 每个端口号后接此端口使用的协议,例如,Port_list=80/tcp。 如果在 RTR 文件中声明了 Scalable 特性,则 RGM 将自动创建 Port_list 。 否则,此特性将不可用,除非在 RTR 文件中显式声明。

用于 Apache 的 Sun Cluster 数据服务指南(适用于 Solaris OS)中介绍了为 Apache 设置此特性的信息。

创建时  

有条件的/ 

必需的 

R_description(字符串)

资源的简单说明。 

缺省值为空字符串。 

任何时候 

可选的 

Resource_name(字符串)

资源实例的名称。 在群集配置中此名称必须唯一,并且在资源创建后该名称无法进行更改。  

从不  

必需的 

Resource_project_name (字符串)

与资源关联的 Solaris 项目名称。 使用此特性可将 Solaris 资源管理功能(例如 CPU 共享和资源池)应用至群集数据服务。 当 RGM 使资源联机时,它将启动此项目名下的相关进程。 如果未指定此特性,将从包含该资源的资源组的 RG_project_name 特性获取项目名称(请参阅 rg_properties [5])。 如果也未指定此特性,RGM 将使用预定义的项目名称 default。 指定的项目名称必须存在于项目数据库中,并且用户 root 必须配置为已命名项目的成员。 仅从 Solaris 9 开始支持此特性。


注意:

对此特性的更改将在资源重新启动后生效。


缺省值为 null。 

任何时候  

可选的 

每个群集节点上的 Resource_state(枚举值)

每个群集节点上由 RGM 确定的资源状态。 可能的状态包括 OnlineOfflineStop_failedStart_failedMonitor_failed 以及 Online_not_monitored

用户不能配置此特性。 

从不 

仅限于查询 

Retry_count(整数)

当资源发生故障时,监视器试图重新启动资源的次数。 此特性仅可由 RGM 创建,在 RTR 文件中声明后,管理员可以使用该特性。 如果在 RTR 文件中指定了缺省值,则此特性是可选的。 

如果在资源类型文件中未指定 Tunable 属性,此属性的 Tunable 值为 When_disabled

如果未在 RTR 文件的特性声明中指定 Default 属性,则此特性为必需的。

禁用时 

有条件的  

Retry_interval(整数)

尝试重新启动失败的资源前计算的秒数。 资源监视器将此特性与 Retry_count 一起使用。 此特性仅可由 RGM 创建,在 RTR 文件中声明后,管理员可以使用该特性。 如果在 RTR 文件中指定了缺省值,则此特性是可选的。

如果在资源类型文件中未指定 Tunable 属性,此属性的 Tunable 值为 When_disabled

如果未在 RTR 文件的特性声明中指定 Default 属性,则此特性为必需的。

禁用时  

有条件的 

Scalable(布尔值)

表明资源是否可伸缩。 如果在 RTR 文件中声明了此特性,则 RGM 将为该类型的资源自动创建以下可伸缩服务特性: Network_resources_usedPort_listLoad_balancing_policyLoad_balancing_weights。 这些特性具有缺省值,除非在 RTR 文件中对它们进行了显式声明。 Scalable 的缺省值(在 RTR 文件中声明时)为 True

在 RTR 文件中声明此特性时,Tunable 属性必须设置为 At_creation,否则资源创建将失败。

如果在 RTR 文件中未声明此特性,则资源不可伸缩,群集管理员无法调整此特性并且 RGM 无法设置可伸缩服务特性。 但是,必要时您可以在 RTR 文件中显式声明 Network_resources_usedPort_list 特性,因为它们在非可伸缩服务中与在可伸缩服务中都可能有用。

创建时  

可选的 

每个群集节点上的 Status(枚举值)

由资源监视器设置。 值可能为: OKdegradedfaultedunknownoffline。 当使资源联机时,RGM 将把值设置成 unknown;使资源脱机时,将把值设置成 Offline

从不 

仅限于查询 

每个群集节点上的 Status_msg(字符串)

由资源监视器在设置 Status 特性的同时进行设置。 可以为每个资源每个节点都设置此特性。 使资源脱机时,RGM 将把它设置成空字符串。

从不 

仅限于查询 

Thorough_probe_interval(整数)

在两次资源高开销故障探测的调用之间的秒数。 此特性仅可由 RGM 创建,在 RTR 文件中声明后,管理员可以使用该特性。 如果在 RTR 文件中指定了缺省值,则此特性是可选的。 

如果未在资源类型文件中指定 Tunable 属性,则该特性的 Tunable 值为 When_disabled

如果未在 RTR 文件的特性声明中指定 Default 属性,则此特性为必需的。

禁用时  

有条件的 

Type(字符串)

资源类型,此资源是该资源类型的一个实例。 

从不 

必需的 

Type_version (字符串)

指定当前与此资源关联的资源类型的版本。 RGM 将自动创建此特性,该特性不能在 RTR 文件中声明。 此特性的值与资源类型的 RT_version 特性一样。 创建资源时,不明确指定 Type_version 特性,尽管它可能作为资源类型名称的后缀出现。 编辑资源时,可以将 Type_version 更改为新值。

其可调性源自:

  • 资源类型的当前版本

  • RTR 文件中的 #$upgrade_from 指令

请参阅说明 

请参阅说明  

UDP_affinity (布尔值)

如果为 true,则来自给定客户机的所有 UDP 通信都将发送至当前处理该客户机的所有 TCP 通信的同一服务器节点。 

仅当 Load_balancing_policy 的值是 Lb_stickyLb_sticky_wild 时,此特性才适用。 此外,Weak_affinity 必须设置为 False(缺省值)。

此特性只用于可伸缩服务。 

禁用时 

可选的 

Weak_affinity(布尔值)

如果为 true,则启用较弱的客户机亲合性。 这可以将来自给定客户机的连接发送到同一服务器节点,但以下情况例外: 

  • 由于种种原因(例如,重新启动故障监视器、资源的故障切换和切换或者节点在失败后重新连接群集)而启动服务器侦听程序。

  • 由于管理操作而导致可伸缩资源的 Load_balancing_weights 更改。

就内存消耗和处理器周期而言,不采用缺省形式而启用较弱的亲合性所使用的系统开销较低。  

仅当 Load_balancing_policy 的值为 Lb_stickyLb_sticky_wild 时,此特性才适用。

此特性只用于可伸缩服务。  

禁用时  

可选的