第 7 章 从 hub 和受管集群卸载灾难恢复


7.1. 从 hub 和受管集群卸载灾难恢复

Regional-DR 和 Metro-DR 都有两个级别的卸载:

卸载部分部分 涉及从 DRPolicy 中定义的两个或多个对等受管集群中删除所有 DR 资源和配置。

完成卸载,这是 DR 设置的完整卸载,包括以下步骤:

  • 从所有对等集群中删除所有 DRPolicies 和 mirrorpeers。
  • 从 hub 集群中删除 DR operator 和相关资源。

7.1.1. 卸载灾难恢复前

在卸载 DR 前,您必须首先从所有受保护的应用程序(包括受管和发现)中删除灾难恢复保护。按照以下步骤删除灾难恢复保护。

重要

在尝试 DR Uninstall 前,两个受管集群都必须在线且健康。

  1. 使用以下选项之一找到与您要删除 DR 的对等集群关联的所有 DRPolicies:

    1. 使用 RHACM 控制台

      1. 在 hub 集群中,进入到 All Clusters Data Services disaster Recovery Policies
      2. 识别与您要从中删除 DR 的对等集群关联的 DRPolicies。
    2. 使用 CLI

      1. 从 RHACM 控制台获取对等集群的名称。在 hub 集群中,进入到 All Clusters Infrastructure Clusters
      2. 在 hub 集群中运行以下命令,将集群名称替换为上一步中找到的对等集群:

        $ CLUSTER_A="{cluster1_name}"
        $ CLUSTER_B="{cluster2_name}"
        $ oc get drpolicies -o json | jq -r --arg c1 "$CLUSTER_A" --arg c2 "$CLUSTER_B" '.items[] |select((.spec.drClusters | sort) == ([$c1, $c2] | sort)) .metadata.name'
      3. 识别与您要从中删除 DR 的对等集群关联的 DRPolicies。
  2. 查找与对等受管集群关联的任何现有 DRPlacementControl (DRPC)资源。在 hub 集群中运行以下命令,以便在第 1 步中标识的每个 DRPolicy:

    $ DRPOLICY_NAME="{drpolicy_name}"

    drpolicy_name 替换为 DRPolicy。

    $ oc get drplacementcontrols -A -o json | jq -r --arg drpc "$DRPOLICY_NAME" \ '.items[] | select(.spec.drPolicyRef.name == $drpc) | "\(.metadata.namespace)/\(.metadata.name)"'
  3. 如果找到任何 DRPC,请从关联的应用程序中删除 DR 保护。

    1. 从受管应用程序中删除 DR 保护:

      1. 在 Hub 集群中,进入到 All Clusters Applications
      2. Overview 选项卡中,选择 Manage disaster recovery
      3. Remove disaster recovery
      4. 单击 Confirm remove
    2. 从发现的应用程序中删除 DR 保护:

      1. 在 RHACM 控制台中,进入到 All Clusters Data Services Protected applications 选项卡。
      2. 在应用程序行的末尾,点操作菜单 (&&) 并选择 Remove disaster recovery
      3. 在下一提示中,单击 Remove
  4. 在 hub 集群中运行以下命令以查找关联的 mirrorpeer:

    $ export DR_POLICY={drpolicy_name}

    drpolicy_name 替换为在第 1 步中找到的 DRPolicy 名称之一。

    $ DR_CLUSTERS=$(oc get drpolicy $DR_POLICY -o json | jq -r '.spec.drClusters | sort | join(",")')
    $ oc get mirrorpeers -A -o json | jq -r --arg dr_clusters "$DR_CLUSTERS" '.items[] | {name: .metadata.name,clusters: (.spec.items | map(.clusterName) | sort | join(",")) } |select(.clusters == $dr_clusters) | .name'

7.1.2. 为对等受管集群卸载灾难恢复

按照以下步骤为对等受管集群卸载 DR 资源。

注意

您需要上一节中标识的集群名称、DRPolicies 和 mirrorpeer。

流程

  1. 在 hub 集群中,删除与对等受管集群关联的 DRPolices,以进行 DR 删除。

    将在需要删除的 prior 部分找到一个或多个 DRPolicies。

    $ oc delete drpolicy {drpolicy_name1 drpolicy_name2 ...}

    drpolicy_name1 等替换为上一节中的 DRPolicy 名称。

  2. 从 hub 集群中,删除与对等受管集群关联的 mirrorpeer 以进行 DR 删除。

    在需要删除的 prior 部分,每个 DRPolicy 都会有一个 mirrorpeer。

    $ oc delete mirrorpeer {mirrorpeer_name}
重要

如果您只为特定对等集群删除 DR,请不要继续卸载 DR operator 或其他共享资源。这一部分 DR 卸载过程到此结束。

7.1.3. 卸载灾难恢复 Operator

如果您的目标是从 OpenShift 环境中完全删除 DR,请确保已遵循之前的所有部分从每个对等受管集群卸载 DR。

流程

  1. 在 hub 集群中,删除 OpenShift Data Foundation Multicluster Orchestrator 和 OpenShift DR Hub Operator 的 subscription .operatorsclusterserviceversion (csv):

    $ oc delete subscriptions.operators.coreos.com -l operators.coreos.com/odr-hub-operator.openshift-operators -n openshift-operators
    $ oc delete subscriptions.operators.coreos.com -l operators.coreos.com/odf-multicluster-orchestrator.openshift-operators -n openshift-operators
    $ oc delete csv -l operators.coreos.com/odr-hub-operator.openshift-operators -n openshift-operators
    $ oc delete csv -l operators.coreos.com/odf-multicluster-orchestrator.openshift-operators -n openshift-operators
  2. 另外,您还可以从 RHACM 控制台删除 ODF Multicluster Orchestrator 和 DR Hub Operator:

    1. 进入 Operators Installed Operators
    2. 找到 DR Hub Operator。
    3. 点操作菜单 (3.3.0) 并选择 Uninstall Operator
    4. 对 Multicluster Orchestrator 重复相同的操作。
  3. 在 hub 集群中,删除每个对等集群的 managedclusterview

    $ oc delete managedclusterview -l multicluster.odf.openshift.io/created-by=odf-multicluster-managedcluster-controller -A
  4. 在 hub 集群中,删除 Multicluster Orchestrator operator 的动态插件:

    $ oc delete consoleplugins.console.openshift.io odf-multicluster-console
  5. 在 hub 集群中,删除 configmap odf-client-info

    $ oc delete configmap odf-client-info -n openshift-operators
  6. 在 hub 集群中,删除 odf-multicluster-console 服务:

    $ oc delete service odf-multicluster-console -n openshift-operators

此时,所有 DR 相关的 Operator 组件和配置都应从 hub 集群和所有受管集群完全删除。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部