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

资源类型升级实例

这些实例说明了几种不同资源类型的安装和升级方案。 已经根据对资源类型实现进行的更改类型选择了可调性和封装信息。 可调性适用于将资源迁移到新资源类型的迁移。

所有实例均假设:

资源类型开发者可能需要指定比这些实例中所用可调性值的限定性更强的值。 可调性值取决于对资源类型实现进行的确切更改。 此外,资源类型开发者可以选择使用不同的封装机制来代替这些实例中所用的 Solaris 封装。

表 3–1 升级资源类型的实例

更改的类型 

可调性 

封装 

过程 

仅在 RTR 文件中进行特性更改。 

Anytime

仅提供新的 RTR 文件。 

在所有节点上执行新 RTR 文件的 pkgadd 方法。

登记新资源类型。  

迁移资源。 

方法已更新。 

Anytime

将更新后的方法放置在与旧方法不同的路径下。 

对所有节点执行已更新的方法中的 pkgadd

登记新资源类型。 

迁移资源。 

更新监视器程序。 

When_unmonitored

仅覆写监视器的以前版本。 

禁止监视功能。  

对所有节点执行新的监视器程序的 pkgadd

登记新资源类型。 

迁移资源。  

启用监视功能。 

方法将被更新。 新 Update/ Stop 方法与旧 Start 方法兼容。

When_offline

将更新后的方法放置在与旧方法不同的路径下。  

在所有的节点上执行更新后的方法的 pkgadd

登记新资源类型。  

使资源脱机。 

迁移资源。  

使资源联机。 

方法将被更新且新特性将添加到 RTR 文件中。 新方法需要新特性。 (为了使包含资源的资源组可以保持联机状态,但又要避免该资源处于联机状态,则该资源组在节点上应该从脱机状态转换为联机状态。) 

When_disabled

覆写方法的以前版本。 

禁用资源。 

对于每个节点:

  • 使节点脱离群集

  • 执行

    所更新方法中的 pkgrm/pkgadd

  • 使节点重新处于群集中

登记新资源类型。 

迁移资源。 

启用资源。 

方法将被更新且新特性将添加到 RTR 文件中。 新方法不需要新特性。 

Anytime

覆写方法的以前版本。 

对于每个节点:

  • 使节点脱离群集

  • 执行所更新方法中的 pkgrm/pkgadd

  • 使节点重新处于群集中

在此过程中,RGM 将调用新的方法,即使还未执行迁移操作(将因此配置新特性)。 重要的一点是即使没有新特性,新方法也能够正常工作。 

登记新资源类型。  

迁移资源。 

方法将被更新。 新的 Fini 方法与旧的 Init 方法不兼容。

When_unmanaged

将更新后的方法放置在与旧方法不同的路径下。 

使包含资源的资源组处于不受管理状态。 

对所有节点执行已更新的方法中的 pkgadd

注册资源类型。 

迁移资源。  

使包含资源的资源组处于被管理状态。 

方法将被更新。 不修改 RTR 文件。  

不适用。 不修改 RTR 文件。  

覆写方法的以前版本。  

对于每个节点:

  • 使节点脱离群集

  • 执行已更新方法中的 pkgadd

  • 使节点重新处于群集中。

因为未修改 RTR 文件,所以无需登记或迁移该资源。