使用 OCI Full Stack Disaster Recovery 通过复制渠道自动恢复 MySQL HeatWave 的灾难恢复

简介

Oracle Cloud Infrastructure Full Stack Disaster Recovery (OCI Full Stack DR) 只需单击一下即可编排全球 OCI 区域之间的计算、数据库和应用转换。客户可以自动执行恢复一个或多个业务系统所需的步骤,而无需重新设计或重新构建现有基础设施、数据库或应用,也无需专门的管理或转换服务器。

MySQL HeatWave 是部署在 Oracle Cloud Infrastructure (OCI) 中的全托管式数据库服务,可帮助运营商和开发人员快速部署安全的云原生应用。MySQL HeatWave 是唯一的 MySQL 产品,其中包含使用 HeatWave(一个集成的高性能内存中查询加速器)的功能。HeatWave 支持客户直接针对运营 MySQL 数据库运行复杂的分析,从而消除复杂、耗时且成本高昂的数据迁移需求,并可与单独的分析数据库集成。HeatWave 可极大地提高 MySQL 分析和混合工作负载的性能。HeatWave 完全针对 OCI 进行了优化,MySQL HeatWave 100% 由 OCI 和 MySQL 工程团队构建、管理和支持。

在本教程中,您将了解如何通过渠道复制自动执行 OCI 中 MySQL HeatWave 的灾难恢复计划。它概述了使用 OCI Full Stack DR 的过程,该 DR 现在原生支持 MySQL HeatWave 来管理切换和故障转移操作。

体系结构描述

本教程介绍的体系结构展示了 MySQL HeatWave,其中 Inbound Replication 用于在主数据库系统与远程副本之间启用异步数据复制,从而确保跨区域高效的数据同步。

Full-stack-disaster-recovery-heatwave.png

插图 full-stack-disaster-recovery-heatwave.png 的说明

:灾难恢复区域中的 MySQL HeatWave 副本必须启用 Read-Only 模式,以确保数据完整性并防止意外修改。

先决条件(用户准备)

在启动复制设置之前,请确保满足以下先决条件。这包括特定于复制的要求以及其他基础设施和配置先决条件,以支持 Oracle Cloud Infrastructure (OCI) 上 MySQL HeatWave 的强大 Full Stack Disaster Recovery (FSDR) 架构。

MySQL HeatWave 系统设置 - 高级别汇总

下面简要介绍了在 Oracle Cloud Infrastructure (OCI) 上为 MySQL HeatWave 设置跨区域复制所需的步骤,这些步骤可确保跨区域安全、可靠且可扩展的数据同步。

通过执行以下步骤,您可以为 OCI 上的 MySQL 实施强大的跨区域复制设置,从而增强跨地理区域的弹性可用性

注:以下教程:在 OCI 中设置跨区域 MySQL HeatWave 灾难恢复副本,提供了为 MySQL 数据库系统部署灾难恢复的综合指南,可确保在系统发生故障时具有可恢复性和连续性。

整个教程的定义和假设

目标

本教程将介绍以下任务:

  1. 任务 1:在两个区域中创建 DR 保护组 (DR Protection Groups,DRPG)
  2. 任务 2:将 MySQL HeatWave 添加到两个区域的 DR 保护组
  3. 任务 3:在区域 2 中创建 DR 计划
  4. 任务 4:在区域 2 中运行 DR 计划的预检查
  5. 任务 5:在区域 2 中运行切换计划
  6. 任务 6:在区域 1 中创建 DR 计划

任务 1:在两个区域中创建 DR 保护组 (DR Protection Groups,DRPG)

如果此应用程序堆栈的保护组尚不存在,请在区域 1 和区域 2 中创建 DR 保护组。

任务 1.1:在区域 1 中创建保护组

  1. 转到 OCI 控制台并导航到 DR 保护组,如图 1.1 所示。

    1. 确保将 OCI 区域上下文设置为区域 1 (Ashburn)。
    2. 单击 Migration & Disaster Recovery
    3. 单击 DR 保护组

    drpg-create-iad-nav.png
    图 1.1:导航到 DR 保护组

  2. 单击创建 DR 保护组以打开对话框。

    drpg-create-iad-create.png
    图 1.2:单击“创建 DR 保护”

  3. 在区域 1 中创建一个基本 DR 保护组 (DRPG),如图 1.3 所示。将在后面的步骤中分配对等节点、角色和成员。

    1. 为 DRPG 使用有意义的名称。
    2. 选择要在其中创建 DRPG 的区间。
    3. 为 OCI Full Stack DR 日志选择 OCI Object Storage 存储桶。
    4. 单击创建

    drpg-create-iad-finish.png
    图 1.3:在区域 1 中创建 DR 保护组所需的参数

任务 1.2:在区域 2 中创建保护组

  1. 转到 OCI 控制台,导航到 DR 保护组,如图 1.4 所示。

    1. 确保将 OCI 区域上下文设置为区域 2(菲尼克斯)。
    2. 单击 Migration & Disaster Recovery
    3. 单击 DR 保护组

    drpg-create-phx-nav.png
    图 1.4:导航到 DR 保护组

  2. 单击创建 DR 保护组以打开对话框。

    drpg-create-phx-create.png
    图 1.5:单击“创建 DR 保护”

  3. 在区域 2 中创建一个基本的 DR 保护组 (DRPG),如图 1.6 所示。将在后面的步骤中分配对等节点、角色和成员。

    1. 为 DRPG 使用有意义的名称。
    2. 选择要在其中创建 DRPG 的区间。
    3. 为 OCI Full Stack DR 日志选择 OCI Object Storage 存储桶。
    4. 单击创建

    drpg-create-phx-finish.png
    图 1.6:在区域 2 中创建 DR 保护组所需的参数

任务 1.3:关联区域 1 和区域 2 中的保护组

将每个区域中的 DRPG 关联为彼此的对等节点,并分配主数据库和备用数据库的对等角色。在任何 DR 操作/DR 计划执行过程中,OCI Full Stack DR 会自动更改主数据库和备用数据库的角色;您无需随时手动管理角色。

  1. 转到 DR 保护组详细信息页面。

    1. 确保 OCI 区域上下文设置为区域 1 (Ashburn)。
    2. 单击操作
    3. 单击关联以开始处理。

    drpg-assoc-iad-begin.png
    图 1.7:开始 DRPG 关联

  2. 输入参数,如下图中所示。

    1. 角色:选择主要角色。OCI Full Stack DR 将自动将备用角色分配给区域 2。
    2. 对等区域:选择创建其他 DRPG 的区域 2(凤凰城)。
    3. 对等 DR 保护组:选择创建的对等 DRPG。
    4. 单击 Associate

    drpg-assoc-iad-params.png
    图 1.8:关联 DRPG 所需的参数

  3. 允许在继续之前完成工作请求。

    drpg-assoc-iad-finish.png
    图 1.9: DRPG 关联完成。

关联完成后,OCI Full Stack DR 将显示如下图中所示。

  1. 当前的主要对等数据库 DRPG 是阿什本(区域 1)。
  2. 当前的备用对等数据库 DRPG 是凤凰城(区域 2)。

drpg-assoc-iad-completed.png
图 1.10:从各个 DRPG 角度显示对等关系

每当上下文/视图从全局视角显示所有 DR 保护组时,都可以找到相同的信息,如下图中所示。

  1. 当前的主要对等数据库 DRPG 是阿什本(区域 1)。
  2. 当前的备用对等数据库 DRPG 是凤凰城(区域 2)。

drpg-assoc-phx-completed.png
图 1.11:从全局 DRPG 角度显示对等关系

任务 2:将 MySQL HeatWave 添加到 DR 保护组

任务 2.1:将 MySQL HeatWave 添加到区域 1 中的 DRPG

  1. 选择区域 1 中的 DRPG,如下图中所示。

    1. 确保 OCI 区域上下文为区域 1 (Ashburn)。
    2. 选择区域 1 中的 DRPG。
    3. 选择成员
    4. 单击管理成员以开始处理。

    drpg-add-iad-nav.png
    图 2.1:如何开始将成员添加到区域 1 中的 DR 保护组

  2. 单击 Add member

    drpg-add-iad-begin.png
    图 2.2:开始将成员添加到区域 1 中的 DR 保护组

  3. 将 MySQL HeataWave 添加到区域 1 中的 DRPG 中。

    1. 输入 MySQL Database System 作为成员资源类型
    2. 选择适当的区间,然后从数据库系统字段中选择区域 1 中的 MySQL HeatWave 名称。
    3. 选择适当的区间,然后从对等数据库系统字段中选择区域 2 中的 Replica MySQL HeatWave 名称。
    4. 键入管理员用户名
    5. 选择适当的区间,然后选择管理密码密钥
    6. 键入 Replication username
    7. 选择适当的区间,然后选择复制密码密钥
    8. 单击添加

    可选参数:

    • 调节超时:指定在调节过程中等待全局事务标识符 (Global Transaction Identifier,GTID) 同步的时间(秒)。此超时设置可确保系统在考虑操作失败或完成之前为 GTID 同步留出足够的时间。
    • 继续调节超时:通过启用此选项,一旦超过超时,系统将绕过 GTID 验证过程。这允许继续进行故障转移或切换,即使 GTID 同步不完整也是如此。

    drpg-add-mysql-iad-params.png
    图 2.3:添加 MySQL HeatWave 所需的参数

  4. 发布 DRPG 区域 1 中的更改

    单击发布更改drpg-add-mysql-iad-publish.png
    图 2.4:发布更改

    通过单击发布更改 drpg-add-mysql-iad-publish-confirm.png
    图 2.4: 发布更改来确认

    drpg-add-mysql-iad-completed.png
    图 2.5:MySQL HeatWave 已添加到区域 1 中的 DRPG 中。

任务 2.2:在区域 2 中将 MySQL HeatWave 添加到 DRPG

  1. 选择区域 2 中的 DRPG,如下图中所示。

    1. 确保 OCI 区域上下文为区域 2 (Phoenix)。
    2. 选择区域 2 中的 DRPG。
    3. 选择成员
    4. 单击管理成员以开始处理。

    drpg-add-phx-nav.png
    图 2.6:如何开始将成员添加到区域 2 中的 DR 保护组

  2. 单击 Add member

    drpg-add-phx-begin.png
    图 2.7:开始将成员添加到区域 2 中的 DR 保护组

  3. 将 MySQL HeataWave 添加到区域 2 中的 DRPG 中。

    1. 输入 MySQL Database System 作为成员资源类型
    2. 选择适当的区间,然后从 Database system(数据库系统)字段中选择区域 2 中的 Replica(副本)MySQL HeatWave 名称。
    3. 选择适当的区间,然后从对等数据库系统字段中选择区域 1 中的 MySQL HeatWave 名称。
    4. 键入管理员用户名
    5. 选择适当的区间,然后选择管理密码密钥
    6. 键入 Replication username
    7. 选择适当的区间,然后选择复制密码密钥
    8. 单击添加

    可选参数:

    • 调节超时:指定在调节过程中等待全局事务标识符 (Global Transaction Identifier,GTID) 同步的时间(秒)。此超时设置可确保系统在考虑操作失败或完成之前为 GTID 同步留出足够的时间。
    • 继续调节超时:通过启用此选项,一旦超过超时,系统将绕过 GTID 验证过程。这允许继续进行故障转移或切换,即使 GTID 同步不完整也是如此。

    drpg-add-mysql-phx-params.png
    图 2.8:添加 MySQL HeatWave 所需的参数

  4. 在 DRPG 区域 2 中发布更改。

    单击发布更改drpg-add-mysql-phx-publish.png
    图 2.9:发布更改

    通过单击发布更改确认。drpg-add-mysql-phx-publish-confirm.png
    图 2.10:发布更改

    drpg-add-mysql-phx-completed.png
    图 2.11:MySQL HeatWave 已添加到区域 2 中的 DRPG 中

任务 3:在区域 2 中创建 DR 计划

在本任务中,我们将在区域 2 (Phoenix) 中创建与备用 DR 保护组关联的初始切换和故障转移计划。

这些计划的目的是将工作量从主要区域(区域 1)无缝转换为备用区域(区域 2)。作为任何 DR 操作的一部分,两个区域中的 DR 保护组的角色将自动反转:区域 1 中的保护组成为备用组,而区域 2 中的保护组在故障转移或切换后承担主要角色。

OCI Full Stack DR 将使用从先前任务期间添加的成员资源派生的内置步骤预填充这些计划。DR 计划会自动预填充相应的 MySQL HeatWave 恢复任务,因为 MySQL HeatWave 已与全栈灾难恢复集成。

DR 计划始终在具有备用角色的保护组内创建。由于区域 2(菲尼克斯)目前是备用保护组,因此我们将开始在那里创建计划。

任务 3.1:创建 DR 计划

  1. 通过在区域 2 中选择 DRPG 创建基本计划(菲尼克斯)

    1. 确保 OCI 区域上下文为区域 2 (Phoenix)。
    2. 在区域 2 中选择备用 DRPG。
    3. 选择价格计划
    4. 单击创建计划以开始处理。

    plan-create-phx-nav.png
    图 3.1:如何在区域 2 中开始创建基本 DR 计划

  2. 创建切换计划。

    1. 切换计划输入一个简单但有意义的名称。这个名字应该尽可能短,但很容易理解,以帮助减少危机期间的混乱和人为错误。
    2. 选择计划类型作为切换(已计划)

    plan-create-phx-so.png
    图 3.2:创建 DR 切换计划所需的参数

    plan-create-phx-so-created.png
    图 3.3: DR 切换计划

    单击 DR 计划名称以查看 DR 计划详细信息和计划组。plan-create-phx-so-details.png
    图 3.4: DR 切换 MySQL HeatWave 计划组

  3. 创建故障转移计划。

    1. 故障转移计划输入一个简单但有意义的名称。这个名字应该尽可能短,但很容易理解,以帮助减少危机期间的混乱和人为错误。
    2. 选择计划类型作为故障转移(未计划)

    plan-create-phx-fo.png
    图 3.5:创建 DR 故障转移计划所需的参数

    plan-create-phx-fo-created.png
    图 3.6: DR 故障转移计划

    单击 DR 计划名称以查看 DR 计划详细信息和计划组。plan-create-phx-fo-details.png
    图 3.7: DR 故障转移 MySQL HeatWave 计划组

区域 2 中的备用 DR 保护组现在应具有两个 DR 计划。这些将处理从区域 1 到区域 2 的转换工作量。

注:在初始执行切换计划后,我们稍后将在区域 1 中创建相应的计划,以将工作量从区域 2 转换回来。

  1. (可选)创建 DR 追溯计划 - 开始追溯和停止追溯。

与切换和故障转移计划一样,您可以创建 Start Drill DR 计划。在开始钻取期间,将使用新的可用备份创建新的数据库系统,以模拟实际灾难恢复方案,在这种情况下,您需要恢复 DR 区域中的操作。

  1. 开始追溯计划输入一个简单但有意义的名称。这个名字应该尽可能短,但很容易理解,以帮助减少危机期间的混乱和人为错误。
  2. 选择计划类型作为开始追溯

    plan-create-phx-startdrill.png
    图 3.8:创建“开始追溯”计划所需的参数

启动追溯成功完成后,应创建/执行停止追溯。此计划负责终止在开始钻取执行期间创建的数据库系统,并清理用于测试的任何临时资源。

任务 4:在区域 2 中运行预检查

已在备用区域 2 中成功创建切换和故障转移 DR 计划。这些计划支持 OCI Full Stack DR 将工作负载从区域 1 迁移到区域 2。后续任务涉及为切换和故障转移计划运行预检查,以确保准备就绪并验证转换过程。

任务 4.1:开始切换计划的预检查

为切换 DR 计划运行预检查。

  1. 确保将区域上下文设置为备用区域 2。
  2. 确保在区域 2 中选择了正确的 DR 保护组,该组应当是备用角色。
  3. 单击切换计划名称。
  4. 单击操作
  5. 单击运行预检查

预检查 -so-phx-begin.png
图 4.1:显示如何运行切换计划的预检查

预检查 -so-phx-run.png
图 4.2:显示如何运行切换计划的预检查

切换预检查的计划执行组。预检查 -so-phx-completed.png
图 4.3:显示切换计划的已完成预检查

任务 4.2:开始故障转移计划的预检查

运行故障转移 DR 计划的预检查。

  1. 确保将区域上下文设置为备用区域 2。
  2. 确保在区域 2 中选择了正确的 DR 保护组,该组应当是备用角色。
  3. 单击故障转移计划名称。
  4. 单击操作
  5. 单击运行预检查

预检查 -fo-phx-begin.png
图 4.4:显示如何运行故障转移计划的预检查

预检查 -fo-phx-run.png
图 4.5:显示如何运行故障转移计划的预检查

切换预检查的计划执行组。预检查 -fo-phx-completed.png
图 4.6:显示故障转移计划的已完成预检查

任务 5:在区域 2 中运行切换计划

运行切换 DR 计划以开始使用 MySQL HeatWave 将 WordPress 应用程序从区域 1 转换到区域 2 的过程。

  1. 确保将区域上下文设置为备用区域 2。
  2. 确保在区域 2 中选择了正确的 DR 保护组,该组应当是备用角色。
  3. 单击切换计划名称。
  4. 单击操作
  5. 单击执行计划

exec-so-phx-begin.png
图 5.1:显示如何运行切换计划

此任务在区域 2 中运行切换计划。

  1. 取消选择启用预检查,因为已在任务 4 中执行这些预检查。
  2. 单击执行 DR 计划

exec-so-phx-run.png
图 5.2:显示如何运行切换计划

单击执行 DR 计划以开始 exec-so-phx-run-confirm.png
图 5.3: 显示如何确认运行切换计划

监视切换计划,直到完整的工作量从区域 1 完全转换到区域 2。

exec-so-phx-in-progress.png
图 5.4:显示正在进行的切换计划组执行。

已成功完成切换计划的执行。

exec-so-phx-completed.png
图 5.5:显示已完成的切换计划执行。

任务 6:在区域 1 中创建 DR 计划

随着 OCI Full Stack DR 成功完成切换,区域 2 现在承担了主区域的角色,而区域 1 已过渡为备用区域。

按照任务 3 中详述的相同方法,继续在区域 1 的 DR 保护组中创建切换和故障转移计划,该区域现在用作备用对等区域。

plan-create-iad.png
图 6.1:显示区域 1 中已创建计划的屏幕截图

plan-so-iad-details.png
图 6.2:显示了区域 1 中切换计划的屏幕截图

plan-fo-iad-details.png
图 6.3:显示了区域 1 中的故障转移计划的屏幕截图

后续步骤

有关详细信息,请参阅 Related Links 部分中的 OCI Full Stack DR 和 MySQL HeatWave 文档。

确认

更多学习资源

通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心