关于 Oracle MaxRep for SAN 工作原理

Oracle MaxRep for SAN 使用持续数据保护 (Continuous Data Protection, CDP) 技术。Oracle MaxRep 可以配置为支持远距离灾难恢复需求以及正常恢复和备份需求。

Oracle MaxRep for SAN 将关键任务 LUN 复制到一个或多个辅助 LUN(可以是本地的,也可以远程的)。

在以下表示一个本地站点的示意图中,持续数据保护以应用程序服务器或主机将新数据写入到源 Oracle FS System 开始。控制器通过将一个副本传输到主 Oracle FS System 上的 LUN、将另一个副本传输到复制引擎来复制(拆分)数据。系统将数据写入主 LUN 时,会向应用程序服务器发送确认信息,确认数据已成功写入到 LUN。

复制引擎读取目标 LUN 的对应位置,并将新源与现有的目标数据进行比较。如果目标 LUN 需要更新,则复制引擎会更新目标 LUN 以及保护计划 LUN 的保留 LUN(即日志)。

保留 LUNOracle FS System 上存放复制引擎保留日志的 LUN。保留日志包含一个按时间索引的保留事件列表,通过这些事件可回滚到任何时间点。

图 1 持续数据保护流程流 持续数据保护流程流 
图例
1 应用程序服务器 10 起始 LUN
2 新数据写入到主 Oracle FS System 11 读取目标 LUN 数据
3 在控制器进行写拆分 12 元数据写入到复制日志
4 通过写拆分将数据复制到复制引擎 13 新数据写入到目标 LUN
5 通过写拆分将数据复制到源 LUN 14 保留 LUN
6 目标 LUN 将确认信息写入到主机 15 备份 LUN
7 源 LUN 16 目标 LUN
8 主 Oracle FS System 17 辅助 Oracle FS System
9 复制引擎  

复制引擎在任何情况下都不会在源应用程序的数据路径中。此配置可防止在复制引擎发生故障或进行更换时,对托管应用程序的生产服务器的运行产生任何影响。此类配置的好处在于,可以将 Oracle MaxRep for SAN 部署到现有的环境中而不中断业务运营。

最初将数据从源 LUN 复制到目标是分步骤执行的。初始同步分两步执行,最后一步是检查复制的数据中的差异。这些步骤会在下面详细说明。
注: Oracle MaxRep for SAN GUI 使用术语 syncresync 来分别指代 synchronization(同步)和 resynchronization(重新同步)。
重新同步第 1 步

这是复制过程的初始步骤,在这个步骤中,要将源 LUN 的基线副本复制到目标 LUN。对于配置了快速复制选项的保护计划,此初始步骤仅在两个 Oracle FS System 的源和目标 LUN 之间传输不匹配的数据块。与执行完整复制相比,这种比较可以极大地减少初始同步所需的时间和网络资源。

重新同步第 2 步

在重新同步第 1 步过程中写入到源 LUN 的其他任何数据都会记入日志供在重新同步第 2 步中处理。复制引擎将捕获到的更改复制到目标 LUN

差异同步

在差异同步步骤中,Oracle MaxRep for SAN 捕获对源 LUN 的更改并将这些更改发送到目标 LUN

如果需要在初始同步后重新同步,系统会捕获进行中的更改,这类似于同步过程。Oracle MaxRep for SAN 支持快速重新同步,即在初始同步步骤中仅将不匹配的数据块复制到目标 LUN。异步复制使用快速重新同步功能。同步复制使用直接重新同步,即从源 LUN 读取数据并将数据直接写入到目标 LUN。

在源 LUN 上进行维护活动期间或者在源 LUN 发生实际故障期间,Oracle MaxRep for SAN 可以切换方向以便从目标 LUN 恢复源 LUN。因为 Oracle MaxRep for SAN 使用 CDP 技术来复制数据,因此可以将源恢复到保留时段中的任何时间点。如果正在使用可选的 Oracle MaxRep 代理,则目标 LUN 还可以回滚到某个应用程序一致性书签以确保数据的一致性。

Oracle MaxRep 还支持在物理或虚拟驱动器上存储快照(源 LUN 数据的精确副本,就像单个时间点副本中的一样)。