Sun Cluster 提供了一组用来定义数据服务静态配置的资源类型特性和资源特性。 资源类型特性用来指定资源的类型及其版本、API 的版本等,还可以用来指定指向每个回叫方法的路径。 表 A–1 列出了所有资源类型特性。
资源特性(例如,Failover_mode、Thorough_probe_interval)和方法超时也定义该资源的静态配置。 动态资源特性(例如 Resource_state 和 Status)反映被管理资源的活动状态。 表 A–2 介绍了各种资源特性。
资源类型和资源特性在资源类型登记 (RTR) 文件中声明,该文件是数据服务的基本组件。 RTR 文件用来在群集管理员使用 Sun Cluster 登记数据服务时定义数据服务的初始配置。
建议您使用 Agent Builder 生成数据服务的 RTR 文件,因为 Agent Builder 声明了一组对于任何数据服务来说既有用又必需的特性。 例如,有些特性(如 Resource_type)必须在 RTR 文件中声明,否则数据服务的登记将失败。 其它特性尽管没有此方面的要求,但是除非您在 RTR 文件中进行声明,否则系统管理员将无法使用它们;而一些特性无论是否进行声明都可用,因为 RGM 对它们进行了定义并为其提供了缺省值。 要避免发生这种复杂的情况,您只需使用 Agent Builder,以确保生成适当的 RTR 文件。 如果需要,今后您可以编辑该 RTR 文件,以更改具体值。
本小节的其余内容介绍了 Agent Builder 创建的 RTR 文件样例 。
群集管理员无法配置您在 RTR 文件中声明的资源类型特性。 这些特性将成为永久资源类型配置中的一部分。
资源类型特性 Installed_nodes 可由系统管理员配置。 实际上,此特性只能由系统管理员配置,而您无法在 RTR 文件中对其进行声明。
资源类型声明的语法为:
property_name = value; |
RGM 认为特性名是不区分大小写的。 由 Sun 提供的 RTR 文件中的特性名称惯例是将名称的首字母大写,其余字母小写(方法名除外)。 方法名以及特性的属性中包含的都是大写字母。
以下是 RTR 文件中为 smpl 数据服务声明的资源类型:
# Sun Cluster Data Services Builder template version 1.0 # Registration information and resources for smpl # #NOTE: Keywords are case insensitive, i.e., you can use #any capitalization style you prefer. # Resource_type = "smpl"; Vendor_id = SUNW; RT_description = "Sample Service on Sun Cluster"; RT_version ="1.0"; API_version = 2; Failover = TRUE; Init_nodes = RG_PRIMARIES; RT_basedir=/opt/SUNWsmpl/bin; Start = smpl_svc_start; Stop = smpl_svc_stop; Validate = smpl_validate; Update = smpl_update; Monitor_start = smpl_monitor_start; Monitor_stop = smpl_monitor_stop; Monitor_check = smpl_monitor_check;
您必须将 Resource_type 特性声明为 RTR 文件中的第一项。 否则,资源类型的登记将失败。
提供资源类型的名称。 您可以仅使用 Resource_type 特性指定资源类型名称 (smpl),或在该特性前用 Vendor_id 作为前缀,前缀 与资源类型之间用“.”分隔 (SUNW.smpl),如样例中所示。 如果使用 Vendor_id,请将其设置为用来定义资源类型的公司的股票代号。 资源类型名称在群集中必须是唯一的。
按照惯例,资源类型名称 (Resource_typeVendor_id) 用作软件包名称。 尽管 RGM 没有强制要求进行限制,但因为软件包名称的字符数不能超过九个,因此将这两个特性的字符总数限制在九个或更少字符数以内不失为一种好方法。 另一方面,Agent Builder 将明确地根据该资源类型名称生成软件包名称,因此它要强制执行九个字符数限制。
用于标识数据服务样例的版本。
用于标识 API 的版本。 例如,API_version = 2 表明数据服务在 Sun Cluster 3.0 版本中运行。
表明数据服务无法在可同时在多个节点上联机的资源组中运行,即指定了一个故障切换数据服务。 有关详细信息,请参阅将数据服务传送到群集。
提供指向由 RGM 调用的各个回叫方法程序的路径。 这些路径是基于 RT_basedir 所指定的目录的相对路径。
指定 RGM 仅对可以控制数据服务的节点调用 Init、Boot、Fini 和 Validate 方法。 RG_PRIMARIES 指定的节点是安装了数据服务的所有节点的子集。 将值设置为 RT_INSTALLED_NODES 可指定 RGM 对安装有数据服务的所有节点调用这些方法。
指向 /opt/SUNWsample/bin,作为指向完整相对路径(例如回叫方法路径)的目录路径。
提供指向由 RGM 调用的各个回叫方法程序的路径。 这些路径是基于 RT_basedir 所指定的目录的相对路径。
与资源类型特性一样,资源特性也在 RTR 文件中声明。 按照惯例,在 RTR 文件中资源特性声明位于资源类型声明之后。 资源声明的语法是一组用花括号括起来的属性值对:
{ Attribute = Value; Attribute = Value; . . . Attribute = Value; } |
对于由 Sun Cluster 提供的资源特性,即所谓系统定义的特性,您可以在 RTR 文件中更改具体属性。 例如,Sun Cluster 为每个回叫方法提供方法超时特性,并指定缺省值。 在 RTR 文件中,您可以指定各种缺省值。
您也可以使用一组由 Sun Cluster 提供的特性属性,在 RTR 文件中定义新的资源特性,即所谓的扩展特性。 表 A–4 中列出了用于更改和定义资源特性的属性。 在 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 秒。 要获得资源特性属性的完整列表,请参阅表 A–4。
{ 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) 手册页):
表示在 Start 或 Stop 方法失败的情况下,RGM 是否应重定位资源组或中断节点。
用于故障监视器。 Tunable 等于 Anytime,因此如果故障监视器不能发挥最佳工作效果,系统管理员可以对这些特性进行调整。
数据服务使用的逻辑主机名或共享地址资源列表。 Agent Builder 将声明此特性,因此配置数据服务时,系统管理员可以指定资源列表(如果有)。
设置为 FALSE 可表明此资源不使用群集联网(共享地址)工具。 此设置与设为 TRUE 的资源类型 Failover 特性相符,用来表明故障切换服务。 有关如何使用此特性的其它信息,请参阅将数据服务传送到群集和实现回叫方法。
将自动声明这些特性,但是在故障切换资源类型中不能发挥作用。
标识服务器侦听的端口的列表。 Agent Builder 将声明此特性,因此系统管理员可以在配置数据服务时指定端口列表。
# Extension Properties # # The cluster administrator must set the value of this property to point to the # directory that contains the configuration files used by the application. # For this application, smpl, specify the path of the configuration file on # PXFS (typically named.conf). { PROPERTY = Confdir_list; EXTENSION; STRINGARRAY; TUNABLE = AT_CREATION; DESCRIPTION = "The Configuration Directory Path(s)"; } # The following two properties control restart of the fault monitor. { PROPERTY = Monitor_retry_count; EXTENSION; INT; DEFAULT = 4; TUNABLE = ANYTIME; DESCRIPTION = "Number of PMF restarts allowed for fault monitor."; } { PROPERTY = Monitor_retry_interval; EXTENSION; INT; DEFAULT = 2; TUNABLE = ANYTIME; DESCRIPTION = "Time window (minutes) for fault monitor restarts."; } # Time out value in seconds for the probe. { PROPERTY = Probe_timeout; EXTENSION; INT; DEFAULT = 120; TUNABLE = ANYTIME; DESCRIPTION = "Time out value for the probe (seconds)"; } # Child process monitoring level for PMF (-C option of pmfadm). # Default of -1 means to not use the -C option of pmfadm. # A value of 0 or greater indicates the desired level of child-process. # monitoring. { PROPERTY = Child_mon_level; EXTENSION; INT; DEFAULT = -1; TUNABLE = ANYTIME; DESCRIPTION = “Child monitoring level for PMF"; } # User added code -- BEGIN VVVVVVVVVVVV # User added code -- END ^^^^^^^^^^^^
Agent Builder 创建了一些对大多数的数据服务都有用的扩展特性,如下所示。
指定应用程序配置目录的路径,这对于很多应用程序是有用的信息。 配置数据服务时,系统管理员可以提供此目录的位置。
用于控制故障监视器本身的重启操作,而不是服务器守护程序的重启操作。
用于设置 PMF 要完成的监视操作的级别。 有关详细信息,请参阅 pmfadm(1M)。
您可以在由用户添加的代码注释分隔的区域内创建其它扩展特性。