用于 Solaris OS 的 Sun Cluster 数据服务规划和管理指南

资源特性

本节说明了由 Sun Cluster 所定义的资源特性。特性值分为以下几类(位于“类别”后):

可调列表中列出了您是否可以以及何时可以更新资源特性,如下所示:

NONEFALSE

永不 

TRUEANYTIME

任何时候 

AT_CREATION

在将资源添加到群集时 

WHEN_DISABLED

当资源被禁止时 

首先显示特性名称,然后对其进行说明。

Affinity_timeout (integer )

以秒为单位的时间长度,在这段时间内,来自资源中任何服务的给定客户机 IP 地址的连接将被发送到同一服务器节点。

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

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

类别:

可选

缺省值:

无缺省值

可调:

ANYTIME

Cheap_probe_interval (integer)

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

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

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

类别:

有条件的

缺省值:

无缺省值

可调:

WHEN_DISABLED

扩展特性

在资源类型的 RTR 文件中声明的扩展特性。资源类型的实现中定义了这些特性。资源特性属性中包含有关可以为扩展特性设置的各个属性的信息。

类别:

有条件的

缺省值:

无缺省值

可调:

取决于特定的特性

Failover_mode (enum)

当启动方法(Prenet_startStart)失败时,NONESOFTHARD 仅影响故障转移行为。但是,一旦资源已成功启动,NONESOFTHARD 便不会对随后资源监视器用 scha_control(1HA)scha_control(3HA) 发起的资源重新启动或移交行为产生任何影响。NONE(缺省值)表明 RGM 将在方法失败时设置资源状态并等待用户介入。SOFT 表明如果 Start 方法失败,RGM 会将资源组重新定位至其他节点。如果 StopMonitor_stop 方法失败,RGM 会将资源设置为 Stop_failed 状态,并将资源组设置为 Error_stop_failed 状态。然后,RGM 将等待用户介入。对于 StopMonitor_stop 故障,NONESOFT 是相同的。HARD 表明如果 Start 方法失败,RGM 将重新定位该组。如果 StopMonitor_stop 方法失败,RGM 将通过异常终止群集节点来停止资源。在 StartPrenet_start 方法失败时,HARDNONESOFT 将影响故障转移行为。

NONESOFTHARD 不同,RESTART_ONLYLOG_ONLY 将影响所有故障转移行为,包括监视器运行 scha_control 发起的资源和资源组的重新启动,以及资源监视器运行 scha_control 发起的移交行为。RESTART_ONLY 表明监视器可以运行 scha_control 来重新启动资源,但接下来尝试使用 scha_control 来执行资源组的重新启动或移交行为将失败。RGM 允许在 Retry_interval 内重新启动 Retry_count 次。如果超过 Retry_count,将不允许任何资源重新启动。如果 Failover_mode 被设置为 LOG_ONLY,将不允许任何资源重新启动或移交。将 Failover_mode 设置为 LOG_ONLY 与将 Failover_mode 设置为 RESTART_ONLY 且将 Retry_count 设置为零作用相同。如果启动方法失败,则 RESTART_ONLYLOG_ONLYNONE 相同:不发生故障转移,资源将转至 Start_failed 状态。

类别:

可选

缺省值:

无缺省值

可调:

ANYTIME

Load_balancing_policy (string)

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

Lb_weighted(缺省值)。根据在 Load_balancing_weights 特性中设置的权重在不同的节点间分配负载。

Lb_sticky。可伸缩服务的给定客户机(由客户机的 IP 地址标识)总是发送到同一群集节点。

Lb_sticky_wild。连接至通配符粘连服务的 IP 地址的给定客户机的 IP 地址通常会被发送至同一个群集节点,而与 IP 地址连接的端口号无关。

类别:

有条件的/可选的

缺省值:

Lb_weighted

可调:

AT_CREATION

Load_balancing_weights (string_array)

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

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

类别:

有条件的/可选的

缺省值:

空字符串 (“”)

可调:

ANYTIME

类型中每个回调方法的 method_timeout (integer)

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

类别:

有条件的/可选的

缺省值:

3600(一小时),如果在 RTR 文件中声明了此方法本身。

可调:

ANYTIME

Monitored_switch (enum)

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

类别:

仅限于查询

缺省值:

无缺省值

可调:

永不

Network_resources_used (string_array)

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

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


注意 –

SUNW.Event(5) 手册页说明了如何为 CRNP 设置此特性。


类别:

有条件的/必需的

缺省值:

无缺省值

可调:

AT_CREATION

每个群集节点上的 Num_resource_restarts (integer)

您不能直接设置此特性,而是要由 RGM 将其设置为在过去的 n 秒内,已为此节点上的此资源执行 scha_controlResource_restartResource_is_restarted 调用的次数。n 为此资源的 Retry_interval 特性的值。一旦此资源执行 scha_control 移交行为,则无论此移交尝试成功还是失败,RGM 均会将资源重新启动计数器复位为零。

如果资源类型未声明 Retry_interval 特性,则 Num_resource_restarts 特性将不能用于该类型的资源。

类别:

仅限于查询

缺省值:

无缺省值

可调:

每个群集节点上的 Num_rg_restarts (integer)

您不能直接设置此特性,而是要由 RGM 将其设置为在过去的 n 秒内,此资源已为此节点上包含它的资源组执行 scha_control Restart 调用的次数,其中 n 为此资源的 Retry_interval 特性的值。如果资源类型未声明 Retry_interval 特性,则 Num_rg_restarts 特性将不能用于该类型的资源。

类别:

请参见说明

缺省值:

无缺省值

可调:

On_off_switch (enum)

如果群集管理员通过管理实用程序启用或禁用资源,则 RGM 会将此特性设置为 EnabledDisabled。如果资源被禁用,则在重新启用之前,它将处于脱机状态并且不调用回调。

类别:

仅限于查询

缺省值:

无缺省值

可调:

永不

Port_list (string_array)

端口(服务器在其上进行侦听)号列表。每个端口号附加了一个斜杠 (/) ,斜杠后面是该端口所使用的协议,例如,Port_list=80/tcpPort_list=80/tcp6,40/udp6。您可以指定以下协议值:

  • tcp,用于 TCP IPv4

  • tcp6,用于 TCP IPv6

  • udp,用于 UDP IPv4

  • udp6,用于 UDP IPv6

如果在 RTR 文件中声明了 Scalable 特性,则 RGM 将自动创建 Port_list。否则,此特性将不可用,除非在 RTR 文件中显式声明。

Sun Cluster Data Service for Apache Guide for Solaris OS中介绍了为 Apache 设置此特性的信息。

类别:

有条件的/必需的

缺省值:

无缺省值

可调:

AT_CREATION

R_description (string)

资源的简单说明。

类别:

可选

缺省值:

空字符串

可调:

ANYTIME

Resource_dependencies (string_array)

相同或不同组中此资源对其具有强依赖性的资源列表。如果列表中有任一资源未联机,则该资源将无法启动。如果该资源和列表中的其中一个资源同时启动,则 RGM 将等待列表中的资源启动之后才启动该资源。如果该资源的 Resource_dependencies 列表中的资源未启动,则该资源也将保持脱机状态。此资源的列表中的资源有可能无法启动是因为列表中资源的资源组仍保持脱机状态,或是因为列表中的资源处于 Start_failed 状态。如果此资源因依赖于另一不同资源组中未能启动的资源而仍处于脱机状态,则此资源所属的组将进入 Pending_online_blocked 状态。

如果使此资源与列表中的那些资源同时脱机,则该资源将在列表中的资源停止之前停止。但是,即使此资源仍处于联机状态或无法停止,该列表中属于另一不同资源组的资源照样也会停止。除非先禁用此资源,否则无法禁用列表中的资源。

缺省情况下,在资源组中,应用程序资源对网络地址资源具有隐含的强资源依赖性。资源组特性中的 Implicit_network_dependencies 包含更多信息。

在资源组中,Prenet_start 方法按依赖性顺序在 Start 方法之前运行。Postnet_stop 方法按依赖性顺序在 Stop 方法之后运行。在不同的资源组中,具有依赖性的资源将等待它所依赖的资源完成 Prenet_startStart 之后才运行 Prenet_start。而被依赖的资源将等待依赖它的资源完成 StopPostnet_stop 之后才运行 Stop

类别:

可选

缺省值:

空列表

可调:

ANYTIME

Resource_dependencies_restart (string_array)

相同或不同组中此资源对其具有重新启动依赖性的资源列表。

此特性的工作原理与 Resource_dependencies 的工作原理相同,唯一区别在于:如果重新启动依赖性列表中的任何资源重新启动,该资源也将重新启动。该资源将在列表中的资源恢复联机之后重新启动。

类别:

可选

缺省值:

空列表

可调:

ANYTIME

Resource_dependencies_weak (string_array)

相同或不同组中此资源对其具有弱依赖性的资源列表。弱依赖性可以确定方法调用的顺序。RGM 会在调用该资源的 Start 方法之前调用此列表中的资源的 Start 方法。RGM 会在调用列表中的资源的 Stop 方法之前调用该资源的 Stop 方法。如果列表中的资源启动失败或保持脱机状态,该资源将仍然可以启动。

如果该资源和其 Resource_dependencies_weak 列表中的某个资源同时启动,则 RGM 将等待列表中的资源启动后才启动该资源。如果列表中的资源未启动(例如,如果列表中资源的资源组仍处于脱机状态或者列表中的资源处于 Start_failed 状态),此资源将会启动。当此资源的 Resource_dependencies_weak 列表中的资源启动时,此资源的资源组可能会暂时进入 Pending_online_blocked 状态。当列表中的所有资源均已启动或启动失败时,此资源将启动并且其组将重新进入 Pending_online 状态。

如果将该资源与列表中的资源同时脱机,则该资源将在列表中的资源停止之前停止。如果该资源保持联机或无法停止,列表中的资源仍会停止。您不能禁用列表中的资源,除非先禁用该资源。

在资源组中,Prenet_start 方法按依赖性顺序在 Start 方法之前运行。Postnet_stop 方法按依赖性顺序在 Stop 方法之后运行。在不同的资源组中,具有依赖性的资源将等待它所依赖的资源完成 Prenet_startStart 之后才运行 Prenet_start。而被依赖的资源将等待依赖它的资源完成 StopPostnet_stop 之后才运行 Stop

类别:

可选

缺省值:

空列表

可调:

ANYTIME

Resource_name (string)

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

类别:

必需的

缺省值:

无缺省值

可调:

永不

Resource_project_name (string)

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


注意 –

对此特性的更改将在下次启动该资源时生效。


类别:

可选

缺省值:

可调:

ANYTIME

每个群集节点上的 Resource_state (enum)

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

不能配置该特性。

类别:

仅限于查询

缺省值:

无缺省值

可调:

永不

Retry_count (integer)

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

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

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

类别:

有条件的

缺省值:

无缺省值

可调:

WHEN_DISABLED

Retry_interval (integer)

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

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

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

类别:

有条件的

缺省值:

无缺省值

可调:

WHEN_DISABLED

Scalable (boolean)

表明资源是否可伸缩,即,资源是否使用 Sun Cluster 的联网负载平衡功能。

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

如果已在 RTR 文件中声明此特性,则必须将其 Tunable 属性指定为 AT_CREATION

如果未在 RTR 文件中声明此特性,该资源将不具有可伸缩性,您不能调节此特性,并且 RGM 也不会设置任何可伸缩服务特性。但是,您可以在 RTR 文件中显式声明 Network_resources_usedPort_list 特性,因为这些特性在非可伸缩服务和可伸缩服务中都会有用。

您可以将此资源特性与 Failover 资源类型特性结合使用,如下所示:

r_properties(5) 中详细介绍了将此资源特性与 Failover 资源类型特性结合使用的信息。

类别:

可选

缺省值:

无缺省值

可调:

AT_CREATION

每个群集节点上的 Status (enum)

由资源监视器使用 scha_resource_setstatus(1HA)scha_resource_setstatus(3HA) 进行设置。可能的值包括 OKdegradedfaultedunknownoffline。当某个资源联机或脱机后,如果该资源的监视器或方法未设置 Status 值,RGM 会自动设置 Status 值。

类别:

仅限于查询

缺省值:

无缺省值

可调:

永不

每个群集节点上的 Status_msg (string)

由资源监视器在设置 Status 特性的同时进行设置。当某个资源联机或脱机时,如果该资源的方法未设置此特性,RGM 会自动将此特性复位为空字符串。

类别:

仅限于查询

缺省值:

无缺省值

可调:

永不

Thorough_probe_interval (integer)

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

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

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

类别:

有条件的

缺省值:

无缺省值

可调:

WHEN_DISABLED

Type (string)

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

类别:

必需的

缺省值:

无缺省值

可调:

永不

Type_version (string)

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

此特性的可调性源自以下来源:

  • 资源类型的当前版本

  • RTR 文件中的 #$upgrade_from 指令

类别:

请参见说明

缺省值:

无缺省值

可调:

请参见说明

UDP_affinity (boolean)

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

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

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

类别:

可选

缺省值:

无缺省值

可调:

WHEN_DISABLED

Weak_affinity (boolean)

如果为 true,则启用较弱的客户机关联。较弱形式的客户机关联允许将来自给定客户机的连接发送到同一个服务器节点,以下情况除外:

  • 例如,服务器侦听器启动以响应故障监视器的重新启动、资源的故障转移或切换转移,或者节点在失败后重新加入群集

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

就内存消耗和处理器周期而言,采用弱关联都比采用缺省形式的系统开销要低。

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

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

类别:

可选

缺省值:

无缺省值

可调:

WHEN_DISABLED