摘 要:在当今网络信息时代,san(存储区域网络)是存储领域近来十分引人注目的技术。它一方面能为网络上的应用系统提供丰富、快速、简便的存储资源;另一方面又能共享存储资源并对其实施集中管理,成为当今理想的存储管理和应用模式。讨论了smr系统中卷复制技术和snapshot备份技术,利用其系列功能,可以大大地减少计划外或计划内的宕机时间,充分提高数据的可用性,同时可以提高系统的服务时间。
关键词:存储;备份;卷复制技术;snapshot备份技术
1 数据存储备份与恢复的作用与意义
随着计算机的普及和信息技术的进步,特别是计算机网络的飞速发展,信息安全的重要性日趋明显。但是,作为信息安全的一个重要内容——数据存储备份的重要性却往往被人们所忽视。只要发生数据传输、数据存储和数据交换,就有可能产生数据故障。这时,如果没有采取数据存储备份和数据恢复手段与措施,就会导致数据的丢失。有时造成的损失是无法弥补和无法衡量的。
数据故障的形式是多种多样的。通常,数据故障可划分为系统故障、事务故障和介质故障三大类。在信息的收集、处理、存储、传输和分发中经常会存在一些新的问题,其中最值得关注的就是系统失效、数据丢失或遭到破环。
因此,数据存储备份和数据恢复是保护数据的最后手段。
2 数据存储备份系统的基本构成
一个好的数据存储备份系统应该具备以下一些基本要素:(1)保护性:全面保护用户的数据,在灾难发生时能快速可靠地进行数据恢复;(2)可管理性:这是存储备份中一个重要的因素。WWw.133229.coM因为可管理性与存储备份的可靠性紧密相关。最佳的可管理性当然就是自动化存储备份方案,这不仅增加了数据的安全性和可靠性,而且在数据恢复时减少了以往十分繁琐的工作步骤,节约了大量的人力和时间;(3)可扩展性:存储备份最大的忌讳就是在存储备份过程中因介质容量不足而更换介质。因为这会降低存储备份数据的可靠性与完整性。因此,存储介质的容量在存储备份中具有压倒一切的重要性。
3 卷复制技术
3.1 存储备份模型
当用户的数据需要保留相对比较长的时间时,最经济的方法是采用磁带,这就需要解决因此带来的需要长时间存储备份和恢复的问题。要完成存储备份/恢复操作,最简单的方案就是:用户在每次需要进行数据拷贝时,逐个指定所使用的源/目的volume,若需要多个副本,则需要多次重复同一过程。这样把对存储备份介质的管理和对存储备份过程的控制责任完全压在了用户身上,不但效率低下,而且容易出错,也没有充分发挥磁盘阵列硬件的并行优势。
为此,备份恢复管理模块首先从介质的管理入手,它通过引入复制的观点,即在磁盘阵列中将一些磁盘作为主磁盘,另一些作为主磁盘的冗余盘,也叫从磁盘,通过对主磁盘和从磁盘的pair设定,并提供复制、恢复、分离等命令,可实现以下功能:主盘上所有数据的变化可以直接反映到从盘上;当发生意外时,从盘上的数据可以迅速恢复到主盘上等功能,并且通过各种选项的设置,实现不同的复制状态,按用户的需要完成不同的备份恢复功能。用户可以事先规划好数据的备份和恢复关系,在用户的参与下建立起多个磁盘阵列间的备份网络,以后的备份/恢复过程就只需要指定所要操作的备份网络即可。
备份/恢复操作是以逻辑盘ld为单位进行的。逻辑盘在备份术语中称为“卷”。基本备份/恢复功能就是通过将磁盘阵列中业务卷上的数据复制到复制卷上,以实现系统的高安全性。当业务卷上的数据被毁坏时,就可以用它的复制卷上的数据来恢复业务卷上的数据内容,或者让服务器直接访问这个复制卷。
3.2 pair信息的存储
借助pair关系的branch(分叉)和chain(链式)特性,可形成一个备份/恢复的多叉树,并进而形成一个强大的备份网络。为了在系统中表示与操作这种关系,需要用一种数据结构来存储它。作为pair中主方的volume会具有mv属性,作为pair中从方的volume会具有rv属性。
关系总是依赖于实体而存在的,因此笔者将pair关系用volume中的一个称之为“pair node”的内嵌结构体来表示。pair node中包含mv或rv的定位信息,以及该pair当前所处的状态。
为了查询性能的优化,以及为了能通过rdr pair中的一方找到位于远地的另一方,在mv和rv所对应的volume中都持有表示同一个pair关系的“pair node”。
pair关系是有方向性的,为了区分这一点,参照volume的分类方法,可将mv中的那个指向rv的“pair node”称为“replication pair node”,将rv中的那个指向mv的“pair node”称为“master pair node”。
mv和rv中表示同一个pair关系的“pair node”中所保存的pair状态值在大多数情况下是完全一样的,但在pair中一方出现故障而另一方正常时,二者的内容可能会有所差别。另外,系统提供了一些单方强制操作,亦只对pair中的某一方而不是同时对mv和rv同时执行操作,在这种情况下,mv和rv中的pair状态信息也会有所差别。这种mv和rv中保存的pair状态信息的不一致性,也是同时在mv和rv方保存pair信息的原因之一。
图1 pair信息存储示意图
3.3 卷复制功能的实现
(1)pair的设定和解除操作。
在设定pair时,首先要检查指定的两个volume是否可以被设定为pair,即:①即将作为rv的volume必须是一个iv(独立卷);②两个volume的容量、类型等必须完全一致;③若即将作为mv的volume不是一个vi,则它所在的所有pair必须处于分离状态;在解除一个pair时,要检查指定的两个volume是否己经是一对pair,且该pair应当处于分离状态。
(2)restore/separate等操作。
这些操作本身的实现并不难,最主要的是要在命令发行前根据硬件的当前状态进行合法性检查,预先判断这些命令发往硬件后,是否能被执行成功。若检查通过,则将之打包成agent代理模块所能识别的电文并发往agent代理模块,等待执行结果的返回。
4 snapshot存储备份技术
4.1 snapshot的提出
卷复制技术能够提供块级的数据同步功能,并且在性能上比文件复制要高出许多。在备份的时候,可以实现对数据的无间断备份,仅仅是在主卷和从卷分离的时候,需要停止在主卷上的作业。但是,这种i/0操作,即使是处于同一个磁盘阵列筐体内的两个磁盘(ld )之间进行,速度也不是很理想。而且,这种基于主从卷之间的备份和恢复技术,更适合于对付突如其来的物理灾害。
snapshot技术是实现瞬间做成volume在某一时间的拷贝,大大降低了备份时业务中断的时间,同时,它应用差分管理技术实现了备份成本的降低,并且,使得备份的世代管理成为可能。
4.2 snapshot的实现方式
从snapshot实现的层次来看,snapshot功能可以由磁盘阵列内的固件来实现,也可以在操作系统级由卷管理器软件或文件系统来实现。从实现所采用的技术来看,可采用指针型实现方式。其核心是采用虚拟磁盘技术,snapshot中的每一个数据块建立一个指针,指示该数据块所在的实际地址。对于snapshot中那些与原始数据相同的数据块,不需要额外的数据副本,snapshot中只需要维持一个指向该原始数据块的指针;只有那些与原始数据不同的数据块,需要创建一份旧数据的副本。
使用snapshot时,需要制作较多的snapshot拷贝,一般需要4至8个snapshot拷贝循环使用。恢复时,需要配合使用原始数据volume与最新的那个snapshot卷。最重要的是,需要有一种方法来对这些snapshot拷贝进行“世代”管理,记录它们的“新、旧”程度。而卷复制方案只需要2至3个volume,不需要任何“世代”管理方案。
4.3 snapshot的核心技术实现
(1)数据在sdd中的存放及访问。
在snapshot在做成快照映像时,对sov或是dv写数据是将差异数据存放在sdd区域的ld中,相应时间点做成的dv保存的则是对应sdd中数据保存位置的地址指针,即通过这些地址指针统一管理所有的差异信息。
图2 sdd的存储以及世代示意图
(2)快照磁盘向源磁盘的数据恢复。snapshot和其他的数据备份管理相类似,同样具有备份和恢复功能。由于snapshot的备份是虚拟的,因此srestore也是虚拟的。它并不采用传统restore将rv备份的数据重新复制回mv的处理方法,通过dv把sdd中的差异信息重新写回到sov上。恢复的基础是还存在工作正常的sov。因此,srestor,不能象普通的srestore那样,只要rv的数据是可用的就可以进行数据恢复,而是如果sov出现了物理故障,dv失去了恢复数据的基础,从而所有的dv都变成了无效的。
5 卷复制技术和snapshot存储备份技术比较
卷复制技术可以耐物理障害,同时,由于是全盘复制,对复制盘的访问并不会影响主盘的性能,但是,这些都是在高成本的前提下实现的。
snapshot技术虽然在耐物理障害方面劣势明显,但是,它的存储备份速度是微秒级的,这使得它对业务的影响最小,当然,代价是对主盘访问的性能会有所下降。同时,由于snapshot只复制变化的数据,所以占用空间较少,成本比较低。
综述之,卷复制技术和snapshot技术,各有利弊,各有适合使用的应用场合,也可以同时使用,对于中间过程的存储备份或经常性的存储备份利用snapshot,对于阶段性的存储备份利用卷复制技术,这样结合使用可以实现更加灵活的存储备份策略。
参考文献
[1]robert spadlnig,郭迅华.存储网络完全手册[m].北京:电子工业出版社,2007.
[2]牛云,徐庆.数据备份与灾难恢复[m].北京:机械工业出版社,2006.
[3]聂丹.适合中小企业的数据备份方案[j].常州工学院学报,2007,(4).
[4]王春.数据存储技术的发展与未来[j].铁路通信信号工程技术,2006,(2).
[5]刘贤揩.网络存储方案的选择[j].信息技术.2005,(4).