CN113568583A - 重删数据保护方法及装置 - Google Patents
重删数据保护方法及装置 Download PDFInfo
- Publication number
- CN113568583A CN113568583A CN202110873003.6A CN202110873003A CN113568583A CN 113568583 A CN113568583 A CN 113568583A CN 202110873003 A CN202110873003 A CN 202110873003A CN 113568583 A CN113568583 A CN 113568583A
- Authority
- CN
- China
- Prior art keywords
- deduplication
- source
- lun
- block
- target
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (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
技术领域
本申请涉及存储技术领域,尤其涉及一种重删数据保护方法及装置。
背景技术
为了提升存储设备的资源利用率,通常采用重删(全称:重复数据删除)机制消除存储设备中的重复数据,以使相同数据仅保存一份。
存储设备中支持重删功能的逻辑单元号(英文:Logical Unit Number,缩写:LUN)称为重删LUN。写入重删LUN的数据同样存在数据保护需求,比如,将重删LUN(记为第一重删LUN)的数据复制到目标LUN,以得到重删LUN的备份数据。
如果该目标LUN同样为支持重删功能的LUN(记为第二重删LUN),则向该第二重删LUN复制(写入)第一重删LUN的数据时,需要执行重删流程。由于重删流程涉及指纹计算、指纹库维护以及重复数据比较等操作,因此,其计算量大、访问路径长,导致数据保护效率较低。
如果目标LUN不为重删LUN,不执行重删流程,则所有数据(包括重复数据)均写入存储设备的存储空间,导致存储空间利用率较低。
可以看出,针对重删LUN的数据保护,目前还没有可同时兼顾保护效率和空间利用率的技术方案。
发明内容
有鉴于此,本申请提出一种重删数据保护方法及装置,用以提升重删LUN的数据保护效率并兼顾存储设备的存储空间利用率,同时,可保证目标重删LUN数据的时序。
为实现上述申请目的,本申请提供了如下技术方案:
第一方面,本申请提供一种重删数据保护方法,应用于存储设备,所述存储设备包括待复制的至少一个源重删LUN和用于存储所述至少一个源重删LUN对应数据的源重删池,源重删LUN与用于复制该源重删LUN的目标重删LUN一一对应,所述至少一个源重删LUN对应的至少一个目标重删LUN位于另一存储设备,所述另一存储设备还包括用于存储所述至少一个目标重删LUN对应数据的目标重删池,所述源重删池和所述目标重删池均由虚拟地址连续的至少一个虚拟地址段组成,每一个虚拟地址段对应该虚拟地址段所属重删池所在的存储设备中的一段物理空间,所述源重删池和所述目标重删池均按照预设重删块大小划分为多个重删块,所述源重删LUN和所述目标重删LUN均按照所述预设重删块大小划分为多个逻辑块,所述方法包括:
确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块;
针对每一个第一重删块,将该第一重删块中的数据复制到所述目标重删池中的第二重删块,该第二重删块与该第一重删块具有相同的虚拟地址;
针对每一个源重删LUN,查找该源重删LUN对应的映射差异表,所述映射差异表用于记录自上一次复制之后按照源重删LUN的数据写入顺序依次生成的已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系;
按照所述数据写入顺序,依次获取该映射差异表中的各映射关系;
针对每一个获取的映射关系,利用该映射关系更新该源重删LUN对应的目标重删LUN的逻辑空间映射表,所述逻辑空间映射表用于记录已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系。
可选的,所述源重删池对应有写入位图,所述写入位图包括与所述源重删池中各重删块一一对应的写入位,所述写入位的值用于标识自上一次复制之后对应重删块是否写入过数据,所述确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
从所述写入位图中,查询值为第一值的至少一个目标写入位,所述第一值用于标识自上一次复制之后对应重删块写入过数据;
针对每一个目标写入位,将该目标写入位对应的重删块确定为第一重删块。
可选的,所述源重删池对应有写入列表,所述写入列表用于记录自上一次复制之后所述源重删池中被写入数据的至少一个重删块的标识,所述确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
获取所述写入列表中各重删块的标识;
针对每一个获取到的重删块的标识,将该重删块的标识所标识的重删块确定为第一重删块。
可选的,所述源重删池对应有空间分配表,所述空间分配表包括与所述源重删块中各重删块一一对应的分配位,所述分配位的值用于标识对应重删块是否已使用,所述方法还包括:
在首次复制时,从所述空间分配表中,查询值为第二值的至少一个目标分配位,所述第二值用于标识对应重删块已使用;
针对每一个目标分配位对应的第三重删块,将该第三重删块中的数据复制到所述目标重删池中的第四重删块,该第四重删块与该第三重删块具有相同的虚拟地址;
针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN。
可选的,所述方法还包括:
在启动首次复制的开始时刻,针对每一个源重删LUN,创建该源重删LUN对应逻辑空间映射表的快照;
所述将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN之前,所述方法还包括:
从该源重删LUN对应的逻辑空间映射表的快照中,获取该源重删LUN对应的逻辑空间映射表。
第二方面,本申请提供一种重删数据保护装置,应用于存储设备,所述存储设备包括待复制的至少一个源重删LUN和用于存储所述至少一个源重删LUN对应数据的源重删池,源重删LUN与用于复制该源重删LUN的目标重删LUN一一对应,所述至少一个源重删LUN对应的至少一个目标重删LUN位于另一存储设备,所述另一存储设备还包括用于存储所述至少一个目标重删LUN对应数据的目标重删池,所述源重删池和所述目标重删池均由虚拟地址连续的至少一个虚拟地址段组成,每一个虚拟地址段对应该虚拟地址段所属重删池所在的存储设备中的一段物理空间,所述源重删池和所述目标重删池均按照预设重删块大小划分为多个重删块,所述源重删LUN和所述目标重删LUN均按照所述预设重删块大小划分为多个逻辑块,所述装置包括:
确定单元,用于确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块;
复制单元,用于针对每一个第一重删块,将该第一重删块中的数据复制到所述目标重删池中的第二重删块,该第二重删块与该第一重删块具有相同的虚拟地址;
查找单元,用于针对每一个源重删LUN,查找该源重删LUN对应的映射差异表,所述映射差异表用于记录自上一次复制之后按照源重删LUN的数据写入顺序依次生成的已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系;
获取单元,还用于按照所述数据写入顺序,依次获取该映射差异表中的各映射关系;
更新单元,用于针对每一个获取的映射关系,利用该映射关系更新该源重删LUN对应的目标重删LUN的逻辑空间映射表,所述逻辑空间映射表用于记录已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系。
可选的,所述源重删池对应有写入位图,所述写入位图包括与所述源重删池中各重删块一一对应的写入位,所述写入位的值用于标识自上一次复制之后对应重删块是否写入过数据,所述确定单元确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
从所述写入位图中,查询值为第一值的至少一个目标写入位,所述第一值用于标识自上一次复制之后对应重删块写入过数据;
针对每一个目标写入位,将该目标写入位对应的重删块确定为第一重删块。
可选的,所述源重删池对应有写入列表,所述写入列表用于记录自上一次复制之后所述源重删池中被写入数据的至少一个重删块的标识,所述确定单元确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
获取所述写入列表中各重删块的标识;
针对每一个获取到的重删块的标识,将该重删块的标识所标识的重删块确定为第一重删块。
可选的,所述源重删池对应有空间分配表,所述空间分配表包括与所述源重删块中各重删块一一对应的分配位,所述分配位的值用于标识对应重删块是否已使用,所述装置还包括:
查询单元,用于在首次复制时,从所述空间分配表中,查询值为第二值的至少一个目标分配位,所述第二值用于标识对应重删块已使用;
所述复制单元,还用于针对每一个目标分配位对应的第三重删块,将该第三重删块中的数据复制到所述目标重删池中的第四重删块,该第四重删块与该第三重删块具有相同的虚拟地址;
所述复制单元,还用于针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN。
可选的,所述装置还包括:
创建单元,用于在启动首次复制的开始时刻,针对每一个源重删LUN,创建该源重删LUN对应逻辑空间映射表的快照;
所述获取单元,还用于在所述复制单元将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN之前,从该源重删LUN对应的逻辑空间映射表的快照中,获取该源重删LUN对应的逻辑空间映射表。
由以上描述可以看出,本申请实施例通过直接复制源重删池中的非重复数据到目标重删池,简化了重删数据保护流程,可有效提升重删LUN的数据保护效率,并兼顾存储设备的存储空间利用率,同时,可降低对目标重删LUN所在存储设备的处理性能要求。且由于目标重删LUN所在存储设备无需维护目标重删LUN的指纹库,因此,可进一步节约目标重删LUN所在存储设备的存储资源。此外,通过按照源重删LUN的数据写入顺序逐步复制源重删LUN的逻辑映射关系,可有效保证目标重删LUN的数据时序性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例示出的一种重删数据保护方法流程图;
图2是本申请实施例示出的一种步骤101的实现流程;
图3是本申请实施例示出的另一种步骤101的实现流程;
图4是本申请实施例示出的一种重删数据首次复制实现流程;
图5是本申请实施例示出的一种重删数据保护装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请实施例范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本申请实施例的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请实施例执行详细描述:
参见图1,为本申请实施例示出的一种重删数据保护方法的流程图。该流程应用于存储设备。
该存储设备包括待复制的至少一个源重删LUN和用于存储该至少一个源重删LUN对应数据的源重删池。
用于复制(备份)源重删LUN对应数据的目标重删LUN与源重删LUN一一对应。也就是说,有多少个源重删LUN,就有多少个与之对应的目标重删LUN。
这里,需要说明的是,与至少一个源重删LUN对应的至少一个目标重删LUN位于另一存储设备,该另一存储设备还包括用于存储该至少一个目标重删LUN对应数据的目标重删池,以便后续实现针对重删LUN的跨存储设备远程备份。
本申请实施例中,源重删池和目标重删池大小相等,且均由虚拟地址连续的至少一个虚拟地址段组成,每一个虚拟地址段对应该虚拟地址段所属重删池所在存储设备中的一段物理空间。
比如,源重删池位于存储设备1中,总容量100GB,由前50GB虚拟地址段和后50GB虚拟地址段组成,其中,前50GB虚拟地址段来源于存储设备1中RAID_1的起始地址为LBA_1的50GB物理空间;后50GB虚拟地址段来源于存储设备1中RAID_2起始地址为LBA_2的50GB物理空间。目标重删池位于存储设备2中,总容量100GB,由前40GB虚拟地址段和后60GB虚拟地址段组成,其中,前40GB虚拟地址段来源于存储设备2中RAID_3的起始地址为LBA_3的40GB物理空间;后60GB虚拟地址段来源于存储设备2中RAID_4起始地址为LBA_4的60GB物理空间。
可以看出,通过构建虚拟重删池,可屏蔽不同存储设备之间物理空间的差异。
然后,将源重删池和目标重删池按照预设重删块大小(比如,8KB)划分为多个重删块,源重删LUN和目标重删LUN按照预设重删块大小划分为多个逻辑块。
源重删LUN根据数据写入情况维护逻辑空间映射表和指纹库。其中,逻辑空间映射表用于记录已映射(已写入)逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系;指纹库用于记录源重删池中已存储数据的指纹信息与存储该数据的重删块的虚拟地址之间的对应关系。
在向源重删LUN写入数据时,通过比对待写入数据的指纹信息与指纹库中已有指纹信息,来避免将具有相同指纹信息的重复数据写入源重删池。
为了保护源重删LUN的数据,存储设备可周期性(比如,每隔1个小时)将源重删LUN的数据复制到目标重删LUN。如图1所示,该数据保护(复制)流程可包括以下步骤:
步骤101,确定自上一次复制之后源重删池中被写入数据的至少一个第一重删块。
本申请实施例对源重删池中各重删块的写入情况进行监测,以确定自上一次复制之后被写入数据的重删块。这里,将上一次复制之后被写入数据的重删块,称为第一重删块。可以理解的是,之所以称为第一重删块,只是为便于区分而进行的命名,并非用于限定。
具体确定第一重删块的过程在下文中描述,这里暂不赘述。
步骤102,针对每一个第一重删块,将该第一重删块中的数据复制到目标重删池中的第二重删块。
这里,第二重删块为目标重删池中与第一重删块具有相同虚拟地址的重删块。之所以称为第二重删块,只是为了便于区分而进行的命名,并非用于限定。
通过本步骤将上一次复制之后写入源重删池的非重复数据复制到目标重删池中,且可保证数据在目标重删池中的存放地址(虚拟地址)与其在源重删池中的存放地址(虚拟地址)相同。
然后,针对每一个源重删LUN,执行步骤103~步骤105。
步骤103,查找该源重删LUN对应的映射差异表。
映射差异表用于记录自上一次复制之后按照源重删LUN的数据写入顺序依次生成的已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系。参见
表1,为映射差异表示例。
逻辑块的逻辑地址 | 重删块的虚拟地址 |
LBA1 | VBA100 |
LBA8 | VBA105 |
LBA15 | VBA130 |
LBA19 | VBA100 |
LBA1 | VBA145 |
…… | …… |
表1
从该映射差异表中可以看出,自上一次复制后,存储设备依次向源重删LUN的逻辑地址为LBA1、LBA8、LBA15、LBA19、LBA1、……的逻辑块写入数据,并按写入顺序依次生成表1所示各映射关系。
当需要复制时,存储设备查找源重删LUN对应的映射差异表。
步骤104,按照数据写入顺序,依次获取该映射差异表中的各映射关系。
仍以表1为例,按照数据写入顺序(亦可称为映射关系生成顺序)依次获取如下映射关系:{LBA1,VBA100}、{LBA8,VBA105}、{LBA15,VBA130}、{LBA19,VBA100}、{LBA1,VBA145}、……。
步骤105,针对每一个获取的映射关系,利用该映射关系更新该源重删LUN对应的目标重删LUN的逻辑空间映射表。
参见表2,为目标重删LUN的逻辑空间映射表示例。
逻辑块的逻辑地址 | 重删块的虚拟地址 |
LBA3 | VBA100 |
LBA10 | VBA110 |
表2
在表2的基础上,首先,向目标重删LUN复制通过步骤104获取到的映射关系{LBA1,VBA100},由于表2中不存在该映射关系,因此,直接将该映射关系添加到目标重删LUN的逻辑空间映射表中,得到表3所示逻辑空间映射表。
逻辑块的逻辑地址 | 重删块的虚拟地址 |
LBA3 | VBA100 |
LBA10 | VBA110 |
LBA1 | VBA100 |
表3
同理,依次向目标重删LUN复制{LBA8,VBA105}、{LBA15,VBA130}、{LBA19,VBA100},可得到表4所示逻辑空间映射表。
逻辑块的逻辑地址 | 重删块的虚拟地址 |
LBA3 | VBA100 |
LBA10 | VBA110 |
LBA1 | VBA100 |
LBA8 | VBA105 |
LBA15 | VBA130 |
LBA19 | VBA100 |
表4
然后,向目标重删LUN复制{LBA1,VBA145},此时,由于表4中已存在LBA1对应的映射关系,因此,利用新的映射关系{LBA1,VBA145}覆盖(更新)原有映射关系{LBA1,VBA100},得到表5所示逻辑空间映射表。
表5
可以看出,本申请实施例保证了目标重删LUN数据的时序性,即,按照源重删LUN的写入顺序逐步复制得到目标重删LUN的数据。比如,上述示例中,LBA1首先指向VBA100再指向VBA145,复制时也按照该数据变化过程进行复制。
至此,完成图1所述流程。
通过图1所示流程可以看出,本申请实施例通过直接复制源重删池中的非重复数据到目标重删池,简化了重删数据保护流程,可有效提升重删LUN的数据保护效率,并兼顾存储设备的存储空间利用率,同时,可降低对目标重删LUN所在存储设备的处理性能要求。且由于目标重删LUN所在存储设备无需维护目标重删LUN的指纹库,因此,可进一步节约目标重删LUN所在存储设备的存储资源。此外,通过按照源重删LUN的数据写入顺序逐步复制源重删LUN的逻辑映射关系,可有效保证目标重删LUN的数据时序性。
下面对步骤101中确定第一重删块的过程进行描述。
作为一个实施例,参见图2,为本申请实施例示出的一种步骤101的实现流程。如图2所示,该流程可包括以下步骤:
步骤201,从源重删池对应的写入位图中,查询值为第一值的至少一个目标写入位。
本申请实施例中,源重删池对应有写入位图,该写入位图包括与源重删池中各重删块一一对应的写入位。每一个写入位的值用于标识自上一次复制之后该写入位对应重删块是否写入过数据。比如,值为1,代表写入位对应重删块写入过数据;值为0,代表写入位对应重删块未写入数据。
当存储设备启动复制时,可查询源重删池对应的写入位图,找到值为第一值的写入位。
这里,将值为第一值的写入位称为目标写入位,其中,第一值用于标识自上一次复制之后写入位对应重删块写入过数据。可以理解的是,之所以称为第一值、目标写入位,只是为了便于区分而进行的命名,并非用于限定。
步骤202,针对每一个目标写入位,将该目标写入位对应的重删块确定为第一重删块。
以包含8个写入位的写入位图为例,该写入位图中各写入位的值依次为{0,1,0,1,1,0,1,0},其中,1表示对应重删块写入过数据,0表示对应重删块未写入数据。如果8个写入位依次对应源重删池中的重删块1~重删块8,则通过查询该写入位图可知,重删块2、重删块4、重删块5、重删块7自上一次复制之后写入过数据,为此次待复制的第一重删块。
至此,完成图2所示流程。
作为另一个实施例,参见图3,为本申请实施例示出的另一种步骤101的实现流程。如图3所示,该流程可包括以下步骤:
步骤301,获取源重删池对应的写入列表中各重删块的标识。
本申请实施例中,源重删池对应有写入列表,该写入列表用于记录自上一次复制之后源重删池中被写入数据的重删块的标识。
比如,自上一次复制之后,源重删池中重删块2、重删块4、重删块5、重删块7被写入过数据,则存储设备在写入列表中记录重删块2、重删块4、重删块5、重删块7的标识,作为一个示例,该写入列表可以表示为{2、4、5、7}。
步骤302,针对每一个获取到的重删块的标识,将该重删块的标识所标识的重删块确定为第一重删块。
如前所述,写入列表中记录了自上一次复制之后所有写入过数据的重删块的标识,因此,存储设备可直接根据该写入列表中记录的重删块的标识,确定此次待复制的第一重删块。
仍以写入列表{2、4、5、7}为例,存储设备根据该写入列表中的标识,可确定重删块2、重删块4、重删块5、重删块7为待复制的第一重删块。
至此,完成图3所示流程。
通过图2、图3所示流程可以看出,本申请实施例通过维护源重删池的数据写入记录(写入位图、写入列表),来实现重删数据复制。
下面对存储设备首次复制重删数据的处理流程进行说明。参见图4,为本申请实施例示出的首次复制重删数据的实现流程。
如图4所示,该流程可包括如下步骤:
步骤401,在首次复制时,从源重删池的空间分配表中,查询值为第二值的至少一个目标分配位。
本申请实施例中,源重删池对应有空间分配表,该空间分配表用于记录源重删池中各重删块的分配(使用)情况,包括与源重删块中各重删块一一对应的分配位。每一个分配位的值用于标识该分配位对应重删块是否已使用。比如,值为1,代表分配位对应重删块已使用;值为0,代表分配位对应重删块未使用。
当存储设备首次复制时,源重删池中所有已写入数据(已使用)的重删块均需复制,因此,可直接查询用于标识所有重删块使用状态的空间分配表,找到值为第二值的分配位。
这里,将值为第二值的分配位称为目标分配位,其中,该第二值用于标识分配位对应的重删块已使用。可以理解的是,之所以称为第二值、目标分配位,只是为了便于区分而进行的命名,并非用于限定。
步骤402,针对每一个目标分配位对应的第三重删块,将该第三重删块中的数据复制到目标重删池中的第四重删块。
这里,第三重删块为基于目标分配位确定的源重删池中待复制的重删块。第四重删块为目标重删池中与第三重删块具有相同虚拟地址的重删块。之所以称为第三重删块、第四重删块,只是为了便于区分而进行的命名,并非用于限定。
通过本步骤将首次复制之前写入源重删池的非重复数据复制到目标重删池中,且可保证数据在目标重删池中的存放地址(虚拟地址)与其在源重删池中的存放地址(虚拟地址)相同。
步骤403,针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN。
由于数据复制前后在源重删池中的存放地址与在目标重删池中的存放地址相同,因此,可直接复制源重删LUN的逻辑空间映射表到目标重删LUN,作为目标重删LUN的逻辑空间映射表。
至此,完成图4所示流程。通过图4所示流程,可实现重删数据的首次复制。
此外,作为一个实施例,在首次启动复制的开始时刻,存储设备可针对每一个源重删LUN,创建该源重删LUN对应的逻辑空间映射表的快照,即,保存一份启动复制时刻的源重删LUN的逻辑空间映射表。
当需要将源重删LUN的逻辑空间映射表复制到目标重删LUN(执行步骤403)时,可从已创建的源重删LUN的逻辑空间映射表的快照中,获取该源重删LUN的逻辑空间映射表,再复制到目标重删LUN。
本申请实施例通过仅对逻辑空间映射表创建快照,可有效节约存储设备的系统资源,降低对前端业务的影响。
以上对本申请实施例提供的方法进行了描述,下面对本申请实施例提供的装置进行描述:
参见图5,为本申请实施例提供的装置的结构示意图。该装置应用于存储设备,所述存储设备包括待复制的至少一个源重删LUN和用于存储所述至少一个源重删LUN对应数据的源重删池,源重删LUN与用于复制该源重删LUN的目标重删LUN一一对应,所述至少一个源重删LUN对应的至少一个目标重删LUN位于另一存储设备,所述另一存储设备还包括用于存储所述至少一个目标重删LUN对应数据的目标重删池,所述源重删池和所述目标重删池均由虚拟地址连续的至少一个虚拟地址段组成,每一个虚拟地址段对应该虚拟地址段所属重删池所在的存储设备中的一段物理空间,所述源重删池和所述目标重删池均按照预设重删块大小划分为多个重删块,所述源重删LUN和所述目标重删LUN均按照所述预设重删块大小划分为多个逻辑块,所述装置包括确定单元501、复制单元502、查找单元503、获取单元504以及更新单元505,其中:
确定单元501,用于确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块;
复制单元502,用于针对每一个第一重删块,将该第一重删块中的数据复制到所述目标重删池中的第二重删块,该第二重删块与该第一重删块具有相同的虚拟地址;
查找单元503,用于针对每一个源重删LUN,查找该源重删LUN对应的映射差异表,所述映射差异表用于记录自上一次复制之后按照源重删LUN的数据写入顺序依次生成的已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系;
获取单元504,还用于按照所述数据写入顺序,依次获取该映射差异表中的各映射关系;
更新单元505,用于针对每一个获取的映射关系,利用该映射关系更新该源重删LUN对应的目标重删LUN的逻辑空间映射表,所述逻辑空间映射表用于记录已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系。
作为一个实施例,所述源重删池对应有写入位图,所述写入位图包括与所述源重删池中各重删块一一对应的写入位,所述写入位的值用于标识自上一次复制之后对应重删块是否写入过数据,所述确定单元501确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
从所述写入位图中,查询值为第一值的至少一个目标写入位,所述第一值用于标识自上一次复制之后对应重删块写入过数据;
针对每一个目标写入位,将该目标写入位对应的重删块确定为第一重删块。
作为一个实施例,所述源重删池对应有写入列表,所述写入列表用于记录自上一次复制之后所述源重删池中被写入数据的至少一个重删块的标识,所述确定单元501确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
获取所述写入列表中各重删块的标识;
针对每一个获取到的重删块的标识,将该重删块的标识所标识的重删块确定为第一重删块。
作为一个实施例,所述源重删池对应有空间分配表,所述空间分配表包括与所述源重删块中各重删块一一对应的分配位,所述分配位的值用于标识对应重删块是否已使用,所述装置还包括:
查询单元,用于在首次复制时,从所述空间分配表中,查询值为第二值的至少一个目标分配位,所述第二值用于标识对应重删块已使用;
所述复制单元502,还用于针对每一个目标分配位对应的第三重删块,将该第三重删块中的数据复制到所述目标重删池中的第四重删块,该第四重删块与该第三重删块具有相同的虚拟地址;
所述复制单元502,还用于针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN。
作为一个实施例,所述装置还包括:
创建单元,用于在启动首次复制的开始时刻,针对每一个源重删LUN,创建该源重删LUN对应逻辑空间映射表的快照;
所述获取单元504,还用于在所述复制单元502将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN之前,从该源重删LUN对应的逻辑空间映射表的快照中,获取该源重删LUN对应的逻辑空间映射表。
至此,完成图5所示装置的描述。
由以上描述可以看出,本申请实施例通过直接复制源重删池中的非重复数据到目标重删池,简化了重删数据保护流程,可有效提升重删LUN的数据保护效率,并兼顾存储设备的存储空间利用率,同时,可降低对目标重删LUN所在存储设备的处理性能要求。且由于目标重删LUN所在存储设备无需维护目标重删LUN的指纹库,因此,可进一步节约目标重删LUN所在存储设备的存储资源。此外,通过按照源重删LUN的数据写入顺序逐步复制源重删LUN的逻辑映射关系,可有效保证目标重删LUN的数据时序性。
以上所述仅为本申请实施例的较佳实施例而已,并不用以限制本申请,凡在本申请实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种重删数据保护方法,其特征在于,应用于存储设备,所述存储设备包括待复制的至少一个源重删LUN和用于存储所述至少一个源重删LUN对应数据的源重删池,源重删LUN与用于复制该源重删LUN的目标重删LUN一一对应,所述至少一个源重删LUN对应的至少一个目标重删LUN位于另一存储设备,所述另一存储设备还包括用于存储所述至少一个目标重删LUN对应数据的目标重删池,所述源重删池和所述目标重删池均由虚拟地址连续的至少一个虚拟地址段组成,每一个虚拟地址段对应该虚拟地址段所属重删池所在的存储设备中的一段物理空间,所述源重删池和所述目标重删池均按照预设重删块大小划分为多个重删块,所述源重删LUN和所述目标重删LUN均按照所述预设重删块大小划分为多个逻辑块,所述方法包括:
确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块;
针对每一个第一重删块,将该第一重删块中的数据复制到所述目标重删池中的第二重删块,该第二重删块与该第一重删块具有相同的虚拟地址;
针对每一个源重删LUN,查找该源重删LUN对应的映射差异表,所述映射差异表用于记录自上一次复制之后按照源重删LUN的数据写入顺序依次生成的已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系;
按照所述数据写入顺序,依次获取该映射差异表中的各映射关系;
针对每一个获取的映射关系,利用该映射关系更新该源重删LUN对应的目标重删LUN的逻辑空间映射表,所述逻辑空间映射表用于记录已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系。
2.如权利要求1所述的方法,其特征在于,所述源重删池对应有写入位图,所述写入位图包括与所述源重删池中各重删块一一对应的写入位,所述写入位的值用于标识自上一次复制之后对应重删块是否写入过数据,所述确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
从所述写入位图中,查询值为第一值的至少一个目标写入位,所述第一值用于标识自上一次复制之后对应重删块写入过数据;
针对每一个目标写入位,将该目标写入位对应的重删块确定为第一重删块。
3.如权利要求1所述的方法,其特征在于,所述源重删池对应有写入列表,所述写入列表用于记录自上一次复制之后所述源重删池中被写入数据的至少一个重删块的标识,所述确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
获取所述写入列表中各重删块的标识;
针对每一个获取到的重删块的标识,将该重删块的标识所标识的重删块确定为第一重删块。
4.如权利要求1所述的方法,其特征在于,所述源重删池对应有空间分配表,所述空间分配表包括与所述源重删块中各重删块一一对应的分配位,所述分配位的值用于标识对应重删块是否已使用,所述方法还包括:
在首次复制时,从所述空间分配表中,查询值为第二值的至少一个目标分配位,所述第二值用于标识对应重删块已使用;
针对每一个目标分配位对应的第三重删块,将该第三重删块中的数据复制到所述目标重删池中的第四重删块,该第四重删块与该第三重删块具有相同的虚拟地址;
针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
在启动首次复制的开始时刻,针对每一个源重删LUN,创建该源重删LUN对应逻辑空间映射表的快照;
所述将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN之前,所述方法还包括:
从该源重删LUN对应的逻辑空间映射表的快照中,获取该源重删LUN对应的逻辑空间映射表。
6.一种重删数据保护装置,其特征在于,应用于存储设备,所述存储设备包括待复制的至少一个源重删LUN和用于存储所述至少一个源重删LUN对应数据的源重删池,源重删LUN与用于复制该源重删LUN的目标重删LUN一一对应,所述至少一个源重删LUN对应的至少一个目标重删LUN位于另一存储设备,所述另一存储设备还包括用于存储所述至少一个目标重删LUN对应数据的目标重删池,所述源重删池和所述目标重删池均由虚拟地址连续的至少一个虚拟地址段组成,每一个虚拟地址段对应该虚拟地址段所属重删池所在的存储设备中的一段物理空间,所述源重删池和所述目标重删池均按照预设重删块大小划分为多个重删块,所述源重删LUN和所述目标重删LUN均按照所述预设重删块大小划分为多个逻辑块,所述装置包括:
确定单元,用于确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块;
复制单元,用于针对每一个第一重删块,将该第一重删块中的数据复制到所述目标重删池中的第二重删块,该第二重删块与该第一重删块具有相同的虚拟地址;
查找单元,用于针对每一个源重删LUN,查找该源重删LUN对应的映射差异表,所述映射差异表用于记录自上一次复制之后按照源重删LUN的数据写入顺序依次生成的已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系;
获取单元,还用于按照所述数据写入顺序,依次获取该映射差异表中的各映射关系;
更新单元,用于针对每一个获取的映射关系,利用该映射关系更新该源重删LUN对应的目标重删LUN的逻辑空间映射表,所述逻辑空间映射表用于记录已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系。
7.如权利要求6所述的装置,其特征在于,所述源重删池对应有写入位图,所述写入位图包括与所述源重删池中各重删块一一对应的写入位,所述写入位的值用于标识自上一次复制之后对应重删块是否写入过数据,所述确定单元确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
从所述写入位图中,查询值为第一值的至少一个目标写入位,所述第一值用于标识自上一次复制之后对应重删块写入过数据;
针对每一个目标写入位,将该目标写入位对应的重删块确定为第一重删块。
8.如权利要求6所述的装置,其特征在于,所述源重删池对应有写入列表,所述写入列表用于记录自上一次复制之后所述源重删池中被写入数据的至少一个重删块的标识,所述确定单元确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
获取所述写入列表中各重删块的标识;
针对每一个获取到的重删块的标识,将该重删块的标识所标识的重删块确定为第一重删块。
9.如权利要求6所述的装置,其特征在于,所述源重删池对应有空间分配表,所述空间分配表包括与所述源重删块中各重删块一一对应的分配位,所述分配位的值用于标识对应重删块是否已使用,所述装置还包括:
查询单元,用于在首次复制时,从所述空间分配表中,查询值为第二值的至少一个目标分配位,所述第二值用于标识对应重删块已使用;
所述复制单元,还用于针对每一个目标分配位对应的第三重删块,将该第三重删块中的数据复制到所述目标重删池中的第四重删块,该第四重删块与该第三重删块具有相同的虚拟地址;
所述复制单元,还用于针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
创建单元,用于在启动首次复制的开始时刻,针对每一个源重删LUN,创建该源重删LUN对应逻辑空间映射表的快照;
所述获取单元,还用于在所述复制单元将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN之前,从该源重删LUN对应的逻辑空间映射表的快照中,获取该源重删LUN对应的逻辑空间映射表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110873003.6A CN113568583B (zh) | 2021-07-30 | 2021-07-30 | 重删数据保护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110873003.6A CN113568583B (zh) | 2021-07-30 | 2021-07-30 | 重删数据保护方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113568583A true CN113568583A (zh) | 2021-10-29 |
CN113568583B CN113568583B (zh) | 2023-04-21 |
Family
ID=78169521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110873003.6A Active CN113568583B (zh) | 2021-07-30 | 2021-07-30 | 重删数据保护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113568583B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915278A (zh) * | 2012-09-19 | 2013-02-06 | 浪潮(北京)电子信息产业有限公司 | 重复数据删除方法 |
EP2945050A1 (en) * | 2014-05-14 | 2015-11-18 | Kaminario Technologies Ltd | Deduplication in a storage system |
US20150331756A1 (en) * | 2014-05-15 | 2015-11-19 | International Business Machines Corporation | Point-in-time snap copy management in a deduplication environment |
US20180039442A1 (en) * | 2015-12-29 | 2018-02-08 | Emc Corporation | Efficient Deduplication of Logical Units |
CN110187834A (zh) * | 2019-05-24 | 2019-08-30 | 杭州宏杉科技股份有限公司 | 重删副本的数据处理方法、装置、电子设备 |
US10416929B1 (en) * | 2017-07-28 | 2019-09-17 | EMC IP Holding Company LLC | Relocation target selection |
CN111538465A (zh) * | 2020-07-07 | 2020-08-14 | 南京云信达科技有限公司 | 一种基于Linux高性能数据重删方法 |
-
2021
- 2021-07-30 CN CN202110873003.6A patent/CN113568583B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915278A (zh) * | 2012-09-19 | 2013-02-06 | 浪潮(北京)电子信息产业有限公司 | 重复数据删除方法 |
EP2945050A1 (en) * | 2014-05-14 | 2015-11-18 | Kaminario Technologies Ltd | Deduplication in a storage system |
US20150331756A1 (en) * | 2014-05-15 | 2015-11-19 | International Business Machines Corporation | Point-in-time snap copy management in a deduplication environment |
US20180039442A1 (en) * | 2015-12-29 | 2018-02-08 | Emc Corporation | Efficient Deduplication of Logical Units |
US10416929B1 (en) * | 2017-07-28 | 2019-09-17 | EMC IP Holding Company LLC | Relocation target selection |
CN110187834A (zh) * | 2019-05-24 | 2019-08-30 | 杭州宏杉科技股份有限公司 | 重删副本的数据处理方法、装置、电子设备 |
CN111538465A (zh) * | 2020-07-07 | 2020-08-14 | 南京云信达科技有限公司 | 一种基于Linux高性能数据重删方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113568583B (zh) | 2023-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210157523A1 (en) | Storage system | |
US9146877B2 (en) | Storage system capable of managing a plurality of snapshot families and method of snapshot family based read | |
US8799601B1 (en) | Techniques for managing deduplication based on recently written extents | |
US7774565B2 (en) | Methods and apparatus for point in time data access and recovery | |
US7949637B1 (en) | Storage management for fine grained tiered storage with thin provisioning | |
US9251049B2 (en) | Data storage space recovery system and method | |
CN107423233B (zh) | 一种可写快照实现方法和装置 | |
CN108021513B (zh) | 一种数据存储方法及装置 | |
US9727245B2 (en) | Method and apparatus for de-duplication for solid state disks (SSDs) | |
US7266654B2 (en) | Storage system, server apparatus, and method for creating a plurality of snapshots | |
CN108604165B (zh) | 存储装置 | |
US8775368B1 (en) | Fine grained tiered storage with thin provisioning | |
JP2002123421A (ja) | フラッシュメモリのための再写像制御方法及びこれによるフラッシュメモリの構造 | |
CN101515276A (zh) | 一种文件数据写操作的方法、文件数据恢复方法及系统 | |
CN112860594B (zh) | 一种固态盘地址重映射方法、设备及固态盘 | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
US9720608B2 (en) | Storage system | |
CN114936188A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112181299B (zh) | 数据修复方法及分布式存储集群 | |
US11288006B2 (en) | Storage system and volume copying method where changes to address conversion table is rolled back | |
CN109582235B (zh) | 管理元数据存储方法及装置 | |
CN112052218A (zh) | 快照实现方法及分布式存储集群 | |
CN113568583A (zh) | 重删数据保护方法及装置 | |
US6910214B1 (en) | Method, system, and program for converting an input parameter list into an output parameter list | |
CN113868018B (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 |