4.7. 在 Hub 集群上创建灾难恢复策略
OpenShift 灾难恢复策略(DRPolicy)资源指定参与灾难恢复解决方案和所需的复制间隔的 OpenShift Container Platform 集群。DRPolicy 是一个集群范围的资源,用户可以应用到需要灾难恢复解决方案的应用程序。
ODF MultiCluster Orchestrator Operator 通过 Multicluster Web console 促进每个 DRPolicy 和相应的 DRClusters 的创建。
先决条件
- 确保至少一组两个受管集群。
流程
-
在 OpenShift 控制台中,进入到 All Clusters
Data Services Data policies。 - 点 Create DRPolicy。
-
输入 Policy name。确保每个 DRPolicy 都有一个唯一名称(例如:
ocp4bos1-ocp4bos2-5m
)。 从与此新策略关联的受管集群列表中选择两个集群。
注意如果您在选择集群后收到错误消息 "OSD not migrate",请按照 将现有 OSD 迁移到 OpenShift Data Foundation for Regional-DR 集群中优化 OSD 的知识库文章进行操作,然后再继续下一步。
-
复制策略根据所选的 OpenShift 集群自动设置为
Asynchronous
(async),一个 Sync schedule 选项变为可用。 设置同步调度。
重要对于每个需要的复制间隔,必须使用唯一名称(如
ocp4bos1-ocp4bos2-10m
)创建新的 DRPolicy。可以选择同一集群,但 Sync 调度 可以用分钟/小时/天内使用不同的复制间隔配置。最小值为一分钟。- 点 Create。
验证 DRPolicy 是否已成功创建。在 Hub 集群中,为创建的每个 DRPolicy 资源运行这个命令,使用您的唯一名称替换 <drpolicy_name>。
oc get drpolicy <drpolicy_name> -o jsonpath='{.status.conditions[].reason}{"\n"}'
$ oc get drpolicy <drpolicy_name> -o jsonpath='{.status.conditions[].reason}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
Succeeded
Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 DRPolicy 时,也会创建两个 DRCluster 资源。验证所有三个资源并且状态显示为
Succeeded
最多需要 10 分钟。注意DRPolicy 不支持编辑
SchedulingInterval
、ReplicationClassSelector
、VolumeSnapshotClassSelector
和DRClusters
字段值。验证对象存储桶可以从 Hub 集群、Primary 受管集群和 Secondary 受管集群访问。
获取 Hub 集群上的 DRClusters 的名称。
oc get drclusters
$ oc get drclusters
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
NAME AGE ocp4bos1 4m42s ocp4bos2 4m42s
NAME AGE ocp4bos1 4m42s ocp4bos2 4m42s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 S3 访问每个受管集群上创建的每个存储桶。使用 DRCluster 验证命令,使用您的唯一名称替换 <drcluster_name>。
注意DRClusters 不支持编辑
Region
和S3ProfileName
字段值。oc get drcluster <drcluster_name> -o jsonpath='{.status.conditions[2].reason}{"\n"}'
$ oc get drcluster <drcluster_name> -o jsonpath='{.status.conditions[2].reason}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
Succeeded
Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意确保为在 Hub 集群中的两个 DRClusters 运行命令。
验证 OpenShift DR Cluster operator 已成功在 Primary 受管集群和 Secondary 受管集群上成功安装。
oc get csv,pod -n openshift-dr-system
$ oc get csv,pod -n openshift-dr-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您还可以验证
OpenShift DR Cluster Operator
是否在每个受管集群的 OperatorHub 上成功安装。注意在初始运行时,会自动安装 VolSync operator。VolSync 用于在两个集群之间设置卷复制,以保护基于 CephF 的 PVC。复制功能默认为启用。
验证 OpenShift Data Foundation 镜像 Primary 受管集群和 Secondary 受管集群中的
daemon
健康的状态。oc get cephblockpool ocs-storagecluster-cephblockpool -n openshift-storage -o jsonpath='{.status.mirroringStatus.summary}{"\n"}'
$ oc get cephblockpool ocs-storagecluster-cephblockpool -n openshift-storage -o jsonpath='{.status.mirroringStatus.summary}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
{"daemon_health":"OK","health":"OK","image_health":"OK","states":{}}
{"daemon_health":"OK","health":"OK","image_health":"OK","states":{}}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Importantdaemon_health
和health
从 Warning 变为 OK 可能需要最多 10 分钟。如果状态最终未变为 OK,则使用 RHACM 控制台验证受管集群之间的 Submariner 连接是否仍然处于健康状态。在所有值都变为 OK 之前不要继续。