一种差量快照系统及其使用方法

文档序号:6539500阅读:195来源:国知局
一种差量快照系统及其使用方法
【专利摘要】本发明公开了一种差量快照系统及其使用方法,该系统包括:快照模块,用于维护源卷和快照卷的依赖关系、快照策略语义以及管理快照元数据;精简配置模块,该精简配置模块具有资源管理子模块,用于实现对快照的资源管理功能,该功能包括资源分配、资源映射、资源回收;该快照模块与该精简配置模块通过通用块层接口通信,该快照模块通过向该精简配置模块发送数据请求或资源管理命令实现通信。该系统使快照语义与物理资源管理解耦合,能够按需分配存储资源,并能够实现写时拷贝、写时重定向、随处写三种方式的处理逻辑,提高快照资源有效利用率。
【专利说明】一种差量快照系统及其使用方法
【技术领域】
[0001]本发明涉及信息【技术领域】,特别涉及存储领域的差量快照技术。
【背景技术】
[0002]存储网络工业协会SNIA (Storage Networking Industry Association),按照实现技术将快照分为两大类:全复制快照与差量复制快照。与全复制快照相比差量快照技术具有时间开销低,空间利用率高等突出优势,因此差量快照技术被工业界广泛应用。目前差量快照技术有三种实现,即写时拷贝(C0W,Copy On Write),写时重定向(ROW,Redirect OfWrite),随处写(WA, Write Anywhere),以满足不同实例的需求。
[0003]写时拷贝,原理如图1所示,创建快照后源卷数据第一次被覆盖写之前,先将源卷的旧数据拷贝到为快照预留的空间,再将新数据写入源卷,并建立索引表来记录快照创建之后修改过的数据块。写时拷贝技术保持源卷上数据的物理分布,因此不影响读源卷数据的性能。但是创建快照卷后的首次写引入了数据的物理拷贝,因此源卷的写性能差,而且各个时刻的增量数据集分散在各个快照卷中,读快照卷数据的性能会受到影响。
[0004]写时重定向,原理如图2所示,在创建快照后,对源卷的写操作将会被重定向到为快照预留的空间,并建立索引表来记录数据位置,源卷中的旧数据仍保存在原位置。写时重定向对源卷的写性能较优,而且各个时刻的增量数据集聚集保存在一个快照卷中,读快照卷数据的性能也要优于写时拷贝快照。然而由于新数据保存在快照卷中,源数据集的分布变得分散,因此读源数据集的性能会受到影响。此外,源卷数据集既存放在源卷也存放在快照卷中,当删除一个快照时,需要将快照中的数据迁移合并到源中。
[0005]随处写,原理如图3所示,基本思想是将所有物理资源进行虚拟化管理,即将磁盘按照固定粒度切分成等大的物理块,建立映射表记录所有的逻辑块与物理块的映射关系,使用映射指针的方式管理数据块。创建快照时,将当前的映射指针复制一份作为快照。当数据块发生变化时,随处写技术不修改老数据,而是为数据块新申请一个空闲的物理块,接着将源的对应数据块映射指针指向新物理块,并将新数据写入新物理块的存储空间。快照的映射指针仍指向老数据所存放的物理块。随处写技术写性能较优,并且还可以通过请求调度将随机写变成顺序写优化随机写性能。在删除快照时,随处写技术只需要进行数据块的回收操作,不需要进行数据合并迁移。随处写技术将源卷与快照卷的存储空间混合在一起进行统一管理,源卷与快照卷的读性能相同。但是,随处写技术会造成大量的数据碎片,读请求会引起大量的合并操作,严重影响读源数据和快照数据的性能。
[0006]通过对差量快照三种实现方式的分析得出它们的共同点,即维护快照层语义需要为新数据或者旧数据分配存储空间,即快照同时需要支持资源管理功能。综合前述三种实现方式,快照技术支持两种方式资源管理方式,即空间预留方式和动态资源分配方式。空间预留方式,创建快照时就为快照卷按比率预留可用资源,属于静态的资源管理,该方式的资源利用率较低,该方式应用于写时拷贝与写时重定向。动态资源分配方式,统一管理系统中所有可用资源,按照按需分配的原则,采用写时分配策略,该方式的资源利用率较高,但是需要动态的更新资源使用情况,实现也更复杂,该方式应用于随处写。
[0007]基于上述考虑,传统差量快照技术中资源管理方式与快照语义紧耦合,由此带来以下几方面的不足:
[0008]第一,快照系统中需要维护资源映射信息。两种资源管理分配方式都需要快照系统支持资源映射功能,并在有新数据产生时需要修改或者建立相应的映射关系。资源映射管理和维护增加了快照系统的复杂性。
[0009]第二,快照实现技术与资源管理方式耦合,按照存储网络工业协会的定义,写时拷贝或者写时重定向为资源预留方式,不支持按需分配。由此导致这两种实现方式的资源有效利用率难以提高。

【发明内容】

[0010]为了解决上述问题,本发明的目的在于,提供一种基于精简配置系统的差量快照系统及其使用方法,使快照语义与物理资源管理解耦合,能够按需分配存储资源,并能够实现写时拷贝、写时重定向、随处写三种方式的处理逻辑,提高快照资源有效利用率。
[0011]为实现上述目的,本发明提出一种差量快照系统,用于按需分配存储资源,其特征在于,该系统包括:
[0012]快照模块,用于维护源卷和快照卷的依赖关系、快照策略语义、管理快照元数据;
[0013]精简配置模块,该精简配置模块具有资源管理子模块,用于实现对快照的资源管理功能,该功能包括资源分配、资源映射、资源回收;
[0014]该快照模块的逻辑卷底层设备是该精简配置模块的逻辑卷,通过该精简配置模块对该逻辑卷的资源管理实现按需分配存储资源,该快照模块与该精简配置模块通过通用块层接口通信,该快照模块通过向该精简配置模块发送数据请求或资源管理命令实现通信。
[0015]本发明的差量快照系统,其特征在于,在该快照模块中,所采用的快照技术为写时拷贝或写时重定向,在该精简配置模块中,采用写时分配技术,支持随处写快照语义。
[0016]本发明的差量快照系统,其特征在于,该精简配置模块还包括:
[0017]资源池,用于对物理存储资源进行统一的虚拟化管理,对外提供可用快照逻辑块;
[0018]物理存储设备,用于存储快照数据块;
[0019]其中,该快照逻辑块与该快照数据块通过该精简配置模块管理的逻辑卷中的资源映射表相对应;
[0020]空闲资源表,记录当前资源池中可用的物理资源块数量及信息。
[0021]本发明还涉及一种如上所述的差量快照系统的使用方法,其特征在于,该方法包括快照模块步骤和精简配置模块步骤,其中,
[0022]该快照模块步骤,包括:
[0023]用户请求处理步骤,用于当该快照模块接收到用户的快照数据块写请求时,根据该写请求所访问的逻辑卷所应用的快照策略,进行写时拷贝处理或写时重定向处理,并向该精简配置层发送重映射命令或写请求,当该快照模块接收到用户的读请求时,根据读请求地址和快照逻辑确定请求数据块所在逻辑卷,向精简配置层转发读请求,写请求或读请求返回后,向用户返回,[0024]数据合并步骤,用于对同一快照逻辑地址在不同快照卷中对应的快照数据块进行合并,并向该精简配置层发送重映射命令或资源回收命令;
[0025]该精简配置模块步骤,包括:
[0026]写请求步骤,用于当该精简配置模块接收到快照模块发出的快照数据块的写请求时,根据策略选择是否需要为该快照数据块分配资源并建立该快照数据块与物理资源块的映射关系,然后向底层物理存储模块转发请求将数据写入物理存储设备,写完成后逐层向上返回,
[0027]读请求步骤,用于当该精简配置模块接收到快照模块发出的快照数据块的读请求时,将请求重定向到数据块在物理存储设备中的位置,转发到物理存储设备,从物理存储设备中读出数据返回给用户,
[0028]重映射步骤,用于当该精简配置模块接收到快照模块发出的快照数据块的重映射命令时,对该快照数据块进行重映射操作,
[0029]资源回收步骤,用于当该精简配置模块接收到快照数据块的资源回收命令时,对该快照数据块进行物理资源回收。
[0030]本发明的差量快照系统的使用方法,其特征在于,所述写时拷贝处理包括下列步骤:
[0031]步骤11,源卷接收用户对快照逻辑块写请求,查询依赖于该源卷的当前快照卷中的元数据,依此判断本次写是否为对该快照逻辑块的首次写,若该快照卷的元数据中标识该快照逻辑块无有效快照数据块,则为首次写,执行步骤12,否则,执行步骤13,
[0032]步骤12,该快照源卷向底层设备即该精简配置系统的逻辑卷发送重映射命令,将该快照逻辑块对应的旧版本快照数据块从源卷逻辑空间重映射到快照卷逻辑空间,更新该快照卷元数据,并通知该源卷的数据逻辑单元已完成对该快照逻辑块对应快照数据块的逻辑拷贝,
[0033]步骤13,该源卷将用户的该快照数据写请求转发给底层设备,即精简配置逻辑卷,该快照写请求返回后向用户层返回;
[0034]该写时重定向处理包括下列步骤:
[0035]步骤21,源卷接收用户对快照逻辑块写请求,查询依赖于该源卷的当前快照卷,将写请求重定向到该快照卷逻辑空间,
[0036]步骤22,该快照卷接收用户的快照逻辑块写请求,并转发给底层设备,
[0037]步骤23,该写请求返回后更新快照卷元数据,并返回用户层。
[0038]本发明的差量快照系统的使用方法,其特征在于,该数据合并步骤具体为:若将在快照逻辑卷LV2中存在有效快照数据块的快照逻辑块B对应的快照数据块合并到快照逻辑卷LV1,其中LV1、LV2为同一源卷在不同时刻的快照卷,或者源卷与快照卷,
[0039]若该快照逻辑卷LVl中的数据集新于该快照逻辑卷LV2中的数据集,则进行如下步骤:
[0040]步骤41,对于该快照逻辑卷LV2中的该快照逻辑块B,检查该快照逻辑卷LVl中的元数据,判断该卷中是否有快照逻辑块的新版本快照数据块,若有则执行步骤42,否则执行步骤43,
[0041]步骤42,该快照模块向该快照逻辑卷LV2底层逻辑卷发送该快照逻辑块的资源回收命令,该命令成功返回后,更新该快照逻辑卷LV2的元数据,将该快照逻辑块标识为无有效快照数据块,则完成对该快照逻辑块对应的快照数据块的版本合并,
[0042]步骤43,该快照模块向该快照逻辑卷LV2底层逻辑卷发送该快照逻辑块的重映射命令,将该快照逻辑块对应的快照数据块从该快照逻辑卷LV2底层逻辑卷重映射到该快照逻辑卷LVl底层逻辑卷,其中,该重映射命令包括下列参数,该快照逻辑块的逻辑块号,源映射设备,目标映射设备,
[0043]步骤44,该重映射命令成功返回后,分别更新该快照逻辑卷LVl与该快照逻辑卷LV2的元数据,将该快照逻辑卷LVl中元数据标识为该快照逻辑块存在有效快照数据块,将该快照逻辑卷LV2的元数据标识为该快照逻辑块不存在有效快照数据块,则完成对该快照逻辑块对应的快照数据块的版本合并;
[0044]若该快照逻辑卷LVl中的数据集旧于该快照逻辑卷LV2中的数据集,则进行如下步骤:
[0045]步骤51,对于该快照逻辑卷LV2中的该快照逻辑块B,向该精简配置系统发送该快照逻辑块的重映射命令,将该快照逻辑块B对应的快照数据块从该快照逻辑卷LV2的底层逻辑卷重映射到该快照逻辑卷LVl的底层逻辑卷,该重映射命令包括下列参数,该快照逻辑块的逻辑块号,源映射设备,目标映射设备,
[0046]步骤52,该重映射命令成功返回后,合并该快照逻辑块在该快照逻辑卷LVl和该快照逻辑卷LV2中的元数据,并据此更新该快照逻辑卷LVl的元数据,并更新该快照逻辑卷LV2的元数据,将该快照逻辑块标识为无有效快照数据块,此时对该快照数据块的合并完成,
[0047]其中,该重映射命令参数中的源映射设备和目标映射设备分别为快照逻辑卷LV2和LVl的底层设备,且当该快照逻辑卷LV2中所有快照逻辑块对应的有效快照数据块均合并到该快照逻辑卷LV1,该快照逻辑卷LV2与该快照逻辑卷LVl的数据合并操作完成。
[0048]本发明的差量快照系统的使用方法,其特征在于,在精简配置模块步骤中,所述写请求步骤具体为,
[0049]步骤61,该精简配置模块的逻辑卷接收到上层写请求,在该逻辑卷资源映射表中查找当前快照逻辑块的映射项,若映射信息中该快照逻辑块没有关联相应的物理资源块,则是对该快照逻辑块的首次写,执行步骤62 ;否则执行步骤64 ;
[0050]步骤62,从该资源管理模块的资源池中为该快照逻辑块分配资源,更新资源池中的空闲资源记录;
[0051]步骤63,建立该快照逻辑块与物理资源块的映射关系,在该快照逻辑块的映射项中添加该物理资源块的信息,该信息包括该物理资源块所在的物理存储设备及地址;
[0052]步骤64,将写请求转发给物理存储模块;
[0053]步骤65,该物理存储模块写返回后,逐层向上返回。
[0054]本发明的差量快照系统的使用方法,其特征在于,在精简配置模块步骤中,所述读请求步骤具体为,
[0055]步骤71,该精简配置模块的逻辑卷接收到上层读请求,在该逻辑卷的资源映射表中查找该读请求所访问的快照逻辑块对应的资源映射项,获取与该快照逻辑块对应的快照数据块在物理存储设备中的地址;[0056]步骤72,将读请求重定向到该快照数据块在物理存储设备中的存储位置,转发到物理存储模块;
[0057]步骤73,底层设备返回后,逐层向上返回。
[0058]本发明的差量快照系统的使用方法,其特征在于,在精简配置模块步骤中,所述重映射步骤具体为,
[0059]步骤81,该精简配置模块接收到重映射命令,解析重映射操作参数,即获取该重映射操作所需的逻辑块号,源映射逻辑卷,目标映射逻辑卷,若源映射逻辑卷为LV3,目标映射逻辑卷为LV4,待重映射快照逻辑块为B ;
[0060]步骤82,在该源映射逻辑卷LV3的资源映射表中查找该快照逻辑块B对应的映射项,若该映射项中该快照逻辑块B关联了物理资源块,获得其对应的物理资源块P,执行步骤83,否则执行步骤87;
[0061]步骤83,在该目标映射逻辑卷LV4的资源映射表中查找对应该快照逻辑块B的映射项,若找到相应映射项,获取其对应的物理资源块Q,并执行步骤84,否则执行步骤85 ;
[0062]步骤84,取消快照逻辑块与物理资源块Q的关联,释放该目标映射逻辑卷LV4中该快照逻辑块B占用的物理资源块Q,并更新共享资源池中空闲资源记录;
[0063]步骤85,在该目标映射逻辑卷LV4的资源映射表中将该快照逻辑块B与物理资源块P关联,修改该快照逻辑块B对应的映射项,写入该快照逻辑块关联的该物理资源块P信息,该信息包括物理资源块所在物理设备,以及在该物理设备中的地址;
[0064]步骤86,在该源映射逻辑卷LV3的资源映射表中取消该快照逻辑块B与该物理资源块P的关联,重映射操作完成;
[0065]步骤87,向上层返回。
[0066]本发明的差量快照系统的使用方法,其特征在于,在精简配置模块步骤中,所述资源回收步骤具体为,
[0067]步骤91,该精简配置模块接收到资源回收命令,解析参数,即获取逻辑卷、逻辑块
信息;
[0068]步骤92,在该参数指定逻辑卷的资源映射表中查找对应逻辑块的映射项,若该映射项中关联了对应的物理资源块,则执行步骤93,否则执行步骤95 ;
[0069]步骤93,取消该逻辑块与物理资源块映射关系,并释放被映射的物理资源;
[0070]步骤94,更新资源池空闲资源记录;
[0071]步骤95,向上层返回。
[0072]本发明的积极效果在于:
[0073]第一,精简配置系统与快照技术的结合,一方面,将物理资源管理从快照系统中分离,快照层只需要维护快照语义,无需进行复杂的资源管理;另一方面,实现了全局资源动态配置,快照实现方式与资源管理方式解耦,即写时拷贝、写时重定向语义不需要预分配快照空间。
[0074]第二,精简配置系统实现随处写机制,快照层维护写时拷贝和写时重定向语义,实现了写时拷贝、写时重定向与随处写技术的嵌套。
【专利附图】

【附图说明】[0075]图1是差量快照实现方式中的写时拷贝的原理示意图;
[0076]图2是差量快照实现方式中的写时重定向的原理示意图;
[0077]图3是差量快照实现方式中的随处写的原理示意图;
[0078]图4是本发明的差量快照系统的逻辑结构示意图;
[0079]图5是本发明的差量快照系统的功能结构示意图;
[0080]图6是本发明的差量快照系统的快照语义嵌套示意图;
[0081]图7是本发明的差量快照系统的写时拷贝处理步骤的流程图。
【具体实施方式】
[0082]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明的差量快照系统及其使用方法进行进一步详细说明。应当理解,此处所描述的【具体实施方式】仅仅用以解释本发明,并不用于限定本发明。
[0083]本发明向用户提供源卷和快照卷两类逻辑卷,其中快照卷依赖于源卷。快照模块的逻辑卷底层设备为精简配置模块导出的逻辑卷。本发明综合写时拷贝、写时重定向、随处写三种实现方式的处理逻辑,对快照的逻辑功能进行了抽象划分,其层次结构如图2所示,功能结构如图3所示,通过精简配置系统对本模块逻辑卷的管理实现资源按需配置,快照模块只需维护快照语义,实现写时拷贝或者写时重定向逻辑。
[0084]快照模块与精简配置模块通过接口模块通信,快照模块通过向精简配置模块发请求或者资源管理命令实现通信,涉及用户请求处理和数据合并两个过程。总体步骤按照系统结构分为快照模块步骤和精简配置模块步骤。下面将以快照模块的一个快照数据块为对象描述该步骤。
[0085]一、快照模块步骤
[0086]该步骤具体包括用户写请求处理步骤、用户读请求处理步骤、数据合并步骤,下面依次对这些步骤进行进一步说明。
[0087]1、用户写请求处理步骤
[0088]当接收到用户写请求时,若进行写时拷贝,则执行下列步骤:
[0089]步骤11,源卷接收用户对快照逻辑块写请求,查询依赖于该源卷的当前快照卷中的元数据,据此判断本次写是否为对该快照数据块的首次写,若该快照卷的元数据中标识该快照逻辑块无有效快照数据块则为首次写,则执行步骤12,否则,执行步骤13,
[0090]步骤12,该快照源卷向底层设备即该精简配置系统的逻辑卷发送重映射命令,将旧数据块从源卷逻辑空间重映射到快照卷逻辑空间,更新该快照卷元数据,并通知该源卷的数据逻辑单元已完成对该快照数据块的逻辑拷贝,
[0091]步骤13,该源卷将用户的该快照数据写请求转发给底层设备,写请求返回后,返回用户层;
[0092]若进行写时重定向处理,则执行下列步骤:
[0093]步骤21,源卷接收用户对快照逻辑块写请求,查询依赖于该源卷的当前快照卷,该将写请求重定向到该快照卷逻辑空间,
[0094]步骤22,该快照卷接收用户的快照逻辑块写请求,并转发给底层设备,
[0095]步骤23,该写请求返回后更新快照卷元数据,并返回用户层。[0096]2、用户读请求处理步骤
[0097]该用户读请求与SNIA定义的处理逻辑相同,分为读快照源卷与读快照卷。
[0098]步骤31,用户读快照源卷,具体步骤如下:
[0099]步骤311,若为写时拷贝方式,则执行以下步骤:
[0100](a)将读请求重定向该快照源卷的底层逻辑卷,并转发给源卷的底层精简配置模块逻辑卷;
[0101](b)精简配置模块逻辑卷接收到读请求执行读流程,将读到的数据返回给上层;
[0102](C)快照源卷收到底层逻辑卷的返回,直接向用户返回。
[0103]步骤312,若为写时重定向方式,则执行以下步骤:
[0104](a)该快照源卷接收到用户读请求,查找依赖于该快照源卷的当前快照卷;
[0105](b)检查当前快照卷中所请求的逻辑块对应的元数据,确定是否存在该逻辑块的有效数据,若没有则执行步骤(C);否则执行步骤(d);
[0106](C)获当前快照卷的前驱快照逻辑卷,并将该前驱快照逻辑卷作为当前快照卷,执行(b);
[0107](d)读请求重定向到该当前快照卷,快照卷接收到读请求直接转发给其底层的精简配置模块的逻辑卷;
[0108](e)精简配置模块逻辑卷接收到读请求后,执行本层读流程,将请求转发到底层物理存储设备,并将读出的数据逐层向上返回。
[0109]步骤32,用户读快照卷,则执行以下步骤:
[0110]步骤321,若为写时拷贝方式,则执行以下步骤:
[0111](a)当前快照卷接收到用户读请求,检查本卷的元数据是否有所请求的数据,若没有则执行(b);否则执行(c);
[0112](b)获取当前快照卷的前驱逻辑卷,并将该逻辑卷作为当前快照卷执行(a);
[0113](c)当前快照卷将请求转发给底层的精简配置模块逻辑卷;
[0114](d)底层逻辑卷接收到读请求执行本层读流程;
[0115](e)将读到的数据逐层向上返回。
[0116]步骤322,若为写时重定向方式,则执行以下步骤:
[0117](a)快照卷接收到读请求,获取该快照卷的前驱逻辑卷,将读请求重定向到本快照卷的前驱逻辑卷;
[0118](b)该前驱逻辑卷接收到读请求,检查本卷中的元数据,判断是否有所请求的数据,若该逻辑卷中不存在所请求的数据,则执行(C),否则执行(d);
[0119](c)将该前驱逻辑卷作为当前请求逻辑卷,获取该当前请求逻辑卷的前驱逻辑卷,将读请求重定向到该前驱逻辑卷,执行(b);
[0120](d)将请求转发给底层的精简配置模块的逻辑卷;
[0121](e)精简配置模块的逻辑卷接收到读请求,执行本层读流程;
[0122](f)将读到的数据逐层向上返回。
[0123]3、数据合并步骤
[0124]当需要将两个快照卷中的快照数据进行版本合并时,进行如下步骤,
[0125]数据合并对LV2卷中的有效数据逐一与LVl卷中的数据做版本合并。下面以快照逻辑块B的有效数据版本合并操作为例进行阐述。
[0126]若将快照逻辑块B在逻辑卷LV2中对应的有效快照数据块合并到逻辑卷LVl,其中LVl、LV2为同一源卷在不同时刻的快照卷,若该逻辑卷LVl中的数据集新于该逻辑卷LV2中的数据集,则进行如下步骤:
[0127]步骤41,对于该逻辑卷LV2中存在有效快照数据块的该快照逻辑块B,检查该逻辑卷LVl中的元数据,判断该逻辑卷LVl中是否有该快照逻辑块的新版本快照数据块,若有则执行步骤42,否则执行步骤43,
[0128]步骤42,该逻辑卷LV2向底层的精简配置逻辑卷发送该快照逻辑块B的资源回收命令,该命令成功返回后,更新该逻辑卷LV2的元数据,将该快照逻辑块标识为无有效快照数据块,则完成对该快照逻辑块B对应的快照数据块的版本合并,
[0129]步骤43,该逻辑卷LV2向底层的该精简配置逻辑卷发送该快照逻辑块B的重映射命令,将该快照逻辑块对应的快照数据块从该逻辑卷LV2底层逻辑卷重映射到该逻辑卷LVl底层逻辑卷,其中,该重映射命令包括下列参数,该快照逻辑块的逻辑块号,源映射逻辑卷,目标映射逻辑卷,
[0130]步骤44,该重映射命令成功返回后,分别更新该逻辑卷LVl与该逻辑卷LV2的元数据,将该逻辑卷LVl中元数据标识为该快照逻辑块存在有效快照数据块,将该逻辑卷LV2的元数据标识为该快照逻辑块不存在有效快照数据块,则完成对该快照逻辑块B对应的快照数据块的版本合并;
[0131]若该逻辑卷LVl中的数据集旧于该逻辑卷LV2中的数据集,则进行如下步骤:
[0132]步骤51,对于该逻辑卷LV2中的该快照逻辑块B,向该精简配置系统发送该快照逻辑块B的重映射命令,将该快照逻辑块B对应的快照数据块从该逻辑卷LV2底层逻辑卷重映射到该逻辑卷LVl底层逻辑卷,该重映射命令包括下列参数,该快照逻辑块的逻辑块号,源映射逻辑卷,目标映射逻辑卷,
[0133]步骤52,该重映射命令成功返回后,合并该快照逻辑块B在LVl和LV2中的元数据,并据此更新该LVl的元数据,并更新LV2的元数据,将该快照逻辑块标识为无有效快照数据块,此时对该快照逻辑块B的快照数据块的版本合并完成,
[0134]其中,该重映射命令参数中的源映射逻辑卷和目标映射逻辑卷分别是逻辑卷LV2和LVl的底层逻辑卷,当该逻辑卷LV2中所有快照逻辑块对应的有效快照数据块均合并到该逻辑卷LV1,该逻辑卷LV2与该逻辑卷LVl的数据合并操作完成。
[0135]二、精简配置模块步骤
[0136]在精简配置模块步骤中,包括写请求步骤、读请求步骤、重映射步骤、资源回收步
聰坐
[0137]1、写请求步骤
[0138]该步骤具体为:
[0139]步骤61,该精简配置模块的逻辑卷接收到上层写请求,在本卷的资源映射表中查找当前快照逻辑块的映射信息,若未查找到该快照逻辑块与物理资源块关联的映射信息,则是对该快照逻辑块的首次写,执行步骤62 ;否则执行步骤64 ;
[0140]步骤62,从该资源管理模块的资源池中为该快照逻辑块分配资源,更新资源池中的空闲资源记录;[0141]步骤63,建立该快照逻辑块与物理资源块的映射关系,在该逻辑卷的资源映射表中该快照逻辑块对应的映射中增加该物理资源块的信息,该信息包括该物理资源块所在的物理存储设备及地址;
[0142]步骤64,将写请求转发给物理存储模块;
[0143]步骤65,该物理存储模块写返回后,向上层返回。
[0144]2、读请求步骤
[0145]该步骤具体为:
[0146]步骤71,该精简配置模块的逻辑卷接收到上层读请求,在资源映射表中查找相应的资源映射项,获取存储该读请求所需数据块的物理设备及物理地址;
[0147]步骤72,将读请求重定向到该快照数据块在物理存储设备中的存储位置,转发到物理存储模块;
[0148]步骤73,底层设备向本模块返回后,逐层向上返回。
[0149]3、重映射步骤
[0150]快照层的源卷或者快照卷的语义对精简配置模块透明,精简配置模块并不区分快照模块的源卷或者快照卷,只区分重映射操作的源设备和目标设备,即源逻辑卷与目标逻辑卷。下面以一个快照逻辑块为对象描述重映射操作的步骤。
[0151]该步骤具体为:
[0152]步骤81,该精简配置模块接收到重映射命令,解析重映射操作参数,即源映射逻辑卷,逻辑块号,目标映射逻辑卷信息,假设源映射逻辑卷为LV3,目标映射逻辑卷为LV4,待重映射快照逻辑块为B ;
[0153]步骤82,在该源映射逻辑卷LV3的资源映射表中查找该快照逻辑块B对应的映射项,若该映射项中该快照逻辑块B关联了物理资源块,获得其对应的物理资源块P,执行步骤83,否则执行步骤87;
[0154]步骤83,在该目标映射逻辑卷LV4的资源映射表中查找对应该快照逻辑块B的映射项,若该快照逻辑块B的映射项中关联了相应的物理资源块,获取该物理资源块Q,并执行步骤84,否则执行步骤85;
[0155]步骤84,取消快照逻辑块与物理资源块Q的关联,释放该目标逻辑卷LV4中该快照逻辑块B占用的物理资源块Q,并更新共享资源池中空闲资源记录;
[0156]步骤85,在该目标逻辑卷LV4的资源映射表中将该快照逻辑块B与物理资源块P关联,修改该快照逻辑块B的映射项,写入该物理资源块P的信息,该信息包括该物理资源块所在的物理存储设备及物理地址;
[0157]步骤86,在该源映射逻辑卷LV3的资源映射表中取消该快照逻辑块B与该物理资源块P的关联,重映射操作完成;
[0158]步骤87,向上层返回。
[0159]4、资源回收步骤
[0160]该步骤具体为:
[0161]步骤91,该精简配置模块接收到资源回收命令,解析参数,即获取逻辑卷、逻辑块
信息;
[0162]步骤92,在参数指定逻辑卷的资源映射表中查找对应逻辑块的映射项,若找到相应的映射项则执行步骤93,否则执行步骤95 ;
[0163]步骤93,取消逻辑块与物理资源块映射关系,并释放被映射的物理资源;
[0164]步骤94,更新资源池空闲资源记录;
[0165]步骤95,向上层返回。
[0166]本发明具有以下优点:
[0167]第一,快照语义与物理资源管理解耦合,资源管理对快照层透明。精简配置系统作为底层支持技术实现资源管理功能,其核心功能包括资源分配,资源映射,资源回收等;快照层核心功能包括维护快照语义,即维护快照卷间的依赖关系、管理快照层元数据(标识数据块在快照卷逻辑空间内是否存在有效数据),实现写时拷贝或者写时重定向逻辑。
[0168]第二,精简配置系统按照按需分配原则,执行写时分配策略,实现随处写语义,并且可以将随机写优化为顺序写,提高写性能。
[0169]第三,资源管理与快照语义的分离既解决了写时拷贝、写时重定与资源按需分配结合的问题,同时实现了写时拷贝、写时重定向与随处写机制的嵌套,如图4所示。
【权利要求】
1.一种差量快照系统,用于按需分配存储资源,其特征在于,该系统包括: 快照模块,用于维护源卷和快照卷的依赖关系、快照策略语义、管理快照元数据;精简配置模块,该精简配置模块具有资源管理子模块,用于实现对快照的资源管理功能,该功能包括资源分配、资源映射、资源回收; 该快照模块的逻辑卷底层设备是该精简配置模块的逻辑卷,通过该精简配置模块对该逻辑卷的管理实现按需分配存储资源,该快照模块与该精简配置模块通过通用块层接口通信,该快照模块通过向该精简配置模块发送数据请求或资源管理命令实现通信。
2.如权利要求1所述的差量快照系统,其特征在于,在该快照模块中,所采用的快照技术为写时拷贝或写时重定向,在该精简配置模块中,采用写时分配技术,支持随处写快照语义。
3.如权利要求1所述的差量快照系统,其特征在于,该精简配置模块还包括: 资源池,用于对物理存储资源进行统一的虚拟化管理,对外提供可用快照逻辑块; 物理存储设备,用于存储快照数据块; 其中,该快照逻辑块与该快照数据块通过该精简配置模块管理的逻辑卷中的资源映射表相对应; 空闲资源表,记录当前资源池中可用的物理资源块数量及信息。
4.一种对权利要求1-3所述的差量快照系统的使用方法,其特征在于,该方法包括快照模块步骤和精简配置模块步骤,其中, 该快照模块步骤,包括: 用户请求处理步骤,用于当该快照模块接收到用户的快照数据块写请求时,根据该写请求所访问的逻辑卷所应用的快照策略,进行写时拷贝处理或写时重定向处理,并向该精简配置层发送重映射命令或写请求,当该快照模块接收到用户的读请求时,根据读请求地址和快照逻辑确定请求数据块所在逻辑卷,向精简配置层转发读请求,写请求或读请求返回后,向用户返回, 数据合并步骤,用于对同一快照逻辑地址在不同快照卷中对应的快照数据块进行合并,并向该精简配置层发送重映射命令或资源回收命令; 该精简配置模块步骤,包括: 写请求步骤,用于当该精简配置模块接收到快照模块发出的快照数据块的写请求时,根据策略选择是否需要为该快照数据块分配资源并建立该快照数据块与物理资源块的映射关系,然后向底层物理存储模块转发请求将数据写入物理存储设备,写完成后逐层向上返回, 读请求步骤,用于当该精简配置模块接收到快照模块发出的快照数据块的读请求时,将请求重定向到数据块在物理存储设备中的位置,转发到物理存储设备,从物理存储设备中读出数据返回给用户, 重映射步骤,用于当该精简配置模块接收到快照模块发出的快照数据块的重映射命令时,对该快照数据块进行重映射操作, 资源回收步骤,用于当该精简配置模块接收到快照数据块的资源回收命令时,对该快照数据块进行物理资源回收。
5.如权利要求4所述的差量快照系统的使用方法,其特征在于,所述写时拷贝处理包括下列步骤: 步骤11,源卷接收用户对快照逻辑块写请求,查询依赖于该源卷的当前快照卷中的元数据,依此判断本次写是否为对该快照逻辑块的首次写,若该快照卷的元数据中标识该快照逻辑块无有效快照数据块,则为首次写,执行步骤12,否则,执行步骤13, 步骤12,该快照源卷向底层设备即该精简配置系统的逻辑卷发送重映射命令,将该快照逻辑块对应的旧版本快照数据块从源卷逻辑空间重映射到快照卷逻辑空间,更新该快照卷元数据,并通知该源卷的数据逻辑单元已完成对该快照逻辑块对应快照数据块的逻辑拷贝, 步骤13,该源卷将用户的该快照数据写请求转发给底层设备,即精简配置逻辑卷,该快照写请求返回后向用户层返回; 该写时重定向处理包括下列步骤: 步骤21,源卷接收用户对快照逻辑块写请求,查询依赖于该源卷的当前快照卷,将写请求重定向到该快照卷逻辑空间, 步骤22,该快照卷接收用户的快照逻辑块写请求,并转发给底层设备, 步骤23,该写请求 返回后更新快照卷元数据,并返回用户层。
6.如权利要求4所述的差量快照系统的使用方法,其特征在于,该数据合并步骤具体为: 若将在快照逻辑卷LV2中存在有效快照数据块的快照逻辑块B对应的快照数据块合并到快照逻辑卷LV1,其中LV1、LV2为同一源卷在不同时刻的快照卷,或者源卷与快照卷, 若该快照逻辑卷LVl中的数据集新于该快照逻辑卷LV2中的数据集,则进行如下步骤: 步骤41,对于该快照逻辑卷LV2中的该快照逻辑块B,检查该快照逻辑卷LVl中的元数据,判断该卷中是否有快照逻辑块的新版本快照数据块,若有则执行步骤42,否则执行步骤.43, 步骤42,该快照模块向该快照逻辑卷LV2底层逻辑卷发送该快照逻辑块的资源回收命令,该命令成功返回后,更新该快照逻辑卷LV2的元数据,将该快照逻辑块标识为无有效快照数据块,则完成对该快照逻辑块对应的快照数据块的版本合并, 步骤43,该快照模块向该快照逻辑卷LV2底层逻辑卷发送该快照逻辑块的重映射命令,将该快照逻辑块对应的快照数据块从该快照逻辑卷LV2底层逻辑卷重映射到该快照逻辑卷LVl底层逻辑卷,其中,该重映射命令包括下列参数,该快照逻辑块的逻辑块号,源映射设备,目标映射设备, 步骤44,该重映射命令成功返回后,分别更新该快照逻辑卷LVl与该快照逻辑卷LV2的元数据,将该快照逻辑卷LVl中元数据标识为该快照逻辑块存在有效快照数据块,将该快照逻辑卷LV2的元数据标识为该快照逻辑块不存在有效快照数据块,则完成对该快照逻辑块对应的快照数据块的版本合并; 若该快照逻辑卷LVl中的数据集旧于该快照逻辑卷LV2中的数据集,则进行如下步骤: 步骤51,对于该快照逻辑卷LV2中的该快照逻辑块B,向该精简配置系统发送该快照逻辑块的重映射命令,将该快照逻辑块B对应的快照数据块从该快照逻辑卷LV2的底层逻辑卷重映射到该快照逻辑卷LVl的底层逻辑卷,该重映射命令包括下列参数,该快照逻辑块的逻辑块号,源映射设备,目标映射设备, 步骤52,该重映射命令成功返回后,合并该快照逻辑块在该快照逻辑卷LVl和该快照逻辑卷LV2中的元数据,并据此更新该快照逻辑卷LVl的元数据,并更新该快照逻辑卷LV2的元数据,将该快照逻辑块标识为无有效快照数据块,此时对该快照数据块的合并完成,其中,该重映射命令参数中的源映射设备和目标映射设备分别为快照逻辑卷LV2和LVl的底层设备,且当该快照逻辑卷LV2中所有快照逻辑块对应的有效快照数据块均合并到该快照逻辑卷LV1,该快照逻辑卷LV2与该快照逻辑卷LVl的数据合并操作完成。
7.如权利要求4所述的差量快照系统的使用方法,其特征在于,在精简配置步骤中,所述写请求步骤具体为, 步骤61,该精简配置模块的逻辑卷接收到上层写请求,在该逻辑卷资源映射表中查找当前快照逻辑块的映射项,若映射信息中该快照逻辑块没有关联相应的物理资源块,则是对该快照逻辑块的首次写,执行步骤62 ;否则执行步骤64 ; 步骤62,从该资源管理模块的资源池中为该快照逻辑块分配资源,更新资源池中的空闲资源记录; 步骤63,建立该快照逻辑块与物理资源块的映射关系,在该快照逻辑块的映射项中添加该物理资源块的信息,该信息包括该物理资源块所在的物理存储设备及地址; 步骤64,将写请求 转发给物理存储模块; 步骤65,该物理存储模块写返回后,逐层向上返回。
8.如权利要求4所述的差量快照系统的使用方法,其特征在于,在精简配置步骤中,所述读请求步骤具体为, 步骤71,该精简配置模块的逻辑卷接收到上层读请求,在该逻辑卷的资源映射表中查找该读请求所访问快照逻辑块对应的资源映射项,获取与该快照逻辑块对应的快照数据块的在物理存储设备中的地址; 步骤72,将读请求重定向到该快照数据块在物理存储设备中的存储位置,转发到物理存储模块; 步骤73,底层设备向本模块返后,逐层向上返回。
9.如权利要求4所述的差量快照系统的使用方法,其特征在于,在精简配置步骤中,所述重映射步骤具体为, 步骤81,该精简配置模块接收到重映射命令,解析重映射操作参数,即获取该重映射操作所需的逻辑块号,源映射逻辑卷,目标映射逻辑卷,若源映射逻辑卷为LV3,目标映射逻辑卷为LV4,待重映射快照逻辑块为B ; 步骤82,在该源映射逻辑卷LV3的资源映射表中查找该快照逻辑块B对应的映射项,若该映射项中该快照逻辑块B关联了物理资源块,获得其对应的物理资源块P,执行步骤83,否则执行步骤87 ; 步骤83,在该目标映射逻辑卷LV4的资源映射表中查找对应该快照逻辑块B的映射项,若该映射项中该快照逻辑块B关联了物理资源块,获取该物理资源块Q,并执行步骤84,否则执行步骤85 ; 步骤84,取消快照逻辑块与物理资源块Q的关联,释放该目标映射逻辑卷LV4中该快照逻辑块B占用的物理资源块Q,并更新共享资源池中空闲资源记录; 步骤85,在该目标映射逻辑卷LV4的资源映射表中将该快照逻辑块B与物理资源块P关联,修改该快照逻辑块B对应的映射项,写入该快照逻辑块关联的该物理资源块P信息,该信息至少包括物理资源块所在物理设备,以及在该物理设备中的地址; 步骤86,在该源映射逻辑卷LV3的资源映射表中取消该快照逻辑块B与该物理资源块P的关联,重映射操作完成; 步骤87,向上层返回。
10.如权利要求4所述的差量快照系统的使用方法,其特征在于,在精简配置步骤中,所述资源回收步骤具体为, 步骤91,该精简配置模块接收到资源回收命令,解析参数,即获取逻辑卷、逻辑块信息; 步骤92,在该参数指定逻辑卷的资源映射表中查找对应逻辑块的映射项,若该映射项中关联了对应的物理资源块,则执 行步骤93,否则执行步骤95 ; 步骤93,取消该逻辑块与物理资源块映射关系,并释放被映射的物理资源; 步骤94,更新资源池空闲资源记录; 步骤95,向上层返回。
【文档编号】G06F12/02GK103942011SQ201410077212
【公开日】2014年7月23日 申请日期:2014年3月4日 优先权日:2014年3月4日
【发明者】许鲁, 王慧, 郭明阳, 董欢庆 申请人:中国科学院计算技术研究所, 天津中科蓝鲸信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1