复制技术

有多种技术可以复制文件系统内容:存储级副本技术、操作系统工具和其他特定于产品的功能。

OCI 中可用于中层文件系统复制的以下技术包括: OCI Block Volumes 副本和 OCI File Storage 副本(作为存储级副本技术)、rsync(作为操作系统工具)和数据库文件系统 (DBFS),这是 Oracle 数据库特定的功能。

RTO 和 RPO 值对于每种技术都是不同的。RTO 由启用存储并使其可供应用程序访问所用的时间决定。RPO 由每种技术允许的复制频率确定。

关于 OCI 块存储卷复制

The OCI Block Volumes service provides automatic, asynchronous, and continuous replication of block volumes and volume groups to other regions and availability domains. 它支持两种类型的复制:跨区域(用于在区域之间复制)和跨可用性域(用于在同一区域内的可用性域之间复制)。 灾难恢复拓扑使用跨区域副本,因为主站点和备用站点位于不同的 OCI 区域中。

为卷或卷组启用复制时,该过程包括从源到副本的数据的初始同步。初始同步过程完成后,复制过程是连续的,对于跨区域的复制,典型的恢复点对象 (Recovery Point Object, RPO ) 目标速率小于 30 分钟(但是,RPO 可能因源卷上数据的更改速率而异)。

无法直接挂载块存储卷副本构件。要挂载复制的块存储卷,需要在其副本上运行激活(或者在组中复制卷组副本时运行激活)。激活过程通过克隆副本来创建新卷,您可以将其挂载为常规块存储卷。此技术的 RTO 与执行此操作所需的时间直接相关(通常为 5-10 分钟,可能会因节点数以及是否并行执行操作而异)。在故障转移情况下,这些步骤可能会导致额外的操作开销并增加总 RTO。但是,在计划内切换中,您可以在停止主系统之前执行这些操作,这样不会导致停机或增加总 RTO。

此复制不需要源和目标之间的特定连接;但是,它们必须列在块存储卷复制的源和目标区域映射中。

注意:

OCI 块存储卷通常以专用方式使用:每个计算实例在其自己的块存储卷上具有读写访问权限。虽然您一次可以将一个卷连接到多个计算实例,但它需要额外的集群感知解决方案来防止数据损坏不受控制的读/写操作,并附加多个实例卷。因此,当应用程序需要在节点之间共享文件时,它使用的是 OCI File Storage 文件系统,而该文件系统是一个网络文件系统。


oci-bv-replication-oracle.zip

关于 OCI 文件存储复制

OCI File Storage 复制功能通过将内容从源文件复制到目标文件系统,为 OCI File Storage 文件系统提供自动、异步和连续复制。目标 OCI 文件存储文件系统可以与源 OCI 文件系统位于相同或不同的可用性域中,可以位于相同区域(跨可用性域)或不同区域(跨区域)。灾难恢复拓扑使用跨区域副本,因为主站点和备用站点位于不同的 OCI 区域中。

OCI File Storage 文件系统启用复制时,可以选择目标文件系统并定义复制数据的频率。复制功能将在源文件系统中创建特殊的复制快照。然后,它将快照传输到目标,该目标将新数据写入目标文件系统。上次完成的复制快照将同时保留在源文件系统和目标文件系统中,直到下一个间隔。在下一个时间间隔,复制过程会自动删除旧的复制快照并创建新快照。只要复制有效,复制过程就会以指定的间隔继续。最小复制间隔为 15 分钟,用于定义此技术的最小 RPO

目标文件系统是从未导出的文件系统,因此标记为 "targetable"。启用复制时,目标文件系统是只读的,并且仅通过复制进行更新。要导出和挂载复制的文件系统,需要对其进行克隆。

然后,您可以导出和挂载克隆的文件系统。此技术的 RTO 与执行此操作所需的时间直接相关(克隆、导出和挂载文件系统时通常不到 5 分钟),但可能会因节点数和并行执行操作而异。在故障转移情况下,这些步骤可能会导致额外的操作开销并增加总 RTO。但是,在计划内切换中,您可以在停止主系统之前执行这些操作,这样不会导致停机或增加总 RTO。

此复制不需要主站点和辅助站点之间的任何特定连接;但是,它们必须位于 OCI 文件存储 (OCI FS) 复制的推荐目标区域列表中。



oci-fs-replication-oracle.zip

关于远程同步 (rsync) 实用程序

通过 rsync 实用程序,您可以通过比较修改时间和文件大小,在主机与存储驱动器之间以及主机之间传输和同步文件。与 SSH 一起使用时,可以在两个不同的系统之间同步文件和目录,并且网络使用率极低。

要使用此技术,您需要负责创建和运行 rsync 脚本。这些脚本必须使用相应的 rsync 命令来复制中间层文件夹,例如配置或产品文件夹。此技术的 RPO 取决于 rsync 副本脚本的频率。

使用 rsync 作为复制技术时,存储已在主和辅助中挂载,因此在切换期间无需任何时间即可将存储挂载到辅助中。此技术不会在切换或故障转移期间增加系统的 RTO

rsync 命令提供了用于执行良好复制操作的有用选项。例如,选项 --exclude 将跳过副本中的特定文件和文件夹。标志 --delete 允许通过在目标中删除源中不再存在的文件来保留精确副本。标志 --checksum 对两个系统上存在的每个文件强制执行完全校验和比较。由于 rsync 是操作系统命令,因此无论文件和文件夹位于块存储卷、NFS 挂载中,还是主存储与备用存储之间存在差异,您都可以复制它们。

此技术要求在主区域和辅助区域之间建立网络连接,更具体地说,需要在运行 rsync 命令的主机与其连接的远程主机之间建立网络连接。OCI 经过多年的发展,通过远程对等连接和动态路由网关在区域之间提供直接通信。这允许使用专用 IP 地址进行通信,而无需通过互联网或内部部署网络路由流量。这使得 rsync 解决方案可靠且安全,足以用作跨区域的有效复制方法。

由于用户负责创建 rsync 脚本,因此 rsync 技术允许其实现灵活性。您可以在不同的方法之间进行选择:

  • 点对点

    在此模型中,副本直接从每台主机到其远程对等设备。每个节点都具有与其对等节点的 SSH 连接,并通过 SSH 使用 rsync 命令来复制主系统。这很容易设置,不需要额外的硬件。但是,由于脚本不集中,因此需要对多个节点进行维护。也就是说,大型集群会增加解决方案的复杂性。



    rsync-peer-peer-oracle.zip

  • 中心暂存位置

    在此模型中,节点充当协调器。它连接到需要复制的每个主机,并将内容复制到公用暂存位置。此节点还协调从暂存位置到目标主机的复制。此方法将单个节点从副本的开销中卸载。



    rsync-central-staging-oracle.zip

关于数据库文件系统

数据库文件系统 (Database File System,DBFS) 是 Oracle Database 公开的标准文件系统接口。DBFS 与 NFS 类似,因为它提供类似于本地文件系统的共享网络文件系统,同时具有服务器组件和客户机组件。 包含数据库客户机安装的中间层主机可以使用 dbfs_client 实用程序将其挂载为常规 NFS 文件系统。

注意:

数据库是 Oracle Autonomous Database 时,DBFS 功能不可用。

为数据库配置 Oracle Data Guard 时,主数据库中的 DBFS 内容会自动复制到备用数据库。您放置在 DBFS 文件夹中的任何文件夹或文件在辅助站点中均可用,如果数据库以只读模式打开,或者数据库转换为快照备用模式,辅助主机可以挂载该文件夹或文件。

但是,Oracle 不建议将中间层对象(例如中间层配置或产品)直接存储在 DBFS 挂载中。这将使中间层依赖于 DBFS 基础结构(数据库客户机、数据库、FUSE 库等)。可以使用 DBFS 挂载作为中间暂存文件夹来存储要复制的文件夹的副本。

要使用此技术,您需要负责创建和运行脚本,以将中间层文件夹(如配置文件夹)复制到 DBFS 暂存文件夹中并从中复制。此技术的 RPO 取决于这些脚本的频率。

由于 DBFS 挂载不直接用于存储中间层构件,因此实际存储已在主数据库和备用数据库中挂载,因此在切换期间无需任何时间即可将存储挂载到备用数据库。此技术不会在切换或故障转移期间增加系统的 RTO

此技术需要中间层主机上的数据库客户机。根据实施情况,此方法还可能需要主机与远程数据库之间的 SQL*net 连接,以便执行数据库操作(例如角色转换)。



dbfs-replication-oracle.zip