在 OCI 灾难恢复体系结构中实施中间层复制
在 Oracle Cloud Infrastructure (OCI) 的对称灾难恢复 (DR) 系统中为中间件层实施持续复制,方法是在主区域与辅助区域之间复制应用服务器及其配置,从而确保在故障转移或切换期间尽可能减少停机和数据丢失。
此解决方案手册概述了整个系统生命周期中的中层复制。它提供了各种复制技术,并提供了在实际场景中实施这些技术的详细信息。它应用主动 - 被动中间层灾难恢复方案,其中主系统和备用系统都位于 OCI 中。
该内容面向熟悉中间件和 OCI 的灾难恢复 (Disaster Recovery,DR) 拓扑的中层管理员。示例和术语是指使用 WebLogic 的 Oracle WebLogic Server 和 PaaS 服务;但是,所述复制技术和实施适用于任何中间层系统。
注意:
本文档未介绍灾难恢复设置。体系结构
此体系结构简要介绍了中间件主动 - 被动灾难恢复拓扑。此手册假定已创建主系统和辅助系统。
中间层系统的任何主动 - 被动灾难恢复解决方案都必须实施以下基本功能:
- 地理分离
主要和次要系统在地理上是分开的,足够远,因此它们不会受到同一灾难事件的影响。
- 对称性
主系统和辅助系统是对称的。辅助系统在中间层和数据库层中具有相同数量的节点,具有相似的 CPU 和内存容量。
- 唯一的前端名称
主节点和辅助节点的唯一前端名称。客户机对系统的访问必须与用作主站点的站点无关。要实现此目的,前端地址名称必须是唯一的,并且始终映射到当时作为主地址的系统的 IP。此名称通常称为虚拟前端或虚拟 URL 。
- 聆听地址
中间层进程的监听地址必须是两个系统中均可解析的主机名,并且必须映射到本地站点主机的 IP。
- 数据库复制到
必须使用 Oracle Data Guard 将主数据库的数据复制到备用数据库。
- 中层复制
主中间层和辅助中间层必须同步。它们必须具有相同的配置、相同的产品版本和相同的修补程序级别。有不同的方法来实现这一点。您可以单独维护主系统和辅助系统:如果在主系统中执行更改,则在辅助系统中重复执行相同的更改;如果在主系统中安装了补丁程序,则在备用系统中安装了相同的补丁程序。但是,这会重复工作,并且容易出错。Oracle Maximum Availability Architecture (Oracle MAA ) 建议实施自动复制以复制中间层文件系统对象。这可确保主系统和备用系统始终保持同步。
- 管理特定于每个站点的信息
辅助站点的配置是主站点的确切副本,但可能存在包含特定于每个站点的信息的文件对象,这些信息在主站点和辅助站点中必须不同。DR 拓扑必须支持此功能并允许特定于站点的信息定制。
提示:
Oracle WebLogic Server 示例
在 Oracle WebLogic 系统中,主中间层连接到主区域的数据库,辅助中间层连接到辅助区域的数据库。主中间层和辅助中间层系统具有相同的配置,因此必须有一种机制来确保每个系统使用指向其本地数据库的相应连接字符串。Oracle Maximum Availability Architecture (Oracle MAA ) 建议为数据源使用 TNS 别名,在每个站点中使用不同的
tnsnames.ora文件。中层复制方法必须考虑到这一点,即跳过包含数据库连接字符串 (tnsnames.ora) 的文件或替换文件中的数据库连接字符串以指向本地数据库。
下图是中间层系统的主动 - 被动灾难恢复解决方案的示例。
术语
您应熟悉以下概念和术语:
- 中间层(也是中间层或中间件)
中间层是指位于用户界面(前端)和数据存储(后端)之间的多层应用架构中的层。它处理业务逻辑、数据处理和安全性,充当用户与数据库之间的桥梁。
- 灾难
在某个地点或地理区域造成不可接受的损害或损失的突然计划外灾难性事件。灾难是指在不可接受的期限内影响组织提供关键功能、流程或服务的能力并导致组织调用其恢复计划的事件。
-
灾难恢复 (DR)
通过为应用程序和数据制定恢复策略,抵御生产站点上的自然或计划外中断的能力,从而使生产站点具备抵御因地理上不同的辅助站点的自然或计划外断电能力。
- 灾难恢复拓扑
生产站点以及构成 Oracle Fusion Middleware Disaster Recovery 解决方案的辅助站点硬件和软件组件。
- Oracle 最高可用性体系结构
Oracle Maximum Availability Architecture (Oracle MAA ) 是 Oracle 产品(数据库、Fusion Middleware、应用)的数据保护和可用性实践蓝图。实施 Oracle MAA 优秀实践是任何 Oracle 部署的关键要求之一。它提供了设置和管理 Oracle 系统的建议。Oracle MAA 包含 Oracle Fusion Middleware Enterprise Deployment Guide 建议,并添加了灾难保护优秀实践,可尽可能减少影响整个数据中心或区域的停机计划内和计划外停机时间。
- 系统
系统是指一起工作以承载应用程序的一组目标(主机、数据库、应用程序服务器等)。例如,要在 Oracle Enterprise Manager 中监视应用程序,应首先创建一个系统,该系统由运行应用程序的数据库、监听程序、应用程序服务器和主机目标组成。
- 站点
站点是运行一组应用程序所需的数据中心中一组不同的组件。例如,站点可以由 Oracle Fusion Middleware 实例、数据库、存储等组成。
- 生产或主要地点
在精确的时间点承载系统工作负荷的站点。它是一组硬件、网络和存储资源,以及用于在精确的时间点传送业务逻辑和处理请求的流程。
- 辅助(或备用或 DR)站点
辅助站点是备份位置,可以接管业务逻辑和主站点正在处理的请求。通常,辅助站点也称为“备用”,因为它们仍处于“备用或非活动模式”。这意味着它们在正常运行期间不会处理生产工作量。但是,这并不意味着辅助站点不能用于其他目的。在更现代的模型中尤其如此,在这些模型中,辅助站点用于报告操作,更重要的是在主站点中应用更改之前验证更改。
- 恢复点目标 (Recovery Point Objective,RPO)
恢复点目标是从业务角度来看,系统可以容忍的数据丢失量。例如,发生中断时可接受的数据丢失量。
- 恢复时间目标(恢复时间目标,RTO)
恢复时间目标是,从业务角度来看,系统可以容忍的停机时间量或应用程序或服务在发生停机时可以保持不可用的时间量。
- Oracle Cloud Infrastructure (OCI)
OCI 是一组互补的云服务,可用于在高可用性托管环境中构建和运行一系列应用和服务。OCI 在灵活的叠加虚拟网络中提供高性能计算功能(作为物理硬件实例)和存储容量,可从您的本地网络安全访问。
- OCI 地区
OCI 区域是由一个或多个可用性域组成的局部地理区域。区域独立于其他区域,可以由跨国家甚至大洲的远距离分隔。区域是灾难恢复方面的站点。
- OCI 块存储卷
OCI 块存储卷提供可靠、高性能、低成本的块存储,其持久性超出了虚拟机的使用寿命,并且具有内置冗余和扩展能力。
- OCI 文件存储
OCI 文件存储是一项完全托管且具有弹性、企业级的存储服务,它支持服务器和应用通过共享文件系统访问数据。
- DBFS
数据库文件系统 (Database File System,DBFS) 是 Oracle Database 中的标准文件系统接口。DBFS 与 NFS 类似,因为它提供了类似于本地文件系统的共享网络文件系统,它同时具有服务器组件和客户机组件。
- WLS-HYDR 框架
"WLS-HYDR Framework" 是指为 Oracle WebLogic Server (WLS) 环境(特别是在 Oracle Cloud Infrastructure 中)创建和配置对称灾难恢复 (Disaster Recovery,DR) 系统的框架。此框架可自动执行为 WLS 或 Fusion Middleware (FMW) 域设置 DR 环境所涉及的手动进程。
- Oracle WebLogic Server for Oracle Cloud Infrastructure 堆栈
Oracle WebLogic Server for OCI 堆栈是指使用 OCI Marketplace 中的 Oracle Resource Manager 构建的预配置环境,该环境可在 OCI 上预配和管理 Oracle WebLogic Server 部署。它可以自动创建和配置各种 OCI 资源,例如计算实例、网络、负载平衡器以及 WebLogic 域。
- Oracle SOA Suite on Marketplace 堆栈
Oracle SOA Suite on Marketplace 堆栈是使用 OCI Marketplace 中的 Oracle Resource Manager 构建的预配置环境,用于在 OCI 上部署和管理 Oracle SOA Suite 应用。它可以自动创建和配置各种 OCI 资源,例如计算实例、网络、负载平衡器以及 SOA WebLogic 域。
- TNS 别名
在 Oracle 中,TNS 别名(也称为网络服务名)是用户友好的标识符,可简化数据库连接。它充当一个快捷方式,可将用户可读的名称映射到访问特定 Oracle 数据库实例所需的更复杂的连接详细信息。这些详细信息(包括协议、主机、端口和服务名称)存储在通常名为
tnsnames.ora的配置文件中。 - TNS 管理文件夹
由
TNS_ADMIN环境变量指定的 Oracle TNS Admin 文件夹是 Oracle Net Services 配置文件(如tnsnames.ora)所在的目录。中层系统可以使用 TNS 管理文件夹以及连接到数据库所需的tnsnames.ora和其他对象。
关于 OCI 中的中间件主动 - 被动 DR 设置过程
在中间件的主动 - 被动灾难恢复拓扑中,辅助系统是主系统的镜像。当主系统和辅助系统都位于 OCI 中时,可以采用不同的方法来设置辅助系统:
- 手动
通过 OCI 控制台或 CLI 单独创建每个资源,将其作为主系统的镜像。
- WLS-HYDR 框架
为基于 Oracle WebLogic 的中间层系统使用 WLS-HYDR 框架。此框架使用适用于 Python 的 OCI SDK 将辅助系统中的所有资源创建为主系统的镜像。有关 GitHub 中
wls-hydr框架的链接,请参阅本手册中的“浏览更多”部分。 - 使用相同的市场堆栈进行预配
如果主系统是 Marketplace 堆栈(例如 Oracle WebLogic Server for OCI 或 SOA Marketplace),则可以使用主数据库中使用的相同 Marketplace 堆栈进行预配,备用数据库处于快照备用模式。
此解决方案手册适用于所有这些情况,只要它们符合前一点中所述的主动 - 被动灾难恢复拓扑的功能。它假定已创建主系统和辅助系统。
注意:
本文档未介绍灾难恢复设置。