一种分布式存储的快照方法技术

技术编号:17467545 阅读:22 留言:0更新日期:2018-03-15 05:03
本发明专利技术公开了一种分布式存储的快照方法,面向分布式存储系统,采用独立虚拟视图对象描述原始卷和快照卷,快照卷具有完整的物理副本,解除了快照卷对原始卷的存在性依赖关系。所有虚拟视图对象VDI及其快照共享整个分布式存储资源池,快照卷不再需要独立的预留存储空间,解除快照卷对原始卷的依赖。在写时复制COW和写入重定向ROW快照机制基础上,引入Log日志模式,解决了快照引起原始卷读写性能大幅下降和性能一致性问题,同时突破了快照数量限制的瓶颈。本发明专利技术分布式存储系统中的快照效率和可用性显著提高,从而增强了系统可用性。

【技术实现步骤摘要】
一种分布式存储的快照方法
本专利技术属于快照
,特别涉及一种分布式存储的快照方法。
技术介绍
快照(Snapshot)是某个数据集在某一特定时刻的镜像,也称为即时拷贝,它是这个数据集的一个完整可用的副本。存储网络行业协会SNIA对快照的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。在存储系统层次上,快照通常以逻辑单元为快照实体,以数据块(Block)的粒度进行副本数据复制。在分布式存储中,快照以逻辑卷为快照实体,逻辑单元为粒度进行数据复制。快照生成的是原存储系统的逻辑副本,使用时需要借助原存储系统,虚拟视图技术是其典型代表。生成快照时,只需要产生一系列指向原存储系统的指针,因而创建时间极短;若在使用快照的过程中发生对原存储系统的写操作,将对应数据单元的原有数据存入快照,该数据单元分为快照中的某个时间点数据和当前数据,其他未发生更新的数据在快照和原存储系统中共享。虚拟视图的灵活性及使用存储空间的高效性,使得它成为快照技术的主流。通常而言,快照都要经过初始化、数据拷贝和终止几个处理阶段,其中数据拷贝是快照的技术核心。当前数据拷贝有主要有两种技术,一种是写时复制(COW,CopyOnWrite)。另一种技术是写入重定向(ROW,RedirectOnWrite)。(1)写时复制COWCOW快照需要消耗一些存储空间--建立快照卷。当为一个数据卷创建一个快照之后,这些预留的空间用来存放被变化数据更新的旧数据。COW快照在初始化的过程中仅仅创建用来描述源数据块位置的指针信息(元数据),而不是完整的将源数据块拷贝过来。因此初始化的过程几乎可以在瞬间完成,对系统的影响也很小。COW快照会跟踪数据卷的写操作和数据块变化。当某个数据块发生改变时,在将旧的数据覆盖之前,首先将该块的旧数据复制到预留的快照卷,该步骤仅在数据卷相应数据块位置发生第一次写操作请求时进行。这个处理过程确保快照出来的数据与发起快照的那个精确时间点保持完全一致。这个过程也描述了“CopyOnWrite”这个名字的含义。如果需要访问某个时间点的快照数据,对没有改变过的块直接从数据卷读取;对已经改变并被复制的块则从快照空间读取。从快照被创建那一刻开始,每个快照都会跟踪记录描述块改变的元数据信息。COW快照的主要优势在于空间的高效利用,因为快照卷只需要保留发生过变化的数据块,与数据卷相比要小得多。但是COW快照有个明显缺点,它会引起数据卷性能的下降,这是因为创建快照之后,对数据卷的写操作会增加一个等待的过程,即旧数据块复制到快照卷的过程。另外一个关键问题是每个快照卷必须依赖一个完整的数据卷。传统存储快照技术是基于时间点的复制,能够在一个存储单元中建立数据的完全卷拷贝。如果生产系统此时对某一个数据集合进行频繁的修改,在这种情况下产生一个时间点一致拷贝是比较困难的。当进行快照时,快照的源卷将会被冻结几秒钟;当快照拷贝的位图建立之后,源卷才可以继续进行I/O操作。当位图建立后,后台拷贝需要进行一段时间,但是在目标卷上看来,拷贝已经完成了。(2)写入重定向ROW快照实现技术中的另一种技术是I/O重定向(I/ORedirect)。即将读写操作重新定向到另一个存储空间中。在一个快照生成期间,所有的写操作将被重定向到另一个介质,而读操作是否需要读重定向,则需要根据读取的位置是否有过自上次快照以来的写重定向,必须对有过写重定向的位置进行读重定向,否则不需要进行读定向。当要创建一个快照时,则将自上次快照以来所有的重定向写数据所对应在源介质中的数据复制出来生成这个时间点的快照,然后再将这些重定向写数据写回到源介质中的相应位置上,从而完成一个快照生成过程。从ROW快照过程来看,关键的性能影响在于快照生成时的四次I/O操作(一次读源介质,一次写快照数据,一次读快照介质,一次写源介质),另一个则是重定向的计算工作。这种方式虽然看起来最后生成快照时的I/O操作较多,但是考虑到这个操作是在生成快照时才会发生,特别是快照生成时可以对I/O操作进行排序,可以使得对介质的读写得到较好的优化,因此使影响很小。而对于重定向的计算操作对于当下的计算能力来说,不会成为一个性能的瓶颈问题。因此这种快照实现方式在非快照执行期间的影响甚小。因此这种方式比较适合Write-Intensive(写密集)类型的存储系统。写时复制COW和写入重定向ROW两种快照机制,创建快照时都是仅仅复制了原始数据物理位置的元数据,因此快照创建非常快,可以瞬间完成快照操作。然而,一旦快照创建完成后,则每个快照副本需要跟踪原始卷的数据变化(即原始卷写操作),原始卷数据块发生首次更新则需要复杂的操作并产生副作用。主要有三个不足之处:(1)严重影响原始卷性能COW和ROW快照,对原始卷的后续读写会产生较大的额外系统开销,造成性能大幅下降,实际中最大降幅甚至达到50-80%。COW快照对写性能影响大,原始卷数据的首次变化需要复制数据,多一次读写的数据块迁移过程,I/O需要等待时间比较长;但原卷数据的布局没有任何改变,对读性能没有影响。ROW快照对读性能影响大,多次读写后,原始卷的数据变得非常分散,对于连续读写性能下降很大,尤其是机械式硬盘存储系统;ROW快照对原始卷的写性能基本没有损耗,只是修改数据块映射指针,实现效率很高。(2)快照无法独立于原始卷目前主要的COW/ROW快照实现方式,需要预留存储空间(通常是30%),并创建快照卷用于存储写操作时引起的变化数据。快照卷仅存储了原始卷更新的数据,无法得到完整的物理副本。如果需要完整物理副本,则必须依赖原始卷的数据,快照卷也无法独立于原始卷存在。(3)快照数量存在限制传统存储或者分布式存储通常都会对快照数量进行限制,主要是出于两方面的原因。一是性能影响,快照数量越多,COW/ROW处理开销越大,导致原始卷性能降低到无法正常应用的状态。比如,限制单卷快照数量不要超过128。二是存储容量,快照卷需要预留一定比例的存储空间,对于频繁读写的原始卷,如果快照数量太多,更新数据量必然很大,从而可能导致预留存储空间不足引起快照失效。
技术实现思路
本专利技术要解决的技术问题是提供一种快照前后原始卷性能一致性好、提高快照读写性、能解除快照卷对原始卷的存在性依赖关系、不需要专门为快照预留存储空间、不限制快照数量的分布式存储的快照方法及其系统。本专利技术以如下技术方案解决上述技术问题:一种分布式存储的快照方法,采用分布式对象存储系统HiperSAN分层存储,所述对象包括数据对象和虚拟磁盘VDI对象,每个对象有一个64bit的全局唯一标识符,HiperSAN分层存储对外提供服务的是虚拟磁盘VDI,每个虚拟磁盘VDI对应一个VDI对象使得该虚拟磁盘VDI的逻辑空间和实际存储的物理空间一一对应起来;所述虚拟磁盘VDI和及其快照采用相同的虚拟视图对象,共享存储资源池;创建快照时采用写入重定向ROW方法,将当前工作虚拟磁盘VDI保存为快照,创建一个新的VDI虚拟视图对象并复制原虚拟磁盘VDI的虚拟视图信息,新的虚拟磁盘VDI成为了当前工作VDI;创造快照后的原始虚拟磁盘VDI的写操作,则采用COW写时复制方法。所述创建快照本文档来自技高网
...
一种分布式存储的快照方法

【技术保护点】
一种分布式存储的快照方法,其特征在于:采用分布式对象存储系统HiperSAN分层存储,所述对象包括数据对象和虚拟磁盘VDI对象,每个对象有一个64bit的全局唯一标识符,HiperSAN分层存储对外提供服务的是虚拟磁盘VDI,每个虚拟磁盘VDI对应一个VDI对象使得该虚拟磁盘VDI的逻辑空间和实际存储的物理空间一一对应起来;所述虚拟磁盘VDI及其快照采用相同的虚拟视图对象,共享存储资源池;创建快照时采用写入重定向ROW方法,将当前工作虚拟磁盘VDI保存为快照,创建一个新的VDI虚拟视图对象并复制原虚拟磁盘VDI的虚拟视图信息,新的虚拟磁盘VDI成为了当前工作VDI;创造快照后的原始虚拟磁盘VDI的写操作,则采用COW写时复制方法。

【技术特征摘要】
1.一种分布式存储的快照方法,其特征在于:采用分布式对象存储系统HiperSAN分层存储,所述对象包括数据对象和虚拟磁盘VDI对象,每个对象有一个64bit的全局唯一标识符,HiperSAN分层存储对外提供服务的是虚拟磁盘VDI,每个虚拟磁盘VDI对应一个VDI对象使得该虚拟磁盘VDI的逻辑空间和实际存储的物理空间一一对应起来;所述虚拟磁盘VDI及其快照采用相同的虚拟视图对象,共享存储资源池;创建快照时采用写入重定向ROW方法,将当前工作虚拟磁盘VDI保存为快照,创建一个新的VDI虚拟视图对象并复制原虚拟磁盘VDI的虚拟视图信息,新的虚拟磁盘VDI成为了当前工作VDI;创造快照后的原始虚拟磁盘VDI的写操作,则采用COW写时复制方法。2.如权利要求1所述的一种分布式存储的快照方法,其特征在于:所述创建快照的具体步骤为:(1)更新当前工作虚拟磁盘VDI为快照a)读取当前工作VDI的虚拟视图对象,修改快照创建时间;b)为虚拟磁盘VDI每个数据对象的引用计数加1;c)将虚拟磁盘VDI虚拟视图对象进行持久化存储;(2)新建虚拟磁盘VDI作为当前工作VDIa)新建一个虚拟磁盘VDI虚拟视图对象,复制原虚拟磁盘VDI的虚拟视图信息;b)设置新建虚拟磁盘VDI中的快照标识ID为原始VDI的快照标识ID加1,成为工作虚拟磁盘VDI;c)将新建虚拟磁盘VDI的引用计数加1;d)将新建虚拟磁盘VDI虚拟视图对象进行持久化存储。3.如权利要求1所述的一种分布式存储的快照方法,其特征在于:所述COW写时复制方法中采用Log日志,(1)基于对象级别的log日志,按时间顺序记录COW对象复制到当前虚拟磁盘VDI之前的所有的写操作;(2)请求写入日志成功,则返回;存储单元定期合并这些请求,然后再与COW对象合并,生成更新过的当前虚拟磁盘VDI中的对象;(3)以COW标志作为对象是否触发Log读写流程的判断依据;(4)读取数据时需要进行判断,未更新的数据直接从COW对象读取,更新过的读Log日志;(5)Log日志文件与数据对象,通过hash分布在与对象相同的存储单元上,对象与相应log文件具有相同的hash值,副本数也相同;(6)Merge操作优先一切对象操作。4.如权利要求3所述的一种分布式存储的快照方法,其特征在于:所述Lo...

【专利技术属性】
技术研发人员:徐洪亮黄海山李志强王捷张治平卢立冬伍桦李华添
申请(专利权)人:广西广播电视信息网络股份有限公司
类型:发明
国别省市:广西,45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1