中国教育和科研计算机网
EDU首页 |  中国教育 |   高校科技 |   教育信息化 |   CERNET
教育信息化

资讯 | 专题 会议 观点 专栏 访谈 企业 产品 CIO 技术 校园信息化 下一代互联网 IPv6视频课堂

中国教育网 > 教育信息化
您现在的位置: EDU首页 > 教育信息化 > 存储备份
网络存储区域数据必须具备容灾能力及特点与应用
http://www.edu.cn   2008-05-20 中国教育和科研计算机网 作者:舒继武

字体选择:【大】 【中】 【小】

  容灾是通过在异地建立和维护一个备份存储系统,利用地理上的分离来保证系统和数据对灾难性事件的抵御能力。在容灾中涉及到许多技术,如RAID技术、NAS或SAN技术、备份技术、快照技术、镜像技术、基于IP的SAN的互连技术、集群技术等,本文将简要介绍一些相关技术。

  快照

  快照(Snapshot)是静态映像(frozen image)的备份技术,是一种保留某一时刻文件系统映像的技术,其核心是对备份和恢复过程采取“即时”(point-in-time)数据拷贝的方式。Backup与Snapshot的区别在于Backup是将全部数据完整的复制到磁带等长期保存的存储介质上,而Snapshot更多的是只提供一个历史数据的View,当Snapshot结束时,历史数据一般就会清除。事实上两者在存储系统中属于不同的层次,Snapshot可以作为Backup的一种方式。

  特点与应用

  Snapshot应用COW(copy-on-write)技术,数据块的拷贝只发生在数据块第一次发生更改的情况下。这样一来,大大减少了磁盘I/O的数量,对系统的服务性能影响很小,且占用的磁盘空间相对来说很小。快照在商业应用中起着重要的作用。它可以很快产生多个当前数据的快照,这些快照可用于数据备份、数据分析、数据恢复以及提供给其他程序数据等。其作用如下:

  数据备份:使用Snapshot可以避免在数据备份中备份窗口过长而影响提供服务,Snapshot可以在很短时间内完成当前系统的一个快照,之后备份程序可以利用这个快照完成备份,而不需要停止系统服务。

  数据分析:使用Snapshot可以提供最新的数据供分析,而且不会影响系统的运行。

  数据恢复:使用Snapshot可以达到数据恢复的目的,并且数据快照可以同时存在不同时间点的快照,提供了更灵活更强大的数据恢复功能。

  快照原理

  无论是软件快照还是硬件快照,主要的算法都是COW(Copy On Write)算法。基于COW的快照原理如图1所示。其中Original Map为存储系统逻辑地址与物理地址的映射表(一个特殊的位图索引标明原有块的位置以及临时存储的相应位置,类似于缓存索引);当对系统进行快照操作时,首先复制该地址映射表。这个复制过程是原子的,这期间存储系统停止对外服务。当对某一个数据块进行更新时,首先将该数据块复制到备份磁盘上,更改快照系统的地址映射表,然后对原数据块进行更新操作。如图1所示,当对逻辑块2进行更新时,首先将该块复制到新的位置,更改快照的地址映射设备,然后执行块2的更新操作。

  对于正在进行快照的磁盘或文件系统,其中的任意一个物理数据块第一次发生写操作时,都将引发一个COW操作。在Copy On Write技术中,数据并不是立即被复制,而是仅仅当数据块发生改变时,才对这些块进行复制。可见,COW的快照技术将存储系统的备份窗口由完成备份的时间减小到拷贝地址映射表的时间,从而大大降低了备份窗口的长度。

  目前有两大类存储快照,一种叫做写时拷贝(Copy On Write, COW)快照,另一种叫做分割镜像快照。前者是生成数据块的快照,否则是生成整个卷的快照,而不只是新数据或更新的数据。分割镜像快照使离线访问数据成为可能,并且简化了恢复、复制或存档一块硬盘上的所有数据的过程。但这是个较慢的过程,而且每个快照需要占用更多的存储空间。

  目前的快照一般根据操作的对象分为两种:硬件快照和软件快照。硬件快照的操作对象是基于硬件的块,如EMC公司的SnapView属于硬件快照。软件快照的操作对象是inode或者块组,是在文件系统之上的Snapshot,如NetApp公司的WAFL(Write Anywhere File Layout)属于软件快照。

  通过硬件,基于块的快照适用于数据备份和测试,但是提供多时间点的文件系统映像比较麻烦。软件快照可以方便地提供多个时间点的文件系统映像,但是应用上受到文件系统的限制。

  远程镜像

  远程数据镜像作为SAN(Storage Area Network)关键技术,充分利用了SAN的中底层网络(FC或Ethernet)远距离连接能力和统一存储的特点,在异地保存一份与相同本地数据相同的拷贝,保证了重要数据在遭受区域物理灾难后的可用性,为数据的容灾提供了有力支持,是现代容灾系统的重要组成部分。

  同步镜像和异步镜像

  远程镜像根据其实现中采用的写协议不同,主要分为同步镜像和异步镜像。

  同步镜像是指所有对镜像磁盘或者逻辑卷的写操作,会同时发送命令和数据给镜像磁盘对(或逻辑卷),且只有镜像磁盘对(或逻辑卷)的写操作都完成后才会通知写命令发出程序命令完成。

  异步镜像则是指对镜像磁盘或者逻辑卷的本地写操作执行完毕后,不必等镜像磁盘对(或逻辑卷)的写操作完成,直接通知写命令发出程序命令完成。镜像磁盘对(或逻辑卷)的写操作则通过后台进程(或线程)异步完成。同步镜像、异步镜像的写操作流程如图2、3所示。

  由于同步镜像和异步镜像有各自的优缺点,很难说哪一种实现方式更优越。在实际应用中,根据远程镜像需要考虑的因素来选择相应的实现方式。一般来说,实现远程镜像需要考虑的因素有:远程数据拷贝与本地数据的一致性(Consistency)、实时性(Currency)、延迟影响(Latency Impact)、带宽需求(Bandwidth Requirements)等。同步镜像与异步镜像的比较参见表1:

  数据镜像的实现位置

  镜像可以在应用程序和磁盘存储系统间进行命令和数据交互这条I/O路径的任何位置上实现,不同的位置有其各自的优点和缺点。一般来说,镜像的五个实现位置是:文件系统、卷管理器、设备驱动、主机适配卡(HBA)以及磁盘控制器,它们的实现原理与特点参见表2。一般较常见的是在卷管理器和磁盘控制器上实现镜像。

  解决方案

  目前,远程镜像一般有如下三种解决方案,参见表3:

  在实际应用中,容灾有2个重要衡量指标:第一,数据恢复点目标(RPO):体现为该流程在灾难发生后恢复运转时数据丢失的可容忍程度;第二,恢复时间目标(RTO):体现为该流程在灾难发生后,需要恢复的紧迫性(即: 需要多久才能够得到恢复)。如果单单就RPO和RTO而言,同步远程镜像无疑是最好的。同步远程镜像的RPO值为零(即: 不丢失任何数据),RTO也是以秒或分为计算单位。但异步远程镜像的RPO值可能是以秒计算的,也可能是以分或小时为计算单位。

  如果用户对RPO和RTO两项指标要求较高,同时又无力承担远程镜像解决方案那么昂贵的费用,可以选择基于持续性数据保护(简称CDP)、基于时间的连续快照复制、自动备份、自动复制更新数据、分布式备份等技术的解决方案。它们可支持异构存储系统和rollback(回卷当前事务并取消当前事务中的所有更新)功能,它们的整体拥有成本(TCO)较远程镜像产品低一些。

  连续数据保护CDP

  连续数据保护(CDP)的出现使得用户拥有了一个连续备份的梦想。连续数据保护是一种连续捕获和保存数据变化,并将变化后的数据独立于初始数据进行保存的方法,而且该方法可以实现过去任意一个时间点的数据恢复。CDP系统可能基于块、文件或应用,并且为数量无限的可变恢复点提供精细的可恢复对象。

  实现层次

  CDP可以在文件级别、块级别和卷级别实现。其实现原理与优缺点参见表4:

  主要用途与特点

  使用CDP可以保留历史数据,用途有二:
  1.  如果需要对当前的数据进行入侵检测分析,或者要生成一份当前的数据分析报告。使用CDP可以提供最新的数据供分析,而且不会影响系统的运行。
  2.  使用CDP可以达到数据恢复的目的,使用CDP可以方便地恢复由于用户误操作或系统故障而被删除或破坏的数据。同时CDP保留了数据不同时间点的数据映像,提供了更灵活更强大的数据恢复功能。

  CDP方案具备以下几个基本的特性:
  1. 数据的改变受到连续的捕获和跟踪。
  2. 所有的数据改变都存储在与主存储地点不同的独立地点。
  3. 恢复点目标是任意的,且不需在实际恢复之前事先定义。 
  4. 与传统备份解决方案相比,CDP的总体成本和复杂性都要低。
  综上所述,CDP可以提供更快的数据检索、更强的数据保护和更高的业务连续性能力。

  集群

  集群支持应用程序在服务器失败或者本身失败之后快速地恢复操作。其优点是即使服务器或者应用程序失败,数据访问仍然是连续的。SAN连接提高了集群的能力,使大型集群有更灵活的失败转移策略,因此失败的应用程序所使用数据能被其他某些服务器访问。

  集群表面看来很简单:两个或者更多的服务器互相监控各自的操作,当检测到失败的时候,失败服务器上的应用程序在其他服务器上重新启动。但是集群仍然面临一些工程挑战,如高效的心跳协议、保证应用程序在失败之后拥有恰当资源重新启动的失败转移模式等等。从SAN的观点看,集群有效性的关键挑战之一是自动进行从一个服务器到另外一个服务器的存储设备所有权转移。另外一个是阻塞从已经脱离集群的服务器发来的对存储设备的访问,后一种情况随着更重要的应用程序的集群化而日益重要。

  数据丢失源于硬件灾难、系统崩溃和用户误操作等等。RAID技术利用冗余存储,向用户提供块级别的可靠性保障,一定程度上可防止由硬件灾难和系统崩溃带来的数据丢失;备份、快照、远程镜像和CDP等保护了灾难事件发生后的数据容灾或应用容灾;集群保护了服务器和应用程序失败后的数据仍能被使用;发生在文件系统层的用户误操作可以通过多版本文件系统的版本控制技术来恢复数据等等,所有这些容灾技术对日益全球化的企业来说都是非常重要的,限于篇幅,就不一一叙述了。

页面功能 【打印】 【关闭】 【我有话说

MOOC风暴来袭

版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号

关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com