Oracle® Solaris Cluster 参考手册

退出打印视图

更新时间: 2014 年 7 月,E51743-01
 
 

r_properties (5)

名称

r_properties - 资源属性

描述

以下信息描述了由 Oracle Solaris Cluster 软件定义的标准资源属性。标准属性在使用它们的所有资源类型中具有共同的含义。这些描述已针对数据服务开发者进行开发。有关特定数据服务的更多信息,请参见该数据服务的手册页。

除了标准属性之外,每个资源类型还可以定义其自己的特定于类型的资源属性,称为扩展属性。标准属性和扩展属性都是在资源类型注册 (Resource Type Registration, RTR) 文件中声明的。RTR 文件定义群集管理员向 Oracle Solaris Cluster 软件注册数据服务时该数据服务的初始配置。

可以指定群集管理员能够基于每个节点或者为整个群集设置扩展属性。但是,不能(在 RTR 文件中)指定群集管理员可以执行对标准属性执行的相同操作。标准属性可以隐式应用于所有节点或特定节点。标准属性是应用于所有节点还是仅应用于特定节点取决于每个标准属性的具体定义。

有关 RTR 文件的更多信息,请参见 rt_reg(4) 手册页。有关可以为资源属性设置的各个特性的信息,请参见 property_attributes(5) 手册页。


注 -  必须将资源的 Scalable 属性设置为 TRUE,才能使用 Oracle Solaris Cluster 软件的网络负载平衡功能。可伸缩资源可以使用 Affinity_timeoutGeneric_affinityLoad_balancing_policyLoad_balancing_weightsConn_thresholdRound_robinPort_listUDP_affinityWeak_affinity 属性。

有些资源类型可以运行在多个节点上,而不使用网络负载平衡。此类资源的 Scalable 属性设置为 False,而且此类资源不使用上述其他属性。


标准资源属性类别

必需

在使用管理实用程序创建资源时,群集管理员必须指定值。

可选

如果在创建资源组时群集管理员不指定值,则系统将提供默认值。

有条件的

仅当在资源类型注册 (Resource Type Registration, RTR) 文件中声明属性时,资源组管理器 (Resource Group Manager, RGM) 才创建属性。否则,属性将不存在且对群集管理员不可用。在 RTR 文件中声明的有条件属性是可选的或必需的,具体取决于是否在 RTR 文件中指定了默认值。有关详细信息,请参见每个有条件属性的描述。

仅查询

不能由管理工具直接设置。

群集管理员可以使用以下命令编辑所有的可调属性:

# clresource set -p property=
new-value resource

标准资源属性描述


注 -  属性名(如 Affinity_timeout Cheap_probe_interval区分大小写。指定属性名称时,可以使用大小写字母的任意组合。
Affinity_timeout (integer )

时长(秒),给定的客户机 IP 地址为获取资源中任何服务而建立的连接在该期间将发送到同一服务器节点。

如果将该属性设置为 -1,则所有连接都将发送到同一节点。如果将该属性设置为 0,则所有打开的连接都将发送到同一节点。如果将该属性设置为 n,则在最后一个连接关闭后 n 秒,所有新连接都将发送到与最后一个连接相同的节点。

在所有情况下,如果服务器节点因故障而离开群集,则选择新的服务器节点。

仅当 Load_balancing_policyLb_stickyLb_sticky_wild 时该属性才相关。此外,Weak_affinity 必须设置为 False(默认值)。

该属性仅用于可伸缩服务。

类别

有条件的/可选

默认值

0

可调

随时

Application_user (string)

执行与资源相关的应用程序执行时使用的 Oracle Solaris 用户名。

资源方法或监视器执行的应用程序可能以 root 或非 root 用户(“应用程序用户”)身份执行,具体取决于特定代理的实现方式。并非所有资源类型都有 application_user 资源属性;只有声明此属性的那些资源类型才能允许设置该属性。

声明了 application_user 资源属性的资源类型通常是一个代理,该代理使用 scha_check_app_user(1HA ) 接口对应用程序可执行文件的所有权和权限执行额外的检查。如果应用程序可执行文件不归 root 所有,但要由 root 执行,或者该可执行文件具有组或全局写权限,则会存在不安全性。在这种情况下,如果 resource_security 属性设置为 SECURE,则执行应用程序会在运行时失败,并返回错误。如果 resource_security 采用任何其他设置,将允许应用程序在伴有警告消息的情况下执行。

声明 application_user 属性的资源类型根据 resource_security 群集属性的设置来设置用于执行应用程序的用户 ID。如果 resource_security 设置为 COMPATIBILITY,将会忽略 application_user 资源属性的设置,应用程序用户将是调用者的有效用户 ID(通常为 root)。此行为与以前的 Oracle Solaris Cluster 发行版兼容。

如果 resource_security 设置为 OVERRIDE,将会忽略 application_user 属性,应用程序用户将是应用程序可执行文件的所有者。

如果 resource_security 设置为 SECUREWARN,应用程序用户将是 application_user 资源属性的值;但是,如果未设置 application_user 或者该属性为空,则应用程序用户将是应用程序可执行文件的所有者。

如果在 RTR 文件中未指定 Tunable 特性,则该属性的可调性是 When_disabled

类别

有条件的/可选

默认值

空字符串

可调

禁用时

Cheap_probe_interval (integer )

资源的快速故障探测的两次调用之间的秒数。仅当在 RTR 文件中声明了该属性,该属性才会由 RGM 创建且可供群集管理员使用。

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

类别

有条件的

默认值

请参见上文

可调

禁用时

CheckActivePortInstances( boolean)

在并非 Port_list 属性中指定的所有端口都有活动侦听进程时,决定节点是否参与可伸缩服务以及是否接收来自负载平衡器的客户机请求。该属性仅适用于可伸缩服务。

支持的值包括:

  • FALSE(默认值)-当其至少一个端口具有活动侦听进程时,节点参与可伸缩服务。

  • TRUE-仅当所有端口都具有活动侦听进程时,节点才参与可伸缩服务。

类别

有条件的/可选

默认值

False

可调

禁用时

Conn_threshold (integer)

启用 Round_robin 负载分配时支持的活动连接或客户机的最大数量。如果连接端点在服务器节点上保持活动状态,则 TCP 连接将被视为处于活动状态。如果 UDP 会话活动超时窗口设置中有通信流,则 UDP 会话被视为处于活动状态(请参见 udp_session_timeout 群集属性)。

类别

可选

默认值

10000

可调

禁用时

Failover_mode (enum)

修改资源无法成功启动或停止时或者资源监视器发现运行状态不佳的资源并进而请求重新启动或故障转移时 RGM 执行的恢复操作。

NONESOFTHARD(方法失败)

这些设置仅影响启动或停止方法 (Prenet_start, Start, Monitor_stop, Stop, Postnet_stop) 失败时的故障转移行为。RESTART_ONLYLOG_ONLY 设置还可能影响资源监视器是否可以启动 scha_control 命令或 scha_control() 函数的执行。

NONE 指示在前面提到的启动或停止方法之一失败时 RGM 不执行任何恢复操作。SOFTHARD 指示当 StartPrenet_start 方法失败时,RGM 将资源所属的组重定位到不同的节点。对于 StartPrenet_start 失败,SOFTHARD 是相同的。

对于停止方法(Monitor_stopStopPostnet_stop)的失败,SOFTNONE 相同。如果 Failover_mode 设置为 HARD,则当这些停止方法之一失败时,RGM 将重新引导节点以强制资源组脱机。然后,RGM 可能会尝试在另一个节点上启动该组。但是,如果资源组被 clresourcegroup quiesce 子命令停顿,则节点将不重新引导,即使 Failover_mode 为 HARD 且停止方法失败也是如此。在这种情况下,资源将转为 STOP_FAILED 状态。

RESTART_ONLYLOG_ONLY

NONESOFTHARD(它们影响启动或停止方法失败时的故障转移行为)不同,RESTART_ONLYLOG_ONLY 影响所有的故障转移行为。故障转移行为包括监视器启动的资源和资源组 (scha_control) 重新启动,以及由资源监视器启动的移交。

RESTART_ONLY 指示监视器可以运行 scha_control 以重新启动资源或资源组。RGM 允许 Retry_countRetry_interval 内重新启动。如果超过 Retry_count,则不允许进一步的重新启动。


注 -  负的 Retry_count 值(有些资源类型允许,并非所有资源类型都允许)指定无限次数的资源重新启动。指定无限制重新启动的更可靠方法是执行以下操作:
  • Retry_interval 设置为小值,如 1 或 0。

  • Retry_count 设置为大值,如 1000。

如果资源类型未声明 Retry_count Retry_interval 属性,则允许无限次数的资源重新启动。


如果 Failover_mode 设置为 LOG_ONLY,则不允许资源重新启动或移交。将 Failover_mode 设置为 LOG_ONLY 与在 Retry_count 设置为零时将 Failover_mode 设置为 RESTART_ONLY 相同。

RESTART_ONLYLOG_ONLY(方法失败)

如果 Prenet_startStartMonitor_stopStopPostnet_stop 方法失败,则 RESTART_ONLYLOG_ONLYNONE 相同。即,数据服务未故障转移或重新引导。

Failover_mode 设置对数据服务的影响

Failover_mode 的每个设置对数据服务具有的影响取决于数据服务是受监视还是未受监视以及它是否基于数据服务开发库 (Data Services Development Library, DSDL)。

  • 如果数据服务实现了 Monitor_start 方法且启用了对资源的监视,则该数据服务是受监视的。RGM 通过在启动资源本身之后执行 Monitor_start 方法来启动资源监视器。资源监视器可探测资源的运行状况。如果探测失败,则资源监视器可以通过调用 scha_control() 函数来请求重新启动或故障转移。对于基于 DSDL 的资源,探测可能会揭示数据服务的部分故障(降级)或完整故障。重复的部分故障累积成完整故障。

  • 如果数据服务未提供 Monitor_start 方法或者已禁用对资源的监视,则该数据服务未受监视。

  • 基于 DSDL 的数据服务包括使用代理生成器、通过 GDS 或者通过直接使用 DSDL 开发的数据服务。有些数据服务(例如 HA Oracle)是在未使用 DSDL 的情况下开发的。

NONESOFTHARD(探测失败)

如果将 Failover_mode 设置为 NONESOFTHARD,且数据服务是基于 DSDL 的受监视服务,则在探测完全失败时监视器将调用 scha_control() 函数以请求重新启动资源。如果探测继续失败,则在 Retry_interval 内重新启动资源,最大次数为 Retry_count。如果重新启动次数达到 Retry_count 后探测再次失败,则监视器请求将资源所属的组故障转移到其他节点。

如果将 Failover_mode 设置为 NONE SOFTHARD,且数据服务是基于 DSDL 的未受监视的服务,则检测到的唯一故障就是资源进程树的停止。如果资源的进程树停止,则重新启动该资源。

如果数据服务不是基于 DSDL 的服务,则重新启动或故障转移行为取决于资源监视器的编码方式。例如,Oracle 资源监视器通过重新启动资源或资源组,或者通过故障转移资源组来进行恢复。

RESTART_ONLY(探测失败)

如果将 Failover_mode 设置为 RESTART_ONLY ,且数据服务是基于 DSDL 的受监视服务,则在探测完全失败时会在 Retry_interval 内重新启动资源 Retry_count 次。但是,如果超过 Retry_count,资源监视器将退出,将资源状态设置为 FAULTED,并生成状态消息 Application faulted, but not restarted. Probe quitting.。此时,虽然监视仍处于启用状态,但是在群集管理员修复并重新启动资源之前,资源实际上是未受监视的。

如果将 Failover_mode 设置为 RESTART_ONLY,且数据服务是基于 DSDL 的未受监视的服务,则在进程树停止时重新启动资源。

如果受监视的数据服务不基于 DSDL,则恢复行为取决于资源监视器的编码方式。如果将 Failover_mode 设置为 RESTART_ONLY,则可以通过在 Retry_interval 内调用 scha_control() 函数 Retry_count 次来重新启动资源或资源组。如果资源监视器超过 Retry_count,则重新启动尝试将失败。如果监视器调用 scha_control() 以请求故障转移,则该请求也将失败。

LOG_ONLY(探测失败)

如果对任何数据服务将 Failover_mode 设置为 LOG_ONLY,则重新启动资源或资源组或者对组进行故障转移的所有 scha_control() 请求都将被阻止。如果数据服务基于 DSDL,则在探测完全失败时记录一条消息,但是不重新启动资源。如果探测在 Retry_interval 内完全失败的次数超过 Retry_count,资源监视器将退出,将资源状态设置为 FAULTED,并生成状态消息 Application faulted, but not restarted. Probe quitting.。此时,虽然监视仍处于启用状态,但是在群集管理员修复并重新启动资源之前,资源实际上是未受监视的。

如果将 Failover_mode 设置为 LOG_ONLY,且数据服务是基于 DSDL 的未受监视的服务,则在进程树停止时记录一条消息,但不重新启动资源。

如果受监视的数据服务不基于 DSDL,则恢复行为取决于资源监视器的编码方式。如果将 Failover_mode 设置为 LOG_ONLY,则重新启动资源或资源组或者对组进行故障转移的所有 scha_control() 请求都将失败。

类别

可选

默认值

NONE

可调

随时

Global_zone_override (boolean )

只有在 RTR 文件中设置 Global_zone=TRUE 属性的资源类型才允许该属性。Global_zone_override 属性的设置将覆盖特定资源的资源类型属性 Global_zone 的值。有关更多信息,请参见 rt_properties(5) 手册页。

Global_zone_override 属性设置为 FALSE 将强制资源方法在配置了资源组的非全局区域中执行,而不是始终在全局区域中执行(当 Global_zone 属性设置为 TRUE 时通常会始终在全局区域中执行)。

如果在 RTR 文件中指定了默认值,则该属性是可选的。

如果在 RTR 文件中未指定 Tunable 特性,则该属性的 Tunable 值是 At_creation。可以在 RTR 文件中将 Tunable 属性设置为 At_creationWhen_disabledAnytime


注 -  在 RTR 文件中将 Tunable 特性设置为 Anytime 时,请谨慎操作。对 Global_zone_override 属性的更改将立即生效,即使资源处于联机状态也是如此。例如,假定 Global_zone_override 可调性设置为 ANYTIMEGlobal_zone_override 属性当前在非全局区域中配置的资源上设置为 FALSE。当资源切换为联机时,将在非全局区域中执行启动方法。如果随后将 Global_zone_override 属性设置为 TRUE 且资源切换为脱机,则将在全局区域中执行停止方法。方法代码必须处理该可能性。如果方法代码不处理该可能性,则必须改为将 Tunable 属性设置为 When_disabledAt_creation
类别

有条件的/可选

默认值

TRUE

可调

创建时

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

可调

创建时

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。可以指定权值 0 以便不为节点分配负载。

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

类别

有条件的/可选

默认值

Null

可调

随时

用于每种回调方法的 method_timeout (integer)

时间间隔(秒),之后 RGM 断定方法调用已失败。


注 -  不能指定方法超时的最大值(使用 Max 属性)。同样,也不能指定最小值零 (Min=0)。
类别

有条件的/可选

默认值

如果在 RTR 文件中声明了方法本身,则为 3,600 秒(1 小时)

可调

随时

Monitored_switch (enum)

不能直接设置该属性。相反,它在特定的节点上或整个群集中由 RGM 设置为 EnabledDisabled。如果群集管理员使用管理实用程序在特定节点上或者为整个群集启用或禁用监视器,则 RGM 会这样做。如果已禁用,则在再次启用监视之前不会在资源上调用 Monitor_start 方法。如果资源没有监视器回调方法,则该属性的计算结果为 Disabled

类别

仅查询

默认值

如果资源类型具有监视方法,则为 Enabled,否则为 disabled

可调

请参见描述

Network_resources_used (string_array )

该资源对其具有依赖性的逻辑主机名或共享地址资源的列表。该列表包含在属性 Resource_dependenciesResource_dependencies_weakResource_dependencies_restartResource_dependencies_offline_restart 中出现的所有网络地址资源。

如果在 RTR 文件中声明了 Scalable 属性,则 RGM 自动创建该属性。如果在 RTR 文件中未声明 Scalable 属性,则 Network_resources_used 将不可用,除非在 RTR 文件中显式声明它。

如果没有为 Network_resources_used 属性分配值,则将基于资源依赖性属性的设置由 RGM 自动更新其值。无需直接设置该属性。而是设置 Resource_dependenciesResource_dependencies_offline_restartResource_dependencies_restartResource_dependencies_weak 属性。如果指定了每节点依赖性,则 Network_resources_used 属性的派生值只包含在本地节点上有效的那些依赖性。该值可能在每个节点上有所不同。

要保持与 Oracle Solaris Cluster 软件早期发行版的兼容性,仍可以直接设置 Network_resources_used 属性的值。如果直接设置 Network_resources_used 属性的值,则 Network_resources_used 属性的值将不再派生自资源依赖性属性的设置。如果向 Network_resources_used 属性添加资源名称,则该资源名称也会自动添加到 Resource_dependencies 属性。删除该依赖性的唯一方法是将其从 Network_resources_used 属性中删除。如果您不确定网络资源依赖性最初添加到 Resource_dependencies 属性还是 Network_resources_used 属性,请从这两个属性中删除依赖性。例如,以下命令将删除资源 r1 对网络资源 r2 的依赖性,而不管依赖性是添加到 Network_resources_used 还是 Resource_dependencies 属性:

# clresource set -p Network_resources_used-=r2 -p Resource_dependencies-=r2 r1

为简单起见,请避免为 Network_resources_used 属性设置值。仅设置资源依赖性属性,并将 Network_resources_used 属性视为只读属性。

类别

有条件的/可选

默认值

空列表

可调

随时

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

在过去的 n 秒内对该资源上发生的重新启动请求数,其中 nRetry_interval 属性的值。

重新启动请求是以下任一调用:

  • 带有 RESOURCE_RESTART 参数的 scha_control 命令

  • 带有 SCHA_RESOURCE_RESTART 参数的 scha_control() 函数

  • 带有 RESOURCE_IS_RESTARTED 参数的 scha_control 命令

  • 带有 SCHA_RESOURCE_IS_RESTARTED 参数的 scha_control() 函数

只要给定节点上的给定资源执行以下操作之一,RGM 就会为该资源将重新启动计数器重置为零:

  • 带有 GIVEOVER 参数的 scha_control 命令

  • 带有 SCHA_GIVEOVER 参数的 scha_control() 函数

不管移交尝试成功还是失败,都将重置计数器。

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

类别

仅查询

默认值

无默认值

可调

请参见描述

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

在过去的 n 秒内对该资源发生的资源组重新启动请求数,其中 nRetry_interval 属性的值。

资源组重新启动请求是以下任一调用:

  • 带有 RESTART 参数的 scha_control 命令

  • 带有 SCHA_RESTART 参数的 scha_control() 函数

如果资源类型未声明 Retry_interval 属性,则 Num_rg_restarts 属性不可用于该类型的资源。

类别

仅查询

默认值

无默认值

可调

请参见描述

On_off_switch (enum)

不能直接设置该属性。相反,它在特定的节点上或整个群集中由 RGM 设置为 EnabledDisabled。如果群集管理员使用管理实用程序在特定节点上或者为整个群集启用或禁用资源,则 RGM 会这样做。如果已禁用,则在再次启用资源之前它不调用回调。

类别

仅查询

默认值

已禁用

可调

请参见描述

Outgoing_Connection(boolean )

指定可伸缩服务是否在发起到群集之外的服务器的传出请求时使用虚拟网络地址(请参见 Network_resources_used 属性)。负载平衡器确保将所有传入应答转发至发起节点。


注 -  群集中每次只有一个节点可以发起到给定服务器的请求。

该属性仅适用于 Generic_Affinity 设置为 TRUELoad_balancing_policy 设置为 LB_STICKY_WILD 的可伸缩服务。支持的值包括:

  • FALSE(默认值)-可伸缩服务在发起到外部服务器的传出请求时不使用 Network_resources_used 属性中指定的虚拟网络地址。

  • TRUE-可伸缩服务通过使用 Network_resources_used 属性中指定的虚拟网络地址发起到外部服务器的传出请求。负载平衡器将传入应答转发到发起节点。

类别

有条件的/可选

默认值

False

可调

创建时

Port_list (string_array)

服务器侦听的端口号的逗号分隔列表。附加到每个端口号的是一个斜杠 (/),后跟该端口正在使用的协议,例如 Port_list=80/tcpPort_list=80/tcp6,40/udp6

可以指定的可能协议包括:

  • tcp,仅适用于 TCP IPv4

  • tcp6,同时适用于 TCP IPv4 和 TCP IPv6

  • udp,仅适用于 UDP IPv4

  • udp6,同时适用于 UDP IPv4 和 UDP IPv6

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

Oracle Solaris Cluster Data Service for Apache Guide 中介绍了有关设置该属性以用于 Oracle Solaris Cluster HA for Apache 的信息。

类别

有条件的/必需

默认值

无默认值

可调

随时

Pre_evict (boolean)

优先级较低的资源组的逐出可以与资源组切换一起执行,前提是另一个组对要切换的组声明强负关联,或者在节点上超过了硬负载限制。

该属性可确定 RGM 是否尝试在包含该资源的资源组启动切换之前执行资源组逐出。

支持的值包括:

  • FALSE(默认值)-切换的资源组在目标节点上开始联机时,执行资源组逐出。

  • TRUE-切换的资源组从当前的主节点上开始脱机之前,在切换的目标节点上执行资源组逐出。该设置仅对单一主节点的资源组(即 Maximum_primaries 属性设置为 1 的资源组)有效。

如果在 RTR 文件中未指定 Tunable 特性,则该属性的 Tunable 值是 When disabled

类别

可选

默认值

False

可调

禁用时

R_description (string)

资源的简要描述.

类别

可选

默认值

空字符串

可调

随时

Resource_dependencies (string_array )

该资源对其具有强依赖性的资源(位于同一组中或不同组中)的列表。如果列表中任何资源的启动失败,则无法启动该资源。如果该资源和列表中的资源之一同时启动,则 RGM 将等待列表中的资源启动后再启动该资源。如果该资源的 Resource_dependencies 列表中的资源未启动(例如,如果列表中资源的资源组保持脱机状态,或者如果列表中的资源处于 Start_failed 状态),则该资源也保持脱机状态。如果该资源由于对无法启动的其他资源组中资源的依赖性而保持脱机状态,则该资源所属的组将进入 Pending_online_blocked 状态。

如果该资源与列表中的资源同时脱机,则该资源将在列表中的资源之前停止。但是,如果该资源保持联机状态或无法停止,则列表中的资源都会停止。

默认情况下,在资源组中,应用程序资源具有对网络地址资源的隐式强资源依赖性。rg_properties(5) 手册页中的 Implicit_network_dependencies 提供了更多信息。

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

要指定依赖性的范围,请在指定该属性时将以下限定符(包括花括号 ({}) 或 at 符号 (@))附加到资源名称。

{ANY_NODE}

将指定的依赖性扩展到任何节点。依赖资源的行为受任何节点上的被依赖资源影响。依赖资源等待被依赖资源在任何主节点上启动后再启动自身。停止和重新启动时的情况与此类似。

{FROM_RG_AFFINITIES}

指定资源依赖性的范围派生自资源所属的资源组的 RG_affinities 关系。如果依赖资源所属的组与被依赖资源所属的资源组正关联,且它们在同一节点上启动或停止,则依赖性为 {LOCAL_NODE}。如果不存在此类正关联,或者如果这两个组在不同的节点上启动,则依赖性为 {ANY_NODE}

{LOCAL_NODE}

将指定的依赖性限制为基于每个节点。依赖资源的行为仅受同一节点上的被依赖资源影响。依赖资源等待被依赖资源在同一节点上启动。停止和重新启动时的情况与此类似。

如果 {LOCAL_NODE} 依赖资源在一个故障转移(即,单一主节点)资源组中,而且在一个节点上未满足 {LOCAL_NODE} 依赖性,则该资源组可能故障转移到满足 {LOCAL_NODE} 依赖性的其他节点,而不是在未满足依赖性的节点上保持 Pending_online_blocked 状态。

@nodename

指定限制于特定节点且对其他节点无影响的 {LOCAL_NODE} 依赖性。这允许资源对群集中的每个节点具有不同的依赖性。nodename 是节点名称或节点 ID。

例如,以下列表指示资源 res1 对节点 node1 的依赖性和资源 res2 对节点 node2 的依赖性:

res1@node1,res2@node2

如果相同的依赖性适用于多个节点,请对每个节点名称重复资源名称。例如:

myres@node1,myres@node2,myres@node3,...

位于同一资源组中的两个资源之间的资源依赖性始终为 {LOCAL_NODE}

如果不指定限定符,则默认情况下使用 FROM_RG_AFFINITIES

scha_resource_get(1HA)scha_resource_get(3HA)scds_property_functions(3HA) 手册页介绍了使用或不使用限定符获取依赖性列表的替代查询表单。

类别

可选

默认值

空列表

可调

随时

Resource_dependencies_offline_restart ( string_array)

该资源对其具有脱机重新启动依赖性的资源(位于同一组中或不同组中)的列表。

该属性的工作方式就像 Resource_dependencies 一样,不同之处是,如果停止了脱机重新启动依赖性列表中的任何资源,则该资源也会停止。如果随后重新启动了脱机重新启动依赖性列表中的资源,则该资源也会重新启动。

如果列表中任何资源的启动失败,则无法启动该资源。如果该资源和列表中的资源之一同时启动,则 RGM 将等待列表中的资源启动后再启动该资源。如果该资源的 Resource_dependencies 列表中的资源未启动(例如,如果列表中资源的资源组保持脱机状态,或者如果列表中的资源处于 Start_failed 状态),则该资源也保持脱机状态。如果该资源由于对无法启动的其他资源组中资源的依赖性而保持脱机状态,则该资源所属的组将进入 Pending_online_blocked 状态。

如果该资源与列表中的资源同时脱机,则该资源将在列表中的资源之前停止。但是,如果该资源保持联机状态或无法停止,则列表中的资源都会停止。

如果节点上的“被依赖”资源发生故障,并且该资源无法恢复,则 RGM 将使该资源在该节点上脱机。RGM 还通过在其上触发重新启动使被依赖资源的所有脱机重新启动依赖资源脱机。当群集管理员解决故障并重新启用被依赖资源时,RGM 还会使被依赖资源的 offline-restart 依赖资源重新联机。

要指定依赖性的范围,请在指定该属性时将以下限定符(包括花括号 ({}) 或 at 符号 (@))附加到资源名称。

{ANY_NODE}

将指定的依赖性扩展到任何节点。依赖资源的行为受任何节点上的被依赖资源影响。依赖资源等待被依赖资源在任何主节点上启动后再启动自身。停止和重新启动时的情况与此类似。

{FROM_RG_AFFINITIES}

指定资源依赖性的范围派生自资源所属的资源组的 RG_affinities 关系。如果依赖资源所属的组与被依赖资源所属的资源组正关联,且它们在同一节点上启动或停止,则依赖性为 {LOCAL_NODE}。如果不存在此类正关联,或者如果这两个组在不同的节点上启动,则依赖性为 {ANY_NODE}

{LOCAL_NODE}

将指定的依赖性限制为基于每个节点。依赖资源的行为仅受同一节点上的被依赖资源影响。依赖资源等待被依赖资源在同一节点上启动。停止和重新启动时的情况与此类似。

如果 {LOCAL_NODE} 依赖资源在一个故障转移(即,单一主节点)资源组中,而且在一个节点上未满足 {LOCAL_NODE} 依赖性,则该资源组可能故障转移到满足 {LOCAL_NODE} 依赖性的其他节点,而不是在未满足依赖性的节点上保持 Pending_online_blocked 状态。

@nodename

指定限制于特定节点且对其他节点无影响的 {LOCAL_NODE} 依赖性。这允许资源对群集中的每个节点具有不同的依赖性。nodename 是节点名称或节点 ID。

例如,以下列表指示资源 res1 对节点 node1 的依赖性和资源 res2 对节点 node2 的依赖性:

res1@node1,res2@node2

如果相同的依赖性适用于多个节点,请对每个节点名称重复资源名称。例如:

myres@node1,myres@node2,myres@node3,...

位于同一资源组中的两个资源之间的资源依赖性始终为 {LOCAL_NODE}

如果不指定限定符,则默认情况下使用 FROM_RG_AFFINITIES

scha_resource_get(1HA)scha_resource_get(3HA)scds_property_functions(3HA) 手册页介绍了使用或不使用限定符获取依赖性列表的替代查询表单。

类别

可选

默认值

空列表

可调

随时

Resource_dependencies_restart ( string_array)

该资源对其具有重新启动依赖性的资源(位于同一组中或不同组中)的列表。

该属性的工作方式就像 Resource_dependencies 一样,不同之处是,如果重新启动了重新启动依赖性列表中的任何资源,则该资源也会重新启动。在列表中的资源重新联机后再重新启动该资源。

如果列表中任何资源的启动失败,则无法启动该资源。如果该资源和列表中的资源之一同时启动,则 RGM 将等待列表中的资源启动后再启动该资源。

如果该资源的 Resource_dependencies_restart 列表中的资源未启动(例如,如果列表中资源的资源组保持脱机状态,或者如果列表中的资源处于 Start_failed 状态),则该资源保持脱机状态。如果该资源由于对无法启动的其他资源组中资源的依赖性而保持脱机状态,则该资源所属的组将进入 Pending_online_blocked 状态。

如果该资源与列表中的资源同时脱机,则该资源将在列表中的资源之前停止。但是,如果该资源保持联机状态或无法停止,则列表中的资源都会停止。

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

要指定依赖性的范围,请在指定该属性时将以下限定符(包括花括号 ({}) 或 at 符号 (@))附加到资源名称。

{LOCAL_NODE}

将指定的依赖性限制为基于每个节点。依赖资源的行为仅受同一节点上的被依赖资源影响。依赖资源等待被依赖资源在同一节点上启动。停止和重新启动时的情况与此类似。

如果 {LOCAL_NODE} 依赖资源在一个故障转移(即,单一主节点)资源组中,而且在一个节点上未满足 {LOCAL_NODE} 依赖性,则该资源组可能故障转移到满足 {LOCAL_NODE} 依赖性的其他节点,而不是在未满足依赖性的节点上保持 Pending_online_blocked 状态。

{ANY_NODE}

将指定的依赖性扩展到任何节点。依赖资源的行为受任何节点上的被依赖资源影响。依赖资源等待被依赖资源在任何主节点上启动后再启动自身。停止和重新启动时的情况与此类似。

@nodename

指定限制于特定节点且对其他节点无影响的 {LOCAL_NODE} 依赖性。这允许资源对群集中的每个节点具有不同的依赖性。nodename 是节点名称或节点 ID。

例如,以下列表指示资源 res1 对节点 node1 的依赖性和资源 res2 对节点 node2 的依赖性:

res1@node1,res2@node2

如果相同的依赖性适用于多个节点,请对每个节点名称重复资源名称。例如:

myres@node1,myres@node2,myres@node3,...
{FROM_RG_AFFINITIES}

指定资源依赖性的范围派生自资源所属的资源组的 RG_affinities 关系。如果依赖资源所属的组与被依赖资源所属的资源组正关联,且它们在同一节点上启动或停止,则依赖性为 {LOCAL_NODE}。如果不存在此类正关联,或者如果这两个组在不同的节点上启动,则依赖性为 {ANY_NODE}

位于同一资源组中的两个资源之间的资源依赖性始终为 {LOCAL_NODE}

如果不指定限定符,则默认情况下使用 FROM_RG_AFFINITIES

scha_resource_get(1HA)scha_resource_get(3HA)scds_property_functions(3HA) 手册页介绍了使用或不使用限定符获取依赖性列表的替代查询表单。

类别

可选

默认值

空列表

可调

随时

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

要指定依赖性的范围,请在指定该属性时将以下限定符(包括花括号 ({}) 或 at 符号 (@))附加到资源名称。

{LOCAL_NODE}

将指定的依赖性限制为基于每个节点。依赖资源的行为仅受同一节点上的被依赖资源影响。依赖资源等待被依赖资源在同一节点上启动。停止和重新启动时的情况与此类似。

如果 {LOCAL_NODE} 依赖资源在一个故障转移(即,单一主节点)资源组中,而且在一个节点上未满足 {LOCAL_NODE} 依赖性,则该资源组可能故障转移到满足 {LOCAL_NODE} 依赖性的其他节点,而不是在未满足依赖性的节点上保持 Pending_online_blocked 状态。

{ANY_NODE}

将指定的依赖性扩展到任何节点。依赖资源的行为受任何节点上的被依赖资源影响。依赖资源等待被依赖资源在任何主节点上启动后再启动自身。停止和重新启动时的情况与此类似。

@nodename

指定限制于特定节点且对其他节点无影响的 {LOCAL_NODE} 依赖性。这允许资源对群集中的每个节点具有不同的依赖性。nodename 是节点名称或节点 ID。

例如,以下列表指示资源 res1 对节点 node1 的依赖性和资源 res2 对节点 node2 的依赖性:

res1@node1,res2@node2

如果相同的依赖性适用于多个节点,请对每个节点名称重复资源名称。例如:

myres@node1,myres@node2,myres@node3,...
{FROM_RG_AFFINITIES}

指定资源依赖性的范围派生自资源所属的资源组的 RG_affinities 关系。如果依赖资源所属的组与被依赖资源所属的资源组正关联,且它们在同一节点上启动或停止,则依赖性为 {LOCAL_NODE}。如果不存在此类正关联,或者如果这两个组在不同的节点上启动,则依赖性为 {ANY_NODE}

位于同一资源组中的两个资源之间的资源依赖性始终为 {LOCAL_NODE}

如果不指定限定符,则默认情况下使用 FROM_RG_AFFINITIES

scha_resource_get(1HA)scha_resource_get(3HA)scds_property_functions(3HA) 手册页介绍了使用或不使用限定符获取依赖性列表的替代查询表单。

类别

可选

默认值

空列表

可调

随时

Resource_name (string)

资源实例的名称。必须在群集配置中是唯一的,且在创建资源后不能进行更改。

类别

必需

默认值

无默认值

可调

从不

Resource_project_name (string )

与资源关联的 Oracle Solaris 项目名称(请参见 projects(1))。使用该属性可以将 Solaris 资源管理功能(例如 CPU 份额和资源池)应用于群集数据服务。RGM 使资源联机时,它将启动该项目名称下的相关进程。如果未指定该属性,则将从包含该资源的资源组的 RG_project_name 属性获取项目名称(请参见 rg_properties(5) 手册页)。如果未指定任一属性,则 RGM 将使用预定义的项目名称 default。指定的项目名称必须在项目数据库中存在(请参见 projects(1) 手册页和Oracle Solaris Zones 介绍 )。


注 -  对该属性的更改在下次启动资源时生效。
类别

可选

默认值

Null

可调

随时

有效值

任何有效的 Oracle Solaris 项目名称,或 null

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

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

Online

启动方法(Prenet_startStartMonitor_start)已在该节点的资源上成功执行。

Offline

资源尚未在该节点上首次启动,或者停止方法(Monitor_stopStopPostnet_stop,适用于特定的资源)已在该节点的资源上成功执行。

Start_failed

Prenet_startStart 方法在该节点的资源上失败。Start_failed 表示方法以非零退出状态退出或超时。资源表示的服务可能已在也可能未在该节点上实际启动。

Stop_failed

Monitor_stopStopPostnet_stop 方法在该节点的资源上失败。Stop_failed 表示方法以非零退出状态退出或超时。资源表示的服务可能已在也可能未在该节点上实际停止。

在资源进入该状态时,资源组状态将变为 Error_stop_failed 并要求您干预。rg_properties(5) 手册页中对 Error_stop_failed 进行了更详细的描述。

Monitor_failed

资源已成功执行其 Prenet_startStart 方法(适用于特定的资源类型)。但是,资源的 Monitor_start 方法以非零退出状态退出或超时。资源监视器可能已在也可能未在该节点上实际启动。

Online_not_monitored

资源已成功执行其 Prenet_startStart 方法(适用于特定的资源类型)。Monitor_start 方法尚未在资源上执行。在资源组进入 Online 状态时,未受监视的资源(即,它没有 Monitor_start 方法,或者已禁用对它的监视)保持该状态。

Starting

资源正在运行 Prenet_start Start 方法以尝试联机。

Stopping

资源正在运行 Start Postnet_stop 方法以尝试脱机。

不能配置该属性。

类别

仅查询

默认值

无默认值

可调

从不

Retry_count (integer)

监视器在启动资源失败时尝试重新启动该资源的次数。如果超过 Retry_count,则根据特定的数据服务和 Failover_mode 属性的设置,监视器可能执行以下操作之一:

  • 允许资源组保留在当前主节点上,即使资源处于故障状态也是如此

  • 请求将资源组故障转移到其他节点上

仅当在 RTR 文件中声明了该属性,该属性才会由 RGM 创建且可供群集管理员使用。如果在 RTR 文件中指定了默认值,则该属性是可选的。

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

如果为该属性指定一个负值,则监视器将尝试重新启动资源无限次。


注 -  有些资源类型不允许将 Retry_count 设置为一个负值。指定无限制重新启动的更可靠方法是执行以下操作:
  • Retry_interval 设置为小值,如 1 或 0。

  • Retry_count 设置为大值,如 1000。


类别

有条件的

默认值

请参见上文

可调

禁用时

Retry_interval (integer)

对尝试重新启动失败的资源进行计数的秒数。资源监视器将该属性与 Retry_count 一起使用。仅当在 RTR 文件中声明了该属性,该属性才会由 RGM 创建且可供群集管理员使用。如果在 RTR 文件中指定了默认值,则该属性是可选的。

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


注 -  如果未声明 Retry_interval 属性,则对 scha_resource_get (num_*_restarts) 的调用将失败,退出状态为 13 (SCHA_ERR_RT)。
类别

有条件的

默认值

请参见上文

可调

禁用时

Round_robin (boolean)

采用循环方式将传入请求分配给特定服务器节点,该方式考虑了分配给每个节点的相对 load_balancing_weight 值。对于具有非粘性 load_balancing_policy 设置的资源,将基于连接分配请求;否则,将基于每个客户机 IP 地址分配请求。

对于需要对传入请求进行确定性负载分配的资源(期望有少量连接或客户机),应启用 Round_Robin

资源属性 Conn_threshold 和群集属性 udp_session_timeout 支持循环方案,如果为服务设置 Round_robin 资源属性,可以根据需要配置这两个属性。

无需升级现有的资源类型注册 (resource type registration, RTR) 文件即可使用 Round_robin 属性。

类别

可选

默认值

FALSE

可调

禁用时

Scalable (boolean)

指示资源是否可伸缩,即,资源是否使用 Oracle Solaris Cluster 软件的网络负载平衡功能。

如果在 RTR 文件中声明了该属性,则 RGM 将为该类型的资源自动创建以下可伸缩服务属性:Affinity_timeoutLoad_balancing_policyLoad_balancing_weightsNetwork_resources_usedPort_listUDP_affinityWeak_affinity。除非在 RTR 文件中显式声明这些属性,否则这些属性具有其默认值。在 RTR 文件中声明 Scalable 时,其默认值是 True

如果在 RTR 文件中声明了该属性,则不允许为它分配除 At_creation 之外的 Tunable 特性。

如果在 RTR 文件中未声明该属性,则资源不是可伸缩的,您不能调整该属性,并且 RGM 未设置可伸缩服务属性。但是,如果需要,可以在 RTR 文件中显式声明 Network_resources_used Port_list 属性,因为这些属性在不可伸缩的服务中以及可伸缩服务中可能是很有用的。

Scalable 资源属性与 Failover 资源类型属性组合使用,如下所示:

Failover/Scalable
描述
True/True
请勿指定这个不合逻辑的组合。
True/False
可为故障转移服务指定此组合。
False/True
可为使用 SharedAddress 资源进行网络负载平衡的可伸缩服务指定此组合。Oracle Solaris Cluster Concepts Guide 更详细地介绍了 SharedAddress
False/False
使用该组合可配置不使用网络负载平衡的多主服务。

rt_properties(5) 手册页中对 Failover 资源类型属性的描述包含相关的附加信息。

类别

可选

默认值

请参见上文

可调

创建时

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

由资源监视器设置。可能值如下:OnlineDegradedFaultedUnknownOffline。启动资源时 RGM 将值设置为 Online(如果 Start(或 Prenet_start)方法尚未设置它)。停止资源时 RGM 将值设置为 Offline(如果 Stop(或 Postnet_stop)方法尚未设置它)。

类别

仅查询

默认值

无默认值

可调

仅通过使用 scha_resource_setstatus 命令

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

由资源监视器在设置 Status 属性的同时设置。使资源进入 Offline 状态时 RGM 将它设置为空字符串(如果 Stop(或 Postnet_stop)方法尚未设置它)。

类别

仅查询

默认值

无默认值

可调

仅通过使用 scha_resource_setstatus

Thorough_probe_interval ( integer)

资源的高开销故障探测的两次调用之间的秒数。仅当在 RTR 文件中声明了该属性,该属性才会由 RGM 创建且可供群集管理员使用。如果在 RTR 文件中指定了默认值,则该属性是可选的。

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

类别

有条件的

默认值

无默认值

可调

禁用时

Timeout_delay (boolean)

确定是否向 hatimerun 命令传递 –d(delay,延迟)选项。一个声明 Timeout_delay 资源属性在使用 hatimerun 命令施加的时间限制下执行命令的资源类型。–d 选项会延迟启动超时时钟,直到命令已开始执行,这避免了将执行前调度延迟计入所分配的时间期限。

每个声明了此属性的资源类型都将以特定于该资源类型的方式使用此属性。例如,ORCL.gds 使用 hatimerun(1HA) 调用探测命令。有关详细信息,请查阅每个数据服务的文档。

Timeout_delay 属性的默认值为 FALSE 并且默认可调性为 Any time。可在 RTR 文件中覆盖这些属性。

类别

有条件的/可选

默认值

False

可调

随时

Type (string)

实例的资源类型。

类别

必需

默认值

无默认值

可调

从不

Type_version (string)

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

类别

请参见上文

默认值

可调

可调性派生自以下各项:

  • 资源类型的当前版本。

  • 资源类型注册文件中的 #$upgrade_from 指令(请参见 rt_reg(4) 手册页)。

UDP_affinity (boolean)

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

仅当 Load_balancing_policyLb_stickyLb_sticky_wild 时该属性才相关。此外,Weak_affinity 必须设置为 FALSE(默认值)。

该属性仅用于可伸缩服务。

类别

有条件的/可选

默认值

False

可调

禁用时

Weak_affinity (boolean)

如果为 true,则启用弱形式的客户机关联。这允许将来自给定客户机的连接发送到同一服务器节点,例外情况是服务器侦听器启动时(例如,由于监视器的重新启动发生故障、资源故障转移或切换或者节点在发生故障后重新加入群集)或者可伸缩资源的 load_balancing_weights 由于管理操作而改变时。

在内存占用和处理器周期这两方面,弱关联提供默认形式的低开销替代选择。

仅当 Load_balancing_policyLb_stickyLb_sticky_wild 时该属性才相关。

该属性仅用于可伸缩服务。

类别

有条件的/可选

默认值

False

可调

禁用时

另请参见

projects(1)clresource(1CL)clresourcegroup(1CL)clresourcetype(1CL)scha_control(1HA)scha_resource_get(1HA)scha_resource_setstatus(1HA)scha_control(3HA)scha_resource_get(3HA)scds_property_functions(3HA)rt_reg(4)property_attributes(5)rg_properties(5)rt_properties(5)

Oracle Solaris Cluster Concepts Guide Oracle Solaris Zones 介绍