CN113568584B - 重删数据保护方法及装置 - Google Patents

重删数据保护方法及装置 Download PDF

Info

Publication number
CN113568584B
CN113568584B CN202110873005.5A CN202110873005A CN113568584B CN 113568584 B CN113568584 B CN 113568584B CN 202110873005 A CN202110873005 A CN 202110873005A CN 113568584 B CN113568584 B CN 113568584B
Authority
CN
China
Prior art keywords
deduplication
block
source
lun
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.)
Active
Application number
CN202110873005.5A
Other languages
English (en)
Other versions
CN113568584A (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.)
Macrosan Technologies Co Ltd
Original Assignee
Macrosan Technologies 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 Macrosan Technologies Co Ltd filed Critical Macrosan Technologies Co Ltd
Priority to CN202110873005.5A priority Critical patent/CN113568584B/zh
Publication of CN113568584A publication Critical patent/CN113568584A/zh
Application granted granted Critical
Publication of CN113568584B publication Critical patent/CN113568584B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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)
  • Computer Security & Cryptography (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所在存储设备的存储资源。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图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,针对每一个第一重删块,将该第一重删块中的数据复制到目标重删池中的第二重删块。
这里,第二重删块为目标重删池中与第一重删块具有相同虚拟地址的重删块。之所以称为第二重删块,只是为了便于区分而进行的命名,并非用于限定。
通过本步骤将上一次复制之后写入源重删池的非重复数据复制到目标重删池中,且可保证数据在目标重删池中的存放地址(虚拟地址)与其在源重删池中的存放地址(虚拟地址)相同。
步骤103,针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN。
由于步骤102中数据复制前后的虚拟地址没有变,即,数据在源重删池中的存放地址与数据在目标重删池中的存放地址相同,因此,可直接复制源重删LUN的逻辑空间映射表作为目标重删LUN的逻辑空间映射表。
此时,若源重删LUN出现故障,则可通过访问目标重删LUN,查询目标重删LUN的逻辑空间映射表,找到存储在目标重删池中的备份数据。
至此,完成图1所述流程。
通过图1所示流程可以看出,本申请实施例直接利用重删池中的重删块进行数据复制。由于源重删池中的数据均为已经过重删处理的非重复数据,因此,基于该不包含重复数据的源重删池复制得到的目标重删池中的数据也不为重复数据,可有效节约存储设备的存储资源。且由于该过程中无需对目标重删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所示流程可以看出,本申请实施例通过维护源重删池的数据写入记录(写入位图、写入列表),实现对重删后的数据进行复制。且该过程由于不再需要源重删LUN对数据写入过程(前端IO)进行监测,因此,可有效降低对前端业务的影响。
下面对存储设备首次复制重删数据的处理流程进行说明。参见图4,为本申请实施例示出的首次复制重删数据的实现流程。
如图4所示,该流程可包括如下步骤:
步骤401,在首次复制时,从源重删池的空间分配表中,查询值为第二值的至少一个目标分配位。
本申请实施例中,源重删池对应有空间分配表,该空间分配表用于记录源重删池中各重删块的分配(使用)情况,包括与源重删块中各重删块一一对应的分配位。每一个分配位的值用于标识该分配位对应重删块是否已使用。比如,值为1,代表分配位对应重删块已使用;值为0,代表分配位对应重删块未使用。
当存储设备首次复制时,源重删池中所有已写入数据(已使用)的重删块均需复制,因此,可直接查询用于标识所有重删块使用状态的空间分配表,找到值为第二值的分配位。
这里,将值为第二值的分配位称为目标分配位,其中,该第二值用于标识分配位对应的重删块已使用。可以理解的是,之所以称为第二值、目标分配位,只是为了便于区分而进行的命名,并非用于限定。
步骤402,针对每一个目标分配位对应的第三重删块,将该第三重删块中的数据复制到目标重删池中的第四重删块。
这里,第三重删块为基于目标分配位确定的源重删池中待复制的重删块。第四重删块为目标重删池中与第三重删块具有相同虚拟地址的重删块。之所以称为第三重删块、第四重删块,只是为了便于区分而进行的命名,并非用于限定。
通过本步骤将首次复制之前写入源重删池的非重复数据复制到目标重删池中,且可保证数据在目标重删池中的存放地址(虚拟地址)与其在源重删池中的存放地址(虚拟地址)相同。
步骤403,针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN。
由于数据复制前后在源重删池中的存放地址与在目标重删池中的存放地址相同,因此,可直接复制源重删LUN的逻辑空间映射表到目标重删LUN,作为目标重删LUN的逻辑空间映射表。
至此,完成图4所示流程。通过图4所示流程,可实现重删数据的首次复制。
此外,作为一个实施例,在每次启动复制的开始时刻,存储设备可针对每一个源重删LUN,创建该源重删LUN对应的逻辑空间映射表的快照,即,保存一份启动复制时刻的源重删LUN的逻辑空间映射表。
当需要将源重删LUN的逻辑空间映射表复制到目标重删LUN时,比如,执行步骤103或步骤403时,可从已创建的源重删LUN的逻辑空间映射表的快照中,获取该源重删LUN的逻辑空间映射表,再复制到目标重删LUN。
本申请实施例通过仅对逻辑空间映射表创建快照,可有效节约存储设备的系统资源,降低对前端业务的影响。
以上对本申请实施例提供的方法进行了描述,下面对本申请实施例提供的装置进行描述:
参见图5,为本申请实施例提供的装置的结构示意图。该装置应用于存储设备,所述存储设备包括待复制的至少一个源重删LUN和用于存储所述至少一个源重删LUN对应数据的源重删池,源重删LUN与用于复制该源重删LUN的目标重删LUN一一对应,所述至少一个源重删LUN对应的至少一个目标重删LUN位于另一存储设备,所述另一存储设备还包括用于存储所述至少一个目标重删LUN对应数据的目标重删池,所述源重删池和所述目标重删池均由虚拟地址连续的至少一个虚拟地址段组成,每一个虚拟地址段对应该虚拟地址段所属重删池所在的存储设备中的一段物理空间,所述源重删池和所述目标重删池均按照预设重删块大小划分为多个重删块,所述源重删LUN和所述目标重删LUN均按照所述预设重删块大小划分为多个逻辑块,所述装置包括:
确定单元501,用于确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块;
复制单元502,用于针对每一个第一重删块,将该第一重删块中的数据复制到所述目标重删池中的第二重删块,该第二重删块与该第一重删块具有相同的虚拟地址;
所述复制单元502,还用于针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN,所述逻辑空间映射表用于记录已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系。
作为一个实施例,所述源重删池对应有写入位图,所述写入位图包括与所述源重删池中各重删块一一对应的写入位,所述写入位的值用于标识自上一次复制之后对应重删块是否写入过数据,所述确定单元501确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
从所述写入位图中,查询值为第一值的至少一个目标写入位,所述第一值用于标识自上一次复制之后对应重删块写入过数据;
针对每一个目标写入位,将该目标写入位对应的重删块确定为第一重删块。
作为一个实施例,所述源重删池对应有写入列表,所述写入列表用于记录自上一次复制之后所述源重删池中被写入数据的至少一个重删块的标识,所述确定单元501确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
获取所述写入列表中各重删块的标识;
针对每一个获取到的重删块的标识,将该重删块的标识所标识的重删块确定为第一重删块。
作为一个实施例,所述源重删池对应有空间分配表,所述空间分配表包括与所述源重删块中各重删块一一对应的分配位,所述分配位的值用于标识对应重删块是否已使用,所述装置还包括:
查询单元,用于在首次复制时,从所述空间分配表中,查询值为第二值的至少一个目标分配位,所述第二值用于标识对应重删块已使用;
所述复制单元502,还用于针对每一个目标分配位对应的第三重删块,将该第三重删块中的数据复制到所述目标重删池中的第四重删块,该第四重删块与该第三重删块具有相同的虚拟地址;
所述复制单元502,还用于针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN。
作为一个实施例,所述装置还包括:
创建单元,用于在启动复制的开始时刻,针对每一个源重删LUN,创建该源重删LUN对应逻辑空间映射表的快照;
获取单元,用于从该源重删LUN对应的逻辑空间映射表的快照中,获取该源重删LUN对应的逻辑空间映射表。
至此,完成图5所示装置的描述。
由以上描述可以看出,本申请实施例直接利用重删池中的重删块进行数据复制。由于源重删池中的数据均为已经过重删处理的非重复数据,因此,基于该不包含重复数据的源重删池复制得到的目标重删池中的数据也不为重复数据,可有效节约存储设备的存储资源。且由于该过程中无需对目标重删LUN执行复杂的重删处理流程(指纹计算、指纹比对、指纹库维护),因此,可有效提升重删LUN的数据保护效率,并降低对目标重删LUN所在存储设备的处理性能要求。此外,由于无需维护目标重删LUN的指纹库,因此,可进一步节约目标重删LUN所在存储设备的存储资源。
以上所述仅为本申请实施例的较佳实施例而已,并不用以限制本申请,凡在本申请实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种重删数据保护方法,其特征在于,应用于存储设备,所述存储设备包括待复制的至少一个源重删LUN和用于存储所述至少一个源重删LUN对应数据的源重删池,源重删LUN与用于复制该源重删LUN的目标重删LUN一一对应,所述至少一个源重删LUN对应的至少一个目标重删LUN位于另一存储设备,所述另一存储设备还包括用于存储所述至少一个目标重删LUN对应数据的目标重删池,所述源重删池和所述目标重删池均由虚拟地址连续的至少一个虚拟地址段组成,每一个虚拟地址段对应该虚拟地址段所属重删池所在的存储设备中的一段物理空间,所述源重删池和所述目标重删池均按照预设重删块大小划分为多个重删块,所述源重删LUN和所述目标重删LUN均按照所述预设重删块大小划分为多个逻辑块,所述方法包括:
确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块;
针对每一个第一重删块,将该第一重删块中的数据复制到所述目标重删池中的第二重删块,该第二重删块与该第一重删块具有相同的虚拟地址;
针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN,所述逻辑空间映射表用于记录已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系。
2.如权利要求1所述的方法,其特征在于,所述源重删池对应有写入位图,所述写入位图包括与所述源重删池中各重删块一一对应的写入位,所述写入位的值用于标识自上一次复制之后对应重删块是否写入过数据,所述确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
从所述写入位图中,查询值为第一值的至少一个目标写入位,所述第一值用于标识自上一次复制之后对应重删块写入过数据;
针对每一个目标写入位,将该目标写入位对应的重删块确定为第一重删块。
3.如权利要求1所述的方法,其特征在于,所述源重删池对应有写入列表,所述写入列表用于记录自上一次复制之后所述源重删池中被写入数据的至少一个重删块的标识,所述确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
获取所述写入列表中各重删块的标识;
针对每一个获取到的重删块的标识,将该重删块的标识所标识的重删块确定为第一重删块。
4.如权利要求1所述的方法,其特征在于,所述源重删池对应有空间分配表,所述空间分配表包括与所述源重删块中各重删块一一对应的分配位,所述分配位的值用于标识对应重删块是否已使用,所述方法还包括:
在首次复制时,从所述空间分配表中,查询值为第二值的至少一个目标分配位,所述第二值用于标识对应重删块已使用;
针对每一个目标分配位对应的第三重删块,将该第三重删块中的数据复制到所述目标重删池中的第四重删块,该第四重删块与该第三重删块具有相同的虚拟地址;
针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN。
5.如权利要求1或4所述的方法,其特征在于,所述方法还包括:
在启动复制的开始时刻,针对每一个源重删LUN,创建该源重删LUN对应逻辑空间映射表的快照;
所述将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN之前,所述方法还包括:
从该源重删LUN对应的逻辑空间映射表的快照中,获取该源重删LUN对应的逻辑空间映射表。
6.一种重删数据保护装置,其特征在于,应用于存储设备,所述存储设备包括待复制的至少一个源重删LUN和用于存储所述至少一个源重删LUN对应数据的源重删池,源重删LUN与用于复制该源重删LUN的目标重删LUN一一对应,所述至少一个源重删LUN对应的至少一个目标重删LUN位于另一存储设备,所述另一存储设备还包括用于存储所述至少一个目标重删LUN对应数据的目标重删池,所述源重删池和所述目标重删池均由虚拟地址连续的至少一个虚拟地址段组成,每一个虚拟地址段对应该虚拟地址段所属重删池所在的存储设备中的一段物理空间,所述源重删池和所述目标重删池均按照预设重删块大小划分为多个重删块,所述源重删LUN和所述目标重删LUN均按照所述预设重删块大小划分为多个逻辑块,所述装置包括:
确定单元,用于确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块;
复制单元,用于针对每一个第一重删块,将该第一重删块中的数据复制到所述目标重删池中的第二重删块,该第二重删块与该第一重删块具有相同的虚拟地址;
所述复制单元,还用于针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN,所述逻辑空间映射表用于记录已映射逻辑块的逻辑地址与重删块的虚拟地址之间的映射关系。
7.如权利要求6所述的装置,其特征在于,所述源重删池对应有写入位图,所述写入位图包括与所述源重删池中各重删块一一对应的写入位,所述写入位的值用于标识自上一次复制之后对应重删块是否写入过数据,所述确定单元确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
从所述写入位图中,查询值为第一值的至少一个目标写入位,所述第一值用于标识自上一次复制之后对应重删块写入过数据;
针对每一个目标写入位,将该目标写入位对应的重删块确定为第一重删块。
8.如权利要求6所述的装置,其特征在于,所述源重删池对应有写入列表,所述写入列表用于记录自上一次复制之后所述源重删池中被写入数据的至少一个重删块的标识,所述确定单元确定自上一次复制之后所述源重删池中被写入数据的至少一个第一重删块,包括:
获取所述写入列表中各重删块的标识;
针对每一个获取到的重删块的标识,将该重删块的标识所标识的重删块确定为第一重删块。
9.如权利要求6所述的装置,其特征在于,所述源重删池对应有空间分配表,所述空间分配表包括与所述源重删块中各重删块一一对应的分配位,所述分配位的值用于标识对应重删块是否已使用,所述装置还包括:
查询单元,用于在首次复制时,从所述空间分配表中,查询值为第二值的至少一个目标分配位,所述第二值用于标识对应重删块已使用;
所述复制单元,还用于针对每一个目标分配位对应的第三重删块,将该第三重删块中的数据复制到所述目标重删池中的第四重删块,该第四重删块与该第三重删块具有相同的虚拟地址;
所述复制单元,还用于针对每一个源重删LUN,将该源重删LUN对应的逻辑空间映射表复制到对应的目标重删LUN。
10.如权利要求6或9所述的装置,其特征在于,所述装置还包括:
创建单元,用于在启动复制的开始时刻,针对每一个源重删LUN,创建该源重删LUN对应逻辑空间映射表的快照;
获取单元,用于从该源重删LUN对应的逻辑空间映射表的快照中,获取该源重删LUN对应的逻辑空间映射表。
CN202110873005.5A 2021-07-30 2021-07-30 重删数据保护方法及装置 Active CN113568584B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110873005.5A CN113568584B (zh) 2021-07-30 2021-07-30 重删数据保护方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110873005.5A CN113568584B (zh) 2021-07-30 2021-07-30 重删数据保护方法及装置

Publications (2)

Publication Number Publication Date
CN113568584A CN113568584A (zh) 2021-10-29
CN113568584B true CN113568584B (zh) 2023-04-21

Family

ID=78169522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110873005.5A Active CN113568584B (zh) 2021-07-30 2021-07-30 重删数据保护方法及装置

Country Status (1)

Country Link
CN (1) CN113568584B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2945050A1 (en) * 2014-05-14 2015-11-18 Kaminario Technologies Ltd Deduplication in a storage system
CN107038092A (zh) * 2017-04-17 2017-08-11 杭州宏杉科技股份有限公司 一种数据复制方法及装置
CN107632786A (zh) * 2017-09-20 2018-01-26 杭州宏杉科技股份有限公司 一种数据重删的管理方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589640B2 (en) * 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US20150095555A1 (en) * 2013-09-27 2015-04-02 Avalanche Technology, Inc. Method of thin provisioning in a solid state disk array
WO2017116264A1 (en) * 2015-12-29 2017-07-06 Emc Corporation Efficient deduplication of logical units

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2945050A1 (en) * 2014-05-14 2015-11-18 Kaminario Technologies Ltd Deduplication in a storage system
CN107038092A (zh) * 2017-04-17 2017-08-11 杭州宏杉科技股份有限公司 一种数据复制方法及装置
CN107632786A (zh) * 2017-09-20 2018-01-26 杭州宏杉科技股份有限公司 一种数据重删的管理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
廖海生 ; 赵跃龙 ; .基于MD5算法的重复数据删除技术的研究与改进.计算机测量与控制.2010,(第03期),全文. *

Also Published As

Publication number Publication date
CN113568584A (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
US9251049B2 (en) Data storage space recovery system and method
CN110399310B (zh) 一种存储空间的回收方法及装置
US20110082834A1 (en) Storage control device to backup data stored in virtual volume
US20070288711A1 (en) Snapshot copy management method used for logic volume manager
CN107423233B (zh) 一种可写快照实现方法和装置
WO2020081512A1 (en) Improving available storage space in a system with varying data redundancy schemes
EP3767450A1 (en) Method for deduplication in storage system, storage system, and controller
CN103761053A (zh) 一种数据处理方法和装置
CN103761190A (zh) 数据处理方法及装置
CN111007990B (zh) 一种对快照系统中数据块引用进行快速定位的定位方法
CN112181299B (zh) 数据修复方法及分布式存储集群
US10725970B2 (en) Block storage device with optional deduplication
US11288006B2 (en) Storage system and volume copying method where changes to address conversion table is rolled back
CN113568584B (zh) 重删数据保护方法及装置
US20210117112A1 (en) Placement of metadata on data storage drives in a first storage enclosure of a data storage system
CN113568583B (zh) 重删数据保护方法及装置
CN113868018B (zh) 一种数据保存方法及装置和一种数据恢复方法
US6910214B1 (en) Method, system, and program for converting an input parameter list into an output parameter list
CN107545022B (zh) 磁盘管理方法及装置
CN111444114B (zh) 一种非易失性内存中数据的处理方法、装置及系统
CN112052217B (zh) 快照实现方法及装置
CN113254265A (zh) 基于固态硬盘的快照实现方法、存储系统
CN113050892B (zh) 重删数据保护方法及装置
CN113050891B (zh) 重删数据保护方法及装置
CN108763270A (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