关于使用 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 架构
主区域
在主区域中,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 已启用,可在辅助区域中创建备用数据库,并确保实时数据复制,从而实现高可用性和灾难恢复。
- 存储和数据保护
计算实例使用的块存储卷组受跨区域卷组复制的保护,辅助区域配置为复制目标。
了解 JD Edwards 配置相关的文件
sqlnet.ora
|
用途:存储应用程序用于安全连接到数据库的 Oracle Wallet 配置。 位置:JDE 企业/批处理服务器。借项 对价:确保 wallet 路径指向 DR 数据库的有效 wallet 位置。 文件路径: |
tnsnames.ora
|
用途:存储网络服务名,该名称用作数据库网络地址的别名。 位置:JDE Enterprise、Batch 和 Web 服务器。 DR 考虑:使用 DR 数据库的正确网络地址 (FQDN/IP) 进行更新。 企业/批处理服务器上的文件路径: Web 服务器上的文件路径: |
jde.ini
|
用途:存储 JDE 应用程序的运行时配置,包括数据库连接详细信息和安全设置。 位置:JDE Enterprise 和 Batch 服务器。 DR 考虑:使用 DR 环境的正确服务器名称更新 文件路径: |
jdbj.ini
|
用途:包含 JDE 应用程序的 JDBj 驱动程序设置和数据库连接参数。 位置:JDE Web 和 AIS 服务器。 DR 对价:确保在 文件路径: |
jas.ini
|
用途:存储 EnterpriseOne Web 客户机的 HTML 服务器组件的配置。 位置:JDE Web 服务器。 DR 对价:更新以下内容:
SM_Agent_Home/SCFHA/Target/Managed Instance/config |
rest.ini |
用途:保存 AIS 服务器的配置,包括 REST API 路径、验证设置和 JAS 服务器链接。 位置:JDE AIS 服务器。 DR 对价:更新以下内容:
SM_Agent_Home/SCFHA/Target/Managed Instance/config |
管理 -console.xml |
用途:此 XML 文件包含有关不同服务器、其配置和用户访问权限的信息。 位置: Server Manager 服务器 DR 对价:确保在 文件路径: |
代理。属性 |
用途:具有管理代理设置的配置文件,管理代理是与管理控制台交互并管理 EnterpriseOne 服务器的组件 位置: Server Manager 服务器 DR 考虑:确保在 文件路径: |
其他系统级更新 |
除了应用程序配置文件外,还应在 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
用户执行这些脚本。确保此用户具有适当的权限。- 打开
oracle-cloud-agent-run-command
进行编辑:vi ./101-oracle-cloud-agent-run-command
- 在配置文件中添加以下行:
ocarun ALL=(ALL) NOPASSWD:ALL
- 然后运行:
vi sudo -cf ./101-oracle-cloud-agent-run-command
- 将配置文件添加到
/etc/sudoers.d
:sudo cp ./101-oracle-cloud-agent-run-command /etc/sudoers.d/
- 打开
- 为卷组激活跨区域备份功能。
- 在辅助区域部署负载平衡器。在 FSDR 配置中,只有后端集(实例)将从主区域移动到备用区域;必须提前在备用区域上手动创建负载平衡器本身。
- 在 DR 区域中设置相应的(对等)数据库实例以支持应用程序故障转移。
- 为主区域中的日志创建对象存储桶。此存储桶将存储特定于环境的 DR 日志和对象。
- 在备用区域中创建另一个对象存储存储桶。此存储桶将用于复制或日志记录目的,以确保备用区域中的 DR 就绪。
- 将以下定制脚本放在正确的位置。
应用自定义脚本
这些定制脚本将在 FSDR 处理过程中执行。
update_rest 适用的服务器: AIS |
|
update_tnsnames_jdbj 适用的服务器: JAS、AIS |
|
update_wallet 适用的服务器:所有 JDE 服务器(企业、AIS、JAS、Fatclient、集成等) |
|
update_ini 适用的服务器:企业 |
|
update_tnsnames_sqlnet
适用的服务器:企业服务器、部署服务器、Fatclients 服务器 |
|
update_agent_properties 适用的服务器:由服务器管理器管理的所有服务器 |
|
update_management_console 适用的服务器:服务器管理器 |
|