一、 数据容灾
许多用户都处在磁带库备份的应用上,有些使用了远程数据记录的技术。但容灾不只是简单备份。传统备份是将数据保留在非生产设备的其他介质上,更着重于数据的日志治理,记录并保护数据的增量、差分,以恢复历史数据为目标。同时这种容灾能力非常有限,因为传统的备份主要是采用数据内置或外置的磁带机进行冷备份,备份磁带同时也在机房中统一治理,一旦整个机房出现了灾难,如火灾、盗窃和地震等灾难时,这些备份磁带也随之销毁,所存储的磁带备份也起不到任何容灾功能。而容灾的数据复制并不考虑历史数据的恢复。它以恢复实时应用为目标,着重于保持数据的一致性。以便在灾难发生时能够恢复实时的应用生产。这种容灾备份都将数据复制到处在同一座城市不同建筑内或者异地的的存贮设备里,备份设备在空间上有足够的跨度远离生产系统所在的地点,从而有效的使数据保存在可能发生的灾难能够波及的范围之外。
客户对什么是容灾还没有充分的了解,很多人认为容灾系统就是要实现实时切换的备份系统。但建设一整套与生产系统完全一样的容灾系统,无论在成本投资,传输网络,备用系统技术人员储备,全系统维护,等方面消耗大量的资金,人力和时间的投入。这种巨大的投入在平时正常生产的绝大多数情况下没有任何的产出,而每时每刻发生的网络费用、人力成本和设备维护费用使大部分用户望而却步。即使承担了这些高昂的费用,一旦灾难发生时,备用系统要完全接管生产系统,还要依靠于网络的环境。首先,备用系统启动,在这个过程中要更改应用的生产系统主机的地址,然后所有的用户端要更改访问的服务器地址,而这些工作是否能顺利进行还要依靠于广域网的状态。使恢复工作的效果难以猜测。
数据备份是数据高可用的最后一道防线,无论是采用哪种容灾方案,数据备份还是最基础的,没有备份的数据,任何容灾方案都没有现实意义。在投资有限的条件下,实施数据容灾备份是用户进行容灾系统建设的第一步,也是最终容灾恢复系统的基础。对于多数用户来说,可以分步进行,先实现数据的容灾备份,然后再延时建设容灾恢复系统。但不论是分期分批的建设,还是一步到位的投入,采用何种复制技术以最大可能的保持数据的一致仍然是容灾系统建设的要害。
事实上容灾有很多层次,例如国际标准SHARE 78 定义的容灾系统有七个层次:从最简单的仅在本地进行磁带备份,到将备份的磁带存储在异地,再到建立应用系统实时切换的异地备份系统,恢复时间也可以从几天到小时到分钟、秒或0数据丢失等。从技术上看,衡量容灾系统有两个主要指标:RPO(Recovery Point Object)和RTO(Recovery Time Object)。
其中RPO代表了当灾难发生时答应丢失的数据量;而RTO则代表了系统恢复的时间。本文讨论的数据复制技术是在第6,第7层的应用技术。
二、 应用技术
容灾数据备份在目前有三种方式
软件级解决方案,包含容灾等级的1-4层
物理级解决方案,包含容灾等级的5-6层
交换机解决方案,包含容灾等级的5-6层
本文重点讨论第二种物理级,即基于智能磁盘阵列的数据复制技术,它包含以下内容:
1. 远程镜像技术
远程镜像技术是在主数据中心和备援中心之间的数据备份时用到。镜像是在两个或多个磁盘或磁盘子系统上产生同一个数据的镜像视图的信息存储过程,一个叫主镜像系统,另一个叫从镜像系统(见图)。按主从镜像存储系统所处的位置可分为本地镜像和远程镜像。
远程镜像又叫远程复制,是容灾备份的核心技术,同时也是保持远程数据同步和实现灾难恢复的基础。远程镜像按请求镜像的主机是否需要远程镜像站点的确认信息,又可分为同步远程镜像和异步远程镜像。
同步远程镜像(同步复制技术)是指通过远程镜像软件,将本地数据以完全同步的方式复制到异地,每一本地的I/O事务均需等待远程复制的完成确认信息,方予以释放。同步镜像使远程拷贝总能与本地机要求复制的内容相匹配。当主站点出现故障时,用户的应用程序切换到备份的替代站点后,被镜像的远程副本可以保证业务继续执行而没有数据的丢失。但它存在往返传播造成延时较长的缺点,只限于在相对较近的距离上应用。
异步远程镜像(异步复制技术)保证在更新远程存储视图前完成向本地存储系统的基本I/O操作,而由本地存储系统提供给请求镜像主机的I/O操作完成确认信息。远程的数据复制是以后台同步的方式进行的,这使本地系统性能受到的影响很小,传输距离长(可达1000公里以上),对网络带宽要求小。但是,许多远程的从属存储子系统的写没有得到确认,当某种因素造成数据传输失败,可能出现数据一致性问题。为了解决这个问题,目前大多采用延迟复制的技术,即在确保本地数据完好无损后进行远程数据更新。
2.快照技术
远程镜像技术往往同快照技术结合起来实现远程备份,即通过镜像把数据备份到远程存储系统中,再用快照技术把远程存储系统中的信息备份到远程的磁带库、光盘库中。
快照技术分为两类,一类指针型,是通过软件对要备份的磁盘子系统的数据快速扫描,建立一个要备份数据的快照逻辑单元号LUN和快照cache,在快速扫描时,把备份过程中即将要修改的数据块同时快速拷贝到快照cache中。快照LUN是一组指针,它指向快照cache和磁盘子系统中不变的数据块(在备份过程中)。在正常业务进行的同时,利用快照LUN实现对原数据的一个完全的备份。
另一类是空间型,也驻留在磁盘阵列系统中。它使主机系统和磁盘阵列设备治理者能够在后台状态下,为主机处理的数据在磁盘阵列内部实时创建可独立寻址多copy卷。这些copy卷是应用数据存放的现用生产卷的镜象,可同时并行运行任务。一旦生产数据的copy卷建立后,通过命令可以与其生产卷分割开,应用系统数据库可通过生产卷继续做联机应用,与此同时,备份系统可利用copy卷进行备份、报表生成和应用开发测试等工作。大大缩短了应用系统因备份等原因OFFLINE脱机的时间,工作示意图如下:
无论是生产、测试、灾难恢复,还是数据仓库应用,该系统件套件都能提供业务数据影像拷贝的生成和治理维护,使客户以不同的方式更好、更充分的利用业务数据,获得更大的增值效益。基于数据复制、保护和信息共享而设计的复制治理系统件,提供了非常强大的功能:既可以在一个数据中心内部或者不同数据中心之间实现数据复制,也可以在不同部门之间实现信息共享,快速、有效地适应业务的灵活扩展,在竞争中获得领先优势。它可使用户在正常业务不受影响的情况下,实时提取当前在线业务数据。其“备份窗口”接近于零,可大大增加系统业务的连续性,为实现系统真正的7×24运转提供了保证。三、 数据一致性
在容灾数据复制的应用种,能否保持数据的一致性是决定容灾效果的要害。我们从上文的介绍中可以看出:使用同步技术要停顿应用,如示意图。这样是以牺牲应用资源为代价的,所以绝大多数用户都会选择采用异步方式来进行应用。
异步方式异步操作为了保证远程拷贝的数据能够保持数据的完整性, 必须在每个远程拷贝的I/O内考虑传输过程中可能出现的失败而重传,都加上了时间标签( Time Stamp ),当生产磁盘控制器收到来自主机的一个写更新时,立即返回一个I/O完成的应答,数据被放置到控制器CACHE里的一个文件(sidefile)中。应用软件定期地或在磁盘控制器达到某个临界状态时收集来自所有控制器的更新数据,根据更新记录上的时间戳(Time Stamp),将更新记录组成能够保证数据和顺序更新完整性的一组记录,称为CONSISTENCY GROUP(数据分组号),然后一次性地用这组记录去更新备份磁盘。这个数据一致组保证备份磁盘系统的更新与生产磁盘系统有完全相同的顺序即顺序的完整性。下图表示了异步远程拷贝的实现流程。
由于异步远程更新的执行,应用程序不必等待远程更新的完成,因此远程数据备份的性能的影响通常较小,并且备份磁盘的距离和生产磁盘间的距离理论上没有限制。然而,当传送中的数据在生产磁盘控制器或在应用中还没有形成数据一致组时生产中心发生灾难,这些数据就会丢失。因此在系统和应用程序重新启动之前,需要额外的数据恢复。所花费的时间和造成的影响取决于客户的环境,例如应用程序和设备配置的复杂性,更新的完整性等等。
数据容灾以恢复实时应用为目标,必须尽可能地保持数据的一致性,以便能够在灾难发生时有效的保存即时数据,从而对原有应用进行恢复。时间戳技术的使用使数据在传输过程种因网络环境等等意外因素而收到影响的可能性大大降低,有效地保护了数据的一致性。与其他同类技术相比,具有显著的优势。
当然,在应用设备上采用的任何技术,都不能完全避免因网络环境等等意外因素对数据传输造成的影响。一旦这种影响发生,势必造成数据传输的等待。如何克服数据等待的问题,目前主要有两种技术,一是磁盘阵列或者主机本地硬盘上使用预留空间待网络环境良好时进行传输。但这样做会占用主机或磁盘阵列的资源,而且等待数据量超过预留空间会破坏数据的一致性。
另一种最新的技术是智能磁盘阵列在原数据保存的LUN上生成一个位图表(Bit Map),用于指示每一个数据字节(Bit)的变化和传输与否。当位图表形成后,覆盖中国用于保存原数据的LUN上,因此它占用的空间很小而且不再变化。但能够全部记录下需要传输的数据包的状态,使数据等待的数据得到优化,节约了磁盘阵列的空间资源。同时完全保证了向远端发送一致的数据。就目前技术水平而言,数据戳和位图表技术的结合使用,是在容灾数据备份应用中的最佳方式。