关于使用 OCI 全栈灾难恢复配置 JD Edwards 灾难恢复

为确保在 Oracle Cloud Infrastructure (OCI) 上托管的 JD Edwards (JDE) 应用具有强大、自动化、可扩展的灾难恢复 (Disaster Recovery,DR) 策略,请使用 Oracle Cloud Infrastructure Full Stack Disaster Recovery (FSDR) 服务。FSDR 可跨区域为基础设施和应用组件编排故障转移和故障恢复流程,从而确保业务连续性。

本文档介绍了 JD Edwards 架构,并提供了使用 OCI FSDR 设置 DR 环境所涉及的配置和实施过程,同时还考虑了必要的安全性、性能和合规性要求。

JD Edwards 架构

此图概述了 JD Edwards 应用程序的部署架构,其中包含主要区域和辅助区域。



jde-dr-fsdr-oracle.zip

主区域

在主区域中,JDE 环境部署在虚拟云网络 (Virtual Cloud Network,VCN) 中。该网络划分为三个专用子网,并按应用资源功能进行隔离,如下所述。

  • 负载平衡器层

    负载平衡器层托管 OCI 负载平衡器,该负载平衡器为最终用户提供对 JDE Web 服务的访问。

  • 应用程序层

    应用程序层包含核心应用程序组件,包括企业服务器、Web 服务器和应用程序接口服务 (Application Interface Services,AIS) 服务器

  • 管理层

    管理层包括用于 JDE 管理和管理的工具和服务,例如部署服务器和服务器管理器控制台服务器

  • Database Tier

    在数据库层中,JDE 数据库部署在自治事务处理共享 (Autonomous Transaction Processing,ATP-S) 上。应用服务器使用端点连接到数据库。Oracle Autonomous Data Guard 已启用,可在辅助区域中创建备用数据库,并确保实时数据复制,从而实现高可用性和灾难恢复。

  • 存储和数据保护

    计算实例使用的块存储卷组受跨区域卷组复制的保护,辅助区域配置为复制目标。

辅助区域

辅助区域用作灾难恢复站点,并镜像主 region.It 中的关键组件包含:

  • 与主区域的网络布局匹配的复制 VCN 结构。
  • 副本负载平衡器,用于确保在故障转移期间访问连续性。
  • 使用 Autonomous Data Guard 与主数据库保持同步的备用 ATP-S 数据库。
  • 卷组的副本,用于在主区域发生故障时确保数据可用性。

了解 JD Edwards 配置相关的文件

JDE 依赖多个配置文件来管理其组件与其他参与层(例如数据库和身份验证服务)之间的连接。这些文件在定义连接参数、运行时设置和集成行为方面起着关键作用。在配置灾难恢复 (Disaster Recovery,DR) 方案以确保无缝应用程序功能时,正确了解这些文件及其内容至关重要。
下面是关键配置文件的摘要:

了解 Full Stack Disaster Recovery 概念

配置和实施 FSDR 时,您需要了解以下概念和术语。

  • DR 保护组
    • 定义: DR 保护组包含所有必要的 OCI 资源,例如计算实例、卷组、负载平衡器和数据库,这些资源构成了完整的应用堆栈。
    • 优点: DR 保护组被视为用于故障转移、故障恢复和测试场景的单个单元。它可以确保将所有资源一起恢复,从而最大限度地减少停机和数据丢失。
  • DR 计划

    DR 计划是由 FSDR 创建的自动运行手册,用于为主 DR 保护组中的所有资源执行灾难恢复。它包含定义如何将主 DR 保护组区域中的所有资源转换为其对等辅助 DR 保护组区域的步骤。以下是各种类型的 DR 计划:

    • 故障转移(未计划):如果您希望通过在备用区域中启动应用程序堆栈来执行即时转换,而不尝试关闭主区域中的服务,请使用故障转移计划。故障转移计划通常用于在停机或灾难影响主区域时执行 DR 转换。
    • 切换(已计划):如果要执行有序转换,请使用切换计划:关闭主区域中的应用程序堆栈,然后在备用区域中将其启动。切换计划通常用于计划内站点维护、软件打补丁、DR 测试和验证。
    • 启动钻取:启动钻取会生成一个计划来执行 DR 钻取,而不会中断主 DR 保护组资源。它在备用 DR 保护组中创建资源副本。
    • 停止钻取:此 DR 计划通过删除启动钻取创建的资源的副本来停止 DR 钻取。
  • 移动实例
    • 定义:仅部署在主区域中的实例。
    • 用例:cold DR 拓扑中很常见,其中很少或根本不需要在备用区域中预部署应用程序或服务的组件,以备将来 DR 转换。
    • 行为:在灾难事件期间,将移动实例从主区域的 DR 保护组移至备用区域的 DR 保护组。
    • 优势:成本效益高,因为备用区域中的资源没有持续运行。
    • 注意:由于需要在备用区域中预配和启动实例,此方法需要较长的恢复时间。
  • 不移动实例
    • 定义:在主区域和备用区域中预部署的实例。
    • 用例:主动 - 被动 DR 拓扑中的常见情况,其中应用程序或服务的部分或全部组件预部署在备用区域中,以便为将来的 DR 转换做好准备。
    • 行为:在 DR 操作期间,将根据需要启动或停止这些实例以在区域之间转换服务。
    • 优势:由于备用区域中的现有基础结构,此方法可以加快恢复速度。
    • 考虑事项:这可能会导致更高的成本,因为需要在两个区域中维护基础设施。

完整堆栈灾难恢复先决条件

在继续执行 FSDR 流程之前,您需要完成以下先决条件:

  • 在 DR 区域中预配 VCN、子网、路由表、安全列表和网络网关。要支持故障转移功能和连接,请确保网络配置与主区域中的配置镜像。
  • 定义动态组以允许策略向在 DR 环境中创建实例授予管理员权限。
  • 您需要具有管理员权限才能在计算实例上运行脚本。运行命令插件使用 ocarun 用户执行这些脚本。确保此用户具有适当的权限。
    1. 打开 oracle-cloud-agent-run-command 进行编辑:
       vi ./101-oracle-cloud-agent-run-command
    2. 在配置文件中添加以下行:
      ocarun ALL=(ALL) 
      NOPASSWD:ALL
    3. 然后运行:
      vi sudo -cf ./101-oracle-cloud-agent-run-command
    4. 将配置文件添加到 /etc/sudoers.d
      sudo cp ./101-oracle-cloud-agent-run-command /etc/sudoers.d/
  • 为卷组激活跨区域备份功能。
  • 在辅助区域部署负载平衡器。在 FSDR 配置中,只有后端集(实例)将从主区域移动到备用区域;必须提前在备用区域上手动创建负载平衡器本身。
  • 在 DR 区域中设置相应的(对等)数据库实例以支持应用程序故障转移。
  • 为主区域中的日志创建对象存储桶。此存储桶将存储特定于环境的 DR 日志和对象。
  • 在备用区域中创建另一个对象存储存储桶。此存储桶将用于复制或日志记录目的,以确保备用区域中的 DR 就绪。
  • 将以下定制脚本放在正确的位置。

应用自定义脚本

这些定制脚本将在 FSDR 处理过程中执行。