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

资源类型软件包的安装要求

以下是与新资源类型软件包安装相关的两个要求:

您在更改 RTR 文件之前需了解的信息

一些资源类型升级并不涉及新的方法或监视器代码。例如,资源类型升级可能仅更改资源特性的缺省值或可调性。既然不会更改方法代码,则对安装升级软件包仅有一项要求,即要具有指向可读 RTR 文件的有效路径名称。

如果无需注册旧的资源类型,新的 RTR 文件可以覆写以前版本。否则,可以将新的 RTR 文件放置在新的路径名下。

如果升级过程中更改了特性的缺省值或可调性,则新版本的 Validate 方法可以在移植时检验现有特性属性对新资源类型是否有效。如果升级过程中更改了特性的 minmaxtype 属性,则 scrgadm 命令会在移植时自动验证这些约束。

升级文档必须说明所有新的缺省特性属性。该文档必须告知系统管理员使用与编辑 Type_version 特性时使用的同一命令编辑各个值,使其具有适当的值,以将资源升级到新的资源类型版本。

如果升级过程中添加或删除了特性,则可能需要更改某些回调方法或监视器代码。

更改监视器代码

如果已更新的资源类型中仅更改了监视器代码,软件包安装可以覆写监视器二进制文件。文档必须通知系统管理员在安装新软件包之前暂停监视。

更改方法代码

如果已更新的资源类型中仅更改了方法代码,那么确定新的方法代码是否与以前版本兼容就变得十分重要。这样可以确定是否必须将新方法代码存储在新路径名下或旧的方法是否可以被覆写。

如果新的 StopPostnet_stopFini 方法(如果已声明)可以应用到通过 Start Prenet_stopInit 方法的旧版本初始化或启动的资源,那么就能够用新方法覆写旧方法。

如果新方法代码与旧版本不兼容,则必须使用该方法的旧版本停止或取消配置资源才能移植到已升级的资源类型。如果新方法要覆写旧方法,那么在升级资源类型之前,它可能会要求关闭(也许还要取消管理)该类型的所有资源。如果新方法与旧方法存储在不同的位置(可以同时存取),则即使没有向下兼容性,也可以安装新的资源类型版本并逐个升级这些资源。

即使新方法是向下兼容的,可能也需要一次只对一个资源进行升级以使用新方法,而此时其他资源将继续使用旧的方法。仍然需要将新方法存储在单独的目录中,而不覆写旧的方法。

将方法的每一个资源类型版本都存储在单独的目录中的优点是当新版本出现问题时可以很容易地转换回旧的资源类型版本。

一种封装方法是包含所有在软件包中仍然支持的早期版本。这样做允许新的软件包版本替换旧的版本,而不覆写或删除旧的方法路径。由资源类型开发者决定可以支持多少个以前版本。


注意 –

建议不要在当前处于群集中的节点上覆写方法或对方法执行 pkgrm/pkgadd。如果方法在磁盘上不可存取时,则 RGM 调用该方法时可能会导致意外的结果。删除或替换正在运行的方法的二进制文件也可能会导致意外的结果。