CN114968671B - 克隆卷的实现方法及装置 - Google Patents

克隆卷的实现方法及装置 Download PDF

Info

Publication number
CN114968671B
CN114968671B CN202210895137.2A CN202210895137A CN114968671B CN 114968671 B CN114968671 B CN 114968671B CN 202210895137 A CN202210895137 A CN 202210895137A CN 114968671 B CN114968671 B CN 114968671B
Authority
CN
China
Prior art keywords
volume
clone
block device
snapshot
target block
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.)
Active
Application number
CN202210895137.2A
Other languages
English (en)
Other versions
CN114968671A (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.)
Yunhe Enmo Beijing Information Technology Co ltd
Original Assignee
Yunhe Enmo Beijing Information Technology Co ltd
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 Yunhe Enmo Beijing Information Technology Co ltd filed Critical Yunhe Enmo Beijing Information Technology Co ltd
Priority to CN202210895137.2A priority Critical patent/CN114968671B/zh
Publication of CN114968671A publication Critical patent/CN114968671A/zh
Application granted granted Critical
Publication of CN114968671B publication Critical patent/CN114968671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

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

Abstract

本申请公开了一种克隆卷的实现方法及装置。其中,该方法包括:基于目标块设备卷的快照创建克隆,得到克隆卷;建立目标块设备卷和克隆卷的映射关系,其中,映射关系存储至置放群组内;依据映射关系遍历置放群组,按照操作请求对克隆卷执行相应操作。本申请解决了相关技术中对克隆卷执行操作请求时涉及多次网络传输,导致严重性能损耗的技术问题。

Description

克隆卷的实现方法及装置
技术领域
本申请涉及存储技术领域,具体而言,涉及一种克隆卷的实现方法及装置。
背景技术
在实际应用克隆技术中,为了满足人们对重复数据的需求,在面对一份存储于块设备卷上的数据,既想要对该数据进行修改,又不希望完全丢失原始数据,因此相关技术人员提出了两种方案,分别是Ceph克隆和ZFS文件系统,其中,Ceph克隆卷在读写IO过程中涉及到多次网络传输,若快照的克隆链较长时会导致效率较低;ZFS文件系统的克隆主要是对克隆卷和父卷的映射关系,也即克隆元数据管理低效,且不支持flatten操作,当克隆卷删除时引用的快照才能删除。
相关方案中在对克隆卷进行读写IO过程时涉及多次网络传输,造成严重的性能损耗,同时,对于克隆元数据管理低效。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种克隆卷的实现方法及装置,以至少解决相关技术中对克隆卷执行操作请求时涉及多次网络传输,导致严重性能损耗的技术问题。
根据本申请实施例的一个方面,提供了一种克隆卷的实现方法,包括:基于目标块设备卷的快照创建克隆,得到克隆卷;建立目标块设备卷和克隆卷的映射关系,其中,映射关系存储至置放群组内;依据映射关系遍历置放群组,按照操作请求对克隆卷执行相应操作。
可选地,基于目标块设备卷的快照创建克隆,得到克隆卷,包括:将目标块设备卷划分为多个大小相同的分片,其中,分片的副本存储至多个置放群组;对目标块设备卷的目标分片创建快照;基于快照创建克隆,得到克隆卷,其中,目标分片的快照数据和克隆卷的数据存储在目标置放群组。
可选地,以目标块设备卷为树根,基于目标块设备卷的快照创建克隆,创建一棵克隆树,其中,克隆树有相应的标识信息;响应于对目标克隆树中目标分片的操作请求,按照操作请求在目标置放群组中执行相应的操作。
可选地,依据映射关系遍历置放群组,按照操作请求对克隆卷执行相应操作,包括:在按照操作请求对克隆卷执行写操作时,将目标块设备卷的快照的数据写入克隆卷中;在按照操作请求对克隆卷执行写操作时,读取目标块设备卷的快照的数据。
可选地,在按照操作请求对克隆卷执行写操作时,读取目标块设备卷的快照的数据,包括:读取克隆卷的数据;若克隆卷的目标分片上没有数据,则依据映射关系遍历置放群组,确定目标块设备卷;读取目标块设备卷的快照上对应目标分片的数据。
可选地,在按照操作请求对克隆卷执行相应的操作时,克隆卷基于映射关系确定的目标块设备卷的数据复制在克隆卷上。
可选地,基于目标块设备卷的快照创建克隆之前,包括:保护目标块设备卷的快照不被删除。
根据本申请实施例的另一方面,还提供了一种克隆卷的实现装置,包括:创建模块,基于目标块设备卷的快照创建克隆,得到克隆卷;建立模块,建立目标块设备卷和克隆卷的映射关系,其中,映射关系存储至置放群组内;执行模块,依据映射关系遍历置放群组,按照操作请求对克隆卷执行相应操作。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述的克隆卷的实现方法。
根据本申请实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的克隆卷的实现方法。
在本申请实施例中,基于目标块设备卷的快照创建克隆,得到克隆卷;建立目标块设备卷和克隆卷的映射关系,其中,映射关系存储至置放群组内;依据映射关系遍历置放群组,按照操作请求对克隆卷执行相应操作。其中,将目标块设备卷的快照数据和克隆卷数据存储在相同区域,在对克隆卷进行读写操作时,不需要进行多次网络传输,达到了减小性能损耗的目的,从而解决了相关技术中对克隆卷执行操作请求时涉及多次网络传输,导致严重性能损耗技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种克隆卷的实现方法流程示意图;
图2是根据本申请实施例的一种可选的存储系统逻辑结构的示意图;
图3是根据本申请实施例的一种可选的创建快照的逻辑示意图;
图4是根据本申请实施例的一种可选的创建克隆的逻辑示意图;
图5是根据本申请实施例的一种可选的创建克隆树的逻辑示意图;
图6是根据本申请实施例的一种可选的写克隆卷的逻辑示意图;
图7是根据本申请实施例的一种可选的读克隆卷的逻辑示意图;
图8是根据本申请实施例的一种可选的拍平的逻辑示意图;
图9是根据本申请实施例的一种可选的快照保护的逻辑示意图;
图10是根据本申请实施例的一种克隆卷的实现装置结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
相关克隆技术如Ceph克隆和ZFS文件系统,在对块设备卷上的数据进行读写操作时,涉及到多次网络传输,若快照的克隆链较长时会导致效率较低,另外,克隆元数据管理低效,且不支持flatten操作,导致严重的性能损耗。
为了解决上述问题,本申请实施例提供了一种克隆卷的实现方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种可选的克隆卷的实现方法流程示意图,如图1所示,该方法至少包括步骤S102-S106,其中:
步骤S102,基于目标块设备卷的快照创建克隆,得到克隆卷。
可选地,可以从分布式存储系统中获取目标块设备卷。
作为一种可选的实施方式,可以通过步骤S1-S3创建克隆,其中,
S1,将目标快设备卷划分为多个大小相同的分片,其中,分片的多个副本存储在多个置放群组;
图2示出了一种可选的存储系统逻辑结构的示意图,其中,块设备卷可以被切分大小相同的多个分片,这些分片存储在不同服务器节点的存储设备中,每个分片的大小默认为4MB,一个分片在数据服务集群中以多个副本进行存储,或者,以N+M的冗余方式进行存储(即N份数据+M份冗余备份)。为了更加系统地放置这些分片的副本数据,可以按照实际需求选择对应的数据分布算法放置将这些分片的多个副本放置在不同的置放群组内,若某个服务器节点或者某个存储设备发生故障时,可以通过存储在其他服务器节点的存储设备对其进行恢复。
S2,对目标块设备卷的目标分片创建快照;
具体地,采用写重定向的方法实现对目标块设备卷的目标分片创建快照,如图3所示,假设源卷(即目标块设备卷)中已有A,B两个分片,创建第一次快照时,源卷被记为snap1,新的源卷引用snap1的分片数据,此时修改分片A的数据,系统将会把修改后的A’数据重定向写入到新的数据块中,此时源卷上存储最开始的分片A的数据,snap1上存储修改后的分片A’和分片B的数据。接着创建第二次快照,记为snap2,此时snap2的分片B引用snap1的数据,修改分片A,分片B和分片C,重新写入A’’、B’、C,将其写入新的位置,通过上述的创建快照的过程,将新旧数据全部被保存,系统可以根据快照快速恢复历史数据。
S3,基于快照创建克隆,得到克隆卷,其中,目标分片的快照数据和克隆卷的数据存储在目标置放群组。
图4示出了一种可选的创建克隆的示意图,若在分布式存储系统中存在两个卷vol1和vol2,他们的每个分片对应的一组数据存储在同一个置放群组内,在读取克隆卷vol2’s的分片1的数据55时,可以在对应的目标块设备卷vol2上读取到,则直接返回该数据。在读取vol2’s的分片2的数据987时,在对应的目标块设备卷vol2没有数据,则查找卷vol1,在卷vol1的快照snap2上找到对应数据987时,读取对应结果并返回。其中,将每个分片的所有的快照数据和克隆卷数据存储在同一个置放群组中,对于克隆卷的执行对应操作时,就不需要进行多次网络传输。
作为一种可选的实施方式,以目标块设备卷为树根,基于目标块设备卷的快照创建克隆,可以创建一棵克隆树,其中,克隆树有相应的标识信息;响应于对目标克隆树中目标分片的操作请求,按照操作请求在目标置放群组中执行相应的操作。
可以理解为,基于某一块设备卷的历史快照创建一个克隆卷,即是一个新的块设备卷,再基于新的块设备卷的历史快照再创建出更多的克隆卷,因此,以某一个块设备卷为树根,就可以创建一棵克隆树。例如,图5所示,以卷volume_1中快照snap1创建克隆卷volume_2,以卷volume_1中快照snap2创建克隆卷volume_3,如此对卷volume_1中所有快照都可以创建一个新的克隆卷volume_n,并且可以基于新的克隆卷volume_n的历史快照再克隆除更多新的卷volume,因此,以卷volume_1为树根,可以创建一棵volume树,记为Tree_1,同理,可以在整个系统中可以创建出很多棵类似的volume树,且每棵树都有对应的标识信息,可以为Tree_ID。
在相同的Tree_ID的volume树中,对于同一分片的多个副本响应IO请求时,都会被路由到相同的置放群组中,对该分片创建快照和克隆。
步骤S104,建立目标块设备卷和克隆卷的映射关系,其中,映射关系存储至置放群组内。
通常,目标块设备卷和克隆卷的映射关系记为克隆元数据,克隆元数据同样存储在置放群组内,其克隆元数据的格式为[克隆卷,父卷,父快照],其中,父卷为目标块设备卷,父快照为目标块设备卷的快照。
步骤S106,依据映射关系遍历置放群组,按照操作请求对克隆卷执行相应操作。
具体地,在按照操作请求对克隆卷执行写操作时,将目标块设备卷的快照的数据写入克隆卷中。如图6所示, 在对克隆卷volume_2执行写操作时,直接将目标块设备卷volume_1中快照snap2的数据写入克隆卷volume_2中,该过程不修改任何数据。
具体地,在按照操作请求对克隆卷执行写操作时,读取目标块设备卷的快照的数据,其中:读取克隆卷的数据;若克隆卷的目标分片上没有数据,则依据映射关系遍历置放群组,确定目标块设备卷;读取目标块设备卷的快照上对应目标分片的数据。
图7示出了一种可选的读克隆卷的示意图,首先对卷volume_1中快照snap2创建克隆卷volume_2,在读volume_2的数据87时,先读克隆卷本身的数据,volume_2的第三个分片没有数据87时,则依据预先建立的卷volume_1和克隆卷volume_2的映射关系,遍历置放群组,确定父卷,也就是卷volume_1的快照snap2,并从卷volume_1的快照snap2上读取数据87。
当在按照操作请求对克隆卷执行相应的操作时,若克隆卷上没有数据,则需要依据映射关系确定该克隆卷对应的父卷,若这个父卷上也没有数据并且这个父卷是从另一个快照克隆出来的,就需要继续往上寻找,这样层层向上,直至找到可以对其进行执行操作的目标块设备卷。这个过程涉及的克隆链较长,导致效率低下。
为了解决上述问题,本申请实施例提出了一种可选的方法,具体是在按照操作请求对克隆卷执行相应的操作时,克隆卷基于映射关系确定的目标块设备卷的数据复制在克隆卷上。这样就避免了在对克隆卷进行读操作时,需要确定对应的目标块设备卷,并读取数据的过程。上述过程也可以被称为拍平,如图8所示,若将克隆卷volume_2引用卷volume_1的数据全部拷贝在克隆卷上,这样就可以将克隆链截断,从而避免直接去读卷volume_1的数据。
由于克隆卷需要引用目标块设备卷的快照数据进行读写操作,若没有将目标块设备卷的快照数据拷贝至克隆卷时,就删除目标块设备卷的快照数据,会导致克隆卷无法读取正确的数据,因此,基于目标块设备卷的快照创建克隆之前,保护所述目标块设备卷的快照不被删除。
如图9所示,当将目标块设备卷的快照数据拷贝至克隆卷后,将目标块设备卷的快照删除或回滚都不会影响克隆卷读取正确的数据。
基于目标块设备卷的快照创建克隆,得到克隆卷;建立目标块设备卷和克隆卷的映射关系,其中,映射关系存储至置放群组内;依据映射关系遍历置放群组,按照操作请求对克隆卷执行相应操作。其中,将目标块设备卷的快照数据和克隆卷数据存储在相同区域,在对克隆卷进行读写操作时,不需要进行多次网络传输,达到了减小性能损耗的目的,从而解决了相关技术中对克隆卷执行操作请求时涉及多次网络传输,导致严重性能损耗技术问题。
实施例2
根据本申请实施例,还提供了一种用于实现实施例1的克隆卷的实现装置,如图10所示,该装置至少包括创建模块101,建立模块102和执行模块103,其中:
创建模块101,基于目标块设备卷的快照创建克隆,得到克隆卷。
可选地,可以从分布式存储系统中获取目标块设备卷。
作为一种可选的实施方式,可以通过步骤S1-S3创建克隆,其中:
S1,将目标快设备卷划分为多个大小相同的分片,其中,分片的多个副本存储在多个置放群组;
图2示出了一种可选的存储系统逻辑结构的示意图,其中,块设备卷可以被切分大小相同的多个分片,这些分片存储在不同服务器节点的存储设备中,每个分片的大小默认为4MB,一个分片在数据服务集群中以多个副本进行存储,或者,以N+M的冗余方式进行存储(即N份数据+M份冗余备份)。为了更加系统地放置这些分片的副本数据,可以按照实际需求选择对应的数据分布算法放置将这些分片的多个副本放置在不同的置放群组内,若某个服务器节点或者某个存储设备发生故障时,可以通过存储在其他服务器节点的存储设备对其进行恢复。
S2,对目标块设备卷的目标分片创建快照;
具体地,采用写重定向的方法实现对目标块设备卷的目标分片创建快照,如图3所示,假设源卷(即目标块设备卷)中已有A,B两个分片,创建第一次快照时,源卷被记为snap1,新的源卷引用snap1的分片数据,此时修改分片A的数据,系统将会把修改后的A’数据重定向写入到新的数据块中,此时源卷上存储最开始的分片A的数据,snap1上存储修改后的分片A’和分片B的数据。接着创建第二次快照,记为snap2,此时snap2的分片B引用snap1的数据,修改分片A,分片B和分片C,重新写入A’’、B’、C,将其写入新的位置,通过上述的创建快照的过程,将新旧数据全部被保存,系统可以根据快照快速恢复历史数据。
S3,基于快照创建克隆,得到克隆卷,其中,目标分片的快照数据和克隆卷的数据存储在目标置放群组。
图4示出了一种可选的创建克隆的示意图,若在分布式存储系统中存在两个卷vol1和vol2,他们的每个分片对应的一组数据存储在同一个置放群组内,在读取克隆卷vol2’s的分片1的数据55时,可以在对应的目标块设备卷vol2上读取到,则直接返回该数据。在读取vol2’s的分片2的数据987时,在对应的目标块设备卷vol2没有数据,则查找卷vol1,在卷vol1的快照snap2上找到对应数据987时,读取对应结果并返回。其中,将每个分片的所有的快照数据和克隆卷数据存储在同一个置放群组中,对于克隆卷的执行对应操作时,就不需要进行多次网络传输。
作为一种可选的实施方式,以目标块设备卷为树根,基于目标块设备卷的快照创建克隆,可以创建一棵克隆树,其中,克隆树有相应的标识信息;响应于对目标克隆树中目标分片的操作请求,按照操作请求在目标置放群组中执行相应的操作。
可以理解为,基于某一块设备卷的历史快照创建一个克隆卷,即是一个新的块设备卷,再基于新的块设备卷的历史快照再创建出更多的克隆卷,因此,以某一个块设备卷为树根,就可以创建一棵克隆树。例如,图5所示,以卷volume_1中快照snap1创建克隆卷volume_2,以卷volume_1中快照snap2创建克隆卷volume_3,如此对卷volume_1中所有快照都可以创建一个新的克隆卷volume_n,并且可以基于新的克隆卷volume_n的历史快照再克隆除更多新的卷volume,因此,以卷volume_1为树根,可以创建一棵volume树,记为Tree_1,同理,可以在整个系统中可以创建出很多棵类似的volume树,且每棵树都有对应的标识信息,可以为Tree_ID。
在相同的Tree_ID的volume树中,对于同一分片的多个副本响应IO请求时,都会被路由到相同的置放群组中,对该分片创建快照和克隆。
建立模块102,建立目标块设备卷和克隆卷的映射关系,其中,映射关系存储至置放群组内。
通常,目标块设备卷和克隆卷的映射关系记为克隆元数据,克隆元数据同样存储在置放群组内,其克隆元数据的格式为[克隆卷,父卷,父快照],其中,父卷为目标块设备卷,父快照为目标块设备卷的快照。
执行模块103,依据映射关系遍历置放群组,按照操作请求对克隆卷执行相应操作。
具体地,在按照操作请求对克隆卷执行写操作时,将目标块设备卷的快照的数据写入克隆卷中。如图6所示, 在对克隆卷volume_2执行写操作时,直接将目标块设备卷volume_1中快照snap2的数据写入克隆卷volume_2中,该过程不修改任何数据。
具体地,在按照操作请求对克隆卷执行写操作时,读取目标块设备卷的快照的数据,其中:读取克隆卷的数据;若克隆卷的目标分片上没有数据,则依据映射关系遍历置放群组,确定目标块设备卷;读取目标块设备卷的快照上对应目标分片的数据。
图7示出了一种可选的读克隆卷的示意图,首先对卷volume_1中快照snap2创建克隆卷volume_2,在读volume_2的数据87时,先读克隆卷本身的数据,volume_2的第三个分片没有数据87时,则依据预先建立的卷volume_1和克隆卷volume_2的映射关系,遍历置放群组,确定父卷,也就是卷volume_1的快照snap2,并从卷volume_1的快照snap2上读取数据87。
需要说明的是,本申请实施例中的克隆卷的实现装置中的各模块与实施例1中的克隆卷的实现方法的各实施步骤一一对应,由于实施例1中已经进行了详尽的描述,本实施例中部分未体现的细节可以参考实施例1,在此不再过多赘述。
实施例3
根据本申请实施例,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行实施例1中的克隆卷的实现方法。
根据本申请实施例,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行实施例1中的克隆卷的实现方法。
根据本申请实施例,还提供了一种电子设备,该电子设备包括:存储器和处理器,其中,存储器中存储有计算机程序,处理器被配置为通过计算机程序执行实施例1中的克隆卷的实现方法。
可选地,在程序运行时控制设备执行实现以下步骤:基于目标块设备卷的快照创建克隆,得到克隆卷;建立目标块设备卷和克隆卷的映射关系,其中,映射关系存储至置放群组内;依据映射关系遍历置放群组,按照操作请求对克隆卷执行相应操作。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (9)

1.一种克隆设计方法,其特征在于,包括:
将目标块设备卷划分为多个大小相同的分片;对所述目标块设备卷的目标分片创建快照;基于所述快照创建克隆,得到克隆卷,其中,所述分片的副本存储至多个置放群组,所述目标分片的快照数据和所述克隆卷的数据存储在同一置放群组;
建立所述目标块设备卷和所述克隆卷的映射关系,其中,所述映射关系存储至置放群组内;
依据所述映射关系遍历所述置放群组,按照操作请求对所述克隆卷执行相应操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
以目标块设备卷为树根,基于所述目标块设备卷的快照创建克隆,创建一棵克隆树,其中,所述克隆树有相应的标识信息;
响应于对目标克隆树中目标分片的操作请求,按照所述操作请求在目标置放群组中执行相应的操作。
3.根据权利要求1所述的方法,其特征在于,依据所述映射关系遍历所述置放群组,按照操作请求对所述克隆卷执行相应操作,包括:
在按照操作请求对所述克隆卷执行写操作时,将所述目标块设备卷的快照的数据写入所述克隆卷中。
4.根据权利要求1所述的方法,其特征在于,依据所述映射关系遍历所述置放群组,按照操作请求对所述克隆卷执行相应操作,包括:
在按照操作请求对所述克隆卷执行读操作时,读取所述克隆卷的数据;
若所述克隆卷的目标分片上没有数据,则依据所述映射关系遍历所述置放群组,确定所述目标块设备卷;
读取所述目标块设备卷上对应目标分片的数据。
5.根据权利要求4所述的方法,其特征在于,包括:
在按照操作请求对所述克隆卷执行相应的操作时,所述克隆卷基于所述映射关系确定的所述目标块设备卷的数据复制在所述克隆卷上。
6.根据权利要求1所述的方法,其特征在于,基于目标块设备卷的快照创建克隆之前,包括:
保护所述目标块设备卷的快照不被删除。
7.一种克隆设计装置,其特征在于,包括:
创建模块,将目标块设备卷划分为多个大小相同的分片;对所述目标块设备卷的目标分片创建快照;基于所述快照创建克隆,得到克隆卷,其中,所述分片的副本存储至多个置放群组,所述目标分片的快照数据和所述克隆卷的数据存储在同一置放群组;
建立模块,建立所述目标块设备卷和所述克隆卷的映射关系,其中,所述映射关系存储至置放群组内;
执行模块,依据所述映射关系遍历所述置放群组,按照操作请求对所述克隆卷执行相应操作。
8.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至6中任意一项所述克隆设计方法。
9.一种电子设备,其特征在于,包括:存储器和处理器,其中,所述存储器中存储有计算机程序,所述处理器被配置为通过所述计算机程序执行权利要求1至6中任意一项所述克隆设计方法。
CN202210895137.2A 2022-07-28 2022-07-28 克隆卷的实现方法及装置 Active CN114968671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210895137.2A CN114968671B (zh) 2022-07-28 2022-07-28 克隆卷的实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210895137.2A CN114968671B (zh) 2022-07-28 2022-07-28 克隆卷的实现方法及装置

Publications (2)

Publication Number Publication Date
CN114968671A CN114968671A (zh) 2022-08-30
CN114968671B true CN114968671B (zh) 2022-10-21

Family

ID=82969650

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210895137.2A Active CN114968671B (zh) 2022-07-28 2022-07-28 克隆卷的实现方法及装置

Country Status (1)

Country Link
CN (1) CN114968671B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409511B2 (en) * 2004-04-30 2008-08-05 Network Appliance, Inc. Cloning technique for efficiently creating a copy of a volume in a storage system
CN104182184B (zh) * 2014-08-27 2017-08-25 浪潮电子信息产业股份有限公司 一种分布式块存储克隆方法
CN109460319A (zh) * 2018-11-01 2019-03-12 郑州云海信息技术有限公司 一种可写快照的创建方法、装置、系统、设备及存储介质
CN112527562A (zh) * 2020-12-15 2021-03-19 北京华胜天成科技股份有限公司 分布式存储系统的数据备份方法、装置和计算机设备

Also Published As

Publication number Publication date
CN114968671A (zh) 2022-08-30

Similar Documents

Publication Publication Date Title
CN101286165B (zh) 多路并行现用文件系统
CN107844268B (zh) 一种数据分发方法、数据存储方法、相关装置以及系统
US7421551B2 (en) Fast verification of computer backup data
US7774565B2 (en) Methods and apparatus for point in time data access and recovery
US7610465B2 (en) Method and related apparatus for data migration utilizing disk arrays
US6985995B2 (en) Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data
CN102317923B (zh) 存储系统
CN106407040A (zh) 一种远程数据复制方法及系统
CN112000627B (zh) 一种数据存储方法、系统、电子设备及存储介质
CN110058953B (zh) 用于改变存储系统的类型的方法、设备和存储介质
US11003554B2 (en) RAID schema for providing metadata protection in a data storage system
CN113176858B (zh) 数据处理方法、存储系统及存储设备
CN114968671B (zh) 克隆卷的实现方法及装置
US8555007B2 (en) Storage system with journal disks dynamically assigned
US7865472B1 (en) Methods and systems for restoring file systems
JP4390618B2 (ja) データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置
CN115878381A (zh) 基于srm盘的数据恢复方法及装置、存储介质、电子装置
US11163642B2 (en) Methods, devices and computer readable medium for managing a redundant array of independent disks
CN114153395A (zh) 一种对象存储数据生命周期管理方法、装置及设备
CN105573862A (zh) 一种恢复文件系统的方法和设备
CN111506259A (zh) 数据存储、读取方法、装置、设备及可读存储介质
CN111897676A (zh) 一种基于数据库索引的文件备份方法及装置
CN117234436B (zh) 一种磁盘阵列的扩容方法、装置、存储系统及产品
JP2018173802A (ja) ストレージシステム、データソート方法及びプログラム
CN115599314B (zh) 数据冗余策略变更方法、装置、存储节点和存储介质

Legal Events

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