4.10. 受管集群间基于订阅的应用程序故障切换
故障转移( failover)是一个在主集群出现故障时将应用程序从主集群迁移到次要集群的过程。虽然故障转移提供了应用程序在辅助集群中运行的功能,在最少的中断中断时,进行不正确的故障转移决策可能会带来不明确的复制故障,如从主要到次要集群出现无法发生的复制故障时造成的数据丢失。如果自上次成功复制以来存在大量时间,则最好等待失败的主恢复。
LastGroupSyncTime 是一个 关键指标,它反映了与应用程序关联的所有 PVC 最后一次成功复制的时间。本质上,它会测量主集群和次要集群之间的同步健康状况。因此,在从一个集群启动故障切换前,请检查此指标,只有在 LastGroupSyncTime 在过去的合理时间内启动故障转移。
在故障转移集群中故障转移 Ceph-RBD 镜像部署期间,会缩减故障转移,以确保 Ceph-RBD 支持的卷的干净故障转移作为存储置备程序。
先决条件
- 如果您的设置有主动和被动 RHACM hub 集群,请参阅使用 Red Hat Advanced Cluster Management 进行 Hub 恢复。
当主集群处于
Ready以外的状态时,请检查集群的实际状态,因为它可能需要一些时间才能更新。-
进入到 RHACM 控制台
Infrastructure Clusters Cluster list 选项卡。 在执行故障转移操作前,请检查两个受管集群的状态。
但是,当您切换到的集群处于 Ready 状态时,故障转移操作仍然可以运行。
-
进入到 RHACM 控制台
与当前时间相比,在 Hub Cluster 上运行以下命令,检查
lastGroupSyncTime是否位于可接受的数据丢失窗口中。oc get drpc -o yaml -A | grep lastGroupSyncTime
$ oc get drpc -o yaml -A | grep lastGroupSyncTimeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
[...] lastGroupSyncTime: "2023-07-10T12:40:10Z"
[...] lastGroupSyncTime: "2023-07-10T12:40:10Z"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
步骤
- 在 Hub 集群中,进入到 Applications。
- 点应用程序行末尾的 Actions 菜单,以查看可用操作的列表。
- 点 Failover application。
- 在显示了 Failover 应用程序 模态后,选择策略和目标集群,相关的应用程序将在出现灾难时故障转移。
点选择订阅组下拉菜单,验证默认选择或修改此设置。
默认情况下,选择为应用程序资源复制的订阅组。
检查 Failover readiness 的状态。
-
如果状态是
Ready且带有一个绿色勾号,这表示目标集群已就绪,可启动故障转移。继续执行第 7 步。 如果状态是
Unknown或Not ready,请等待到状态变为Ready。重要如果因为同步延迟导致的数据不一致,则会出现警告信息来表示目标集群上的 Inconsistent 数据。如果启动故障转移,此警报可能会丢失数据。数据同步完成后不再显示消息。
-
如果状态是
- 点 Initiate。busybox 应用程序现在故障转移到 Secondary-managed 集群。
- 关闭模态窗口,并使用 Applications 页面中的 Data policies 列跟踪状态。
验证活动状态是否为应用的 FailedOver。
-
进入 Applications
Overview 选项卡。 - 在 Data policy 列中,点您要将策略应用到的应用程序的策略链接。
- 在 Data policy 弹出窗口中,点 View more details 链接。
- 验证您能否看到一个或多个策略名称以及与应用程序中使用的策略关联的持续活动(同步时间和活动状态)。
-
进入 Applications