本附录介绍了标准资源类型、资源组和资源的属性。本附录还介绍了可用于更改系统定义的属性以及创建扩展属性的资源特性属性。
资源类型、资源和资源组的属性名称不区分大小写。指定属性名称时,您可以使用大写和小写字母的任意组合。
本附录包括以下主题:
以下信息介绍了由 Sun Cluster 软件定义的资源类型属性。属性值分为以下几类:
必需。此属性要求资源类型注册 (RTR) 文件中有明确的值。否则,将无法创建属性所属的对象。此值不能为空格或空字符串。
有条件的。必须在 RTR 文件中声明此属性,此属性才存在。否则,RGM 不会创建该属性,并且该属性将不能用于管理实用程序。允许使用空格或空字符串。如果在 RTR 文件中声明属性但未指定值,RGM 将提供缺省值。
有条件的或显式。必须在 RTR 文件中声明此属性的明确值,此属性才存在。否则,RGM 不会创建该属性,并且该属性将不能用于管理实用程序。不允许使用空格或空字符串。
可选。可在 RTR 文件中声明此属性。如果未在 RTR 文件中声明属性,则 RGM 将创建属性并提供一个缺省值。如果在 RTR 文件中声明了属性但未指定值,则 RGM 将提供相同的默认值,就像没在 RTR 文件中声明该属性一样。
仅限于查询 - 不能通过管理工具直接进行设置。
不能通过管理实用程序更新资源类型属性,Installed_nodes 和 RT_system 除外,这两个资源类型属性不能在 RTR 文件中声明并且必须由群集管理员设置。
首先列出的是属性名称,后面是对该属性的说明。
资源类型属性名称(例如 API_version 和 Boot)不区分大小写。指定属性名称时可以使用大小写字母的任意组合。
支持此资源类型实现所需的资源管理 API 的最低版本。
以下信息汇总了 Sun Cluster 的每个版本所支持的最高 API_version。
2
3
4
5
6
在 RTR 文件中为 API_version 声明一个大于 2 的值将可防止资源类型被安装到支持低于最高版本的 Sun Cluster 版本上。例如,如果您为某个资源类型声明了 API_version=5,该资源类型将不能安装在 3.1 9/04 之前发行的任何版本的 Sun Cluster 上。
如果不将此属性声明或设置为默认值 (2),则可将数据服务安装到 Sun Cluster 3.0 以后的任何版本的 Sun Cluster 上。
可选
2
无
一种可选的回调方法:节点连接或重新连接群集时,RGM 将对此节点调用的程序的路径(此类型的资源处于被管理状态时)。此方法初始化此类资源的方法与 Init 方法相同。
有条件的/显式
无缺省值
无
True 用于指明不能在可同时在多个节点上联机的任何组中配置此类资源。
下表显示了如何将此资源类型属性与 Scalable 资源属性结合使用。
Failover 资源类型的值 |
Scalable 资源的值 |
说明 |
---|---|---|
TRUE |
TRUE |
请不要指定这个不合逻辑的组合。 |
TRUE |
FALSE |
可为故障转移服务指定此组合。 |
FALSE |
TRUE |
可为使用 SharedAddress 资源进行网络负载平衡的可伸缩服务指定此组合。 《Sun Cluster 概念指南(适用于 Solaris OS)》详细介绍了 SharedAddress。 |
FALSE |
FALSE |
虽然这不是常见组合,但您可以使用此组合选择不使用网络负载平衡的多主服务。 |
r_properties(5) 手册页中的对 Scalable 的说明和《Sun Cluster 概念指南(适用于 Solaris OS)》中的第 3 章 “适用于系统管理员和应用程序开发者的关键概念”包含附加信息。
可选
FALSE
无
一种可选的回调方法:从 RGM 管理中删除此类资源时,RGM 所运行的程序的路径。
有条件的/显式
无缺省值
无
一种可选的回调方法:当此类资源开始处于 RGM 的管理下时,RGM 所运行的程序的路径。
有条件的/显式
无缺省值
无
指明 RGM 对哪些节点调用 Init、Fini、Boot 和 Validate 方法。值可为 RG_PRIMARIES(仅为可以控制资源的节点)或 RT_INSTALLED_NODES(安装了该资源类型的所有节点)。
可选
RG_PRIMARIES
无
可运行资源类型的群集节点名称的列表。RGM 将自动创建此属性。群集管理员可以设置此值。不能在 RTR 文件中声明该属性。
可以由群集管理员进行配置
所有群集节点
ANYTIME
TRUE 表明此资源类型是用来管理故障转移 Internet 协议 (IP) 地址的 LogicalHostname 资源类型的某个版本。
仅限于查询
无缺省值
无
TRUE 表明该资源类型是管理故障转移 Internet 协议 (IP) 地址的 SharedAddress 资源类型的某个版本。
仅限于查询
无缺省值
无
一种可选的回调方法:在对此类资源执行监视器请求的故障转移之前,RGM 所运行的程序的路径。
有条件的/显式
无缺省值
无
一种可选的回调方法:RGM 为启动此类资源的故障监视器所运行的程序的路径。
有条件的/显式
无缺省值
无
设置 Monitor_start 后需要的回调方法:RGM 为停止此类资源的故障监视器所运行的程序的路径。
有条件的/显式
无缺省值
无
包含在资源类型安装中的软件包的可选列表。
有条件的/显式
无缺省值
无
一种可选的回调方法:在调用此类资源所依赖的任何网络地址资源的 Stop 方法后,RGM 运行的程序的路径。在将网络接口配置为关闭之后,此方法必须执行 Stop 操作。
有条件的/显式
无缺省值
无
一种可选的回调方法:在 RGM 调用此类资源所依赖的任何网络地址资源的 Start 方法之前,RGM 运行的程序的路径。此方法将执行在配置网络接口之前必须执行的 Start 操作。
有条件的/显式
无缺省值
无
资源类型的所有资源的列表。群集管理员不直接设置此属性。而是当群集管理员在任何资源组中添加或删除此类资源时,由 RGM 更新此属性。
仅限于查询
空列表
无
资源类型的名称。要查看当前已注册的资源类型的名称,请使用:
scrgadm -p
在 Sun Cluster 3.1 及更高版本中,资源类型名称必须包含版本:
vendor-id.resource-type:rt-version
资源类型名称的三个组成部分是在 RTR 文件中指定为 vendor-id、resource-type 和 rt-version 的属性。scrgadm 命令用于插入句点 (.) 和冒号 (:)分界符。资源类型名称的 rt-version 后缀的值与 RT_version 属性的值相同。要确保 vendor-id 唯一,请使用要创建资源类型的公司的股票代号。在 Sun Cluster 3.1 之前的版本中创建的资源类型名称继续采用以下语法:
vendor-id.resource-type
必需的
空字符串
无
用于完成回调方法的相对路径的目录路径。必须将此路径设置为资源类型软件包的安装目录。路径必须为完整路径,即必须以正斜杠 (/) 开头。
必需的,除非所有方法路径名称均为绝对路径
无缺省值
无
资源类型的简单说明。
有条件的
空字符串
无
如果资源类型的 RT_system 属性为 TRUE,则不能删除该资源类型 (scrgadm -r -t resource-type-name)。此属性用于防止意外删除资源资源类型,例如用于支持群集基础结构的 LogicalHostname。但是,您可以将 RT_system 属性应用于任何资源类型。
要删除 RT_system 属性设置为 TRUE 的资源类型,必须先将此属性设置为 FALSE。删除其资源支持群集服务的资源类型时需谨慎。
可选
FALSE
ANYTIME
从 Sun Cluster 3.1 开始,实施该资源类型必需版本字符串。RT_version 是完整资源类型名称的后缀部分。曾在 Sun Cluster 3.0 中为可选属性的 RT_version 属性在 Sun Cluster 3.1 及更高版本中是必需属性。
有条件的/显式或必需的
无缺省值
无
如果将其设置为 TRUE,则表明在群集中只能存在一个此类型的资源。RGM 仅允许在群集中一次只运行此类型的一个资源。
可选
FALSE
无
一种回调方法:RGM 为启动此类资源所运行的程序的路径。
必需的(除非在 RTR 文件中声明了 Prenet_start 方法)
无缺省值
无
一种回调方法:RGM 为停止此类资源所运行的程序的路径。
必需的(除非在 RTR 文件中声明了 Postnet_stop 方法)
无缺省值
无
一种可选的回调方法:当更改此类正在运行的资源的属性时,RGM 所运行的程序的路径。
有条件的/显式
无缺省值
无
一种可选的回调方法:RGM 为检查此类资源的属性值所运行的程序的路径。
有条件的/显式
无缺省值
无
请参见 Resource_type 属性。
有条件的
无缺省值
无
此部分介绍了由 Sun Cluster 软件定义的资源属性。属性值分为以下几类:
必需。群集管理员在使用管理实用程序创建资源时必须指定值。
可选。如果群集管理员在创建资源组时未指定值,系统将会提供一个默认值。
有条件的。仅当属性已在 RTR 文件中声明后,RGM 才能创建属性。否则,属性将不存在且对群集管理员不可用。RTR 文件中声明的条件属性是可选的还是必需的取决于是否在 RTR 文件中指定了缺省值。有关详细信息,请参见对每个条件的属性的说明。
仅限于查询。不能通过管理工具直接设置。
资源特性属性中介绍的 Tunable 属性列出了您是否可以和何时可以更新资源属性,如下所示:
永远不
任何时候
在将资源添加到群集时
当资源被禁止时
首先列出的是属性名称,后面是对该属性的说明。
以秒表示的时间长度,在此期间,对于资源中的任何服务,来自给定客户机IP 地址的连接均被发送到同一服务器节点。
仅当 Load_balancing_policy 的值为 Lb_sticky 或 Lb_sticky_wild 时,此属性才适用。另外,必须将 Weak_affinity 设置为 FALSE。
此属性只用于可伸缩服务。
可选
无缺省值
ANYTIME
以秒计算的时间段,这段时间过后,RGM 将认为对该方法的调用已失败。对于给定的资源类型,仅为在 RTR 文件中声明的那些方法定义超时属性。
有条件的/可选
3600(一小时),如果在 RTR 文件中声明了此方法本身
ANYTIME
在两次资源故障快速探测的调用之间的秒数。该属性由 RGM 创建,并且仅当在 RTR 文件中声明此属性后,群集管理员才可以使用此属性。如果在 RTR 文件中指定了缺省值,则此属性是可选的。
如果在 RTR 文件中未指定 Tunable 属性,则该属性的 Tunable 值为 WHEN_DISABLED。
有条件的
无缺省值
WHEN_DISABLED
在资源类型的 RTR 文件中声明的扩展属性。资源类型的实现中定义了这些属性。资源特性属性中包含关于可为扩展属性设置的单个属性的信息。
有条件的
无缺省值
取决于特定的属性
修改在出现以下情况时 RGM 所采取的恢复操作:当资源无法成功启动或停止时,或者在资源监视器发现资源运行不正常并因而请求重新启动或故障转移时。
NONE、SOFT 或 HARD(方法失败)
当启动或停止方法(Prenet_start、Start、Monitor_stop、Stop、Postnet_stop)失败时,这些设置仅影响故障转移行为。成功启动资源之后,NONE、SOFT 和 HARD 将不会对资源监视器使用 scha_control 命令或 scha_control() 函数启动的后续资源重新启动或停止行为有任何影响。请参见 scha_control(1HA) 和 scha_control(3HA) 手册页。NONE 表示当先前列出的某个启动或停止方法失败时,RGM 将不执行任何恢复操作。SOFT 或 HARD 表示如果 Start 或 Prenet_start 方法失败,RGM 会将资源的组重定位到其他节点上。对于 Start 或 Prenet_start 失败,SOFT 与 HARD 相同。
对于 stop 方法(Monitor_stop、Stop 或 Postnet_stop)的失败,SOFT 与 NONE 相同。如果 Failover_mode 设置为 HARD,当这些停止方法之一失败时,RGM 将重新引导节点以强制资源组脱机。然后,RGM 可能尝试在其他节点上启动该组。
RESTART_ONLY 或 LOG_ONLY
与 NONE、SOFT 和 HARD 不同,它们影响的是在启动或停止方法失败时的故障转移行为,而 RESTART_ONLY 和 LOG_ONLY 将影响所有故障转移行为。故障转移行为包括由监视器启动的 (scha_control) 资源和资源组重新启动,以及由资源监视器 (scha_control) 启动的停止。RESTART_ONLY 表示监视器可以运行 scha_control 来重新启动资源或资源组。RGM 允许在 Retry_interval 指定的时间间隔内重新启动 Retry_count 次。如果超出 Retry_count 次,则不允许再进行重新启动。如果 Failover_mode 设置为 LOG_ONLY,则不允许进行资源重新启动或停止。将 Failover_mode 设置为 LOG_ONLY 相当于将 Failover_mode 设置为 RESTART_ONLY 并将 Retry_count 设置为零。
RESTART_ONLY 或 LOG_ONLY(方法失败)
如果 Prenet_start、Start、Monitor_stop、Stop 或 Postnet_stop 方法失败,则 RESTART_ONLY 和 LOG_ONLY 与 NONE 相同。即,既不故障转移也不重新引导节点。
Failover_mode 设置对数据服务的影响
Failover_mode 的每个设置对数据服务的影响取决于数据服务是受监视还是不受监视,数据服务是否基于数据服务开发库 (DSDL)。
如果数据服务实现了 Monitor_start 方法并且对资源的监视已启用,将对该数据服务进行监视。RGM 通过在启动资源自身之后执行 Monitor_start 方法来启动资源监视器。资源监视器将探测资源的运行状况。如果探测失败,资源监视器可能通过调用 scha_control() 函数请求重新启动或故障转移。对于基于 DSDL 的资源,探测可能会表明数据服务的部分失败(降级)或完全失败。重复的部分失败将累积为完全失败。
如果数据服务不提供 Monitor_start 方法或者对资源的监视已禁用,则不对数据服务进行监视。
基于 DSDL 的数据服务包括通过 GDS 使用 Agent Builder 开发的数据服务,或者通过使用 DSDL 直接开发的数据服务。某些数据服务(例如 HA Oracle)不是使用 DSDL 开发的。
NONE、SOFT 或 HARD(探测失败)
如果将 Failover_mode 设置为 NONE、SOFT 或 HARD 并且数据服务是基于 DSDL 的受监视服务,则当探测完全失败时,监视器将调用 scha_control() 函数以请求重新启动资源。如果探测持续失败,将在 Retry_interval 内将资源最多重新启动 Retry_count 次。如果在重新启动 Retry_count 次之后探测再次失败,监视器将请求把资源的组故障转移到其他节点上。
如果将 Failover_mode 设置为 NONE、SOFT 或 HARD 并且数据服务是基于 DSDL 的不受监视服务,则仅检测唯一一种失败— —资源的进程树中止。如果资源的进程树中止,则重新启动资源。
如果数据服务不是基于 DSDL 的服务,则重新启动或故障转移行为取决于资源监视器如何编码。例如,Oracle 资源监视器将通过重新启动资源或资源组,或者通过故障转移资源组进行恢复。
RESTART_ONLY(探测失败)
如果将 Failover_mode 设置为 RESTART_ONLY 并且数据服务是基于 DSDL 的受监视服务,则当探测完全失败时,将在 Retry_interval 内将资源重新启动 Retry_count 次。但是,如果超出 Retry_count 次,则资源监视器将退出、将资源状态设置为 FAULTED 并生成状态消息“应用程序有问题,但未重新启动。探测正在退出。”此时,虽然监视仍处于启用状态,但是在群集管理员修复并重新启动资源之前,资源将一直处于不受监视的状态。
如果将 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 并生成状态消息“应用程序有问题,但未重新启动。探测正在退出。”此时,虽然监视仍处于启用状态,但是在群集管理员修复并重新启动资源之前,资源将一直处于不受监视的状态。
如果将 Failover_mode 设置为 LOG_ONLY 并且数据服务是基于 DSDL 的不受监视的服务,则当进程树中止时,将记录一条消息但不重新启动资源。
如果受监视的数据服务不是基于 DSDL 的数据服务,则恢复行为取决于如何对资源监视器进行编码。如果将 Failover_mode 设置为 LOG_ONLY,则所有的 scha_control() 将请求重新启动资源或资源组,或者请求将失败的组故障转移。
可选
无
ANYTIME
以秒计算的时间段,这段时间过后,RGM 将认为对该方法的调用已失败。对于给定的资源类型,仅为在 RTR 文件中声明的那些方法定义超时属性。
有条件的/可选
3600(一小时),如果在 RTR 文件中声明了此方法本身
ANYTIME
以秒计算的时间段,这段时间过后,RGM 将认为对该方法的调用已失败。对于给定的资源类型,仅为在 RTR 文件中声明的那些方法定义超时属性。
有条件的/可选
3600(一小时),如果方法本身已在 RTR 文件中声明
ANYTIME
定义所使用的负载平衡策略的字符串。此属性仅用于可伸缩服务。如果在 RTR 文件中声明了 Scalable 属性,则 RGM 将自动创建此属性。Load_balancing_policy 可以取以下值:
Lb_weighted(缺省值)。根据在 Load_balancing_weights 属性中设置的权重在各个节点间分配负载。
Lb_sticky。可伸缩服务的给定客户机(由客户机的 IP 地址标识)总是发送到同一群集节点。
Lb_sticky_wild。连接到用通配符表示的粘滞服务的 IP 地址的给定客户机 IP 地址总是被发送到相同的群集节点,而忽略此 IP 地址的目标端口号。
有条件的/可选
Lb_weighted
AT_CREATION
只用于可缩放资源。如果在 RTR 文件中声明了 Scalable 属性,则 RGM 将自动创建此属性。格式为 weight@node,weight@node,其中 weight 是反映分布到指定 node 的相对负载部分的整数。分布到某个节点的负载部分是此节点的权重除以所有权重之和。例如,1@1,3@2 指定了节点 1 接收负载的四分之一,节点 2 接收负载的四分之三。空字符串 (“”) 为缺省值,它设置均匀的分配。未明确指定权重的任何节点的缺省权重为 1。
如果在 RTR 文件中未指定 Tunable 属性,则此属性的 Tunable 值为 ANYTIME。更改该属性将仅改变新连接的分配。
有条件的/可选
空字符串 ("")
ANYTIME
以秒计算的时间段,这段时间过后,RGM 将认为对该方法的调用已失败。对于给定的资源类型,仅为在 RTR 文件中声明的那些方法定义超时属性。
有条件的/可选
3600(一小时),如果在 RTR 文件中声明了此方法本身
ANYTIME
以秒计算的时间段,这段时间过后,RGM 将认为对该方法的调用已失败。对于给定的资源类型,仅为在 RTR 文件中声明的那些方法定义超时属性。
有条件的/可选
3600(一小时),如果在 RTR 文件中声明了此方法本身
ANYTIME
以秒计算的时间段,这段时间过后,RGM 将认为对该方法的调用已失败。对于给定的资源类型,仅为在 RTR 文件中声明的那些方法定义超时属性。
有条件的/可选
3600(一小时),如果在 RTR 文件中声明了此方法本身
ANYTIME
如果群集管理员通过管理公用程序启用或禁止监视器,则 RGM 将把此属性设置为 Enabled 或 Disabled。如果设置为 Disabled,那么虽然资源本身仍保持联机,但将停止对资源的监视。仅当重新启用监视之后,才会调用 Monitor_start 方法。如果资源没有监视器回调方法,则此属性不存在。
仅限于查询
无缺省值
无
资源所使用的逻辑主机名或共享地址网络资源的列表。对于可缩放服务,此属性必须是指存在于单独资源组的共享地址资源。对于失败转移服务,此属性是指存在于相同的资源组的逻辑主机名或共享地址资源。如果在 RTR 文件中声明了 Scalable 属性,则 RGM 将自动创建此属性。如果在 RTR 文件中没有声明 Scalable,Network_resources_used 将不可用,除非在 RTR 文件中显式声明。
如果在 RTR 文件中未指定 Tunable 属性,则此属性的 Tunable 值为 AT_CREATION。
SUNW.Event(5) 手册页介绍了如何为 CRNP 设置此属性。
有条件的/必需的
无缺省值
AT_CREATION
不能直接设置此属性。RGM 将把此属性设置为在过去的 n 秒内对此节点上的此资源执行 scha_control、Resource_restart 或 Resource_is_restarted 调用的次数。n 为资源的 Retry_interval 属性的值。只要此资源执行了 scha_control 停止,无论停止尝试成功与否,RGM 都会将资源重新启动计数器重置为零 (0)。
如果某个资源类型不声明 Retry_interval 属性,则该类资源的 Num_resource_restarts 属性不可用。
仅限于查询
无缺省值
无
不能直接设置此属性。RGM 将把此属性设置为在过去的 n 秒内资源已对其在此节点上的包含资源组执行 scha_control Restart 调用的次数。n 为此资源的 Retry_interval 属性的值。如果资源类型不声明 Retry_interval 属性,则该类资源的 Num_rg_restarts 属性不可用。
请参阅说明
无缺省值
无
如果群集管理员通过管理公用程序启用或禁止资源,则 RGM 将把此属性设置成 Enabled 或 Disabled。如果设置为 Disabled,资源将被脱机并且仅在重新启用该资源后才能运行回调。
仅限于查询
无缺省值
无
端口(服务器在其上进行侦听)号列表。每个端口号后附加斜杠 (/),斜杠后接该端口所使用的协议,例如 Port_list=80/tcp 或 Port_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 设置此属性。
有条件的/必需的
无缺省值
ANYTIME
以秒计算的时间段,这段时间过后,RGM 将认为对该方法的调用已失败。对于给定的资源类型,仅为在 RTR 文件中声明的那些方法定义超时属性。
有条件的/可选
3600(一小时),如果在 RTR 文件中声明了此方法本身
ANYTIME
以秒计算的时间段,这段时间过后,RGM 将认为对该方法的调用已失败。对于给定的资源类型,仅为在 RTR 文件中声明的那些方法定义超时属性。
有条件的/可选
3600(一小时),如果在 RTR 文件中声明了此方法本身
ANYTIME
资源的简单说明。
可选
空字符串
ANYTIME
在同一组或不同组中与 Resource_dependencies 资源具有强依赖性的资源的列表。如果该列表中有任一资源处于脱机状态,则无法启动此资源。如果此资源和列表中的某个资源同时启动,则 RGM 将一直等到列表中的资源启动之后才启动此资源。如果此资源的 Resource_dependencies 列表中的资源不启动,则此资源将保持脱机状态。此资源的列表中的资源可能不启动的原因在于:列表中资源的资源组仍保持脱机状态或处于 START_FAILED 状态。如果此资源由于与无法启动的其他资源组中的资源具有依赖性而保持脱机状态,则此资源的组将进入 PENDING_ONLINE_BLOCKED 状态。
如果此资源与该列表中的资源同时进入脱机状态,则将在停止该列表中的资源之前先停止此资源。但是,即使此资源仍处于联机状态或无法停止,该列表中属于另一不同资源组的资源照样也会停止。除非先禁用此资源,否则无法禁用列表中的资源。
缺省情况下,在资源组中,应用程序资源对网络地址资源具有固有的强依赖性。资源组属性中的 Implicit_network_dependencies 包含更多信息。
在资源组中,按照依赖顺序,Prenet_start 方法将先于 Start 方法运行。按照依赖顺序,Postnet_stop 方法将在运行 Stop 方法后运行。在不同的资源组中,依赖资源将等待被依赖资源完成 Prenet_start 和 Start 之后再运行 Prenet_start。被依赖资源将等待依赖资源完成 Stop 和 Postnet_stop 之后再运行 Stop。
可选
空列表
ANYTIME
在同一组或不同组中与 Resource_dependencies_restart 资源具有重新启动依赖性的资源的列表。
此属性的功能与 Resource_dependencies 相同,以下情况除外:如果重新启动依赖性列表中的任何资源被重新启动,则重新启动此资源。RGM 将在列表中的资源重新联机之后重新启动此资源。
可选
空列表
ANYTIME
在同一组或不同组中与 Resource_dependencies_weak 资源具有弱依赖性的资源的列表。弱依赖性用于确定方法调用的顺序。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_start 和 Start 之后再运行 Prenet_start。被依赖资源将等待依赖资源完成 Stop 和 Postnet_stop 之后再运行 Stop。
可选
空列表
ANYTIME
资源实例的名称。在群集配置中此名称必须唯一,并且在资源创建后该名称无法进行更改。
必需的
无缺省值
无
与资源关联的 Solaris 项目名称。使用该属性可以将 Solaris 资源的管理功能(例如 CPU 共享和资源池)应用于群集数据服务。当 RGM 使资源联机时,它将启动此项目名称下的相关进程。如果未指定此属性,将通过包含资源的资源组的 RG_project_name 属性获取项目名称(请参见 rg_properties(5) 手册页)。如果也未指定 RG_project_name 属性,RGM 将使用预定义的项目名称 default。指定的项目名称必须已在项目数据库中(请参见 projects(1) 手册页和《System Administration Guide: Solaris Containers-Resource Management and Solaris Zones》)。
仅从 Solaris 9 开始支持此属性。
对此属性的更改将在下次资源被启动时生效。
可选
空
ANYTIME
每个群集节点上由 RGM 确定的资源状态。可能的状态包括 ONLINE、OFFLINE、START_FAILED、STOP_FAILED、MONITOR_FAILED、ONLINE_NOT_MONITORED、STARTING 和 STOPPING。
不能配置该属性。
仅限于查询
无缺省值
无
如果资源失败,监视器尝试重新启动该资源的次数。如果超出 Retry_count,则根据特定数据服务和 Failover_mode 属性的设置,监视器可能执行以下操作之一:
允许资源组保留在当前的主节点上,即使资源处于有问题的状态
请求将资源组故障转移到其他节点上
该属性由 RGM 创建,并且仅当在 RTR 文件中声明此属性后,群集管理员才可以使用此属性。如果在 RTR 文件中指定了缺省值,则此属性是可选的。
如果在 RTR 文件中未指定 Tunable 属性,则此属性的 Tunable 值为 WHEN_DISABLED。
如果为此属性指定了负值,监视器将无限次尝试重新启动资源。
有条件的
参见上述说明
WHEN_DISABLED
尝试重新启动失败的资源前计算的秒数。资源监视器将此属性与 Retry_count 一起使用。该属性由 RGM 创建,并且仅当在 RTR 文件中声明此属性后,群集管理员才可以使用此属性。如果在 RTR 文件中指定了缺省值,则此属性是可选的。
如果在 RTR 文件中未指定 Tunable 属性,则此属性的 Tunable 值为 When_disabled。
有条件的
无默认值(参见上述说明)
WHEN_DISABLED
指明资源是不是可伸缩资源,即资源是否使用 Sun Cluster 软件的网络负载平衡功能。
如果在 RTR 文件中声明了此属性,则 RGM 将为该类型的资源自动创建以下可伸缩服务属性:Affinity_timeout、Load_balancing_policy、Load_balancing_weights、Network_resources_used、Port_list、UDP_affinity 和 Weak_affinity。这些属性具有缺省值,除非在 RTR 文件中对它们进行了显式声明。Scalable 的默认值(在 RTR 文件中声明时)为 TRUE。
如果在 RTR 文件中声明此属性,则不能其指定给除了 AT_CREATION 以外的任何 Tunable 属性。
如果未在 RTR 文件中声明此属性,该资源将不具有可伸缩性,您不能调节此属性,并且 RGM 也不会设置任何可伸缩服务属性。但是,您可以在 RTR 文件中显式声明 Network_resources_used 和 Port_list 属性。这些属性对不可伸缩服务和可伸缩服务都会非常有用。
r_properties(5) 手册页中详细介绍了如何将此资源属性与 Failover 资源类型属性结合使用。
可选
无缺省值
AT_CREATION
以秒计算的时间段,这段时间过后,RGM 将认为对该方法的调用已失败。对于给定的资源类型,仅为在 RTR 文件中声明的那些方法定义超时属性。
有条件的/可选
3600(一小时),如果在 RTR 文件中声明了此方法本身
ANYTIME
由资源监视器使用 scha_resource_setstatus 命令或 scha_resource_setstatus() 函数设置。可能的值包括 OK、degraded、faulted、unknown 和 offline。当资源进入联机或脱机状态时,如果资源的监视器或方法未设置 Status 值,则 RGM 将自动设置 Status 值。
仅限于查询
无缺省值
无
由资源监视器在设置 Status 属性时同时设置。当资源进入联机或脱机状态时,如果资源调用的方法未设置此属性,则 RGM 将自动把此属性的值复位为空字符串。
仅限于查询
无缺省值
无
以秒计算的时间段,这段时间过后,RGM 将认为对该方法的调用已失败。对于给定的资源类型,仅为在 RTR 文件中声明的那些方法定义超时属性。
有条件的/可选
3600(一小时),如果在 RTR 文件中声明了此方法本身
ANYTIME
在两次资源高开销故障探测的调用之间的秒数。该属性由 RGM 创建,并且仅当在 RTR 文件中声明此属性后,群集管理员才可以使用此属性。如果在 RTR 文件中指定了缺省值,则此属性是可选的。
如果在 RTR 文件中未指定 Tunable 属性,则该属性的 Tunable 值为 When_disabled。
有条件的
无缺省值
WHEN_DISABLED
资源类型,此资源是该资源类型的一个实例。
必需的
无缺省值
无
指定当前与此资源关联的资源类型的版本。RGM 将自动创建此属性,该属性不能在 RTR 文件中声明。此属性的值与资源类型的 RT_version 属性一样。创建资源时,并不明确指定 Type_version 属性,尽管它可能显示为资源类型名称的后缀。编辑资源时,可以将 Type_version 属性更改为新值。
此属性的可调性源自以下源:
资源类型的当前版本
RTR 文件中的 #$upgrade_from 指令
请参阅说明
无缺省值
请参阅说明
如果将此属性设置为 TRUE,则将来自给定客户机的所有 UDP 通信流量都发送给当前为该客户机处理所有 TCP 通信流量的同一个服务器节点。
仅当 Load_balancing_policy 的值为 Lb_sticky 或 Lb_sticky_wild 时,此属性才适用。另外,必须将 Weak_affinity 设置为 FALSE。
此属性只用于可伸缩服务。
可选
无缺省值
WHEN_DISABLED
以秒计算的时间段,这段时间过后,RGM 将认为对该方法的调用已失败。对于给定的资源类型,仅为在 RTR 文件中声明的那些方法定义超时属性。
有条件的/可选
3600(一小时),如果在 RTR 文件中声明了此方法本身
ANYTIME
以秒计算的时间段,这段时间过后,RGM 将认为对该方法的调用已失败。对于给定的资源类型,仅为在 RTR 文件中声明的那些方法定义超时属性。
有条件的/可选
3600(一小时),如果在 RTR 文件中声明了此方法本身
ANYTIME
如果将此属性设置为 TRUE,此属性将启用客户机的弱关联形式。较弱形式的客户机关联允许将来自给定客户机的连接发送到同一个服务器节点,以下情况除外:
服务器侦听器为响应以下操作而启动:故障监视器的重新启动、资源的故障转移或切换转移、节点的重新加入群集等
由于群集管理员执行了管理操作,可伸缩资源的 Load_balancing_weights 发生更改
就内存消耗和处理器周期而言,不采用缺省形式而启用较弱的关联性所使用的系统开销较低。
仅当 Load_balancing_policy 的值为 Lb_sticky 或 Lb_sticky_wild 时,此属性才适用。
此属性只用于可伸缩服务。
可选
无缺省值
WHEN_DISABLED
以下信息介绍了由 Sun Cluster 软件定义的资源组属性。属性值分为以下几类:
必需。群集管理员在使用管理实用程序创建资源组时必须指定值。
可选。如果群集管理员在创建资源组时未指定值,系统将会提供一个默认值。
仅限于查询。不能通过管理工具直接设置。
首先列出的是属性名称,后面是对该属性的说明。
在形成新群集时,此属性用于控制资源组管理器 (RGM) 是否自动启动资源组。默认值为 TRUE。
如果设置为 TRUE,则同时重新引导群集的所有节点时,RGM 将尝试自动启动资源组以实现 Desired_primaries。
如果设置为 FALSE,则在重新引导群集时资源组将不自动启动。在使用 scswitch 命令或等价的 GUI 指令第一次将资源组手动切换为联机之前,资源组将一直保持脱机状态。联机后,资源组将恢复正常的故障转移行为。
可选
TRUE
ANYTIME
可同时运行组的首选节点数目。
默认值为 1。如果 RG_mode 属性为 Failover,则此属性的值必须不大于 1。如果 RG_mode 属性为 Scalable,则值大于 1 是允许的。
可选
1
ANYTIME
一个布尔值,指示是否在群集成员资格更改时重新计算组处于联机状态的节点集。重新计算将造成资源组管理器使组在优先级较低的节点上脱机,并在优先级较高的节点上联机。
可选
FALSE
ANYTIME
表明群集文件系统是否由此资源组中的任何资源使用。群集管理员可以指定的合法值为星号 (*)(用于表示所有全局资源)和空字符串 (“”)(用于表示无全局资源)。
可选
所有全局资源
ANYTIME
一个布尔值,指示在设置为 True 时 RGM 应当强制非网络地址资源对组内的网络地址资源具有隐含强依赖性。这意味着 RGM 将在组内所有其他资源启动之前启动所有网络地址资源,在组内所有其他资源停止之后停止网络地址资源。网络地址资源包括逻辑主机名和共享地址资源类型。
在可伸缩资源组中,此属性不起作用,因为可伸缩资源组不包含任何网络地址资源。
可选
TRUE
ANYTIME
组一次可以联机的最大节点数。
如果 RG_mode 属性为 Failover,则此属性的值必须不大于 1。如果 RG_mode 属性为 Scalable,则值大于 1 是允许的。
可选
1
ANYTIME
群集节点列表,在这些节点上可以按优先顺序使组联机。这些节点被称为资源组的潜在主节点或主控节点。
可选
任意顺序的所有群集节点的列表
ANYTIME
群集文件系统中,组资源可以编写所需管理文件的目录。某些资源可能需要此属性。使 Pathprefix 对每个资源组都是唯一的。
可选
空字符串
ANYTIME
非负整数值(以秒为单位),RGM 使用此属性值确定使以下实例中的资源组联机到何处:
在重新配置的情况下
导致执行 scha_control GIVEOVER 命令或函数
在重新配置的情况下,资源组在过去 Pingpong_interval 秒内在特定节点上多次联机失败。此失败的原因在于资源的 Start 或 Prenet_start 方法在非零状态下或超时后退出。因此,此节点被认为不适于托管资源组,RGM 将查找其他主控节点。
如果资源在给定节点上执行 scha_control 命令或 scha_control GIVEOVER 命令,因而导致其资源组故障转移到其他节点上,则第一个节点(在其上运行过 scha_control)不能作为同一资源执行另一个 scha_control GIVEOVER 的目标节点,直至经过 Pingpong_interval 秒之后。
可选
3600(一小时)
ANYTIME
组中包含的资源的列表。群集管理员不直接设置此属性。而是当群集管理员在资源组中添加或删除资源时,由 RGM 更新此属性。
仅限于查询
无缺省值
无
RGM 将尝试找到其他给定资源组的当前主控节点上的资源组(正关联),或尝试找到给定资源组的非当前主控节点上的资源组(负关联)。
您可以将 RG_affinities 设置为以下字符串:
++,即较强正关联
+,即较弱正关联
-,即较弱负关联
--,即强负关联
+++,带故障转移托管的较强正关联
例如,RG_affinities=+RG2,--RG3 表示此资源组具有与 RG2 的较弱正关联和 RG3 的较强负关联。
《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的第 2 章 “Administering Data Service Resources”中介绍了如何使用 RG_affinities。
可选
空字符串
ANYTIME
可选资源组列表,用于指明在同一节点上使其他组联机或脱机的优先顺序。所有强 RG_dependencies 和 RG_affinities(正负)的图形都不允许包含循环。
例如,假定资源组 RG1 的 RG_dependencies 列表中列有资源组 RG2,即 RG1 与 RG2 具有资源组依赖性。以下列表汇总了此资源组依赖性的影响:
当某个节点加入群集时,必须等该节点上的所有 Boot 方法在 RG2 中的资源上运行完之后,才能在 RG1 中的资源上运行该节点的 Boot 方法。
如果 RG1 和 RG2 同时在同一个节点上处于 PENDING_ONLINE 状态,则在 RG2 中的所有资源运行完其启动方法之后,RG1 中的资源才运行启动方法(Prenet_start 或 Start)。
如果 RG1 和 RG2 同时在同一个节点上处于 PENDING_OFFLINE 状态,则在 RG1 中的所有资源运行完其停止方法之后,RG2 中的资源才运行停止方法(Stop 或 Postnet_stop)。
如果切换主节点会使 RG1 在任意一个节点上保持联机而使 RG2 在所有节点上都保持脱机,则尝试切换 RG1 或 RG2 的主节点将会失败。scswitch(1M) 和 scsetup(1M) 手册页包含更多信息。
如果在 RG2 上将 Desired_primaries 设置为零,则不允许在 RG1 上将 Desired_primaries 属性设置为大于零的值。
如果在 RG2 上将 Auto_start_on_new_cluster 属性设置为 FALSE,则不允许在 RG1 上将 Auto_start_on_new_cluster 属性设置为 TRUE。
可选
空列表
ANYTIME
资源组的简单说明。
可选
空字符串
ANYTIME
一个布尔值,指示是否正在切换转移资源组所依赖的全局设备。如果将此属性设置为 TRUE,则将切换转移全局设备。如果将此属性设置为 FALSE,则表明没有切换转移全局设备。资源组依赖于其 Global_resources_used 属性中指定的全局设备。
请不要直接设置 RG_is_frozen 属性。RGM 将在全局设备的状态发生更改时更新 RG_is_frozen 属性。
可选
无缺省值
无
指明资源组是故障转移资源组还是可伸缩资源组。如果值为 Failover,则 RGM 将把该组的 Maximum_primaries 属性设置为 1 并将资源组限制为由单个节点控制。
如果此属性的值为 Scalable,则 RGM 允许为 Maximum_primaries 属性设置大于 1 的值,因此,该组可同时受多个节点控制。RGM 不允许将 Failover 属性为 True 的资源添加到 RG_mode 为 Scalable 的资源组中。
如果 Maximum_primaries 为 1,则默认值为 Failover。如果 Maximum_primaries 的值大于 1,则缺省值为 Scalable。
可选
取决于 Maximum_primaries 的值。
无
资源组的名称。此属性是必需的,并且在群集中必须唯一。
必需的
无缺省值
无
与资源组相关的 Solaris 项目名称(请参见 projects(1) 手册页)。使用该属性可以将 Solaris 资源的管理功能(例如 CPU 共享和资源池)应用于群集数据服务。RGM 使资源组联机时,将为不具有 Resource_project_name 属性集的资源启动此项目名称下的相关进程(请参见 r_properties(5) 手册页)。指定的项目名称必须已在项目数据库中(请参见 projects(1) 手册页和《System Administration Guide: Solaris Containers-Resource Management and Solaris Zones》)。
仅从 Solaris 9 开始支持此属性。
对此属性的更改将在下次资源被启动时生效。
可选
文本字符串 "default"
ANYTIME
由 RGM 将其设置为 UNMANAGED、ONLINE、OFFLINE、PENDING_ONLINE、PENDING_OFFLINE、ERROR_STOP_FAILED、ONLINE_FAULTED 或 PENDING_ONLINE_BLOCKED,以说明每个群集节点上的组的状态。
不能配置该属性。不过,您可以通过运行 scswitch 命令或者使用等效的 scsetup 或 SunPlex Manager 命令间接设置此属性。如果组不在 RGM 的控制下,可以处于 UNMANAGED 状态。
以下说明汇总了所有状态。
状态仅适于单个节点,UNMANAGED 状态除外,该状态适于所有节点。例如,资源组可能在节点 A 上 OFFLINE,但在节点 B 上 PENDING_ONLINE。
新建资源组的初始状态,或者先前受管理的资源组的状态。不是尚未对组中的资源运行 Init 方法,就是已经对组中的资源运行了 Fini 方法。
该组不受 RGM 管理。
已在节点上启动资源组。换言之,适于每个资源的启动方法 Prenet_start、Start 和 Monitor_start 已在组中所有已启用的资源上成功执行。
已在节点上停止资源组。换言之,适于每个资源的停止方法 Monitor_stop、Stop 和 Postnet_stop 已在组中所有已启用的资源上成功执行。此状态还适于在节点上首次启动资源组之前。
正在节点上启动资源组。适于每个资源的启动方法 Prenet_start、Start 和 Monitor_start 正在组中已启用的资源上执行。
正在节点上停止资源组。适于每个资源的停止方法 Monitor_stop、Stop 和 Postnet_stop 正在组中已启用的资源上执行。
资源组内的一个或多个资源无法成功停止,并且处于 Stop_failed 状态。组中的其他资源可能保持联机状态,也可能保持脱机状态。在 ERROR_STOP_FAILED 状态被清除之前,不允许在任何节点上启动资源组。
必须使用管理命令(例如 scswitch -c)手动中止 Stop_failed 资源并将其状态重置为 OFFLINE。
资源组曾处于 PENDING_ONLINE 状态,并已在此节点上启动。但是,一个或多个资源在 Start_failed 状态或 Faulted 状态下停止。
资源组无法完全启动,因为该资源组内的一个或多个资源与其他资源组中的资源具有未满足的强资源依赖性。此类资源将保持 OFFLINE 状态。满足资源依赖性之后,资源组将自动返回到 PENDING_ONLINE 状态。
仅限于查询
无缺省值
无
如果资源组的 RG_system 属性为 TRUE,将限制对该资源组和资源组包含的资源执行的特定操作。此限制旨在防止意外修改或删除重要的资源组和资源。此属性仅影响 scrgadm 和 scswitch 命令。对 scha_control(1HA) 和 scha_control(3HA) 的操作不受影响。
在资源组(或资源组的资源)上执行受限制的操作之前,您必须先将该资源组的 RG_system 属性设置为 FALSE。当修改或删除支持群集服务的资源组时,或者当修改或删除此类资源组中包含的资源时,请慎用此属性。
操作 |
示例 |
---|---|
删除资源组 |
scrgadm -r -g RG1 |
编辑资源组属性(RG_system 除外) |
scrgadm -c -t RG1 -y nodelist=... |
将资源添加到资源组 |
scrgadm -a -j R1 -g RG1 |
从资源组中删除资源 |
scrgadm -r -j R1 -g RG1 |
编辑资源组中某个资源的属性 |
scrgadm -c -j R1 |
使资源组脱机 |
scswitch -F -g RG1 |
管理资源组 |
scswitch -o -g RG1 |
取消管理资源组 |
scswitch -u -g RG1 |
启用资源 |
scswitch -e -j R1 |
启用对资源的监视 |
scswitch -e -M -j R1 |
禁用资源 |
scswitch -n -j R1 |
禁用对资源的监视 |
scswitch -n -M -j R1 |
如果资源组的 RG_system 属性为 TRUE,则能编辑的该资源组属性只有 RG_system 属性本身。换言之,编辑 RG_system 属性永不受限制。
可选
FALSE
ANYTIME
本节介绍了可用来更改系统定义的属性或用来创建扩展属性的资源属性。
您不能将 Null 或空字符串 (“”) 指定为 boolean、enum 或 int 类型的默认值。
首先列出的是属性名称,后面是对该属性的说明。
对于 stringarray 类型所允许的数组元素的最大数。
对于 stringarray 类型所允许的数组元素的最小数。
表明属性的缺省值。
一个字符串注释,用于对属性作简单说明。对于系统定义的属性,不能在 RTR 文件中设置 Description 属性。
对于 enum 类型,为该属性所允许的一组字符串值。
如果使用该属性,则表明 RTR 文件条目声明了一个由资源类型的实现所定义的扩展属性,否则,此项为系统定义的属性。
对于 int 类型所允许的属性的最大值。
对于 string 和 stringarray 类型所允许的最大字符串长度。
对于 int 类型所允许的属性的最小值。
对于 string 和 stringarray 类型所允许的最小字符串长度。
资源属性的名称。
表明群集管理员何时可以设置某个资源中的此属性值。设置为 NONE 或 FALSE 可以防止群集管理员设置属性。允许群集管理员调节属性的值为 TRUE、ANYTIME(随时)、AT_CREATION(仅在创建资源时)或 WHEN_DISABLED(禁用资源时)。要建立其他条件(例如“禁用监视时”或“脱机时”),请将此属性设置为 ANYTIME 并在 Validate 方法中验证资源的状态。
不同的标准资源属性有不同的默认值,如下面的条目所示。如果没有在 RTR 文件中进行指定,则调节扩展属性的默认设置为 TRUE (ANYTIME)。
允许的类型为 string、boolean、integer、enum 和 stringarray。对于系统定义的属性,您不能在 RTR 文件条目中设置类型属性。类型决定了可接受的属性值和在 RTR 文件项中允许的特定于类型的属性。enum 类型是一组字符串值。