扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
图 4说明了日志传送过程。
图 4. 日志传送
表 4. 日志传送的优缺点
优点: | 缺点: |
集成能力,不需要额外的软件 | 过程是异步的,可能会因故障而丢失数据 |
在两个地方复制数据,冗余更大 | 不会自动进行故障转移,需要手工处理 |
距离限制较少 | 辅助系统是被动的,只提供备份能力 |
活动系统上没有额外工作负载 |
高级存储选项
现代的存储子系统提供了许多高级特性。DB2 已经能够利用这些高级特性来创建高可用性和灾难恢复系统。虽然这些技术可能会不同,但高级存储选项的基本要素就是能够快速创建磁盘卷的相同副本。然后可以将这些卷安装到辅助系统上。辅助系统可以充当备份系统或执行其它一些类型的工作负载。允许实现这一功能的 DB2 特性叫作 暂挂 I/O(suspended I/O)。
暂挂 I/O 这项技术允许数据库引擎使数据库处于一致状态,同时又保持联机。暂挂 I/O 状态暂挂写 I/O 操作,以防止对数据表空间和日志的写操作。在数据库离开暂挂 I/O 状态之前,该数据库仍可用于所有应用程序,处理只读语句和延迟写语句(插入、更新和删除)。通过 SET WRITE SUSPEND 命令将数据库置为暂挂状态。暂挂数据库之后,就可以制作数据库的物理文件的副本。将需要数据库目录、日志文件和数据库容器的副本。存储硬件和软件通过分割镜像卷或其它高级复制技术,可以非常快地创建大量数据的副本。然后,所复制的卷可以用于创建备份系统。制作了副本之后,可以使用 SET WRITE RESUME 命令来继续处理主系统上的所有事务。
所复制的卷可以与 DB2INIDB 实用程序一起用来创建辅助系统。该实用程序有三个实现:SNAPSHOT、STANDBY 和 MIRROR:
* SNAPSHOT 实现只允许数据库执行崩溃恢复。创建了一个复制的数据库,但在恢复期间不回滚任何事务。该方法适用于创建测试环境或报告机器。它不提供用于数据库恢复的方法,因此不应用作 HA 选项。
* STANDBY 和 MIRROR 方法允许创建恢复实现。在这两种情况下,DB2INIDB 工具使数据库处于前滚暂挂状态。然后可以将主系统中的日志文件应用到备份系统。如果主系统发生故障,那么辅助系统将离开前滚暂挂状态并联机,准备处理事务。用 STANDBY 还是用 MIRROR 方法取决于如何应用日志以及如何使数据库恢复联机。
STANDBY 方法使数据库在独立于主系统的位置恢复联机,并允许在主系统处于暂挂状态时,在辅助系统上进行数据库备份。
MIRROR 方法用所复制的卷替换原来的卷,而处理将在相同的位置中发生。
如我在日志传送部分所提到的,DB2 能够生成双日志。通过将日志放在不同的卷上,该能力可以与高级存储选项一起使用来确保日志的完整性。DB2 用户出口程序可以用于存储和检索日志文件,并管理已归档日志文件的位置。可以对用户出口进行编码,以将日志放到辅助系统或另一个可用位置上。
图 5显示了高级存储选项。
图 5. 高级存储
表 5. 高级存储的优缺点
优点: | 缺点: |
集成能力,不需要额外的软件 | 过程是异步的,可能会因故障而丢失数据(这可以用双日志记录来弥补) |
在两个地方复制数据,冗余更大 | 不会自动进行故障转移,需要手工处理 |
能够迅速地复制大量数据 | 辅助系统处于前滚暂挂状态,不可用 |
捕获所有数据库更改 | 需要高级硬件 |
灾难恢复
建立灾难恢复计划对于现代企业至关重要。企业数据库中的信息对于进行业务活动是极其重要的。保护该数据以及在灾难之后确保其“生命”是很重要的活动。当构建 DR 计划时,有三个关键问题:
* 需要防止的故障级别
* 可接受的数据丢失量
* 允许用于恢复的时间量。
要防止的故障级别通常是近似性问题。原始数据与其备份之间在物理上有多紧密?备份数据可以在不同的驱动器上、在独立的机器上、在独立的楼层上或在不同的建筑物里。不可能预测所有可能的灾难。火灾、水灾或甚至用户的恶作剧都可能是企业必须面对的问题。解决方案的设计应该包括公司希望防止最坏情况的方案。
所有企业都不希望在故障之后丢失任何数据。虽然不丢失数据是可能的,但由于可能需要的复杂性和费用(尤其是如果所防止的故障级别非常高),这通常是不实际的。可接受的数据丢失量取决于数据对公司有多重要以及有什么资源可用于确保其生命。
恢复所需的时间量类似于高可用性的目标。它与高可用性解决方案之间的差异在于所防止的故障类型以及通常认为合理的时间长度。HA 故障转移通常以秒和分钟来衡量,而灾难恢复则可能以小时和天来进行衡量。不过并非总是这样,但这个差异区分了对这些解决方案的相对期望。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。