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

资源类型登记文件

资源类型名称

资源类型名称的三个组成部分是在 RTR 文件中指定为 Vendor_idResource_typeRT_version 的特性。 scrgadm 命令用来插入句点和冒号分界符以创建资源类型的名称:


vendor_id.resource_type:rt_version

Vendor_id 前缀用来区分不同供应商提供的两个名称相同的登记文件。 RT_version 用来区分同一基本资源类型的多个登记版本(升级)。 为了确保 Vendor_id 的唯一性,建议使用创建该资源类型的公司的股票标志。

如果 RT_version 字符串包含空格、制表符、正斜杠 (/)、反斜杠 (\)、星号 (*)、问号 (? )、逗号 (,)、分号 (;)、左方括号 ([) 或右方括号 (]) 字符,资源类型的登记将失败。

从 Sun Cluster 3.1 开始,RT_Version 特性(在 Sun Cluster 3.0 中为可选特性)已成为必需的特性。

以下命令将返回全限定名称:


scha_resource_get -O Type -R resource_name -G resource_group_name

在 Sun Cluster 3.1 以前的版本中登记的资源类型名称继续采用以下语法:


vendor_id.resource_type

指令

支持升级的资源类型的 RTR 文件必须包含 #$upgrade 指令,后面跟有零或多个采用以下格式的指令:


#$upgrade_from version tunability

upgrade_from 指令由字符串 #$upgrade_from 组成,其后跟有 RT_Version,再后面跟有对该资源的可调性约束。 如果从中执行升级操作的资源类型不具有任何版本,则将 RT_Version 指定为空字符串,如下面最后一个示例所示:


#$upgrade_from   "1.1"   when_offline 
#$upgrade_from   "1.2"   when_offline
#$upgrade_from   "1.3"   when_offline
#$upgrade_from   "2.0"   when_unmonitored
#$upgrade_from   "2.1"   anytime
#$upgrade_from   ""      when_unmanaged

当系统管理员尝试更改资源的 Type_version 时,RGM 将对资源执行这些约束。 如果该资源类型的当前版本未出现在列表中,RGM 将强制执行可调性 When_unmanaged

这些指令必须显示在 RTR 文件中的资源类型特性声明部分和 RTR 文件中的资源声明部分之间。 请参阅 rt_reg( 4)

更改 RTR 文件中的 RT_Version

每当更改 RTR 文件的内容之后,都需要更改 RTR 文件中的 RT_Version 字符串。 此特性的值必须明确表明哪一个是该资源类型的新版本,哪一个是旧版本。 如果未更改 RTR 文件,则无需更改 RT_Version 字符串。

Sun Cluster 早期版本中的资源类型名称

Sun Cluster 3.0 中的资源类型名称不包含版本后缀


vendor_id.resource_name

原来在 Sun Cluster 3.0 中登记的资源类型将继续使用采用此格式的名称(即使是在您将群集软件升级为 Sun Cluster 3.1 或更高版本之后)。 同样地,如果 RTR 文件是在运行 Sun Cluster 3.1 或更高版本软件的群集上进行登记的,则其 RTR 文件中缺少 #$upgrade 指令的资源类型将被指定为 Sun Cluster 3.0 格式的名称,不包含版本后缀。

在 Sun Cluster 3.0 中,您可以登记包含 #$upgrade#$upgrade_from 的 RTR 文件,但是不支持将现有资源迁移到新资源类型。