4.7. 在 Hub 集群上创建灾难恢复策略


OpenShift 灾难恢复策略(DRPolicy)资源指定参与灾难恢复解决方案和所需的复制间隔的 OpenShift Container Platform 集群。DRPolicy 是一个集群范围的资源,用户可以应用到需要灾难恢复解决方案的应用程序。

ODF MultiCluster Orchestrator Operator 通过 Multicluster Web console 促进每个 DRPolicy 和相应的 DRClusters 的创建。

注意

在初始运行时,会自动安装 VolSync operator。VolSync 用于在两个集群之间设置卷复制,以保护基于 CephF 的 PVC。复制功能默认为启用。

先决条件

  • 确保至少一组两个受管集群。

流程

  1. OpenShift 控制台 上,进入到 All Clusters

    多集群控制台数据策略
  2. 进入 Data Services 并点 Data policies
  3. Create DRPolicy
  4. 输入 Policy name。确保每个 DRPolicy 都有一个唯一名称(例如: ocp4bos1-ocp4bos2-5m)。
  5. 从与此新策略关联的受管集群列表中选择两个集群。
  6. 复制策略根据所选的 OpenShift 集群自动设置为 Asynchronous(async),一个 Sync schedule 选项变为可用。
  7. 设置同步调度

    重要

    对于每个需要的复制间隔,必须使用唯一名称(如 ocp4bos1-ocp4bos2-10m)创建新的 DRPolicy。可以选择同一集群,但 Sync 调度 可以用分钟/小时/天内使用不同的复制间隔配置。最小值为一分钟。

  8. Create
  9. 验证 DRPolicy 是否已成功创建。对创建的每个 DRPolicy 资源在 Hub 集群中运行此命令。

    注意

    将 <drpolicy_name> 替换为您的唯一名称。

    $ oc get drpolicy <drpolicy_name> -o jsonpath='{.status.conditions[].reason}{"\n"}'

    输出示例:

    Succeeded
    注意

    创建 DRPolicy 时,也会创建两个 DRCluster 资源。验证所有三个资源并且状态显示为 Succeeded 最多需要 10 分钟。

  10. 验证对象存储桶可以从 Hub 集群Primary 受管集群Secondary 受管集群访问。

    1. 获取 Hub 集群上的 DRClusters 的名称。

      $ oc get drclusters

      输出示例:

      NAME        AGE
      ocp4bos1   4m42s
      ocp4bos2   4m42s
    2. 使用这个 DRCluster 验证命令,检查 S3 可以访问每个受管集群中创建的每个存储桶。

      注意

      将 <drcluster_name> 替换为您的唯一名称。

      $ oc get drcluster <drcluster_name> -o jsonpath='{.status.conditions[2].reason}{"\n"}'

      输出示例:

      Succeeded
      注意

      确保为在 Hub 集群中的两个 DRClusters 运行命令。

  11. 验证 OpenShift DR Cluster operator 已成功在 Primary 受管集群Secondary 受管集群上成功安装。

    $ oc get csv,pod -n openshift-dr-system

    输出示例:

    NAME                                                                      DISPLAY                         VERSION   REPLACES   PHASE
    clusterserviceversion.operators.coreos.com/odr-cluster-operator.v4.11.0   Openshift DR Cluster Operator   4.11.0               Succeeded
    
    NAME                                             READY   STATUS    RESTARTS   AGE
    pod/ramen-dr-cluster-operator-5564f9d669-f6lbc   2/2     Running   0          5m32s

    您还可以验证 OpenShift DR Cluster Operator 是否在每个受管集群的 OperatorHub 上成功安装。

  12. 验证 ODF 镜像 Primary 受管集群Secondary 受管集群中的 daemon 健康的状态。

    $ oc get cephblockpool ocs-storagecluster-cephblockpool -n openshift-storage -o jsonpath='{.status.mirroringStatus.summary}{"\n"}'

    输出示例:

    {"daemon_health":"OK","health":"OK","image_health":"OK","states":{}}
    小心

    daemon_healthhealthWarning 变为 OK 可能需要最多 10 分钟。如果状态最终未变为 OK,则使用 RHACM 控制台验证受管集群之间的 Submariner 连接是否仍然处于健康状态。在所有值都变为 OK 之前不要继续。

  13. 当使用 VolSync 保护基于 CephF 的 PVC 时,请配置 VolSync 复制方法。默认复制方法是使用快照。快照在源中进行,并同步到临时目标 PVC。完成同步后,会从这个临时 PVC 中获取另一个快照并保存到目标集群上。在故障切换时,应用程序 PVC 会从集群的最新快照中恢复。

    当使用包含数千个文件的 PVC 时,可能需要将快照用作复制方法,因为 CephFS 需要很长时间才能从快照创建可写 PVC。另外,当将复制方法用作快照时,在故障转移或复制后,整个 PVC 必须同步到另一端。这在高延迟网络和大型 PVC 大小上是一个非常昂贵的操作。

    为避免这些问题,可以使用"直接"复制方法。这个方法是首选的,因为与应用程序 PVC 直接进行同步,在需要手动恢复时也会保存快照。

    1. 您可以按照以下所示配置复制方法"直接":

      $ oc edit cm -n openshift-operators ramen-hub-operator-config
    2. 将以下内容添加到 spec.data.ramen_manager_config.yaml 部分:

          volsync:
            destinationCopyMethod: Direct
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.