资源类型名称的三个组成部分是在 RTR 文件中指定为 Vendor_id、Resource_type 和 RT_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 文件的内容之后,都需要更改 RTR 文件中的 RT_Version 字符串。 此特性的值必须明确表明哪一个是该资源类型的新版本,哪一个是旧版本。 如果未更改 RTR 文件,则无需更改 RT_Version 字符串。
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 文件,但是不支持将现有资源迁移到新资源类型。