配色: 字号:
数据快照技术原理和应用
2012-03-31 | 阅:  转:  |  分享 
  
数据快照的原理和应用一、应用存储产品时遇到的问题随着电子商务的发展,数据在企业中的作用越来越重要,越来越多的企业开始关注存储产品以及备份方案。在应用这些存储产品时会遇到以下的问题:

1.备份速度的问题:

随着业务的不断发展,数据越来越多,更新越来越快,在休息时间来不及备份如

此多的内容,在工作时间备份又会影响系统性能。

2操作简单化的问题:

数据备份应用于不同领域,进行数据备份的操作人员也处于不同的层次。操作的简单与否直接影响操作的效果和数据的安全。

3.保护数据一致性的问题:

有些关键性的任务是要24小时不停机运行的,在备份的时候,有一些文件可能

仍然处于打开的状态。

4.容错的问题:

数据备份损坏了,怎样在最短的时间恢复它。

二、解决方法

为提高数据存储的安全性和高效率,保护企业的数据,数据快照技术(Flashcopy,Snapshot,Point-in-time-copy)是其中比较成熟的技术之一。数据快照技术是一种保留某一时刻数据映像的技术,其保留的影像被称为快照(即Snapshot)。数据快照的真实含义是:用最短的时间和最低的消耗实现文件系统的备份,创作出您数据的"影子"图象,你可以象操作原始数据一样对其进行读取或写入。因此,采用数据快照技术给数据拍照,你能在进行备份、下载数据仓库或者转移数据的同时,保证应用不受影响而继续运行。使用真实的数据结果,你甚至能更开发和测试应用程序。IBM的FlashCopy、HDS的ShadowImage软件都是使用快照技术来实现快速复制或备份的。1.数据快照功能可以在数秒钟内建立拷贝,供备份应用所用。

举个例子:一个企业的数据量很大,而且应用昼夜不停,作一次磁带备份需要24个小时。现在要求备份9月18日0点0分时的数据。如果用传统的在线备份方法,备份下来的数据开始时是0点0分时的,最后的数据是24点0分时的,数据的前后一致性受到了挑战。利用数据快照技术,配合普通的备份软件是这样实现的:通过图形的管理界面发出做快照的命令,快照功能会自动寻找没有数据改变的时刻进行拷贝,几秒钟之后拷贝生成。再使用备份软件对该拷贝进行备份。24小时后这个备份过程结束。所有的数据都是一个瞬间的,数据的一致性得到了保证。

2.利用数据快照的映像可以在数秒钟内把数据恢复到做快照的时间点,还允许系统管理员选择性地迅速恢复受损或被删文件。

举个例子:张三不小心把一个重要的文件夹彻底删除了,现在想要恢复。利用先前通过快照做的拷贝,把相应的文件夹拷回来即可。3.数据快照的功能还有很多用处,比如现在需要一份最新的生产数据来做新系统的测试或者提供决策支持和数据分析所用,而系统又不能停机,使用磁带备份恢复一份数据时间又很长。这样的情况可以利用数据快照的备份功能在任一时间点建立快照拷贝,利用拷贝的数据进行测试和分析,不会影响系统的正常使用。

4.企业里虽然有了磁带备份,但是万一磁介质坏了,某些数据还是读不出来,如果有了快照生成的数据拷贝,相当于为数据做了双保险。

数据快照的原理和应用

一、数据快照基本原理

基本原理

这是正常情况下的文件系统在存储上的示意图:(如下)





文件系统描述就是一系列的指针,记录着磁盘上的数据块的逻辑关系。

现在假设你在上午10:00生成一个数据快照,那么在10:00这个时刻,快照功能要

做3件事:

1.把文件系统描述复制一份。

2.在磁盘空闲空间创建一个缓冲区。

3.在文件系统写操作中增加一个判断(图中没体现),就是判断应用是否是第一次

修改数据在10:00以后,当有应用要修改数据块时,快照功能就把原来的数据块保留入缓

冲区,同时把数据快照的访问入口转而指向缓冲区。





这样就生成了一个数据快照,通过快照入口访问到的就是10:00的数据。而同时,

应用程序仍然可以在文件系统上读写。也就是说,在应用不停的情况下,得到了一个10:

00的静态数据数据快照中常用术语

以下列出了讨论数据快照技术中用到的术语:

主卷----磁盘的一个逻辑分区,存储特殊程序和成套程序的原始信息。

影像卷(快照卷)----磁盘的一个逻辑分区,存储已改变的时点数据或原

始主卷的完全映像。

卷对----由主卷和与其对应的影像卷组成,每一卷对由一个位图支持。

三重镜像----在已有的被保护的数据实现镜像后连接第三镜像卷(RAID1),

这是用以实现数据快照的方法之一。

位图----文件或磁盘物理分区,用以保存主卷和影卷之间的数据的当前状

态。

同步化----在影像卷上创建与主卷完全相同的复件或映像的过程。

完全的再同步----完全的磁盘复制,这是同步化操作中耗时最长的过程。

大多数情况下,影像卷按照主卷同步化,但有时主卷也可以按照影像卷

同步化。

快速再同步化----仅复制与数据日志相关的磁盘块从而降低了同步化时

间。

数据快照是对在特殊时点(pointintime)“复制”的数据的映像。以下是创

建数据快照的三种主要技术:

中断镜像----时点到达之前对数据创建并存储完全物理复制

按需复制----时点到达之后对数据进行完全物理复制

虚拟映象----时点到达的时刻,对数据进行虚拟的,非物理的复制。

这每一种技术伴有响应更新的选择能使之充分利用时间实现后来的时点。一般

说来,主数据和时点映象会有软件跟踪以实现有选择的刷新而不会执行费时又费力

的完全磁盘一磁盘复制。

1)中断镜像

EMCTIMEFINDER和HDSShadowImage就是采用中断镜像方法实现数据快照的

产品。这一方法要求附属的镜像卷和主数据卷相联系(主卷自身可能被 RAIDI 实现

镜像,因此“三重镜像”)。利用中断镜像,数据能够在时点来临之前不断地复制到

“第三镜像”中。

以下是使用“中断镜像”技术的典型过程:

创建数据的附属镜象

在要求时点复制之前,一个新的镜卷与主卷相联系。接着,主卷的内含在后台

被复制到新镜之中。然后,附加镜像将调整与主卷一致。附属镜卷也会得到与主卷

一致的更新数据,以保证同步继续,在三途径镜卷中,子系统的存储设备对每一次

写入将受到3次输入/输出操作。

使附属镜卷与主卷脱离

如果要创建一个能为后续程序所进入的时点映象。人们必须不时的暂停更新镜

卷并中断镜象。换句话说。分离第三镜卷将中断主卷与附属卷的同步性,使时点复

制独立出去。中断之后,附属镜像在时点保存了快速抽点的主数据,并且仅对主卷

进行刷新。

图:创建虚拟映像



访问虚拟映像



指针跟踪数据的物理地址。当访问虚拟映像的时候,指针和 PIT 变化区用来服

务于修改主数据。

在8pm后的虚拟映像(主卷数据已被更新)后两种方法依赖于更新的数据日志缩小再同步的视窗

完全再同步

完全再同步实质上是完全的磁盘对磁盘的复制。当没有快速再同步的方法或者目标卷处于未知状态的情况下使用这一方法。









图:完全再同步(磁盘对磁盘的复制)



主卷和镜像分离时的数据记录

减少再同步时间的方法之一是记录时点创建后发生的数据变化。如图2-6,记录和计分板(位向量)是两个公认的降低再同步时间的方法。记录抓取新写入日志的内容,与此同时,记分板跟踪变化数据的位置。

记录

图: 记录和记分板(位向量)

记录擅长按到达顺序收集变化数据。但是,记录的空间可能会因为不适当地记录第三镜像和主卷的分离而耗尽。

记分板设置指针指向在分离发生之后而变更的磁盘位置。不同的间隔尺寸,例如每128K字节一比特,将使记分板的空间减至最少。紧凑的记分板在一开始就被分配,记录时就不会有溢出的危险。但不会尝试按照到达顺序跟踪。

再同步的日志:

数据日志的再同步可以比作积累写入的回放以防止映像失效。适当地设计。再同步由于被记录,所以可以被中断而不会给目标的一致性带来严重后果。(即:信息会稍微滞后一些,但仍然有条不紊)

依据记分板更新再同步

记分板再同步来自于工作运行的观点,它不仅节省了空间,而且节省了时间,这对于磁盘对磁盘的复制以及记录方法都至关重要。这种优化技术起源于仅传送最终更新数据到地址,而不像其以前的方法那样。因为先前对同一区域的读写已被覆盖,没有必要传送它们,通过记分板更新再同步必须完全确保目标数据的一致性,因为复制顺序有可能与原始记录顺序不一致。

如果镜像与主卷时间达好几个小时,并且有大面积的数据更新,那么记分板和数据日志,所提供的返加数据返回数据就越来越少,磁盘对磁盘的复制因而可能变得高效迅捷起来5)不同的数据快照方法的优缺点



中断镜像

EMCTIMEFINDER和HITACHIDateSystemsshadowImage就是采用中断镜像方法实现时点快速转储的产品。中断镜像的优点在于它能立即得到时点映像,并且因为创建了一个独立的数据复件,主程序不会因辅助程序存取、使用时点映像而受到影响,独立的数据复件通常还支持复合时点映像和存储于其它子系统存储器的时点映像。

当同一盘组中的两块硬盘同时发生故障时:

数据得到保护











故障发生瞬时因原数据的丢失而彻底丧失,在非快照生成时间数据得不到任何保护。“中断镜像”的不足之处在于它耗费存储资源,并且在生成镜像时因为要保持附加镜像的同步性,软件开销也随之增加。按需复制

IBMConcurrentCopy(IBM同时复制)和SunStorEdgeInstantImage(SunStorEdge瞬时映像)是采用按需复制技术的产品,按需复制技术的优点在于它不会引起有关维持镜像的软件开销,与中断镜像技术一样,主程序不会因辅助程序使用时点映像而受影响。另外,它也支持复合时点映像和位于其它子系统存储器的映像。

“按需复制”的不足之处在于它,在复制过程中,会发生某些难以觉察的错误,从而导致复件有可能不完整(之所以有这种可能性是因为复制过程发生在时点创建之后)。但是,这种情况极少发生并且事先有所准备;一旦确定有出错条件,将会有新的时点创建出来。

虚拟映像

IBMSnoopShot(IBM快速抓取)和SunStorEdgeInstantImage(SunStorEdge

瞬时映像)是采用“虚拟映象”技术的产品。

“虚拟映像”的优点在于它运行时通常只需要比其它方法少得多的存储。另外

它还具有快速抓取的能力,不会产生与镜像有关的资源开销,并能够创建复合快速

抓取映像。

“虚拟映像”主要的缺陷在于原程序会因副程序使用快速抓取映像而遭受影响。

三、HDS数据备份快照ShadowImage原理和应用

数据备份快照ShadowImage与指针方式(例如Snap)的快照不同,是将全部数据进行实时复制的备份。

ShadowImage 最初的设计目的是在Y2K解决方案测试时将数据备份,所以它是卷到卷的完全的数据备份,之后进行了开发。

ShadowImage 快写照支持工作方式

同一个系统内支持多至9个Open平台及多至3个IBMS/390平台。允许用户同时复制内部磁盘系统的逻辑卷LVI与逻辑单元LUN,而不中断客户服务、停顿超时,或影响用户关键业务的性能。拷贝后LVI与LUN仍有RAID保护,即时的拷贝可用于数据备份、应用测试等工作。在持续进行正常操作的时候可重新同步,减少数据复制的请求,提高系统使用率。

HDSShadowImage实时快写照数据支持7X24小时服务环境,同时实现同一系统内的数据双备份(通过切换定义和数据恢复 )

可从目标拷贝再重新同步拷贝,可维护最多20份关键数据的拷贝。

支持同一磁盘系统内数据双份保护。

所有数据在HDSRAID0+1和RAID5保护下

ShadowImage 快速备份工作示意图

现在的ShadowImage 允许在一个存储器内同时最多生成多达9个子备份卷。使一个存储设备中可以同时有10个同步的数据卷。所有备份工作都在存储器内部进行,不消耗任何主机资源。

其中被应用卷在正常工作状态下作为主卷备份到其他的目的卷,此时各目的卷处于实时备份状态,不可以被访问。

当需要对备份卷进行访问或应用时,可自动设置一个或多个固定时间,也可以手动设置:

将前端应用停止,停止主卷与目的卷的备份。

对目的卷进行操作。

操作后恢复。

过程如下:在使用时,必须保证主卷和目的卷处于不同的,但空间完全系统的逻辑卷,即如果计划生成2个备份就必须在存储配置设置中划分三个空间相同的逻辑卷。再进行ShadowImage 的设置。这样,在本地存储器中,数据得到完整的备份,并可以逆向恢复,保证数据的安全。

用ShadowImage备份快速恢复数据。



























生产卷与备份卷是同步生成,在生产卷故障时可利用备份卷迅速恢复数据的应用。

四、IBMFlashCopy原理和应用

总之,只要应用具有这些特点,就需要使用一份真正的数据复制,应用FlashCopy的COPY选项所需的磁盘空间是需要复制的源数据量的总和。

下图表示使用FlashCopy的COPY选项时的系统结构,从生产系统中产生一份真实的物理复制,供后台的应用程序如报表程序、数据仓库系统等使用。



NOCOPY选项的FlashCopy应用

如果应用系统访问数据量或访问频度很低,就不需要使用物理的数据复制,只需要

访问生产系统中某一时刻的完整数据,可以使用 NOCOPY 选项,这一选项不会产生源数据的物理复制。例如后台发出的状态检查/查询请求,只需要访问少量的数据;又如后台的磁带备份程序,从前台读取数据后即备份到磁带中不再使用,都属于这一类应用。

图下图表示使用NOCOPY 选项的FlashCopy系统结构,由于没有物理的数据复制产生,所以后台应用I/O请求都被转发到源数据组上。













用IBMFlashCopy快速数据库备份

使用FlashCopy的技术要求

使用磁盘的硬件复制功能可以实现快速的数据库备份,技术上有这些具体要求:

1. 在硬件复制操作执行的过程中,一个数据库服务器(或实例)拥有的所有hdisk

(如果使用SDD则相应为vpath)上不能有任何写操作,这是为了保证被复制数

据的数据一致性。逻辑硬件复制操作一般只用几秒钟就可以完成。

2. 为了保证复制过程中不会发生写操作,系统管理员要在操作系统、应用服务器(如CICS)或数据库服务器等层次采取相应措施来禁止写操作的发生,具体措施有:

把操作系统设为静止状态;

停止CICS服务器或把所有CICS事务设置为不可用;

停止数据库服务器,或把数据库设为只读方式;

把数据库服务器设为特殊的状态,禁止在磁盘级别上的写操作如Oracle的热备份状态,Sybase的静止状态)。这样做可以让不能中止的应用程序不间断运行。

3.系统管理员要事先编写一套操作命令文件,完成禁止数据库写操作、错误状态检查与开始数据复制等一系列操作。

要注意的是,这些技术要求是与具体的磁盘设备或复制技术无关,必须保证没有数据库的写操作,不管是IBM的FlashCopy,还是其他存储设备厂商,做法都是一样的。

举例来说,下面一段是从EMC的文档中摘录出来,关于做Oracle数据库复制时TimeFinder要满足的先决条件:

“EMCTimeFinder数据库要求”

1. 预先设定一套操作方法和执行命令文本,作错误条件检查,以防止发生可能破坏数据库一致性的人为操作错误。

2. 只有满足以下条件才能分割BCV设备:

Oracle数据库文件处于热备份状态(即表空间处于热备份状态)

或者表空间正常地脱机或处于只读状态;

或者数据库完整地正常停止。

由此可见,尽管EMC与Oracle数据库有着非比寻常的紧密合作关系,EMC的TimeFinder仍然要求Oracle数据库满足以下要求中的一条

1. 处于热备份状态,即不能有写操作。

2. 处于脱机状态或只读状态。

3. 完全停止。

只有满足了这些要求,TimeFinder的BCV设备才能分割或复制。

但应注意的是停止数据库的写操作并不等于停下整个数据库服务器。

FlashCopy复制操作过程

用FlashCopy复制数据库的操作过程大致如下:

1. 为所有数据库设图示配置FlashCopy 设备对

2. 把应用程序访问的数据源切换到脱机的映象数据库上

3. 把生产系统的数据库设为静止状态。

4. 执行FlashCopy 复制, 这个复制是批处理前的状态记录。

5. 把生产系统的数据库恢复为正常状态。

6. 执行后台批处理作业。

7. 批处理作业完成后,再次把数据库设为静止状态。

8. 执行FlashCopy 复制,这个复制是批处理后的状态记录。

9. 把数据库恢复为正常状态。

10.把前台应用程序在映象数据库上执行的数据库事务记录传送到生产系统数据库

上重新执行一次。

IBMFlashCopy功能特别适合于高速磁盘复制系统,即使要复制几个TB的数据,

逻辑数据复制只需几秒就能完成。与特定的数据库静止操作结合使用,FlashCopy就能在产生一份生产系统数据的无损备份的同时不中止用户应用的运行。本文中所述的FlashCopy复制流程通常要编成一个UNIX的命令文件,在日常的数据备份操作中执行。

磁盘存储设备设计硬件层次上的复制功能,如 IBM 的 ESSFlashCopy或 EMC的TimeFinder,主要目的是为了缩短数据备份所需的时间。在生产系统中,某一时该的完整备份通常要比模糊的数据库备份更有用。虽然这两种机制都能实现无损失的数据备份,备份操作也不会影响生产系统的正常运行,但后者只能用于某些特定的数据库对象,前者则适用于业务系统中的所有数据组织,如数据库、数据文件和程序、共享库等

献花(0)
+1
(本文系XYRJ图书馆首藏)