复制技术
有多种技术可以复制文件系统内容:存储级副本技术、操作系统工具和其他特定于产品的功能。
OCI 中可用于中层文件系统复制的以下技术包括: OCI Block Volumes 副本和 OCI File Storage 副本(作为存储级副本技术)、rsync(作为操作系统工具)和数据库文件系统 (DBFS),这是 Oracle 数据库特定的功能。
RTO 和 RPO 值对于每种技术都是不同的。RTO 由启用存储并使其可供应用程序访问所用的时间决定。RPO 由每种技术允许的复制频率确定。
关于 OCI 块存储卷复制
为卷或卷组启用复制时,该过程包括从源到副本的数据的初始同步。初始同步过程完成后,复制过程是连续的,对于跨区域的复制,典型的恢复点对象 (Recovery Point Object, RPO ) 目标速率小于 30 分钟(但是,RPO 可能因源卷上数据的更改速率而异)。
无法直接挂载块存储卷副本构件。要挂载复制的块存储卷,需要在其副本上运行激活(或者在组中复制卷组副本时运行激活)。激活过程通过克隆副本来创建新卷,您可以将其挂载为常规块存储卷。此技术的 RTO 与执行此操作所需的时间直接相关(通常为 5-10 分钟,可能会因节点数以及是否并行执行操作而异)。在故障转移情况下,这些步骤可能会导致额外的操作开销并增加总 RTO。但是,在计划内切换中,您可以在停止主系统之前执行这些操作,这样不会导致停机或增加总 RTO。
此复制不需要源和目标之间的特定连接;但是,它们必须列在块存储卷复制的源和目标区域映射中。
注意:
OCI 块存储卷通常以专用方式使用:每个计算实例在其自己的块存储卷上具有读写访问权限。虽然您一次可以将一个卷连接到多个计算实例,但它需要额外的集群感知解决方案来防止数据损坏不受控制的读/写操作,并附加多个实例卷。因此,当应用程序需要在节点之间共享文件时,它使用的是 OCI File Storage 文件系统,而该文件系统是一个网络文件系统。关于 OCI 文件存储复制
为 OCI File Storage 文件系统启用复制时,可以选择目标文件系统并定义复制数据的频率。复制功能将在源文件系统中创建特殊的复制快照。然后,它将快照传输到目标,该目标将新数据写入目标文件系统。上次完成的复制快照将同时保留在源文件系统和目标文件系统中,直到下一个间隔。在下一个时间间隔,复制过程会自动删除旧的复制快照并创建新快照。只要复制有效,复制过程就会以指定的间隔继续。最小复制间隔为 15 分钟,用于定义此技术的最小 RPO 。
目标文件系统是从未导出的文件系统,因此标记为 "targetable"。启用复制时,目标文件系统是只读的,并且仅通过复制进行更新。要导出和挂载复制的文件系统,需要对其进行克隆。
然后,您可以导出和挂载克隆的文件系统。此技术的 RTO 与执行此操作所需的时间直接相关(克隆、导出和挂载文件系统时通常不到 5 分钟),但可能会因节点数和并行执行操作而异。在故障转移情况下,这些步骤可能会导致额外的操作开销并增加总 RTO。但是,在计划内切换中,您可以在停止主系统之前执行这些操作,这样不会导致停机或增加总 RTO。
此复制不需要主站点和辅助站点之间的任何特定连接;但是,它们必须位于 OCI 文件存储 (OCI FS) 复制的推荐目标区域列表中。
关于远程同步 (rsync) 实用程序
通过 rsync 实用程序,您可以通过比较修改时间和文件大小,在主机与存储驱动器之间以及主机之间传输和同步文件。与 SSH 一起使用时,可以在两个不同的系统之间同步文件和目录,并且网络使用率极低。
要使用此技术,您需要负责创建和运行 rsync 脚本。这些脚本必须使用相应的 rsync 命令来复制中间层文件夹,例如配置或产品文件夹。此技术的 RPO 取决于 rsync 副本脚本的频率。
使用 rsync 作为复制技术时,存储已在主和辅助中挂载,因此在切换期间无需任何时间即可将存储挂载到辅助中。此技术不会在切换或故障转移期间增加系统的 RTO 。
rsync 命令提供了用于执行良好复制操作的有用选项。例如,选项 --exclude 将跳过副本中的特定文件和文件夹。标志 --delete 允许通过在目标中删除源中不再存在的文件来保留精确副本。标志 --checksum 对两个系统上存在的每个文件强制执行完全校验和比较。由于 rsync 是操作系统命令,因此无论文件和文件夹位于块存储卷、NFS 挂载中,还是主存储与备用存储之间存在差异,您都可以复制它们。
此技术要求在主区域和辅助区域之间建立网络连接,更具体地说,需要在运行 rsync 命令的主机与其连接的远程主机之间建立网络连接。OCI 经过多年的发展,通过远程对等连接和动态路由网关在区域之间提供直接通信。这允许使用专用 IP 地址进行通信,而无需通过互联网或内部部署网络路由流量。这使得 rsync 解决方案可靠且安全,足以用作跨区域的有效复制方法。
由于用户负责创建 rsync 脚本,因此 rsync 技术允许其实现灵活性。您可以在不同的方法之间进行选择:
- 点对点
在此模型中,副本直接从每台主机到其远程对等设备。每个节点都具有与其对等节点的 SSH 连接,并通过 SSH 使用
rsync命令来复制主系统。这很容易设置,不需要额外的硬件。但是,由于脚本不集中,因此需要对多个节点进行维护。也就是说,大型集群会增加解决方案的复杂性。
- 中心暂存位置
在此模型中,节点充当协调器。它连接到需要复制的每个主机,并将内容复制到公用暂存位置。此节点还协调从暂存位置到目标主机的复制。此方法将单个节点从副本的开销中卸载。
关于数据库文件系统
dbfs_client 实用程序将其挂载为常规 NFS 文件系统。
注意:
数据库是 Oracle Autonomous Database 时,DBFS 功能不可用。
为数据库配置 Oracle Data Guard 时,主数据库中的 DBFS 内容会自动复制到备用数据库。您放置在 DBFS 文件夹中的任何文件夹或文件在辅助站点中均可用,如果数据库以只读模式打开,或者数据库转换为快照备用模式,辅助主机可以挂载该文件夹或文件。
但是,Oracle 不建议将中间层对象(例如中间层配置或产品)直接存储在 DBFS 挂载中。这将使中间层依赖于 DBFS 基础结构(数据库客户机、数据库、FUSE 库等)。可以使用 DBFS 挂载作为中间暂存文件夹来存储要复制的文件夹的副本。
要使用此技术,您需要负责创建和运行脚本,以将中间层文件夹(如配置文件夹)复制到 DBFS 暂存文件夹中并从中复制。此技术的 RPO 取决于这些脚本的频率。
由于 DBFS 挂载不直接用于存储中间层构件,因此实际存储已在主数据库和备用数据库中挂载,因此在切换期间无需任何时间即可将存储挂载到备用数据库。此技术不会在切换或故障转移期间增加系统的 RTO 。
此技术需要中间层主机上的数据库客户机。根据实施情况,此方法还可能需要主机与远程数据库之间的 SQL*net 连接,以便执行数据库操作(例如角色转换)。




