使用中心暂存位置实施 rsync
此实施使用 rsync 技术并遵循基于中央暂存位置的模型。在此模型中,有一个堡垒主机节点充当协调器。它连接到需要复制的每个主机,并将内容复制到公用暂存位置。
使用中央暂存位置实现 rsync 的优点包括:
- 这是一个适用于任何中间层的通用解决方案,因此,如果您有多个系统,则可以在所有系统中都使用相同的方法。
- 它不依赖于底层存储类型;它可用于复制位于块存储卷、NFS 等中的文件对象。
- 存储可以保留在辅助节点中挂载。因此,在每次切换或故障转移操作中,无需执行其他步骤即可连接或挂载辅助存储。
- 与点对点实施相比,维护更简单,因为有一个用于运行脚本的中心节点。
使用中央暂存位置实施 rsync 的注意事项包括:
- 用户有责任为每个环境创建定制脚本并定期运行它们。
- 用户有责任实施一种逆向复制方向的方法。
- 此模型要求为中央暂存位置提供额外的主机和存储。
与点对点模型类似,rsync 脚本可以使用拉式模型或推式模型。在“拉取”模型中,脚本将文件从远程节点复制到本地节点。在“推送”模型中,脚本将文件从本地节点复制到远程节点。Oracle 建议使用拉式模型从主主机检索内容,因为它会使主节点从副本开销中卸载。
使用中央暂存设置 rsync 的复制
要实现具有中央暂存位置的 rsync,需要满足以下条件:
- 与所有主机(主要主机和辅助主机)通过 SSH 连接的堡垒主机。
- 堡垒主机中的暂存文件夹,具有足够的空间来存储所复制的中间层文件系统内容。
- 使用
rsync将中间层文件对象从此暂存文件夹复制至此暂存文件夹的脚本。rsync脚本可以跳过副本中的某些文件夹(如锁定文件、日志、临时文件等)。 - 一种管理站点特定信息的方法,从副本中排除该信息,或者在副本后使用相应的信息更新该信息。
- 安排这些脚本定期运行。
- 一种在切换或故障转移后更改副本方向的机制。此机制可以是标识站点角色的动态检查,也可以是切换或故障转移之后的手动更改(例如,禁用和启用相应的脚本)。
- 示例 1:使用 Oracle Fusion Middleware Disaster Recovery Guide 脚本
- 示例 2:使用 WLS-HYDR 框架
注意:
此示例适用于任何中间层系统。作为参考,它使用 Oracle Fusion Middleware Disaster Recovery Guide 提供的脚本为 Oracle WebLogic DR 系统执行中间层副本:rsync_for_WLS.sh 和 rsync_copy_and_validate.sh。但是,这些脚本通常适用,并且提供了足够的灵活性来同步 OCI 中的中间层文件系统对象。
Oracle Fusion Middleware Disaster Recovery Guide 提供了 rsync 脚本以在中间层系统中执行远程副本。这些脚本对任何 rsync 模型都有效。此特定示例说明如何将它们用于中央分段模型。此实施分为两个步骤使用拉式操作:
- 堡垒主机从所有主主机中提取内容并将其存储在中央暂存中。
- 然后,所有辅助节点执行拉取操作以从中央回写收集内容。
要使用这些脚本设置中间层复制,请参见 Replicating the Primary File Systems to the Secondary Site in the Oracle Fusion Middleware Disaster Recovery Guide,特别是 Rsync Replication Approach 部分和 Using a Staging Location 步骤。
replica-rsync-scripts-oracle.zip
注意:
此示例适用于 Oracle WebLogic Server 系统。它使用WLS-HYDR 框架的复制模块,但适用于任何 Oracle WebLogic Server DR 环境,而不管它是否使用 WLS-HYDR 框架创建。
在此模型中,中心主机节点充当总协调器,执行拉式和推式操作。它连接到需要复制的每个主机,并将内容复制到公用暂存位置。此节点还协调从暂存位置到目标主机的复制。此方法将单个节点从副本的开销中卸载。
WLS-HYDR 框架在 DR 设置期间使用此方法进行初始复制。然后,可以重复使用框架的复制模块来定期重复拉取和推送。有关指向 WLS-HYDR 框架和其他资源的链接,请参阅本手册中的“浏览更多”。
堡垒节点执行以下两个步骤来执行副本:
- 提取操作,它连接到主主机并将文件系统内容复制到堡垒主机中的暂存文件夹。
- 推送操作,它将内容从堡垒的暂存文件夹复制到所有辅助主机。
中心节点执行所有操作,因此调度、日志、维护等都集中在该节点上。当系统有许多节点时,与点对点模型或前面的示例相比,此方法更有效。
replica-wls-hydr-framework-oracle.zip
如果使用 WLS-HYDR 框架创建辅助系统,则堡垒主机已准备好执行副本。否则,此时可以对其进行配置。按照以下步骤设置副本:
使用中央暂存验证 rsync 的复制
在切换或故障转移操作中,复制的信息在启动进程之前必须在备用站点中可用且可用。验证辅助系统时(通过在快照模式下打开备用数据库),这也是必需的。
在此实施中,辅助站点中始终提供存储,您无需连接或挂载任何卷。您可能需要的唯一操作是确保其中包含最新版本的内容如下。
然后,可以执行验证系统所需的其他步骤。
对具有中心暂存位置的 rsync 执行持续复制
定期运行复制脚本,使辅助域与主域保持同步。
使用此实施时,请遵循以下关于正在进行的复制的建议:
- 使用 OS
crontab或其他调度工具定期运行复制脚本。例如,使用灾难恢复指南提供的rsync脚本时,请按照 Oracle Fusion Middleware Disaster Recovery Guide 的 Scheduling Ongoing Replication With Rsync Scripts 部分中的步骤操作。有关指向这些资源和其他资源的链接,请参阅本手册中的“浏览更多”。对于复制频率,请遵循本手册前面中间层文件构件中介绍的准则。 - 使中间层进程在备用站点中停止。如果服务器在复制更改时在备用站点中启动,则更改将在下次启动时生效。仅在验证备用站点时或在切换或故障转移过程中启动它们。
- 维护特定于每个站点的最新信息。例如,如果文件系统包含一个文件夹,其中包含要连接到 Autonomous Database 的对象,请维护此文件夹的备份副本。在 wallet 中执行更新时,请确保更新 wallet 文件夹的备份。这样,它将在后续的切换和故障转移中正确恢复。
- 切换或故障转移后,反转副本方向。这取决于具体实施情况。这可以使用动态检查来确定谁是活动站点,或者在切换或故障转移后进行手动更改,禁用和启用相应的脚本。
提示:
- 使用 DR 指南提供的
rsync脚本(示例 1)时,请确保创建等效脚本以朝其他方向执行副本。在 crontab 或调度工具中,仅为实际角色启用相应的脚本。 - 使用 WLS-HYDR(示例 2)时,更改主节点在 WLS-HYDR 框架中的角色,因此下一个复制将朝另一个方向进行。为此,请编辑
WLS-HYRDR/lib/DataReplication.py并从以下内容进行更改:if True: PRIMARY = PREM STANDBY = OCI else: PRIMARY = OCI STANDBY = PREM转换为以下语句:if False: PRIMARY = PREM STANDBY = OCI else: PRIMARY = OCI STANDBY = PREM
- 使用 DR 指南提供的

