注意:

使用 OCI 全栈灾难恢复服务自动恢复 Oracle Integration

第 1 部分:简介

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

Oracle Integration 是一个安全、统一的平台,可用于连接云和内部部署应用、自动执行业务流程、通过业务指标分析洞察您的业务以及开发 Web 和移动应用。Oracle Integration 在受服务级别协议 (SLA) 监管的 OCI 区域中可用。本教程详细介绍了为 Oracle Integration 构建客户管理的跨区域灾难恢复解决方案的过程,特别是 Oracle Integration 中的集成功能。

Oracle Integration 是托管的 OCI 平台即服务 (PaaS) 产品,它不是 OCI Full Stack DR 可以本地管理的产品,因为 Oracle Integration 本身不会向 OCI 用户公开计算、存储或数据库。但是,OCI Full Stack DR 可以自动恢复 PaaS 产品,前提是 Oracle Integration 等给定服务的工程团队已记录了在 OCI 区域之间供应、配置和恢复其服务的方法。Oracle Integration 工程团队记录了为 Oracle Integration 第 2 代配置灾难恢复解决方案,说明了如何手动预配、配置和恢复 Oracle Integration。

OCI 全栈灾难恢复 (DR) 不用于预配或配置 Oracle Integration。在尝试以任何方式使用 OCI 全栈灾难恢复之前,必须按照为 Oracle Integration 第 2 代配置灾难恢复解决方案中的分步说明,跨区域预配和配置 Oracle Integration。

Oracle Integration 工程部门在本文档中规定的手动故障转移步骤:为 Oracle Integration 第 2 代配置灾难恢复解决方案还必须成功测试切换和切换,然后才能使用 OCI 全栈灾难恢复。

Oracle Integration 通常是大型系统的一部分

本教程假定 Oracle Integration 是唯一添加到 DR 保护组的应用程序。这是不正常的。

本教程是不寻常的,因为在整个文档中仅显示和讨论 Oracle Integration 以保持简单。通常,Oracle Integration 仅仅是更大、更复杂的业务系统的一小部分,它在一个 OCI 全栈 DR 保护组和一组 DR 计划中包括许多不同的服务和应用程序。很可能您将遵循适用于其他应用程序和服务的类似 Oracle 帮助中心 (OHC) 教程,例如 PeopleSoft、WebLogic Server、Oracle Analytics Cloud 等。

注:本教程中的步骤使用 Oracle Integration 第 2 代进行了测试。本教程仅介绍如何为 Oracle Integration Generation 2 的应用程序集成功能实施 DR,因为我们不想引入太多移动部件和部件来压倒读者。

逐步实施的注意事项

创建 DR 计划后,向 DR 保护组添加更多成员将删除两个区域保护组中的所有现有 DR 计划。

OCI 全栈灾难恢复服务的设计假设是,给定业务系统的整个应用堆栈已部署在 OCI 区域中,手动灾难恢复已证明有效。如果您的业务系统包含超过 Oracle Integration,则在创建任何 DR 计划之前,将所有其他应用程序或 OCI 服务的所有成员添加到 DR 保护组。

如何恢复工作

Oracle Integration 的恢复解决方案要求 OCI Full Stack DR 在恢复操作(例如故障转移或切换)期间执行一系列定制 bash 脚本。本教程中引用的脚本由 Oracle Integration Specialists 团队提供,可在专门为此 Oracle Integration DR 解决方案定制的 GitHub 存储库中找到。bash 脚本将下载到一个计算实例,该实例是 OCI Full Stack DR 将在恢复操作期间管理的应用程序堆栈的一部分。

为一般指导提供了以下脚本。您可以使用自己的脚本,也可以根据公司策略和安全要求定制脚本。您需要安装 OCI CLI 并配置身份证明以使用脚本。

此外,为了确保使用最新的调度参数更新主实例,请确保使用所有集成名称以及版本详细信息更新 integrations.json 文件以及需要使用所有调度集成的最新调度参数值更新的 integration_parameters.json 文件。您可以采用首选的 CI/CD 流程来实现此目的。

本教程介绍了如何下载脚本以及如何在后面的步骤中使用它们。本教程仅使用下面的选项 2 托管 bash 脚本,因为本教程不包括 Oracle Integration 以外的任何内容。

托管脚本的选项 1

Oracle Integration 通常是更大、更复杂的业务系统的一部分,其中包括 Oracle E-Business Suite、PeopleSoft 或 JD Edwards Enterprise 等应用程序以及其他数据库、计算实例和本地应用程序。在这种情况下,只需选择一个已经属于业务系统的“可移动”计算实例来托管脚本。所选计算实例可以是安装了 Oracle Linux 的任何实例,并且很可能是现有 VM,可用于其他用途,例如应用服务器或某种类型的管理服务器。

本教程将此特定计算实例称为控制节点DR 节点,即使它确实实现了应用程序堆栈中的其他用途。

托管脚本的选项 2

如果这种情况异常,Oracle Integration 将成为 OCI Full Stack DR 在恢复操作期间要管理的唯一应用服务,则需要创建计算实例来托管脚本。

通常,OCI Full Stack DR 不需要任何专门的管理服务器来自动执行恢复操作。但是,在这种情况下,您将创建一个计算实例,充当专门的管理服务器,因为 Oracle Integration 不是 OCI Full Stack DR 可以原生管理的实例。在本文档中,专用管理服务器被视为控制节点DR 节点。控制节点的整个用途只是充当定制脚本所在的服务器,并在恢复操作期间由 OCI Full Stack DR 调用。本教程将说明如何在 DR 计划中创建自定义、用户定义的 DR 计划组和步骤,以调用在控制节点上安装的脚本。

Oracle Integration Deployment Architecture

如图中所示,Oracle Integration 第 2 代 DR 体系结构包括两个 Oracle Integration 实例,它们被区分为主实例和辅助实例,同时运行。但是,流量一次仅定向到一个实例。最初,流量流向主实例。如果主实例变得不可用,DNS 记录将调整为将流量重定向到辅助实例。

oci-arch-oracle-integration.svg
图 1:Oracle Integration DR 参考架构

预配实例后,将元数据从主实例导出到备用实例。您可以使用 REST API 或利用 Oracle Integration UI 导出和导入元数据来执行此操作。完成元数据的一次性初始迁移后,必须使用 CICD 在实例之间保持元数据同步。您可以使用 Jenkins 或类似工具为实例实施 CICD 并同步元数据。您还可以使用 OCI 计算实例作为 Jenkins CI 服务器和 CD 集线器。

在引入 OCI 全栈灾难恢复 (Full Stack DR) 之前,必须先在 OCI 区域中预配和配置 Oracle Integration 以进行灾难恢复 (DR)。在尝试使用 OCI Full Stack DR 自动执行切换/故障转移流程之前,对Oracle Integration 工程文档中所述的切换 Oracle Integration 的手动步骤进行测试并正常工作非常重要。

熟悉整个流程

全栈灾难恢复工程团队为本教程创建了一系列配套视频,以了解整个流程流。这些视频是 OCI Full Stack DR Oracle Integration playlist in YouTube 的一部分,可以使用以下链接进行访问:

第 2 部分:逐步说明

本部分将开始将 Oracle Integration 添加到 OCI Full Stack DR 所需的分步说明。

目标

本教程将介绍如何使用 OCI Full Stack DR 自动执行 Oracle Integration 恢复:

  1. 任务 1:跨 OCI 区域部署 Oracle Integration for DR
    1. 准备 Oracle Integration DR Control 节点
    2. 将定制脚本下载到 DR 控制节点
    3. 在两个 OCI 区域中手动安装和部署 Oracle Integration for DR
    4. 手动测试从所需区域 1 到区域 2 的所有恢复步骤
    5. 手动测试从所需区域 2 到区域 1 的所有恢复步骤
  2. 任务 2:为 OCI 全栈灾难恢复做准备
    1. 为 OCI 全栈灾难恢复创建 IAM 策略
    2. 为其他 OCI 服务创建 IAM 策略
    3. 为日志创建对象存储桶
  3. 任务 3:创建 DR 保护组 (DRPG)
  4. 任务 4:将成员添加到区域 1 DRPG
  5. 任务 5:在区域 2 中创建 DR 计划(凤凰城)
    1. 创建切换计划
    2. 创建故障转移计划
  6. 任务 6:自定义区域 2 中的切换计划(凤凰城)
  7. 任务 7:定制区域 2 中的故障转移计划(凤凰城)
  8. 任务 8:执行区域 2 中的切换计划(凤凰城)
  9. 任务 9:在区域 1(阿什本)中创建基本 DR 计划
    1. 创建切换计划
    2. 创建故障转移计划
  10. 任务 10:自定义区域 1 中的切换计划(阿什本)
  11. 任务 11:定制区域 1 中的故障转移计划(阿什本)

整个教程的定义和假设

区域

划分

您可以将 Oracle Integration 和 OCI Full Stack DR 组织到符合 IT 治理标准的任何区间方案中。我们选择将应用组织到他们自己的各个区间中,然后将所有 DR 保护组组织到单个区间中,在此区间中可以一目了然地看到完全不同的业务系统。

Oracle Integration DR 控制节点

DR 控制节点是指定托管定制 bash 脚本的任何计算实例,这些脚本执行特定任务来恢复 Oracle Integration。这些脚本在恢复操作期间由 OCI Full Stack DR 调用。本教程介绍了如何在步骤 6、7、10 和 11 中将脚本添加到 OCI Full Stack DR。

先决条件

在开始使用 OCI 全栈灾难恢复之前,应部署 Oracle Integration 以实现两个区域的灾难恢复。下面任务 1 中介绍了这一点。

任务 1:部署 Oracle Integration 进行灾难恢复

此步骤的任何部分都不涉及 OCI 全栈灾难恢复。

任务 1.1:准备 DR 控制节点以运行定制自动化

指定计算实例作为 OIC 的 DR 控制节点。这可以是现有计算实例,也可以是仅为此目的创建的计算实例。有关详细信息,请参见以下选项。确保充当 DR 控制节点的计算实例已配置为使用 OCI 云代理运行命令:在实例上运行命令

选项 1:Oracle Integration 作为独立应用程序

本教程假定 Oracle Integration 是独立服务,因此您将在区域 1 中使用 Oracle Linux 创建计算实例。在 Oracle Linux 中使用成本最低的配置,因为它仅用于托管定制 bash 脚本。需要专门用于履行此角色的专用计算实例是不寻常的;对于大多数组织来说,选项 2 是最常见的情况。

在后面的步骤中,将专门的计算实例添加为区域 1 中 DR 保护组的成员。

选项 2:Oracle Integration 作为应用程序堆栈的一部分

您可以在区域 1 中使用任何由 OCI Full Stack DR 管理的 Oracle 或非 Oracle 应用中的现有可移动计算。这将在本教程引用 DR 控制节点时履行 DR 控制节点的角色。

最好使用可移动计算实例,但如果您没有任何可移动计算作为 DR 解决方案的一部分,则也可以在区域 1 中指定一个不可移动计算实例,而在区域 2 中指定另一个不可移动计算实例。如果此角色使用不可移动计算,则需要维护对两个区域中的脚本或来宾操作系统所做的任何更改。

选项 3:Oracle Integration 是具有多个 PaaS 产品的应用程序堆栈的一部分

也许您的业务系统还具有 Oracle HTTP Server (OHS)、Oracle Integration 和 Oracle Data Integrator (ODI)。在这种情况下,您可以考虑像使用选项 1 为所有各种 PaaS 服务托管 DR 恢复脚本那样创建专用计算实例。

任务 1.2:确保卷组复制到区域 2

确保 DR 控制节点的引导卷是块存储卷组的成员,并且块存储卷组复制到区域 2。

确保属于此 OCI Full Stack DR 项目的任何其他可移动计算的引导和块也属于复制到区域 2 的块存储卷组。如果需要更多详细信息,请参阅 OCI 块存储文档

任务 1.3:将 bash 脚本下载到 DR 控制节点

从 github 下载专门为此 Oracle Integration DR 解决方案编写的定制 bash 脚本。下面显示的脚本应复制到充当 Oracle Integration 的 DR 控制节点的计算实例上的任何子目录

上面的链接应解析为 GitHub 系统信息库:

  1. 这显示了 bash 脚本位于 GitHub 上的系统信息库路径。
  2. 这显示了包含 bash 脚本的系统信息库

github-scripts.png
图 2-4:包含用于 Oracle Integration 的 bash 脚本的 github 存储库屏幕快照

任务 1.4:部署 Oracle Integration for DR

使用 Oracle Integration Engineering 团队提供的分步说明,在 OCI 区域中部署 Oracle Integration 以实现灾难恢复。

任务 1.5:手动测试 Oracle Integration 的恢复

确保手动恢复步骤的最佳做法 Disaster Recovery Configuration for Oracle Integration 中记录的恢复 Oracle Integration 的手动步骤必须成功,然后才能使用 OCI 全栈灾难恢复。

任务 1.6:后续步骤

完成以下要求后,请返回此文档开始使用 OCI 全栈灾难恢复服务。

  1. 在两个所需的 OCI 区域中手动部署 Oracle Integration 以实现灾难恢复。
  2. 手动测试从区域 1(阿什本)到区域 2(凤凰城)的所有恢复步骤。
  3. 手动测试从区域 2(凤凰城)到区域 1(阿什本)的所有恢复步骤。

任务 2:为 OCI 全栈灾难恢复做准备

此步骤的任何部分都不涉及 OCI 全栈灾难恢复。以下步骤将准备租户、区间、OCI 服务和 Oracle Integration,以便由 OCI Full Stack DR 自动恢复。

任务 2.1:为 OCI 全栈灾难恢复创建 IAM 策略

按以下文档所述配置用于全栈灾难恢复所需的 OCI IAM 策略。

任务 2.2:为由 OCI Full Stack DR 管理的其他服务创建 OCI IAM 策略

OCI 全栈灾难恢复服务必须能够控制和管理其他关键 OCI 服务,例如计算、网络、存储、 Vault、数据库和其他杂项服务。如以下文档所述,为其他服务配置所需的 OCI IAM 策略。

任务 2.3:为 DRPG 日志创建 OCI 对象存储存储桶

注:如果将 Oracle Integration 添加到现有 DR 保护组,则完全跳过任务 2.3。

在主区域和备用区域中创建 OCI 对象存储存储桶,以存储 OCI 全栈灾难恢复在恢复操作期间生成的日志:对象存储

任务 2.3.1:导航到 OCI 对象存储

首先导航到对象存储和归档存储,如下图 2-1 所示

  1. 确保浏览器上下文设置为区域 1(阿什本)。
  2. 选择存储。
  3. 选择存储桶。

oss-bucket-nav-iad.svg
图 2-1:导航到对象存储

任务 2.3.2:区域 1 中的 OCI 存储桶

在区域 1 中创建对象存储桶。在后面的步骤中,该存储桶将分配给区域 1 中的 DR 保护组。

  1. 选择包含 OIC 相关资源的区间。
  2. 选择“创建存储桶”。
  3. 为存储桶指定一个有意义的名称,以轻松确定它服务于哪个应用和用途;没有理由将该区域包含在名称中。例如,此名称表示它用于与 OIC 的 DR 操作相关的 OCI 全栈 DR 日志。
  4. 使用层和加密的默认值。
  5. 选择“创建”以创建存储桶。

oss-bucket-create-iad.png
图 2-2:在区域 1 中创建对象存储存储桶

任务 2.3.3:区域 2 中的 OCI 存储桶

按照相同的过程在区域 2(Phoenix) 中创建对象存储桶。在后面的步骤中,该存储桶将分配给区域 2 中的 DR 保护组。

  1. 将上下文更改为区域 2。
  2. 选择区域 2 中包含 OIC 相关资源的区间。
  3. 使用分配给区域 1 中存储桶的确切名称 - 这有助于在后面的步骤中轻松识别。
  4. 选择“创建”以创建存储桶。

oss-bucket-create-phx.png
图 2-3:在区域 2 中创建对象存储存储桶

任务 3:在两个区域中创建 DR 保护组

注:如果将 Oracle Integration 添加到现有 DR 保护组,则完全跳过任务 3。

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

任务 3.1:导航到 DR 保护组

首先导航到 DR 保护组(OCI 全栈 DR),如下图 3-1 所示。

  1. 确保 OCI 区域上下文设置为区域 1(阿什本)。
  2. 选择 "Migration and Disaster Recovery"。
  3. 选择 "DR Protection Groups"。

drpg-create-nav-iad.svg
图 3-1:导航到 DR 保护组

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

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

  1. 选择要将 DRPG 创建到的区间。这可以是存在 Oracle Integration 资源的同一区间,也可以是充当存储库(包含许多不同业务系统的 DRPG)的区间。
  2. 选择 "Create DR protection group"(创建 DR 保护组)以打开对话框。

drpg-create-begin-iad.png
图 3-2:开始在区域 1 中创建 DR 保护组

为日志添加名称和对象存储桶,如下图 3-3 所示。

  1. 为 DRPG 使用有意义且简单的名称;此示例显示业务系统和区域的名称。
  2. 选择在任务 2 中为区域 1 创建的对象存储桶。

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

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

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

  1. 将 OCI 区域上下文更改为区域 2。
  2. 选择要将 DRPG 创建到的区间。这可以是存在 Oracle Integration 资源的同一区间,也可以是充当存储库(包含许多不同业务系统的 DRPG)的区间。
  3. 选择 "Create DR protection group" 以打开对话框

drpg-create-begin-phx.png
图 3-4:开始在区域 2 中创建 DR 保护组

为日志添加名称和对象存储桶,如下图 3-5 所示。

  1. 为 DRPG 使用有意义且简单的名称;此示例显示业务系统和区域的名称。
  2. 选择在任务 2 中为区域 2 创建的对象存储桶

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

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

将每个区域中的 DRPG 关联为彼此的对等节点,并为主数据库和备用数据库分配对等角色。这就是 OCI Full Stack DR 如何了解哪两个区域协同工作以实现 Oracle Integration 恢复。在任何 DR 操作/DR 计划执行过程中,OCI 全栈 DR 会自动更改主数据库和备用数据库的角色;无需随时手动管理角色。

任务 3.4.1:开始关联

  1. 确保 OCI 区域上下文设置为区域 1(阿什本)。
  2. 选择“关联”以开始处理。

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

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

提供参数,如下图 3-7 所示。

  1. 选择主要角色。OCI Full Stack DR 将自动将备用角色分配给区域 2。
  2. 选择创建其他 DRPG 的区域 2 (Phoenix)。
  3. 选择在其中创建的对等 DRPG。

drpg-assoc-finish-iad.png
图 3-7:关联 DRPG 所需的参数

任务 3.4.3:关联完成后应看到的内容

完成关联后,OCI 全栈 DR 将显示如下图 3-8。

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

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

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

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

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

任务 4:将成员添加到 DR 保护组

注:在将成员添加到现有 DR 保护组时,此步骤将删除两个区域中的所有现有 DR 计划。在本文撰写时,OCI Full Stack DR 无法保存 DR 保护组的副本或备份。确保已将有关任何 DR 计划组和步骤的所有信息记录在文本文件或电子表格中,以帮助重新创建自定义、用户定义的计划组和步骤。您还可以创建调用 OCI Full Stack DR CLI 命令的 bash 脚本来重新创建自定义、用户定义的计划组和步骤(这超出了本教程的范围)。

将 DR 控制节点作为成员添加到主 DR 保护组。DR 控制节点是您为控制 Oracle Integration 而创建的计算实例,或者是您希望通过 OCI Full Stack DR 管理的应用程序堆栈的一部分的计算实例。

您将以下资源添加到区域 1 中的主要 DRPG:

  1. DR 控制节点,
  2. 包含 DR 控制节点引导卷的卷组。

任务 4.1:开始向区域 1 中的 DRPG 添加成员

首先选择区域 1 中的 DRPG,如下图 4-1 所示。

  1. 确保 OCI 区域上下文为区域 1(阿什本)。
  2. 选择区域 1 中的 DRPG。
  3. 选择成员。
  4. 单击“添加成员”以开始处理。

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

任务 4.1.1:为 DR 节点添加计算实例

为 DR 控制节点添加计算实例,如下图 4-2 所示。

  1. 确认有关 DR 计划的警告。
  2. 选择“Compute as member resource type(计算作为成员资源类型)”。
  3. 选择要使用 DR 控制节点的计算实例。
  4. 选择移动实例。
  5. 告知 OCI 全栈灾难恢复:在恢复期间,要将哪个 VCN 和子网分配给区域 2 中的 VNIC。图 4-2 显示了一个 VNIC。OCI 全栈灾难恢复服务不关心您在任一区域中有多少 VNIC,也不关心它们是如何配置的;请指定您所需的任何 VNIC。

drpg-add-compute-iad.png
图 4-2:添加 DR 控制节点所需的参数

任务 4.1.2:为 DR 节点添加块存储卷组

为 DR 控制节点添加包含引导的块存储卷组。在将块存储卷组添加到 DR 保护组之前,块存储卷组必须已在两个区域之间配置了跨区域复制。

  1. 选择卷组作为成员资源类型。
  2. 确保选择了包含卷组的正确区间,然后选择卷组。

drpg-add-vg-iad.png
图 4-3:为 DR 控制节点添加引导卷组所需的参数

任务 4.1.3:验证区域 1 的成员资源

区域 1 的 DRPG 应至少有两个成员资源,如下图 4-5 所示。成员资源的名称将不同。

  1. 指定用作 OIC DR 控制节点的计算实例的可移动计算实例和块存储卷组。

drpg-add-finish-iad.png
图 4-5:显示区域 1 中 DRPG 的成员

在使用移动计算实例作为 DR 节点来托管 Oracle Integration 脚本时,无需在备用 DR 保护组中添加任何成员

任务 5:在区域 2 中创建基本 DR 计划(凤凰城)

此步骤将在区域 2 (Phoenix) 中创建与备用 DR 保护组关联的基本切换和故障转移计划。

每个计划的目的是将工作量从主区域 1 转换为备用区域 2。在任何 DR 操作过程中,两个区域中 DR 保护组的角色都会自动反转,因此区域 1 中的保护组将成为备用组,区域 2 中的保护组在故障转移或切换后将成为主组。

OCI Full Stack DR 将根据上一步中添加的成员资源,使用内置步骤预先填充两个计划。将在后面的步骤中定制计划,以在恢复操作期间处理与 Oracle Integration 相关的所有任务。

切换计划始终在具有备用角色的保护组中创建;区域 2 当前为备用保护组,因此我们将从凤凰城开始。

任务 5.1:开始创建 DR 计划

通过选择区域 2 中的 DRPG 创建基本计划,如下图 5-1 所示。

  1. 确保 OCI 区域上下文为区域 2(凤凰城)。
  2. 选择区域 2 中的备用 DRPG。
  3. 选择计划。
  4. 单击“创建计划”以开始处理。

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

任务 5.1.1:创建切换计划

创建 DR 计划很简单,如下图 5-2 所示。

  1. 使切换计划的名称简单但有意义。这个名字应该尽可能短,但一目了然地易于理解,以帮助减少危机期间的混乱和人为错误。
  2. 选择规划类型。在本文撰写时,只有四种规划类型。

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

任务 5.1.2:创建故障转移计划

按照相同的过程创建基本故障转移计划,如下图 5-3 所示。

  1. 使故障转移计划的名称简单但有意义。这个名字应该尽可能短,但一目了然地易于理解,以帮助减少危机期间的混乱和人为错误。
  2. 选择规划类型。在本文撰写时,只有两种规划类型。

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

区域 2 中的备用 DR 保护组现在应具有两个 DR 计划,如下所示。这些任务将处理从区域 1 到区域 2 的转换工作量。您将在区域 1 中创建类似的计划,以便在后面的步骤中将工作负载从区域 2 转换回区域 1。

plan-create-phx-completed.png
图 5-4:显示区域 2 中必须存在的两个基本 DR 计划,然后继续执行任何操作

任务 6:自定义区域 2 中的切换计划(凤凰城)

在任务 5 中创建的基本 DR 计划包含预填充的恢复任务的步骤,这些步骤内置在 OCI Full Stack DR 中,不包含任何用于管理特定于 Oracle Integration 的恢复任务的步骤。此步骤说明如何添加自定义、用户定义的 DR 计划组以及用于管理在 Oracle Integration 切换期间需要完成的任务的步骤:

  1. 将计划参数从区域 1 同步到区域 2
  2. 在区域 2 中激活相关集成
  3. 在区域 2 开始安排的集成
  4. 更新区域 2 中的 DNS 记录
  5. 停用区域 1 中的已安排集成

任务 6.1:选择切换计划

首先导航到在上一步中创建的切换计划。

plan-custom-so-phx-nav.png
图 6-1:如何在区域 2 中开始定制切换计划

任务 6.2:启用终止构件的 DR 计划组(可选)

切换计划中默认禁用了两个计划组,如下面的屏幕截图所示。它们被禁用,以在测试期间提供一定程度的舒适度,即实际上没有内容被删除,并且您仍然具有可行的文物副本作为备份,以防测试过程中出现问题。

但是,这两个计划组会终止(删除)将来再也不会用作任何 DR 操作的一部分的构件。当您在两个区域之间来回切换时,这些构件会随着时间的推移不断累积,这会导致混淆哪些计算实例和卷组实际上应该处于活动状态。

OCI 全栈灾难恢复服务投入生产后,应启用这些计划组。在测试切换和切换期间遗留的所有构件(这两个计划组已禁用)都应在投入生产之前终止并清理,以减少混乱和正常操作期间出现人为错误的可能性。

(可选)现在可以启用这些计划组,以避免在投入生产之前手动清除多余的构件。

plan-custom-so-phx-disabled-show.png
图 6-2:默认情况下禁用计划组

以下是已禁用的计划组在启用时执行的操作:

  1. 在 OCI 块存储操作期间,在区域 2 启动 VM 的复制版本后,此计划组终止在区域 1 遗留的计算实例构件,以便在切换过程中将从区域 2 复制回区域 1。切换回期间不使用剩余 VM,因为反转块存储卷复制操作会在全新的块存储卷组中创建所有新 VM。

  2. 在区域 2 中激活了复制的 VG 版本,并且在切换期间反转了卷组复制之后,此计划组将终止区域 1 中留下的块存储卷组 (VG) 的构件。从不再次使用剩余块存储卷组,即使在从区域 2 切换回区域 1 的过程中也是如此。

任务 6.2.1:启用终止计算计划组

启用计划组。

  1. 选择“Enable all steps from the context menu to the right of plan group name(启用从计划组名称右侧的上下文菜单中的所有步骤

plan-custom-so-phx-enable-terminate-vm.png
图 6-3:如何启用终止计算实例

任务 6.2.2 启用终止卷组计划组

启用计划组。

  1. 选择“Enable all steps from the context menu to the right of plan group name(启用从计划组名称右侧的上下文菜单中的所有步骤

plan-custom-so-phx-enable-terminate-vg.png
图 6-4:如何启用终止卷组

任务 6.3:创建计划组以将计划参数从区域 1 同步到区域 2

现在开始添加自定义、用户定义的 DR 计划组。

第一个用户定义的计划组会将计划参数从区域 1 同步到区域。此计划组将包含一个步骤,该步骤调用已下载到任务 1.4 中 DR 控制节点的 oic-sync-schedule-parameters.sh bash 脚本。

任务 6.3.1:选择“add plan group(添加计划组)”

开始处理以添加计划组。

  1. 单击“添加组”以开始。

plan-custom-so-phx-grp1-add.png
图 6-5:开始添加计划组以同步计划参数

任务 6.3.2:提供计划组名称、订单和添加步骤

DR 计划组可以包含许多并行执行的步骤。我们只添加一个步骤来执行 bash 脚本来同步调度的参数。

  1. 为计划组指定简单但具有描述性的名称。
  2. 选择将计划组插入到 DR 计划中的职位。在这种情况下,我们将在将 VM 停止在区域 1 的内置计划组之前插入用户定义的计划组。
  3. 选择内置的停止计算实例(主要)计划组。
  4. 单击添加步骤可打开对话框,在其中指定用于同步调度参数的脚本。

plan-custom-so-phx-grp1-name.svg
图 6-6:用于创建计划组和添加步骤以同步计划参数的参数

任务 6.3.3:提供步骤名称和本地脚本参数

通过添加计划组步骤对话框,可以指定有关此步骤将执行的操作及其在恢复过程中的行为的参数。在这种情况下,它将将调度的参数从区域 1 同步到区域 2。

我们将解释此对话框中的所有字段,但在后续步骤中的所有剩余屏幕截图中将不显示此详细信息,因为我们只是重复执行相同的过程。

  1. 说明此步骤执行的任务的描述性名称。
  2. 请始终选择 DR 控制节点当前运行的区域,不要在切换期间运行该节点的区域。OCI Full Stack DR 将跟踪 VM 的运行位置,因此您只需指定其当前位置。在这种情况下,DR 控制节点在区域 1 (Ashburn) 中运行。
  3. 选择运行本地脚本以通知 OCI 全栈灾难恢复服务将在计算实例上找到该脚本。bash 脚本已下载到任务 1.3 中的 DR 控制节点。
  4. 选择包含 DR 控制节点的正确区间 - 可以是任何区间。选择指定为 DR 控制节点的计算实例(可能是为此项目/教程创建的应用服务器或 VM)。
  5. 粘贴在 DR 控制节点上安装 oic-sync-schedule-parameters.sh 脚本的绝对路径。添加 PHX 作为参数。这是要同步计划参数的目标区域。如果您使用不同的 OCI 区域并更新脚本,则可能需要提供正确的区域参数。
  6. 指定 opc 作为执行脚本的用户。
  7. 如果脚本无法同步调度的参数,则 DR 计划应停止。这将允许任何人看到有问题并修复它。OCI Full Stack DR 提供了修复问题后继续运行切换计划的机会。
  8. OCI 全栈 DR 声明失败之前的默认值为一小时。可以将此值更改为 30 分钟,也可以将其视为更现实的超时值。
  9. 单击添加步骤将此步骤添加到计划组中。

plan-custom-so-phx-grp1-step.png
图 6-7:用于为同步计划参数创建计划步骤的参数

任务 6.3.4:完成添加计划组和步骤

停止同步调度参数的步骤现在已添加到 DR 计划组,如下图 6-8 所示。

  1. 这将显示刚添加的计划步骤。可以向 DR 计划组添加其他步骤,但此计划组将仅包括同步计划参数的步骤。
  2. 单击添加可将 DR 计划组和步骤添加到 DR 计划。

plan-custom-so-phx-grp1-finish.png
图 6-8:完成添加计划组和步骤以同步计划参数

任务 6.4:创建计划组以在备用数据库上激活相关集成

在备用区域 2 启动 DR 控制节点后,第二个用户定义的计划组将在备用区域激活相关集成。此计划组将包含一个步骤,该步骤调用在任务 1.3 中下载到 DR 控制节点的 oic-integration-switch.sh bash 脚本。

任务 6.4.1:选择“add plan group(添加计划组)”

与以前一样,单击添加组以开始。

plan-custom-so-phx-grp2-add.png
图 6-9:开始添加计划组以在备用时激活相关集成

任务 6.4.2:提供计划组名称、订单和添加步骤

创建 DR 计划组以在备用时开始激活相关集成。

  1. 为计划组指定简单但具有描述性的名称。
  2. 选择将计划组插入到 DR 计划中的职位。在这种情况下,我们将在启动区域 2 中 DR 控制节点的复制版本的内置计划组之后插入用户定义的计划组
  3. 选择内置的启动计算实例(备用)计划组
  4. 单击添加步骤以打开对话框,在其中我们将指定脚本以在备用时激活相关集成。

plan-custom-so-phx-grp2-name.png
图 6-10:用于创建计划组和添加步骤以在备用时激活相关集成的参数

任务 6.4.3:提供步骤名称和本地脚本参数

通过添加计划组步骤对话框,可以指定有关此步骤将执行的操作及其在恢复过程中的行为的参数。在这种情况下,它将激活区域 2 的相关集成。

此步骤中的所有内容与任务 6.3.3 相同,但下图 6-11 中显示的项除外。

  1. 说明此步骤执行的任务的描述性名称。
  2. 粘贴在 DR 控制节点上安装 oic-integration-switch.sh 脚本的绝对路径。添加 activate 作为第一个参数,添加 PHX 作为 second.This 是要激活相关集成的目标区域。如果您使用不同的 OCI 区域并更新脚本,则可能需要提供正确的区域参数。
  3. 单击添加步骤将此步骤添加到计划组中。

plan-custom-so-phx-grp2-step.png
图 6-11:用于创建计划步骤以在备用时激活相关集成的参数

任务 6.4.4:完成添加计划组和步骤

现在,DR 计划组中增加了在备用时激活相关集成的步骤,如下图 6-12 所示。

  1. 这将显示刚添加的计划步骤。
  2. 单击添加可将 DR 计划组和步骤添加到 DR 计划。

plan-custom-so-phx-grp2-finish.png
图 6-12:完成添加计划组和步骤以在备用时激活相关集成

任务 6.5:创建计划组以在区域 2 中启动计划的集成

在备用区域 2 启动 DR 控制节点后,第三个用户定义的计划组将在备用区域启动调度的集成。此计划组将包含一个步骤,该步骤调用在任务 1.3 中下载到 DR 控制节点的 oic-integration-schedule.sh bash 脚本。

任务 6.5.1:选择“add plan group(添加计划组)”

与以前一样,单击添加组以开始。

plan-custom-so-phx-grp3-add.png
图 6-13:开始添加计划组以在备用数据库上启动计划的集成

任务 6.5.2:提供计划组名称、顺序和添加步骤

创建 DR 计划组以在备用区域 2 中启动计划的集成。

  1. 为计划组指定简单但具有描述性的名称。
  2. 选择将计划组插入到 DR 计划中的职位。在这种情况下,请在上一个任务中创建的用户定义计划组之后插入自定义计划组以激活相关集成。
  3. 选择内置的在备用时激活相关集成计划组
  4. 单击添加步骤可打开对话框,在其中指定脚本以在备用时启动调度的集成。

plan-custom-so-phx-grp3-name.png
图 6-14:用于创建计划组和添加步骤以在备用数据库上启动计划集成的参数

任务 6.5.3:提供步骤名称和本地脚本参数

通过添加计划组步骤对话框,可以指定有关此步骤将执行的操作及其在恢复过程中的行为的参数。在这种情况下,它将在备用区域 2 开始安排的集成。

此任务中的所有内容与任务 6.3.3 相同,但下图 6-15 中显示的项除外。

  1. 说明此步骤执行的任务的描述性名称。
  2. 粘贴在 DR 控制节点上安装 oic-integration-schedule.sh 脚本的绝对路径。将 start 添加为第一个参数,将 PHX 添加为第二个参数。
  3. 单击添加步骤将此步骤添加到计划组中。

plan-custom-so-phx-grp3-step.png
图 6-15:用于创建计划步骤以在备用数据库上启动计划集成的参数

任务 6.5.4:完成添加计划组和步骤

现在,在备用数据库上启动调度集成的步骤将添加到 DR 计划组,如下图 6-16 所示。

  1. 这将显示刚添加的计划步骤。
  2. 单击添加可将 DR 计划组和步骤添加到 DR 计划。

plan-custom-so-phx-grp3-finish.png
图 6-16:完成添加计划组并在备用数据库上启动计划的集成

任务 6.6:创建计划组以更新区域 2 中的 DNS 记录

在备用区域 2 启动 DR 控制节点后,第四个用户定义的计划组将在备用区域更新 DNS 记录。此计划组将包含一个步骤,该步骤调用已下载到任务 1.3 中 DR 控制节点的 dns_record_update.sh bash 脚本。

任务 6.6.1:选择“add plan group(添加计划组)”

与以前一样,单击添加组以开始。

plan-custom-so-phx-grp4-add.png
图 6-17:开始添加计划组以在备用数据库上更新 DNS 记录

任务 6.6.2:提供计划组名称、顺序和添加步骤

创建 DR 计划组以将 DNS 记录更新到区域 2。

  1. 为计划组指定简单但具有描述性的名称。
  2. 选择将计划组插入到 DR 计划中的职位。在这种情况下,我们将在内置计划组之后插入用户定义的计划组,以便在备用时启动计划的集成
  3. 选择内置的在备用数据库启动调度集成计划组。
  4. 单击添加步骤以打开对话框,在其中我们将指定要在备用时更新 DNS 记录的脚本。

plan-custom-so-phx-grp4-name.png
图 6-18:用于创建计划组和添加步骤以在备用时更新 DNS 记录的参数

任务 6.6.3:提供步骤名称和本地脚本参数

通过添加计划组步骤对话框,可以指定有关此步骤将执行的操作及其在恢复过程中的行为的参数。在这种情况下,它将更新备用数据库中的 DNS 记录。

此任务中的所有内容与任务 6.3.3 相同,但下图 6-19 中显示的项除外。

  1. 说明此步骤执行的任务的描述性名称。
  2. 粘贴在 DR 控制节点上安装 dns_record_update.sh 脚本的绝对路径。添加区域 2 (本例中的 PHX )的 OCI 区域键作为参数。
  3. 单击添加步骤将此步骤添加到计划组中。

plan-custom-so-phx-grp4-step.png
图 6-19:用于创建计划步骤以在备用时更新 DNS 记录的参数

任务 6.6.4:完成添加计划组和步骤

现在,将更新待机 DNS 记录的步骤添加到 DR 计划组,如下图 6-20 所示。

  1. 这将显示刚添加的计划步骤。
  2. 单击添加可将 DR 计划组和步骤添加到 DR 计划。

plan-custom-so-phx-grp4-finish.png
图 6-20:完成添加计划组和步骤以更新备用数据库中的 DNS 记录

任务 6.7:创建计划组以停用区域 1 中的计划集成

最终用户定义的计划组将在备用区域 2 启动 DR 控制节点后停用区域 1 中的计划集成。此计划组将包含一个步骤,该步骤调用在任务 1.3 中下载到 DR 控制节点的 oic-integration-switch.sh 脚本。

任务 6.7.1:选择“add plan group(添加计划组)”

与以前一样,单击添加组以开始。

plan-custom-so-phx-grp5-add.png
图 6-21:开始添加计划组以停用区域 1 中的计划集成

任务 6.7.2:提供计划组名称、顺序和添加步骤

创建 DR 计划组以停用区域 1 中的计划集成

  1. 为计划组指定简单但具有描述性的名称。
  2. 选择将计划组插入到 DR 计划中的职位。在这种情况下,我们将在内置计划组之后插入用户定义的计划组,以在备用时更新 DNS 记录
  3. 选择内置的更新待机 DNS 记录计划组。
  4. 单击添加步骤以打开对话框,在其中我们将指定脚本以停用区域 1 中的已安排集成

plan-custom-so-phx-grp5-name.png
图 6-22:用于创建计划组和添加步骤以停用区域 1 中的计划集成的参数

任务 6.7.3:提供步骤名称和本地脚本参数

通过添加计划组步骤对话框,可以指定有关此步骤将执行的操作及其在恢复过程中的行为的参数。在这种情况下,它将停用区域 1 中的已安排集成

此任务中的所有内容与任务 6.3.3 相同,但下图 6-23 中显示的项除外。

  1. 说明此步骤执行的任务的描述性名称。
  2. 粘贴在 DR 控制节点上安装 oic-integration-switch.sh 脚本的绝对路径。添加区域 1 的 OCI 区域密钥(在本示例中为 IAD )作为参数。
  3. 单击添加步骤将此步骤添加到计划组中。

plan-custom-so-phx-grp5-step.png
图 6-23:用于创建计划步骤以停用区域 1 中的计划集成的参数

任务 6.7.4:完成添加计划组和步骤

停用区域 1 中的计划集成的步骤现在已添加到 DR 计划组,如下图 6-20 所示。

  1. 这将显示刚添加的计划步骤。
  2. 单击添加可将 DR 计划组和步骤添加到 DR 计划。

plan-custom-so-phx-grp5-finish.png
图 6-24:完成添加计划组和步骤以停用区域 1 中的计划集成

切换计划现在应包括 Oracle Integration 的五个 DR 计划组,如下面的屏幕截图所示。如果您的保护组包括其他应用程序或其他 OCI 服务以及 Oracle Integration,则您可能具有其他计划组

plan-custom-so-phx-completed.png
图 6-25:显示添加到切换计划的五个自定义计划组

任务 7:定制区域 2 中的故障转移计划(凤凰城)

此任务说明如何添加自定义、用户定义的 DR 计划组,以及如何在区域 2 的 Oracle Integration 故障转移期间在实际中断或失去对区域 1 的访问时管理需要完成的任务的步骤。这些是刚刚添加到以上任务 6 中的切换计划的相同步骤的子集。但是,只有备用区域 2 上执行的步骤才会添加到故障转移计划中,因为假定区域 1 在故障转移期间完全不可访问。

  1. 在区域 2 中激活相关集成
  2. 更新区域 2 中的计划参数
  3. 在区域 2 开始安排的集成
  4. 更新区域 2 中的 DNS 记录

任务 7.1:选择故障转移计划

首先导航到在任务 5 中创建的故障转移计划。

  1. 确保备用区域 2 仍是控制台中的当前区域上下文。
  2. 选择故障转移计划。

plan-custom-fo-phx-nav.png
图 7-1:如何在区域 2 中创建开始定制故障转移计划

任务 7.2:选择添加计划组

第一个用户定义的计划组将激活区域 2 中的相关集成。此计划组将包含一个步骤,该步骤调用在任务 1.3 中下载到 DR 控制节点的 oic-integration-switch.sh bash 脚本。

  1. 单击“添加组”以开始。

plan-custom-fo-phx-grp1-add.svg
图 7-2:开始添加计划组以激活相关集成

任务 7.2.1:提供计划组名称、订单和添加步骤

DR 计划组可以包含许多并行执行的步骤。我们只需添加一个步骤即可执行 bash 脚本来激活相关集成。

  1. 为计划组指定简单但具有描述性的名称。
  2. 选择将计划组插入到 DR 计划中的职位。在这种情况下,我们将在启动区域 2 中复制 VM 的内置计划组之后插入用户定义的计划组
  3. 选择内置的启动计算实例(备用)计划组
  4. 单击添加步骤以打开对话框,在其中我们将指定脚本以激活相关集成

plan-custom-fo-phx-grp1-name.png
图 7-3:用于创建计划组和添加步骤以在备用时激活相关集成的参数

任务 7.2.2:提供步骤名称和本地脚本参数

通过添加计划组步骤对话框,可以指定有关此步骤将执行的操作及其在恢复过程中的行为的参数。在这种情况下,它将激活区域 2 中的相关集成,如下图 7-4 所示。

我们将解释此对话框中的所有字段,但在后续步骤中的所有剩余屏幕截图中将不显示此详细信息,因为我们只是重复执行相同的过程。

  1. 说明此步骤执行的任务的描述性名称。
  2. 如果脚本无法激活相关集成,则 DR 计划应停止。这将允许任何人看到有问题并修复它。OCI Full Stack DR 提供了修复问题后继续运行切换计划的机会。
  3. OCI 全栈 DR 声明失败之前的默认值为一小时。可以将此值更改为 30 分钟,也可以将其视为更现实的超时值。
  4. 请始终选择 DR 控制节点当前运行的区域,不要在切换期间运行该节点的区域。OCI Full Stack DR 将跟踪 VM 的运行位置,因此您只需指定其当前位置。在这种情况下,DR 控制节点在区域 1 (Ashburn) 中运行。
  5. 选择运行本地脚本以通知 OCI 全栈灾难恢复服务将在计算实例上找到该脚本。bash 脚本已下载到任务 1.3 中的 DR 控制节点。
  6. 选择包含 DR 控制节点的正确区间 - 可以是任何区间。选择指定为 DR 控制节点的计算实例(可能是为此项目/教程创建的应用服务器或 VM)。
  7. 粘贴在 DR 控制节点上安装 oic-integration-switch.sh 脚本的绝对路径。添加 activate 作为第一个参数,添加 PHX 作为第二个参数。
  8. 指定 opc 作为执行脚本的用户。
  9. 单击添加步骤将此步骤添加到计划组中。

plan-custom-fo-phx-grp1-step.png
图 7-4:用于创建计划步骤以在备用时激活相关集成的参数

任务 7.2.3:完成添加计划组和步骤

激活相关集成的步骤现在已添加到 DR 计划组,如下图 7-5 所示。

  1. 这将显示刚添加的计划步骤。
  2. 单击添加可将 DR 计划组和步骤添加到 DR 计划。

plan-custom-fo-phx-grp1-finish.png
图 7-5:完成添加计划组和步骤以激活相关集成

任务 7.3:创建计划组以更新区域 2 中的计划参数

第二个用户定义的计划组将在备用区域 2 更新计划的参数。此计划组将包含一个步骤,该步骤调用已下载到任务 1.3 中 DR 控制节点的 oic-update-parameters.sh bash 脚本。

任务 7.3.1:选择添加计划组

与以前一样,单击添加组以开始。

plan-custom-fo-phx-grp2-add.png
图 7-6:开始添加计划组以在备用时更新计划的参数

任务 7.3.2:提供计划组名称、订单和添加步骤

创建 DR 计划组以更新区域 2 中的计划参数。

  1. 为计划组指定简单但具有描述性的名称。
  2. 选择将计划组插入到 DR 计划中的职位。在这种情况下,请在上一个任务中创建的用户定义计划组之后插入自定义计划组以激活相关集成。
  3. 选择在备用时激活相关集成计划组。
  4. 单击添加步骤可打开对话框,在其中指定脚本以在备用时更新调度的参数。

plan-custom-fo-phx-grp2-name.png
图 7-7:用于创建计划组和添加步骤以在备用时更新计划参数的参数

任务 7.3.3:提供步骤名称和本地脚本参数

通过添加计划组步骤对话框,可以指定有关此步骤将执行的操作及其在恢复过程中的行为的参数。在这种情况下,它将恢复区域 2 中的更新调度参数。

此任务中的所有内容与任务 7.3.2 相同,但下图 7-8 中显示的项除外。

  1. 说明此步骤执行的任务的描述性名称。
  2. 粘贴在 DR 控制节点上安装 oic-update-parameters.sh 脚本的绝对路径。添加 PHX 作为唯一参数(本例中的 PHX)。
  3. 单击添加步骤将此步骤添加到计划组

plan-custom-fo-phx-grp2-step.png
图 7-8:用于为备用数据库中的更新计划参数创建计划步骤的参数

任务 7.3.4:完成添加计划组和步骤

现在,将更新备用时调度参数的步骤添加到 DR 计划组,如下图 7-9 所示。

  1. 这将显示刚添加的计划步骤。
  2. 单击添加可将 DR 计划组和步骤添加到 DR 计划。

plan-custom-fo-phx-grp2-finish.png
图 7-9:在备用数据库上完成添加计划组和步骤更新计划参数

任务 7.4:创建计划组以在区域 2 中启动计划的集成

在备用区域 2 启动 DR 控制节点后,第三个用户定义的计划组将在备用区域启动调度的集成。此计划组将包含一个步骤,该步骤调用在任务 1.3 中下载到 DR 控制节点的 oic-integration-schedule.sh bash 脚本。

任务 7.4.1:选择添加计划组

与以前一样,单击添加组以开始。

plan-custom-fo-phx-grp3-add.png
图 7-10:开始添加计划组以在备用数据库上启动计划的集成

任务 7.4.2:提供计划组名称、订单和添加步骤

创建 DR 计划组以在备用数据库上启动调度的集成

  1. 为计划组指定简单但具有描述性的名称。
  2. 选择将计划组插入到 DR 计划中的职位。在这种情况下,我们将在备用计划组的“更新”计划参数之后插入用户定义的计划组
  3. 选择内置在备用数据库更新调度参数计划组。
  4. 单击添加步骤以打开对话框,在其中我们将指定脚本以在备用时启动调度的集成

plan-custom-fo-phx-grp3-name.png
图 7-11:用于创建计划组和添加步骤以在备用数据库上启动计划集成的参数

任务 7.4.3:提供步骤名称和本地脚本参数

通过添加计划组步骤对话框,可以指定有关此步骤将执行的操作及其在恢复过程中的行为的参数。

此任务中的所有内容与任务 7.2.2 相同,但下图 6-19 中显示的项除外。

  1. 说明此步骤执行的任务的描述性名称。
  2. 粘贴在 DR 控制节点上安装 oic-integration-schedule.sh 脚本的绝对路径。将 start 添加为第一个参数,将 PHX 添加为第二个参数。
  3. 单击添加步骤将此步骤添加到计划组中。

plan-custom-fo-phx-grp3-step.png
图 7-12:用于创建计划步骤以在备用数据库上启动计划集成的参数

任务 7.4.4:完成添加计划组和步骤

现在,将启动备用时调度集成的步骤添加到 DR 计划组,如下图 7-13 所示。

  1. 这将显示刚添加的计划步骤。
  2. 单击添加可将 DR 计划组和步骤添加到 DR 计划。

plan-custom-fo-phx-grp3-finish.png
图 7-13:完成添加计划组和步骤以在备用数据库上启动计划的集成

任务 7.5:创建计划组以更新区域 2 中的 DNS 记录

在备用区域 2 启动 DR 控制节点后,第四个用户定义的计划组将在备用区域更新 DNS 记录。此计划组将包含一个步骤,该步骤调用已下载到任务 1.3 中 DR 控制节点的 dns_record_update.sh bash 脚本。

任务 7.5.1:选择添加计划组

与以前一样,单击添加组以开始。

plan-custom-fo-phx-grp4-add.png
图 7-14:开始添加计划组以在备用数据库上更新 DNS 记录

任务 7.5.2:提供计划组名称、订单和添加步骤

创建 DR 计划组以将 DNS 记录更新到区域 2。

  1. 为计划组指定简单但具有描述性的名称。
  2. 选择将计划组插入到 DR 计划中的职位。在这种情况下,我们将在内置计划组之后插入用户定义的计划组,以便在备用时启动计划的集成
  3. 选择内置的在备用数据库启动调度集成计划组。
  4. 单击添加步骤以打开对话框,在其中我们将指定要在备用时更新 DNS 记录的脚本。

plan-custom-fo-phx-grp4-name.png
图 7-14:用于创建计划组和添加步骤以在备用时更新 DNS 记录的参数

任务 7.5.3:提供步骤名称和本地脚本参数

通过添加计划组步骤对话框,可以指定有关此步骤将执行的操作及其在恢复过程中的行为的参数。在这种情况下,它将更新备用数据库中的 DNS 记录。

此任务中的所有内容与任务 6.3.3 相同,但下图 7-15 中显示的项除外。

  1. 说明此步骤执行的任务的描述性名称。
  2. 粘贴在 DR 控制节点上安装 dns_record_update.sh 脚本的绝对路径。添加区域 2 (本例中的 PHX )的 OCI 区域键作为参数。
  3. 单击添加步骤将此步骤添加到计划组中。

plan-custom-fo-phx-grp4-step.png
图 7-15:用于创建计划步骤以在备用时更新 DNS 记录的参数

任务 7.5.4:完成添加计划组和步骤

现在,将更新待机 DNS 记录的步骤添加到 DR 计划组,如下图 7-16 所示。

  1. 这将显示刚添加的计划步骤。
  2. 单击添加可将 DR 计划组和步骤添加到 DR 计划。

plan-custom-fo-phx-grp4-finish.png
图 7-16:完成添加计划组和步骤以更新备用数据库中的 DNS 记录

故障转移计划现在应包括 Oracle Integration 的四个 DR 计划组,如下面的屏幕截图所示。如果您的保护组包括其他应用程序或 OCI 服务以及 Oracle Integration,则您可能还有其他计划组。

plan-custom-fo-phx-completed.png
图 7-14:显示添加到故障转移计划的四个自定义计划组

任务 8:执行区域 2 中的切换计划(凤凰城)

备用区域 2(Phoenix) 中的切换和故障转移 DR 计划均已完成。区域 2 中的 DR 计划允许 OCI 全栈 DR 将工作负载从区域 1 转换到区域 2。下一个任务是在保护组中为区域 1(阿什本)创建切换和故障转移计划,以便 OCI 全栈灾难恢复可以将工作负载从区域 2 转换回区域 1。

但是,只能在具有备用角色的保护组中创建和修改 DR 计划。区域 1 中的 DR 保护组当前为主要组,这意味着无法在区域 1 中创建 DR 计划。

因此,我们需要反转保护组的角色,因此区域 1 是备用区域,区域 2 是主区域。执行刚创建的切换计划,以将工作量从区域 1(阿什本)转换为区域 2(菲尼克斯)。

任务 8.1:开始执行计划

执行 DR 计划以开始将 Oracle Integration 工作负载从区域 1 转换到区域 2 的过程。

  1. 确保区域上下文仍设置为备用区域 2(凤凰城)。
  2. 使用控制台顶部的面包屑可帮助确保 DR 保护组详细信息是当前计划上下文。
  3. 确保选择了区域 2 中正确的 DR 保护组;该组应为备用角色。
  4. 在继续之前,请确保同时存在故障转移和切换计划;如果没有,请返回到前面的步骤来创建和定制两个 DR 计划。
  5. 单击执行 DR 计划

images-exec-so-to-phx-begin.png
图 8-1:显示如何执行切换到备用区域的操作

任务 8.2:选择切换计划并执行

此任务执行区域 2 中的切换计划。

  1. 选择切换计划。
  2. 确保选中了“Enable prechecks(启用预检查)”。
  3. 单击执行 DR 计划以开始。

images-exec-so-to-phx-exec.png
图 8-2:选择并执行切换计划

任务 8.3:后续步骤

监视切换计划,直到 Oracle Integration 工作负载从区域 1 完全转换为区域 2。OCI Full Stack DR 将负责清理构件并在区域之间更改主和备用角色。

区域 2(菲尼克斯)将是主区域,OCI 全栈灾难恢复服务完成切换后,区域 1(阿什本)将成为备用区域。

任务 9:在区域 1 中创建 DR 计划(阿什本)

在区域 1 (Ashburn) 的 DR 保护组(现在为备用对等设备)中创建相同的基本切换和故障转移计划。

每个计划的目的是在区域 2 是主要对等方时,将工作量从区域 2 转换为区域 1。在任何 DR 操作过程中,两个区域中 DR 保护组的角色都会自动反转,因此区域 2 中的保护组将成为备用组,区域 1 中的保护组在故障转移或切换后将成为主组。

OCI Full Stack DR 将根据上一步中添加的成员资源,使用内置步骤预先填充两个计划。将在后面的步骤中定制计划,以在恢复操作期间处理与 Oracle Integration 相关的所有任务。

DR 计划始终在具有备用角色的保护组中创建;在任务 8 中执行切换计划后,区域 1 当前是备用保护组。

任务 9.1:开始创建 DR 计划

通过选择区域 1 中的 DRPG 创建基本计划,如下图 9-1 所示。

  1. 确保 OCI 区域上下文为区域 1(阿什本)。
  2. 选择区域 1 中的备用 DRPG。
  3. 选择计划。
  4. 单击“创建计划”以开始处理。

plan-create-phx-nav.pvg
图 9-1:如何在区域 1 中开始创建基本 DR 计划

任务 9.1.1:创建切换计划

如下图 9-2 所示,创建 DR 计划非常简单。

  1. 使切换计划的名称简单但有意义。这个名字应该尽可能短,但一目了然地易于理解,以帮助减少危机期间的混乱和人为错误。

  2. 选择规划类型。在本文撰写时,只有两种规划类型。

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

  3. 单击“创建”以创建预填充了基本内置步骤的基本切换计划。

任务 9.2:创建故障转移计划

按照相同的过程创建基本故障转移计划,如下图 9-3 所示。

  1. 使故障转移计划的名称简单但有意义。这个名字应该尽可能短,但一目了然地易于理解,以帮助减少危机期间的混乱和人为错误。

  2. 选择规划类型。在本文撰写时,只有两种规划类型。

  3. 单击“创建”以创建预填充了基本内置步骤的基本故障转移计划。

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

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

plan-create-phx-completed.png
图 9-4:显示区域 2 中必须存在的两个基本 DR 计划,然后继续执行任何操作

任务 10:自定义区域 1 中的切换计划(阿什本)

有关此任务的所有内容几乎与我们在区域 2 的任务 6 中所做的完全相同,但是在区域 1 中执行此操作。

在任务 9 中创建的基本 DR 计划不包含用于管理特定于 Oracle Integration 的恢复任务的任何内容。此任务说明如何添加自定义、用户定义的 DR 计划组以及管理在 Oracle Integration 切换期间需要完成的任务的步骤:

  1. 将计划参数从区域 1 同步到区域 2。
  2. 在区域 2 中激活相关集成。
  3. 在区域 2 开始安排的集成。
  4. 更新区域 2 中的 DNS 记录。
  5. 停用区域 1 中的计划集成。

任务 10.1:选择切换计划

首先导航到在上一步中创建的切换计划。

plan-custom-so-iad-nav.png
图 10-1:如何开始定制区域 1 中的切换计划

任务 10.2:启用终止构件的 DR 计划组(可选)

这些是先前步骤中对区域 2 执行的相同步骤;区域 1 需要遵循相同的过程。

默认情况下,切换计划中禁用了两个计划组,如下面的屏幕截图所示。它们被禁用,以在测试期间提供一定程度的舒适度,即实际上没有内容被删除,并且您仍然具有可行的文物副本作为备份,以防测试过程中出现问题。

但是,这两个计划组会终止(删除)将来再也不会用作任何 DR 操作的一部分的构件。当您在两个区域之间来回切换时,这些构件将随着时间的推移不断累积,这给人类造成困惑,即哪些计算实例和卷组实际上应该处于活动状态。

OCI 全栈灾难恢复服务投入生产后,应启用这些计划组。在测试切换和切换期间遗留的所有构件(这两个计划组已禁用)都应在投入生产之前终止并清理,以减少混乱和正常操作期间出现人为错误的可能性。

(可选)现在可以启用这些计划组,以避免在投入生产之前手动清除多余的构件。

plan-custom-so-iad-disabled-show.png
图 10-2:默认情况下禁用计划组

以下是已禁用的计划组在启用时执行的操作:

  1. 在 OCI 块存储操作期间,在区域 1 上启动了 VM 的复制版本,以便在切换过程中将从区域 1 复制回区域 2,然后此计划组终止在区域 2 中留下的计算实例构件。切换回期间不使用剩余 VM,因为反转块存储卷复制操作会在全新的块存储卷组中创建所有新 VM。

  2. 在区域 1 中激活了复制的 VG 版本,并且在切换期间反转了卷组复制之后,此计划组将终止区域 2 中留下的块存储卷组 (VG) 的构件。从不再次使用剩余块存储卷组,即使在从区域 1 切换回区域 2 的过程中也是如此。

任务 10.2.1:启用终止计算计划组

启用计划组。

  1. 选择“Enable all steps from the context menu to the right of the plan group name(启用计划组名称右侧的上下文菜单中的所有步骤)

plan-custom-so-iad-enable-terminate-vm.png
图 10-3:如何启用终止计算实例

任务 10.2.2 启用终止卷组计划组

启用计划组。

  1. 选择“Enable all steps from the context menu to the right of the plan group name(启用计划组名称右侧的上下文菜单中的所有步骤)

plan-custom-so-iad-enable-terminate-vg.png
图 10-4:如何启用终止卷组

任务 10.3:为切换计划创建各种自定义计划

我们已经展示了如何为任务 6.3 到 6.7 的切换计划创建各种用户定义的计划。通过使用类似流程,创建五个自定义自定义计划组。必须使用在菲尼克斯区域中运行的计算实例来执行脚本。

  1. 将调度的参数从主数据库同步到备用数据库 /home/opc/oic-scripts/oic-sync-schedule-parameters.sh IAD。
  2. 在备用数据库 /home/opc/oic-scripts/oic-integration-switch.sh 中激活相关集成可激活 IAD。
  3. 在备用 /home/opc/oic-scripts/oic-integration-schedule.sh 中启动计划的集成,启动 IAD。
  4. 更新备用 /home/opc/oic-scripts/dns-record-update.sh IAD 中的 DNS 记录。
  5. 在主 /home/opc/oic-scripts/oic-integration-switch.sh 中停用计划的集成会停用 IAD。

创建这些集成后,切换计划现在应包括用于 Oracle 集成的五个 DR 计划组,如下面的屏幕截图中所示。如果您的保护组包括其他应用或 OCI 服务以及 Oracle 集成,您可能还有其他计划组。

plan-custom-so-iad-completed.png
图 10-21:显示添加到切换计划的五个自定义计划组

任务 11:定制区域 1 中的故障转移计划(阿什本)

此任务说明如何添加自定义、用户定义的 DR 计划组以及管理在区域 1 的 Oracle Integration 故障转移期间在实际中断或对区域 2 的访问丢失期间需要完成的任务的步骤。这些是刚刚添加到以上任务 10 中的切换计划的相同步骤的子集。但是,只有备用区域 1 中执行的步骤才会添加到故障转移计划中,因为假定区域 2 在故障转移期间完全不可访问。

  1. 在区域 1 中激活相关集成。
  2. 更新区域 1 中的计划参数。
  3. 在区域 1 开始安排的集成。
  4. 更新区域 1 中的 DNS 记录。

任务 11.1:选择切换计划

首先导航到在任务 9 中创建的故障转移计划。

  1. 确保备用区域 2 仍是控制台中的当前区域上下文。
  2. 选择故障转移计划。

plan-custom-fo-iad-nav.png
图 7-1:如何在区域 2 中创建开始定制故障转移计划

任务 11.2:在区域 1(备用)中创建多个自定义计划组

我们已经展示了如何为任务 7.2 到 7.5 的故障转移计划创建各种用户定义的计划。通过使用类似流程,创建以下四个自定义用户定义的计划组。必须使用在菲尼克斯区域中运行的计算实例来执行脚本。

  1. 在备用数据库 /home/opc/oic-scripts/oic-integration-switch.sh 中激活相关集成可激活 IAD。

  2. 在备用 /home/opc/oic-scripts/oic-update-parameters.sh IAD 中更新调度的参数。

  3. 在备用 /home/opc/oic-scripts/oic-integration-schedule.sh 中启动计划的集成,启动 IAD。

  4. 更新备用 /home/opc/oic-scripts/dns-record-update.sh IAD 中的 DNS 记录。

创建这些备份后,故障转移计划现在应包括 Oracle 集成的四个 DR 计划组,如下面的屏幕截图所示。如果您的保护组包括其他应用或 OCI 服务以及 Oracle 集成,您可能还有其他计划组。

plan-custom-fo-iad-completed.png
图 11-14:显示添加到故障转移计划的四个自定义计划组

后续步骤

此时应完全实施适用于 Oracle Integration 的 OCI 全栈灾难恢复。但是,在将 OCI Full Stack DR 用于生产之前,应验证完整功能。应执行所有故障转移和切换计划,以验证一切是否按预期工作,恢复团队完全理解整个过程。

测试切换计划

切换计划旨在清除所有构件,并确保内置恢复步骤(例如负载平衡器、块存储、文件系统、BaseDB、ExaCS 和自治数据库)的所有角色都可以在无需人工干预的情况下从备用区域中恢复。

测试故障转移计划

故障转移不同。故障转移本身无法清理构件,也无法确保发生故障的区域中的服务和数据库已准备好将工作负载转换回区域 1。恢复团队需要了解并执行任务,以确保数据卫士处于正确状态,存储和计算实例的构件已终止等。请阅读 OCI 全栈灾难恢复文档中的故障转移后重置灾难恢复配置以了解该过程。

验证所有 DR 计划以最终接受

恢复团队需要执行最终验证,以演示 OCI 全栈灾难恢复保护组和生产工作负载计划的准备情况。区域 2(凤凰城)应该是进程中此时的主要区域。通过完成以下步骤开始对所有计划进行最终验证:

:为了确保同一客户端应用程序可用于验证 Oracle Integration 实例的其余 API,您可以将两个实例(即主实例和辅助实例)的范围添加到 OAuth 客户端应用程序。有关 OAuth 客户机应用程序的设置,请参阅官方文档

确认

视频 1:部署 Oracle Integration for Disaster Recovery 视频 2:使用 OCI Full Stack DR 视频 3 自动执行 Oracle Integration 的灾难恢复操作:用于自动恢复 Oracle Integration 的脚本

更多学习资源

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

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