Oracle® Solaris Cluster 数据服务规划和管理指南

退出打印视图

更新时间: 2014 年 9 月
 
 

如何将现有资源迁移到资源类型的新版本

以下说明介绍了如何使用 clresource 命令执行此任务。但是,不是只能使用 clresource 命令执行此任务。可以使用 Oracle Solaris Cluster 或 clsetup 命令的 "Resource Group" 选项执行此任务,而不使用 clresource 命令。有关更多信息,请参见 clsetup(1CL)

开始之前

要确定何时可将资源迁移到资源类型的新版本,请参阅升级资源类型的说明。

  • 随时

  • 仅当资源未受监视时

  • 仅当资源脱机时

  • 仅当资源禁用时

  • 仅当资源组不受管理时

说明可能指出您无法升级资源的现有版本。如果无法迁移资源,请考虑以下替代方法:

  • 删除资源,将其替换为升级版本的新资源

  • 资源继续保持资源类型的旧版本

  1. 在群集成员上,承担可提供 solaris.cluster.modify RBAC 授权的 root 角色。
  2. 对于此资源类型中要迁移的每个资源,将资源或其资源组的状态更改为相应的状态。
    • 如果可随时迁移资源,则无需执行任何操作。
    • 如果仅当资源未受监视时才能迁移资源,请键入以下命令:
      # clresource unmonitor resource
    • 如果仅当资源脱机时才能迁移资源,请键入以下命令:
      # clresource disable resource

      注 -  如果其他资源依赖于要迁移的资源,则此步骤会失败。在这种情况下,要确定从属资源的名称,请查看输出的错误消息。然后重复执行此步骤,指定要迁移的资源以及任何从属资源的逗号分隔列表。
    • 如果仅当资源禁用时才能迁移资源,请键入以下命令:
      # clresource disable resource

      注 -  如果其他资源依赖于要迁移的资源,则此步骤会失败。在这种情况下,要确定从属资源的名称,请查看输出的错误消息。然后重复执行此步骤,指定要迁移的资源以及任何从属资源的逗号分隔列表。
    • 如果仅当资源组不受管理时才能迁移资源,请键入以下命令:
      # clresource disable -g resource-group +
      # clresourcegroup offline resource-group
      # clresourcegroup unmanage resource-group

      这些命令中的可替换项如下所述:

      resource-group

      指定要不受管理的资源组

  3. 对于此资源类型中要迁移的每个资源,将 Type_version 属性更改为新版本。

    如有必要,在同一个命令中将同一资源的其他属性设置为相应的值。要设置这些属性,请在命令中指定 –p 选项。

    要确定是否需要设置其他属性,请参阅升级资源类型的说明。可能需要设置其他属性的原因如下:

    • 资源类型的新版本中引入了扩展属性。

    • 在资源类型的新版本中,现有属性的默认值已更改。

    # clresource set -p Type_version=new-version \
    [-p extension-property=new-value] [-p standard-property=new-value] resource

    注 -  如果资源类型的现有版本不支持升级到新版本,则此步骤会失败。
  4. 通过逆转在Step 2 中键入的命令恢复资源或资源组之前的状态。
    • 如果可随时迁移资源,则无需执行任何操作。

      注 -  在迁移可随时迁移的资源后,资源探测可能未显示正确的资源类型版本。在这种情况下,请禁用并重新启动资源的故障监视器,以确保资源探测列出正确的资源类型版本。
    • 如果仅当资源未受监视时才能迁移资源,请键入以下命令:
      # clresource monitor resource
    • 如果仅当资源脱机时才能迁移资源,请键入以下命令:
      # clresource enable resource

      注 -  如果在Step 2 中禁用了依赖于要迁移的资源的其他资源,则还要启用从属资源。
    • 如果仅当资源禁用时才能迁移资源,请键入以下命令:
      # clresource enable resource

      注 -  如果在Step 2 中禁用了依赖于要迁移的资源的其他资源,则还要启用从属资源。
    • 如果仅当资源组不受管理时才能迁移资源,请键入以下命令:
      # clresource enable -g resource-group +
      # clresourcegroup manage resource-group
      # clresourcegroup online resource-group
示例 2-2  迁移仅当脱机时才能迁移的资源

以下示例说明如何迁移仅当资源脱机时才能迁移的资源。新资源类型软件包中含有位于新路径的方法。由于这些方法在安装期间未被覆盖,因此安装升级的资源类型之前,无需禁用资源。

此示例中资源的特性如下:

  • 新资源类型版本是 2.0。

  • 资源名称是 myresource

  • 资源类型名称是 myrt

  • 新 RTR 文件在 /opt/XYZmyrt/etc/XYZ.myrt 中。

  • 要迁移的资源不存在依赖关系。

  • 在将要迁移的资源脱机时,包含该资源的资源组可以保持联机。

此示例假设已根据供应商的指示在所有群集节点上安装了升级软件包。

# clresourcetype register -f /opt/XYZmyrt/etc/XYZ.myrt myrt
# clresource disable myresource
# clresource set -p Type_version=2.0 myresource
# clresource enable myresource
示例 2-3  迁移仅当未受监视时才能迁移的资源

以下示例说明如何迁移仅当资源未受监视时才能迁移的资源。新资源类型软件包仅包含监视器和 RTR 文件。由于监视器在安装期间被覆盖,因此必须在安装升级软件包之前禁用对资源的监视。

此示例中资源的特性如下:

  • 新资源类型版本是 2.0。

  • 资源名称是 myresource

  • 资源类型名称是 myrt

  • 新 RTR 文件在 /opt/XYZmyrt/etc/XYZ.myrt 中。

在此示例中执行了以下操作。

  1. 在安装升级软件包之前,运行了以下命令来禁用对资源的监视:

    # clresource unmonitor myresource
  2. 根据供应商的指示在所有群集节点上安装升级软件包。

  3. 为注册此资源类型的新版本,运行了以下命令:

    # clresourcetype register -f /opt/XYZmyrt/etc/XYZ.myrt myrt
  4. 为将 Type_version 属性更改为新版本,运行了以下命令:

    # clresource set -p Type_version=2.0 myresource
  5. 为在迁移后启用对资源的监视,运行了以下命令:

    # clresource monitor myresource