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

设置资源类型注册文件的内容

资源类型名称

资源类型名称的三个部分分别是在 RTR 文件中指定为 vendor-idresource-typert-version 的属性。scrgadm 命令插入句号和冒号分界符来创建资源类型的名称:

vendor-id.resource-type:rt-version

vendor-id 前缀用来区别不同公司提供的具有相同名称的两个注册文件。为确保 vendor-id 是唯一的,请在创建资源类型时使用公司的股票代号。rt-version 用于区别相同基本资源类型的多个注册版本(升级)。

可以通过键入以下命令来获取全限定资源类型名称:


# scha_resource_get -O Type -R resource-name -G resource-group-name

使用 Sun Cluster 3.1 以前的版本注册的资源类型名称则继续使用以下语法:

vendor-id.resource-type

资源类型名称的格式中介绍了资源类型名称的格式。

指定 #$upgrade#$upgrade_from 指令

要确保您正在修改的资源类型是支持升级的,请在该资源类型的 RTR 文件中加入 #$upgrade 指令。在 #$upgrade 指令后面,为要支持的资源类型的每个早期版本添加零个或多于零个 #$upgrade_from 指令。

#$upgrade#$upgrade_from 指令必须位于 RTR 文件中的资源类型属性声明和资源声明部分之间。请参见 rt_reg(4) 手册页。


示例 4–1 RTR 文件中的 #$upgrade_from 指令

#$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

#$upgrade_from 指令的格式如下所示:

#$upgrade_from version tunability
version

RT_version。如果某个资源类型不具有版本,或具有的版本不是您以前在 RTR 文件中定义的版本,请指定空字符串 (“”)。

tunability

群集管理员可以升级指定的 RT_version 的条件和时间。

#$upgrade_from 指令中,请使用以下可调性值:

ANYTIME

在对群集管理员可以升级资源的时间没有限制时使用。在升级过程中,资源可以完全处于联机状态。

WHEN_UNMONITORED

在新资源类型版本的方法满足以下条件时使用:

  • UpdateStopMonitor_checkPostnet_stop 方法兼容以前的资源类型版本的启动方法(Prenet_stopStart

  • Fini 方法兼容以前版本的 Init 方法

群集管理员必须在升级之前仅停止资源监视器程序。

WHEN_OFFLINE

当新资源类型版本的 UpdateStopMonitor_checkPostnet_stop 方法满足以下条件时使用:

  • 兼容以前版本的 Init 方法

  • 不兼容以前资源类型版本的启动方法(Prenet_stopStart

群集管理员必须在升级之前使资源处于脱机状态。

WHEN_DISABLED

WHEN_OFFLINE 相似。但是,群集管理员必须在升级之前禁用资源。

WHEN_UNMANAGED

当新资源类型版本的 Fini 方法不兼容以前版本的 Init 方法时使用。升级之前,群集管理员必须将现有资源组切换到未管理状态。

如果 #$upgrade_from 指令的列表中没有显示资源类型的某个版本,则默认情况下,RGM 会将 WHEN_UNMANAGED 可调性强加于该版本。

AT_CREATION

用于防止将现有资源升级到新版本资源类型。群集管理员必须删除和重新创建资源。

更改 RTR 文件中的 RT_version

更改 RTR 文件中的内容时,需要更改的只是 RT_version 属性。为此属性选择值,该值可以清楚地表明此版本的资源类型是最新版本。

在 RTR 文件中的 RT_version 字符串中使用以下字符(否则资源类型的注册将失败):

从 Sun Cluster 3.1 开始,RT_version 属性已成为强制属性(在 Sun Cluster 3.0 中为可选属性)。

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

Sun Cluster 3.0 中的资源类型名称不包含版本后缀,如下所示:

vendor-id.resource-type

即使在群集管理员将群集软件升级到 Sun Cluster 3.1 或更高版本之后,原来在 Sun Cluster 3.0 下注册的资源类型仍将继续具有遵循此语法的名称。与此相似,如果 RTR 文件是在运行 Sun Cluster 3.1 或更高版本的群集上注册的,则该文件中缺少 #$upgrade 指令的资源类型将被指定 Sun Cluster 3.0 格式的名称(不具有版本后缀)。

群集管理员可以在 Sun Cluster 3.0 中使用 #$upgrade 指令或 #$upgrade_from 指令来注册 RTR 文件。但是,Sun Cluster 3.0 不支持将现有资源升级到新资源类型。