CN107423233A - 一种可写快照实现方法和装置 - Google Patents

一种可写快照实现方法和装置 Download PDF

Info

Publication number
CN107423233A
CN107423233A CN201710589634.9A CN201710589634A CN107423233A CN 107423233 A CN107423233 A CN 107423233A CN 201710589634 A CN201710589634 A CN 201710589634A CN 107423233 A CN107423233 A CN 107423233A
Authority
CN
China
Prior art keywords
snapshot
writeable
lun
area
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710589634.9A
Other languages
English (en)
Other versions
CN107423233B (zh
Inventor
苏伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Sequoia Polytron Technologies Inc
Original Assignee
Hangzhou Sequoia Polytron Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Sequoia Polytron Technologies Inc filed Critical Hangzhou Sequoia Polytron Technologies Inc
Priority to CN201710589634.9A priority Critical patent/CN107423233B/zh
Publication of CN107423233A publication Critical patent/CN107423233A/zh
Application granted granted Critical
Publication of CN107423233B publication Critical patent/CN107423233B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种可写快照实现方法和装置。该方法包括:接收到指令,指令指示对于源LUN的指定快照时间点创建可写快照区;根据指令的指示,创建精简LUN作为可写快照区,其中,可写快照区独立于源LUN及源LUN对应于所述指定快照时间点的快照区;所创建的可写快照区记录其所依附的指定快照时间点的快照标识。该装置包括:接收单元、创建单元、以及记录单元。本申请利用普通精简LUN处理逻辑实现可写快照,将可写快照的写入处理从源LUN系统中剥离出来,从而使写入过程与源LUN系统完全独立,在快照写入时不会对源LUN的读写性能产生影响,最终提升性能。可以更容易地对可写快照进行业务功能扩展和系统扩展,具有极大扩展性。

Description

一种可写快照实现方法和装置
技术领域
本申请涉及数据存储技术,特别涉及一种可写快照实现方法和装置。
背景技术
快照是存储系统中不可或缺的一项功能。快照的作用主要是能够进行在线数据备份与恢复。当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据恢复到某个可用的时间点的状态。快照的另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。
图1示出一个源逻辑单元号(Logical Unit Number,简称为LUN)的IO写入过程。其中,A、B、C、以及D分别表示4个不同的逻辑块地址(Logic Block Address,简称为LBA),A1则表示A地址中的数据。
源LUN中最初的数据为A1、B1、C1、以及D1,在t0时刻创建了快照S0,即t0为一个快照时间点。之后,写入数据A2,覆盖A1。由于快照需求,在A2写入之前,A1会被拷贝到新的位置保存。之后,再写入数据A3和C2。同上理,C1在覆盖之前被拷贝、保存。但A位置对于快照时间点t0来说不是首写,A2不会被保存,直接被A3覆盖。时间到达t1时刻,创建1个新的快照S1。之后,写入数据A4、B2和C3。对于快照S1,这些位置对于快照时间点t1来说都是首写,因此A3、B1和C2在覆盖前都被保存。
为了标识快照空间中保存数据和快照空间地址、源LUN的地址映射关系,Tuple信息一般表示为<快照ID,LUN的LBA,快照空间LBA,数据长度>。图1中的对应Tuple信息可以表示为:
<S0,A,A1备份地址,A区段长度>
<S0,C,C1备份地址,C区段长度>
<S1,A,A3备份地址,A区段长度>
<S1,B,B1备份地址,B区段长度>
<S1,C,C2备份地址,C区段长度>
显然,上述Tuple的产生,都是由于源LUN被不断改写。为了支持快照写入,需要引入另一类Tuple信息。
图2所示的流程与图1类似,在t1时刻之前,如果S0的A位置被写入A5,A5会被单独保存下来,并记录快照写的Tuple信息,比如<S0,A,A5的保存地址,A区段长度>。相关的处理流程还包括:
再次发生S0中A位置的快照写,比如写入A6,则A6直接覆盖A5,所有Tuple信息不变;再次发生S0中A位置的快照读,优先查询已存在的快照写Tuple信息,即应读到的信息为A6;如果需要快照恢复到S0,对应A位置使用的数据为A1,保证不破坏源LUN的数据完整性。
上述这种现有方案中,为了支持快照写入,需引入专用的快照写Tuple。且在IO处理、快照恢复等过程中对其做相应处理。一方面增大了逻辑实现的复杂度,另一方面在快照写入的过程中,会和源LUN读写、快照读使用同一组元数据,相互制约性能。
在现有的另一种方案中,关于快照写入的实现,根据业务特点采用快照写覆盖首写数据的方案。以图2所示的情况为例,这种方案会将A5直接覆盖A1,从而无需引入新的Tuple信息。这种方案简化了实现,未引入新的Tuple信息,但它丢弃了最初保存的A1数据,改变了快照恢复的结果。显然,无法满足更广泛的业务需求。同时,这种方案未能解决快照写与源LUN读写使用同一组元数据带来的性能问题。
发明内容
本申请要解决的技术问题是提出一种可写快照区独立于源LUN及其快照区从而在快照写入时不会对源LUN的读写性能及其快照区的读性能产生影响的可写快照实现方法和装置。
本申请提供的技术方案包括:
一种可写快照实现方法,包括:
接收到指令,所述指令指示对于源逻辑单元号LUN的指定快照时间点创建可写快照区;
根据所述指令的指示,创建精简LUN作为可写快照区,其中,所述可写快照区独立于所述源LUN及所述源LUN对应于所述指定快照时间点的快照区;
所创建的所述可写快照区记录其所依附的所述指定快照时间点的快照标识,其中,所述快照标识用于识别所述源LUN对应于所述指定快照时间点的快照区。
一种可写快照实现装置,包括:
接收单元,用于接收指令并且分析出所述指令指示对于源逻辑单元号LUN的指定快照时间点创建可写快照区;
创建单元,用于根据所述接收单元得到的所述指令的指示,创建精简LUN作为可写快照区,其中,所述可写快照区独立于所述源LUN及所述源LUN对应于所述指定快照时间点的所述快照区;
记录单元,用于记录所述创建单元所创建的所述可写快照区所依附的所述指定快照时间点的快照标识,其中,所述快照标识用于识别所述源LUN对应于所述指定快照时间点的快照区。
本申请的可写快照实现方法和装置利用普通精简LUN(Thin-LUN)处理逻辑实现可写快照,从而将可写快照的写入处理从源LUN系统中剥离出来,在实现各项快照功能的基础上,简化了快照写入的实现方法,避免了与源LUN系统中快照元数据的耦合,从而使得写入过程与源LUN系统完全独立,在快照写入时不会对源LUN的读写性能产生影响,最终提升性能。
进一步地,基于本申请,可以更灵活地对快照写入内容再做快照保护,可以更容易地对可写快照进行业务功能扩展和系统扩展,具有极大的扩展性。这些扩展基本都是独立的、与源LUN系统无关,从而可满足丰富多样的用户需求。相对地,在本申请之前的相关技术中,可写快照的实现在源LUN系统内部,每一点扩展都会使源LUN系统引入更多的元数据和对应处理,最终无法动弹。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为示例提供的一种源LUN的IO写入过程的示意图;
图2为现有的可写快照的数据写入过程示意图;
图3为本申请一个实施例提供的可写快照实现方法的流程图;
图4为本申请实施例1提供的可写快照系统的示意图;
图5为本申请实施例2提供的扩展可写快照系统的示意图;
图6为本申请实施例3提供的扩展可写快照系统的示意图;
图7为本申请的一个实施例提供的可写快照实现装置的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。
当前实现快照的技术主要有两种,即首写拷贝(Copy on First Write,简称为CoFW)和首写重定向(Redirect on First Write,简写为RoFW),这两种技术的基本原理大同小异,只是面向的对象不同,使用的场合不一样。本申请的技术方案与采用哪种技术无必然联系,在实现上,只要对相关流程进行差异化处理即可。本申请中,为了简化表述,无特别说明的地方,以CoFW实现技术为例进行说明。
本申请不改变快照技术的一般实现原理,对于源LUN及其快照区的读写IO处理、快照数据备份过程不做修改。
图3是本申请一个实施例提供的可写快照实现方法的流程图。该可写快照实现方法包括:
步骤S1,接收到指令,指令指示对于源LUN的指定快照时间点创建可写快照区;
步骤S2,根据所接收的指令的指示,创建精简LUN(Thin-LUN)作为可写快照区,其中,可写快照区独立于源LUN以及源LUN对应于指定快照时间点的快照区,新建的Thin-LUN的逻辑空间的大小可以等于或大于源LUN空间,优选为等于源LUN空间,其创建逻辑与普通的手动创建Thin-LUN相同;
步骤S3,所创建的可写快照区记录其所依附的指定快照时间点的快照标识(ID),其中,快照ID用于识别源LUN对应于指定快照时间点的快照区。
源LUN对应于指定快照时间点的快照区记录引用计数,引用计数表示依附于这个源LUN的指定快照时间点的可写快照区的数量。快照区的快照映射表用于保存快照数据在快照区的位置和在源LUN上的对应数据位置的对应关系。
Thin-LUN是一种LUN类型,支持虚拟资源分配,能够以较简便的方式进行创建、扩容和压缩操作。Thin-LUN采用存储虚拟化技术,从传统的空间分配方式直接演化而来。该技术将所有存储空间汇集到精简池(Pool)中进行统一管理,使用固定大小的区间(Extent)将存储空间分块,最终精简池管理的Extent按需分配给Thin-LUN供业务系统使用。Thin-LUN实现方案包括:当Thin-LUN收到主机写请求时,首先查询Thin-LUN与资源卷的映射表,确认资源卷是否已经分配空间给Thin-LUN。如果资源卷空间已经分配,则对资源卷中相应区域进行写数据操作。如果资源卷空间尚未分配,则先进行空间分配后再对Thin-LUN资源卷中相应区域进行写数据操作。对于Thin-LUN已写过数据的数据块,后续再写这些数据块时无需再分配空间。
接收到指示对于指定快照时间点创建可写快照的指令,比如对于t0时刻创建可写快照区。根据指令的指示,在存储设备中创建Thin-LUN作为相关联的可写快照区。Thin-LUN映射表按照现有方式实现,即Thin-LUN映射表用于保存为写入Thin-LUN中的数据分配的存储空间的物理地址与逻辑地址的对应关系,其中,逻辑地址为写入可写快照区的数据对应的源LUN中数据的地址,与逻辑地址对应的物理地址为写入可写快照区的数据实际的存储地址,因此Thin-LUN映射表保存了快照写入数据在可写快照区中的实际位置与在对应的源LUN中数据的位置的对应关系。源LUN的快照区本身有映射表,快照区映射表保存快照数据在快照区的位置和在源LUN中对应数据位置的对应关系。
图4是本申请实施例1提供的可写快照系统的示意图。如图4所示,为实现快照时间点t0的可写快照,新建Thin-LUN作为依附于快照时间点t0的可写快照区。显然,源LUN的读写IO处理、快照数据备份过程和可写快照区S0-1无任何关联,即图4中的源LUN及其快照系统S0独立于可写快照系统S0-1运行。
用户创建t0时刻的可写快照时,创建逻辑空间与源LUN同样大小的thin-LUN作为依附于快照时间点t0的可写快照区S0-1,可写快照区S0-1独立于源LUN及其快照区。可写快照区S0-1记录唯一的快照ID S0,仅记录快照ID S0,而与快照区S1无任何直接关系。源LUN的对应快照时间点t0的快照区S0记录表示依附于快照时间点t0的可写快照区的数量的引用计数,在这个实施例中引用计数为1。记录引用计数的作用是依附于这个快照时间点的可写快照区每删除一个,引用计数减1,只有记录的引用计数为0时这个所依附的快照时间点的快照区才可以删除。
接收到指示向可写快照区S0-1写入数据的指令。完全等同普通Thin-LUN,根据收到的指令的指示将数据B8写入自己的Thin-LUN空间中。数据写入时,可写快照区S0-1按照现有的Thin-LUN分配存储空间,Thin-LUN映射表记录写入数据的逻辑地址与物理地址的对应关系,在该实施例中,逻辑地址为B,物理地址为B8。如果之后写入比如D2则分配存储D2的空间,Thin-LUN映射表记录写入数据的逻辑地址与物理地址的对应关系,逻辑地址为D,物理地址为D2。
接收到读取快照时间点比如t0时刻的数据的请求指令时,首先查找可写快照S0-1标识的可写快照区的Thin-LUN映射表中是否存在要读取的数据的地址记录,如果可写快照区的Thin-LUN映射表中存在要读取的数据的地址记录比如B,则通过地址记录到可写快照区读取数据,如果可写快照区的Thin-LUN映射表中没有要读取的数据的地址记录比如A,则通过所记录的快照ID向快照区S0发送读取请求指令,该读取请求指令与现有的用户读取请求指令的格式完全相同,作为普通的读取快照区S0的请求处理。如果对应于快照时间点t0的快照区S0中有要读取的数据比如C则从快照区S0读取数据,如果对应于快照时间点t0的快照区S0中没有要读取的数据比如D则按照时间先后顺序逐个查找t0之后的各个快照时间点比如t1,如果在查找过程中找到要读取的数据则从快照区读取数据,如果逐个查找t0之后的所有快照时间点都没有找到要读取的数据,则查找源LUN。用作可读快照区的Thin-LUN与普通Thin-LUN相比,逻辑类似,不同之处在于普通Thin-LUN在读取数据时如果该数据没有写入过,原则上统一认为读到的数据为全0,而用作可读快照区的Thin-LUN在读取数据时如果该数据没有写入过则通过记录的快照ID向快照区S0发送读取请求指令。源LUN系统及其快照区不区分用户下发的读快照区S0请求指令和可写快照区转发过来的读快照区S0请求指令。
接收到指示将可写快照区S0-1中的数据恢复到源LUN中的指令时,根据收到的指令的指示从可写快照区S0-1中读取要恢复的数据拷贝回源LUN中对应的数据位置。
从快照时间点t0的可写快照的实现可以看出,可写快照区S0-1作为一般的Thin-LUN实体,天然支持存储系统中的各项快照功能。也就是说,我们可以选择在某些时间点上为可写快照区S0-1建立快照,从而保护可写快照区S0-1上持续的写入数据。
图5是本申请实施例2提供的扩展可写快照系统的示意图。可写快照区S11依附于源LUN的快照时间点t1。对可写快照区S11再做快照从而创建快照区S11-S0,为可写快照区S11的快照时间点t1创建可写快照区S11-S01,而且记录快照ID S11-S0。一个可写快照系统可以对应另一个可写快照系统中的唯一时间点,如图5中的可写快照区S11-S01对应可写快照区S11的快照时间点t0。对于一级可写快照区的某个快照时间点创建与源LUN大小相同的thin-LUN作为可写快照区,以此类推,可以逐级创建可写快照区,因此可写快照系统可以纵向扩展。写入数据的过程同上述可写快照区的写入过程类似。读取数据时,如果在最后创建的一级可写快照区查找thin-LUN映射表没有找到要读取的数据的地址记录,则根据最后创建的一级可写快照区记录的快照标识向所依附的快照时间点对应的快照区发送数据读取请求,这个数据读取请求与用户的数据读取请求的格式相同。如果在对应的快照区找到要读取的数据则读取数据,如果在对应的快照区没有找到要读取的数据,则查找最后一级可写快照区的上一级可写快照区在最后一级可写快照区所依附的快照时间点之后是否还有快照时间点,如果有则查找之后的快照时间点,按照时间先后顺序查找之后所有快照时间点,如果找到要读取的数据则读取,如果所依附的快照时间点之后没有快照时间点或者有快照时间点但是查找之后所有快照时间点都没有找到要读取的数据,则到最后一级可写快照区的上一级可写快照区查找thin-LUN映射表,以此类推,直到找到要读取的数据。每一级的可写快照区只与直连的快照区交互,与间隔开的可写快照区和快照区以及源LUN不产生任何耦合关系。恢复数据时,用户可以指定从哪一个可写快照区读取数据拷贝回到对应源LUN的数据位置上。
图6是本申请实施例3提供的扩展可写快照系统的示意图。同一个快照时间点可以对应多个可写快照区,如图6中快照时间点t0对应第一可写快照区S01和第二可写快照区S02,因此可写快照系统可以进行横向扩展。对于某个快照时间点创建多个逻辑空间与源LUN大小相同的thin-LUN,分别作为同一快照时间点的各个可写快照区,各个可写快照区之间相互独立。这多个可写快照系统可以同时创建,也可以相继创建。而且,每个可写数据区都记录所依附的快照时间点t0的快照标识S0。快照区S0记录表示依附于它的可写快照区的数量的引用计数,在这个实施例中引用计数为2。写入数据的过程同上述可写快照区的写入过程。读取数据时,从一个快照时间点的多个可写快照区中的指定可写快照区读取数据。恢复数据时,用户可以指定从哪一个可写快照区读取数据拷贝回对应源LUN的数据位置上。
上述可写快照的纵向扩展和横向扩展可以结合起来,也就是说整个系统既有纵向扩展的快照又有横向扩展的快照。
如图7所示,本申请的一个实施例提供的可写快照实现装置包括接收单元11、创建单元12和记录单元13。其中,接收单元11用于接收指令并且分析出指令指示对于源LUN的指定快照时间点创建可写快照区。创建单元11用于根据接收单元11得到的指令的指示,创建精简LUN作为可写快照区,其中,可写快照区独立于源LUN以及源LUN对应于指定快照时间点的快照区。创建的Thin-LUN的逻辑空间的大小可以等于或大于源LUN空间,优选为等于源LUN空间,其创建逻辑与普通的手动创建Thin-LUN相同。记录单元13用于记录创建单元12所创建的可写快照区所依附的指定快照时间点的快照标识,其中,快照标识用于识别所述源LUN对应于所述指定快照时间点的快照区。
进一步地,创建单元12用于根据接收单元11接收到的指示对于源LUN的指定快照时间点创建多个可写快照区的指令,创建相应数量的精简LUN作为依附于所述源LUN的所述指定快照时间点的各个可写快照区,这多个可写快照区相互独立。创建单元还用于根据接收单元11接收到的指示对于所创建的可写快照区的指定快照时间点创建可写快照区的指令,创建精简LUN作为依附于可写快照区的指定快照时间点的可写快照区。
可写快照实现装置还包括数据写入单元14、数据读取单元15、以及数据恢复单元16。其中,数据写入单元14用于根据接收单元11接收到的指示向可写快照区写入数据的指令,为写入的数据分配存储空间,并在thin-LUN映射表中记录所分配的存储空间的逻辑地址与物理地址的对应关系。其中,逻辑地址为写入可写快照区的数据对应的源LUN中数据的地址,物理地址为写入可写快照区的数据实际的存储地址。数据读取单元15用于根据接收单元11接收到的指示读取指定快照时间点的数据的读取请求指令,通过查找依附于指定快照时间点的可写快照区的thin-LUN映射表确定要读取的数据是否在可写数据区中,如果在thin-LUN映射表中找到要读取的数据的地址记录则通过地址记录到可写数据区中读取数据。数据恢复单元16用于根据接收单元11接收到的指示将可写数据区中的数据恢复到源LUN中的指令,将要恢复的数据从可写数据区中读取并根据所记录的快照ID拷贝回对应的源LUN的对应数据位置。
还包括数据读取单元,用于根据所述接收单元接收到的指示读取所述指定快照时间点的数据的读取请求指令,通过查找所述精简LUN映射表确定要读取的数据是否在所述可写数据区中,如果在所述精简LUN映射表中找到要读取的数据的地址记录则通过所述地址记录到所述可写数据区读取数据。
进一步地,数据读取单元15用于查找依附于指定快照时间点的可写快照区的Thin-LUN映射表中是否存在要读取的数据的地址记录,如果Thin-LUN映射表中存在要读取的数据的地址记录,则从可写快照区读取数据,如果Thin-LUN映射表中没有要读取的数据的地址记录,则通过所记录的快照ID向源LUN对应于指定快照时间点的快照区发送读取请求指令,该读取请求指令与现有的用户读取请求指令的格式相同。
原理与可写快照做快照类似,作为一个Thin-LUN实体,可写快照系统可以进一步提供复制、克隆、迁移等所有业务功能。可写快照系统可实现相互分离,也可实现与源LUN系统的分离。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (14)

1.一种可写快照实现方法,其特征在于,所述方法包括:
接收到指令,所述指令指示对于源逻辑单元号LUN的指定快照时间点创建可写快照区;
根据所述指令的指示,创建精简LUN作为可写快照区,其中,所述可写快照区独立于所述源LUN及所述源LUN对应于所述指定快照时间点的快照区;
所创建的所述可写快照区记录其所依附的所述指定快照时间点的快照标识,其中,所述快照标识用于识别所述源LUN对应于所述指定快照时间点的快照区。
2.如权利要求1所述的可写快照实现方法,其特征在于,
所述指令指示对于源LUN的指定快照时间点创建可写快照区包括:指示对于所述源LUN的所述指定快照时间点创建多个可写快照区;
所述创建精简LUN作为可写快照区包括:创建相应数量的精简LUN作为各个可写快照区;
所述所创建的所述可写快照区记录其所依附的所述指定快照时间点的快照标识包括:所创建的所述各个可写快照区分别记录各自所依附的所述指定快照时间点的快照标识。
3.如权利要求1所述的可写快照实现方法,其特征在于,所述所创建的所述可写快照区记录其所依附的所述指定快照时间点的快照标识之后,所述方法还包括:
根据接收到的指示对于所创建的所述可写快照区的指定快照时间点创建可写快照区的指令,创建精简LUN作为依附于所述可写快照区的所述指定快照时间点的可写快照区。
4.如权利要求1所述的可写快照实现方法,其特征在于,所述精简LUN的逻辑空间的大小大于或等于所述源LUN的逻辑空间。
5.如权利要求1所述的可写快照实现方法,其特征在于,对应于所述指定快照时间点的快照区记录引用计数,所述引用计数表示依附于所述指定快照时间点的可写快照区的数量。
6.如权利要求1所述的可写快照实现方法,其特征在于,所述可写快照区包括精简LUN映射表,所述精简LUN映射表用于保存为写入所述可写快照区中的数据分配的存储空间的物理地址与逻辑地址的对应关系,其中,所述逻辑地址为写入可写快照区的数据对应的源LUN中数据的地址,所述物理地址为写入可写快照区的数据实际的存储地址。
7.如权利要求1或6所述的可写快照实现方法,其特征在于,所述快照区包括快照映射表,所述快照映射表用于保存快照数据在所述快照区的位置和在所述源LUN中的对应数据位置的对应关系。
8.如权利要求6所述的可写快照实现方法,其特征在于,还包括:
接收到指示读取所述指定快照时间点的数据的请求指令;
根据所述指令的指示,查找所述可写快照区的所述精简LUN映射表中是否存在要读取的数据的地址记录;
如果所述精简LUN映射表中存在要读取的数据的地址记录,则通过所述地址记录到所述可写快照区读取数据;
否则,通过所述快照标识向对应于所述快照时间点的快照区发送读取请求指令,所述读取请求指令与现有的用户读取请求指令的格式相同。
9.一种可写快照实现装置,其特征在于,所述装置包括:
接收单元,用于接收指令并且分析出所述指令指示对于源逻辑单元号LUN的指定快照时间点创建可写快照区;
创建单元,用于根据所述接收单元得到的所述指令的指示,创建精简LUN作为可写快照区,其中,所述可写快照区独立于所述源LUN及所述源LUN对应于所述指定快照时间点的所述快照区;
记录单元,用于记录所述创建单元所创建的所述可写快照区所依附的所述指定快照时间点的快照标识,其中,所述快照标识用于识别所述源LUN对应于所述指定快照时间点的快照区。
10.如权利要求9所述的可写快照实现装置,其特征在于,所述创建单元进一步用于根据所述接收单元接收到的指示对于所述源LUN的指定快照时间点创建多个可写快照区的指令,创建相应数量的精简LUN作为依附于所述源LUN的所述指定快照时间点的各个可写快照区。
11.如权利要求9所述的可写快照实现装置,其特征在于,所述创建单元进一步用于根据所述接收单元接收到的指示对于所创建的可写快照区的指定快照时间点创建可写快照区的指令,创建精简LUN作为依附于所述可写快照区的所述指定快照时间点的可写快照区。
12.如权利要求9所述的可写快照实现装置,其特征在于,所述可写快照区包括精简LUN映射表,所述精简LUN映射表用于保存为写入所述可写快照区中的数据分配的存储空间的物理地址与逻辑地址的对应关系,其中,所述逻辑地址为写入可写快照区的数据对应的源LUN中数据的地址,所述物理地址为写入可写快照区的数据实际的存储地址。
13.如权利要求12所述的可写快照实现装置,其特征在于,还包括数据读取单元,用于根据所述接收单元接收到的指示读取所述指定快照时间点的数据的读取请求指令,通过查找依附于所述指定快照时间点的所述可写快照区的所述精简LUN映射表确定要读取的数据是否在所述可写数据区中,如果在所述精简LUN映射表中找到要读取的数据的地址记录则通过所述地址记录到所述可写数据区读取数据。
14.如权利要求13所述的可写快照实现装置,其特征在于,所述数据读取单元进一步用于在查找所述精简LUN映射表结果为所述精简LUN映射表中没有要读取的数据的地址记录时,则通过所述快照标识向对应于所述指定快照时间点的所述快照区发送读取请求指令,所述读取请求指令与现有的用户读取请求指令的格式相同。
CN201710589634.9A 2017-07-19 2017-07-19 一种可写快照实现方法和装置 Active CN107423233B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710589634.9A CN107423233B (zh) 2017-07-19 2017-07-19 一种可写快照实现方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710589634.9A CN107423233B (zh) 2017-07-19 2017-07-19 一种可写快照实现方法和装置

Publications (2)

Publication Number Publication Date
CN107423233A true CN107423233A (zh) 2017-12-01
CN107423233B CN107423233B (zh) 2020-09-25

Family

ID=60430118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710589634.9A Active CN107423233B (zh) 2017-07-19 2017-07-19 一种可写快照实现方法和装置

Country Status (1)

Country Link
CN (1) CN107423233B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032507A (zh) * 2018-06-28 2018-12-18 郑州云海信息技术有限公司 一种生成源卷存储快照的方法、系统及相关组件
CN109597573A (zh) * 2018-11-27 2019-04-09 杭州宏杉科技股份有限公司 管理元数据读取方法及装置
CN109871355A (zh) * 2019-01-23 2019-06-11 杭州宏杉科技股份有限公司 一种快照元数据存储方法、装置及设备、介质
CN109902034A (zh) * 2019-02-25 2019-06-18 杭州宏杉科技股份有限公司 快照创建方法、装置、电子设备及机器可读存储介质
CN110750221A (zh) * 2019-10-30 2020-02-04 杭州宏杉科技股份有限公司 卷克隆方法、装置、电子设备及机器可读存储介质
CN111208942A (zh) * 2019-12-25 2020-05-29 曙光信息产业股份有限公司 一种分布式存储系统及其存储方法
CN111427514A (zh) * 2020-03-27 2020-07-17 杭州宏杉科技股份有限公司 视图迁移方法和装置
CN112052217A (zh) * 2020-09-25 2020-12-08 杭州宏杉科技股份有限公司 快照实现方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1896960A (zh) * 2005-07-12 2007-01-17 中国科学院计算技术研究所 一种快照系统及方法
CN101183383A (zh) * 2007-12-17 2008-05-21 中国科学院计算技术研究所 一种快照系统及其使用方法
US7546431B2 (en) * 2005-03-21 2009-06-09 Emc Corporation Distributed open writable snapshot copy facility using file migration policies
CN103365743A (zh) * 2012-03-29 2013-10-23 国际商业机器公司 用于在计算环境中处理快照的方法和系统
CN104407935A (zh) * 2014-11-07 2015-03-11 华为数字技术(成都)有限公司 快照回滚方法和存储设备
CN105912425A (zh) * 2016-04-08 2016-08-31 杭州宏杉科技有限公司 快照映像建立、回滚方法以及装置
CN105988895A (zh) * 2015-02-10 2016-10-05 中兴通讯股份有限公司 快照处理方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546431B2 (en) * 2005-03-21 2009-06-09 Emc Corporation Distributed open writable snapshot copy facility using file migration policies
CN1896960A (zh) * 2005-07-12 2007-01-17 中国科学院计算技术研究所 一种快照系统及方法
CN101183383A (zh) * 2007-12-17 2008-05-21 中国科学院计算技术研究所 一种快照系统及其使用方法
CN103365743A (zh) * 2012-03-29 2013-10-23 国际商业机器公司 用于在计算环境中处理快照的方法和系统
CN104407935A (zh) * 2014-11-07 2015-03-11 华为数字技术(成都)有限公司 快照回滚方法和存储设备
CN105988895A (zh) * 2015-02-10 2016-10-05 中兴通讯股份有限公司 快照处理方法及装置
CN105912425A (zh) * 2016-04-08 2016-08-31 杭州宏杉科技有限公司 快照映像建立、回滚方法以及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032507A (zh) * 2018-06-28 2018-12-18 郑州云海信息技术有限公司 一种生成源卷存储快照的方法、系统及相关组件
CN109032507B (zh) * 2018-06-28 2021-11-19 郑州云海信息技术有限公司 一种生成源卷存储快照的方法、系统及相关组件
CN109597573A (zh) * 2018-11-27 2019-04-09 杭州宏杉科技股份有限公司 管理元数据读取方法及装置
CN109597573B (zh) * 2018-11-27 2022-03-25 杭州宏杉科技股份有限公司 管理元数据读取方法及装置
CN109871355B (zh) * 2019-01-23 2021-04-27 杭州宏杉科技股份有限公司 一种快照元数据存储方法、装置及设备、介质
CN109871355A (zh) * 2019-01-23 2019-06-11 杭州宏杉科技股份有限公司 一种快照元数据存储方法、装置及设备、介质
CN109902034A (zh) * 2019-02-25 2019-06-18 杭州宏杉科技股份有限公司 快照创建方法、装置、电子设备及机器可读存储介质
CN110750221A (zh) * 2019-10-30 2020-02-04 杭州宏杉科技股份有限公司 卷克隆方法、装置、电子设备及机器可读存储介质
CN110750221B (zh) * 2019-10-30 2023-05-16 杭州宏杉科技股份有限公司 卷克隆方法、装置、电子设备及机器可读存储介质
CN111208942A (zh) * 2019-12-25 2020-05-29 曙光信息产业股份有限公司 一种分布式存储系统及其存储方法
CN111208942B (zh) * 2019-12-25 2023-07-14 曙光信息产业股份有限公司 一种分布式存储系统及其存储方法
CN111427514A (zh) * 2020-03-27 2020-07-17 杭州宏杉科技股份有限公司 视图迁移方法和装置
CN112052217A (zh) * 2020-09-25 2020-12-08 杭州宏杉科技股份有限公司 快照实现方法及装置
CN112052217B (zh) * 2020-09-25 2023-09-26 杭州宏杉科技股份有限公司 快照实现方法及装置

Also Published As

Publication number Publication date
CN107423233B (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
CN107423233A (zh) 一种可写快照实现方法和装置
US11550675B2 (en) Remote data replication method and system
US10776315B2 (en) Efficient and flexible organization and management of file metadata
US7676628B1 (en) Methods, systems, and computer program products for providing access to shared storage by computing grids and clusters with large numbers of nodes
US8924664B2 (en) Logical object deletion
CN106055431B (zh) 基于快照在线回滚的数据备份与恢复的方法及装置
WO2016086819A1 (zh) 将数据写入叠瓦状磁记录smr硬盘的方法及装置
CN102012852B (zh) 一种增量写快照的实现方法
US20150089182A1 (en) Automatically aligning virtual blocks to physical blocks
US20150066857A1 (en) Replication of snapshots and clones
US7631158B2 (en) Disk snapshot method using a copy-on-write table in a user space
CN104360914B (zh) 增量快照方法和装置
WO2019223377A1 (zh) 文件处理方法、装置、设备及存储介质
CN105718217A (zh) 一种精简配置存储池数据一致性维护的方法及装置
CN103761190A (zh) 数据处理方法及装置
WO2019000949A1 (zh) 分布式存储系统中元数据存储方法、系统及存储介质
CN109683825A (zh) 一种存储系统在线数据压缩方法、装置及设备
US11977520B2 (en) Recovering from a pending uncompleted reorganization of a data set
US20150261465A1 (en) Systems and methods for storage aggregates and infinite storage volumes
CN102253938B (zh) 一种文件写入、恢复方法和装置
CN104199909B (zh) VMware场景中恢复NTFS高级加密文件的方法
US11513702B2 (en) Placement of metadata on data storage drives in a first storage enclosure of a data storage system
CN112052218A (zh) 快照实现方法及分布式存储集群
CN109582235A (zh) 管理元数据存储方法及装置
CN111913664B (zh) 一种数据写入方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant