CN114442945B - 一种数据复制方法、系统及设备 - Google Patents

一种数据复制方法、系统及设备 Download PDF

Info

Publication number
CN114442945B
CN114442945B CN202210006816.XA CN202210006816A CN114442945B CN 114442945 B CN114442945 B CN 114442945B CN 202210006816 A CN202210006816 A CN 202210006816A CN 114442945 B CN114442945 B CN 114442945B
Authority
CN
China
Prior art keywords
target
lun
bit
bitmap
transmission bitmap
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
CN202210006816.XA
Other languages
English (en)
Other versions
CN114442945A (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 CN202210006816.XA priority Critical patent/CN114442945B/zh
Publication of CN114442945A publication Critical patent/CN114442945A/zh
Application granted granted Critical
Publication of CN114442945B publication Critical patent/CN114442945B/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/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
    • 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/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/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种数据复制方法、系统及设备,属于存储设备的源LUN在确定开启一次新的复制时,从目标LUN列表中删除所有bit均为0的传输位图对应的目标LUN,根据目标LUN列表中各目标LUN对应的传输位图生成总传输位图,更新各目标LUN的传输位图,根据总传输位图将源LUN的数据增量复制至各目标LUN;重复上述步骤,直到目标LUN列表为空。可见,本申请支持一对多复制,一个LUN复制到多个LUN时,针对多个LUN均需要传输的差异数据,只需要依据生成的总传输位图读取一次需要复制的数据,能够减少读数据的次数,从而在降低复制过程对源LUN性能影响的同时,还能够降低RPO。

Description

一种数据复制方法、系统及设备
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据复制方法、系统及设备。
背景技术
随着大数据时代的到来,数据量越来越大,也越来越重要,而数据备份也成为了一种用于维持数据持久性保护的一种常用手段之一,这也是应对“硬灾难”的常用方案。硬灾难,故名思议,指“硬”的灾难,通常指由于RAID(Redundant Arrays of IndependentDisks,磁盘阵列)故障、地震、火灾等因素导致生产数据物理上损坏或者不能读取。通过复制技术,可以在灾备中心为生产数据卷保存一份数据副本,副本数据卷和生成数据卷在物理上独立,当生产数据卷发生硬灾难时,可使用副本数据卷进行数据恢复。
为了保障数据的安全性和持久可用性,通常还有在多个数据中心分别保存多份数据副本,一种常见的实现手段是多跳复制技术方案,即将LUNA的数据复制到LUNB中、再将LUNB的数据复制到LUNC中、然后再继续将LUNC的数据复制到LUND等,按照上述复制顺序依次传递下去。不难看出,该技术方案只有在LUNA到LUNB的新一次复制完成后,才能开始LUNB到LUNC的新一次复制,以此类推,这就会导致后面LUN数据的复制比较滞后,使得业务系统所能容忍的数据丢失量RPO(Recovery Point Objective,数据恢复点目标)变大。
发明内容
本申请提供了一种数据迁移方法、系统及设备,以在降低对源LUN性能影响的同时,还能够降低RPO。
本申请提供的技术方案包括:
第一方面,本申请实施例提供了一种数据复制方法,应用于属于存储设备的源LUN,所述存储设备包括源LUN和用于复制所述源LUN上数据的至少一个目标LUN,所述方法包括:
检查已为目标LUN列表中各目标LUN创建的传输位图,如果存在所有bit的值均为0的传输位图,则从所述目标LUN列表中删除所述所有bit的值均为0的传输位图对应的目标LUN;其中,所述目标LUN列表为包含本次需要复制所述源LUN上数据的目标LUN构成的列表,所述目标LUN和所述传输位图呈一一对应关系,所述传输位图中每个bit对应已被划分的存储块,bit的值为0表示对应的存储块不需要复制,bit的值为1表示对应的存储块需要复制;
根据所述目标LUN列表中各目标LUN对应的传输位图,生成总传输位图,并更新各目标LUN的传输位图;其中,当所述总传输位图的任一个bit的值为1时,则表示用于生成所述总传输位图的各传输位图中与该bit对应的bit的值均为1;当所述总传输位图的任一个bit的值为0时,则表示存在至少一个目标LUN的传输位图中与该bit对应的bit的值为0;
根据所述总传输位图,将所述源LUN的数据增量复制至所述目标LUN列表中的各目标LUN;
返回执行所述检查已为目标LUN列表中各目标LUN创建的传输位图的步骤,直到所述目标LUN列表为空。
第二方面,本申请实施例提供了一种数据复制装置,
应用于属于存储设备的源LUN,所述存储设备包括源LUN和用于复制所述源LUN上数据的至少一个目标LUN,所述源LUN已完成所述源LUN至所述至少一个目标LUN的初始复制,所述装置包括:
目标LUN删除模块,用于检查已为目标LUN列表中各目标LUN创建的传输位图,如果存在所有bit的值均为0的传输位图,则从所述目标LUN列表中删除所述所有bit的值均为0的传输位图对应的目标LUN;其中,所述目标LUN列表为包含本次需要复制所述源LUN上数据的目标LUN构成的列表,所述目标LUN和所述传输位图呈一一对应关系,所述传输位图中每个bit对应已被划分的存储块,bit的值为0表示对应的存储块不需要复制,bit的值为1表示对应的存储块需要复制;
传输位图更新模块,用于根据所述目标LUN列表中各目标LUN对应的传输位图,生成总传输位图,并更新各目标LUN的传输位图;其中,当所述总传输位图的任一个bit的值为1时,则表示用于生成所述总传输位图的各传输位图中与该bit对应的bit的值均为1;当所述总传输位图的任一个bit的值为0时,则表示存在至少一个目标LUN的传输位图中与该bit对应的bit的值为0;
复制模块,用于根据所述总传输位图,将所述源LUN的数据增量复制至所述目标LUN列表中的各目标LUN;
重复执行模块,用于返回执行所述检查已为目标LUN列表中各目标LUN创建的传输位图的步骤,直到所述目标LUN列表为空。
由以上技术方案可以看出,本申请中,属于存储设备的源LUN在确定开启一次新的复制时,如果检查到目标LUN列表中的目标LUN存在所有bit均为0的传输位图,则从目标LUN列表中删除所有bit均为0的传输位图对应的目标LUN,根据目标LUN列表中各目标LUN对应的传输位图生成总传输位图,更新各目标LUN的传输位图,根据总传输位图,将源LUN的数据增量复制至目标LUN列表中的各目标LUN;重复上述步骤,直到所述目标LUN列表为空。可见,本申请支持一对多复制,一个LUN复制到多个LUN时,针对多个LUN均需要传输的差异数据,只需要依据生成的总传输位图读取一次需要复制的数据,能够减少读数据的次数,从而在降低复制过程对源LUN性能影响的同时,还能够降低RPO。
附图说明
图1为本申请提供的一种数据复制方法的流程图;
图2为本申请提供的实现步骤102的一种数据复制方法的流程图;
图3为本申请提供的实现步骤102的另一种数据复制方法的流程图;
图4为本申请提供的一种数据复制装置的结构示意图;
图5为本申请提供的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,图1为本申请提供的一种数据复制方法的流程图,应用于属于存储设备的源LUN,该存储设备包括源LUN和用于复制源LUN上数据的至少一个目标LUN。源LUN为需要被复制数据的LUN,目标LUN为将源LUN上的数据复制到的LUN。LUN是指基于RAID创建的独立可用的存储空间,通常用于写入前端应用服务器的数据。在本实施例中,源LUN已完成源LUN到至少一个目标LUN的初始复制,这就意味着源LUN已经将全量数据复制到至少一个目标LUN。同时存储设备中还维持源LUN到至少一个目标LUN的复制业务,以被后续进行一次新的复制时再继续使用,本实施例中开启的一次新的复制可以理解为实现源LUN一次性的同步至至少一个目标LUN的复制。
在确定开启一次新的复制时,该方法实现的流程可包括以下步骤:
步骤101,检查已为目标LUN列表中各目标LUN创建的传输位图,如果存在所有bit的值均为0的传输位图,则从所述目标LUN列表中删除所述所有bit的值均为0的传输位图对应的目标LUN。
在本实施例中,目标LUN列表为包含本次需要复制源LUN上数据的目标LUN构成的列表,该目标LUN列表中每一个目标LUN均对应一个传输位图。传输位图中每个bit对应该传输位图对应的目标LUN中已被划分的存储块,其中,bit的值为0表示对应的存储块不需要复制,bit的值为1表示对应的存储块需要复制。针对每一目标LUN的传输位图,如果该目标LUN的传输位图中所有bit的值均为0,则表示本次不需要从源LUN复制数据到该目标LUN或者已经完成了本次从源LUN到该目标LUN的增量复制,基于此,从目标LUN列表中删除该目标LUN。
步骤102,根据所述目标LUN列表中各目标LUN对应的传输位图,生成总传输位图,并更新各目标LUN的传输位图。
需要注意的是,本步骤中,目标LUN列表中的各目标LUN的传输位图中均存在值不为0的bit,即,各目标LUN均需要从源LUN复制数据。
作为一个实施例,如图2所示,实现步骤102的实现方式可以包括如下步骤201~步骤203:
步骤201,创建总传输位图,并初始化所述总传输位图,以使所述总传输位图中所有bit的值均为0。
在本步骤中,初始化后的总传输位图中各bit的值均为0。
步骤202,针对所述总传输位图中的每一个bit,依次检查所述目标LUN列表中各目标LUN对应的传输位图中与该bit对应的bit的值是否均为1,如果是,则执行步骤203。
在本实施例中,总传输位图中每一个bit均对应各目标LUN的传输位图中的一个bit。
示例性的,总传输位图中有3个bit,记为bit1、bit2和bit3,目标LUN列表中存在2个目标LUN,分别为LUNA和LUNB,LUNA的传输位图也存在3个bit,记为LUNA-bit1、LUNA-bit2和LUNA-bit3,LUNB的传输位图也存在3个bit,记为LUNB-bit1、LUNB-bit2和LUNB-bit3。总传输位图中的bit1对应LUNA-bit1和LUNB-bit1,bit2对应LUNA-bit2和LUNB-bit2,bit3对应LUNA-bit3和LUNB-bit3。
步骤203,将所述总传输位图中该bit的值更改为1,并将各目标LUN的传输位图中与该bit对应的bit的值更改为0。
本实施例中,如果每一目标LUN的传输位图中与该bit对应的bit的值均为1,这就表示各目标LUN中与该bit对应的bit对应的数据需要复制。基于此,将总传输位图中该bit的值更改为1。在更改总传输位图中该bit的值为1之后,这就表示各目标LUN对应该bit的数据可以通过总传输位图进行复制,基于此,将各目标LUN的传输位图中与该bit对应的bit的值更改为0。
与上述描述相应地,如果总传输位图中某个bit的值为1,这就表示所有目标LUN的传输位图中对应bit的值均为1,即,该bit对应的数据均需要复制到所有目标LUN中。如果总传输位图中某个bit的值为0,表示至少一个目标LUN的传输位图对应bit的值为0,即,该bit对应的数据不需要复制到该传输位图对应的至少一个目标LUN中。
本实施例中,在复制过程中,将优先基于总传输位图进行复制,而本实施例之所以更新每个目标LUN的传输位图,是由于可以基于总传输位图进行复制,后续的复制过程中不再需要复制这部分数据,因此同步更新每个目标LUN的传输位图。
作为另一个实施例,如图3所示,实现步骤102的实现方式可以包括如下步骤步骤301~步骤304:
步骤301,创建所述总传输位图,并初始化所述总传输位图,以使所述总传输位图中所有bit的值均为0。
步骤302,按照所述总传输位图中各个bit依次检查所述目标LUN列表中与该bit对应的bit的值是否均为1,如果是,则执行步骤303。
步骤303,将所述总传输位图中该bit的值更改为1。
步骤304,在更新完所述总传输位图之后,依次更新各目标LUN的传输位图,以使各目标LUN的传输位图中和所述总传输位图中值为1的bit对应的bit的值为0。
在本实施例中,更新总传输位图的过程中不更新所有目标LUN的传输位图,待总传输位图更新完成后,再依次更新每个目标LUN的传输位图,其中,更新时,是将每个目标LUN的传输位图中和总传输位图中值为1的bit对应的bit的值修改为0。
步骤103,根据所述总传输位图,将所述源LUN的数据增量复制至所述目标LUN列表中的各目标LUN。
总传输位图中各bit的值标记着各bit对应的数据是否需要被复制。基于此,基于总传输位图中的各bit的值,将源LUN的数据增量复制至目标LUN列表中的各目标LUN。
作为一个实施例,实现步骤103的实现方式可以包括:根据所述总传输位图,从本次复制对应的快照S中读取待复制的数据,并将所述待复制的数据分别复制至所述目标列表中的各目标LUN。本实施例中的快照S是在开启一次新的复制时创建的。源LUN根据总传输位图,从快照S读取需复制的数据,然后将读取到的数据分别同步至多个目标LUN。即,针对需要复制到多个目标LUN的数据,源LUN仅从快照读取一次数据,这样,能够减少读快照的次数,进而降低复制过程对源LUN性能的影响。
步骤104,返回执行步骤101的步骤,直到所述目标LUN列表为空。
本实施例中,返回执行步骤101的步骤,其目的是为了再次检查目标LUN列表中是否存在未完成本次复制的目标LUN,即,是否还存在任一bit的值不为0的传输位图,如果存在,继续进行复制,直到目标LUN列表为空。而目标列表为空则就意味着所有目标LUN均完成了本次的复制。在一些实施例中,为了释放源LUN的空间,则在目标LUN列表为空之后,删除总传输位图,以为后续的下一次新的复制腾空间。
至此完成了图1所示的描述。
由以上技术方案可以看出,本申请中,属于存储设备的源LUN在确定开启一次新的复制时,如果检查到目标LUN列表中的目标LUN存在所有bit均为0的传输位图,则从目标LUN列表中删除所有bit均为0的传输位图对应的目标LUN,根据目标LUN列表中各目标LUN对应的传输位图生成总传输位图,更新各目标LUN的传输位图,根据总传输位图,将源LUN的数据增量复制至目标LUN列表中的各目标LUN;重复上述步骤,直到所述目标LUN列表为空。可见,本申请支持一对多复制,一个LUN复制到多个LUN时,针对多个LUN均需要传输的差异数据,只需要依据生成的总传输位图读取一次需要复制的数据,能够减少读数据的次数,从而在降低复制过程对源LUN性能影响的同时,还能够降低RPO。
参见图4,图4为本实施例提供的数据复制装置400的装置结构图。应用于属于存储设备的源LUN,所述存储设备包括源LUN和用于复制所述源LUN上数据的至少一个目标LUN,所述源LUN已完成所述源LUN至所述至少一个目标LUN的初始复制,所述装置包括:
目标LUN删除模块401,用于在确定开启一次新的复制时,检查已为目标LUN列表中各目标LUN创建的传输位图,如果存在所有bit的值均为0的传输位图,则从所述目标LUN列表中删除所述所有bit的值均为0的传输位图对应的目标LUN;其中,所述目标LUN列表为包含本次需要复制所述源LUN上数据的目标LUN构成的列表,所述目标LUN和所述传输位图呈一一对应关系,所述传输位图中每个bit对应已被划分的存储块,bit的值为0表示对应的存储块不需要复制,bit的值为1表示对应的存储块需要复制;
传输位图更新模块402,用于根据所述目标LUN列表中各目标LUN对应的传输位图,生成总传输位图,并更新各目标LUN的传输位图;其中,当所述总传输位图的任一个bit的值为1时,则表示用于生成所述总传输位图的各传输位图中与该bit对应的bit的值均为1;当所述总传输位图的任一个bit的值为0时,则表示存在至少一个目标LUN的传输位图中与该bit对应的bit的值为0;
复制模块403,用于根据所述总传输位图,将所述源LUN的数据增量复制至所述目标LUN列表中的各目标LUN;
重复执行模块404,用于返回执行所述检查已为目标LUN列表中各目标LUN创建的传输位图的步骤,直到所述目标LUN列表为空。
作为一个实施例,该传输位图更新模块402具体用于:
创建总传输位图,并初始化所述总传输位图,以使所述总传输位图中所有bit的值均为0;
针对所述总传输位图中的每一个bit,依次检查所述目标LUN列表中各目标LUN对应的传输位图中与该bit对应的bit的值是否均为1,如果是,则将所述总传输位图中该bit的值更改为1,并将各目标LUN的传输位图中与该bit对应的bit的值更改为0。
作为一个实施例,该传输位图更新模块402具体用于:
创建所述总传输位图,并初始化所述总传输位图,以使所述总传输位图中所有bit的值均为0;
针对所述总传输位图中的每一个bit,依次检查所述目标LUN列表中各目标LUN对应的传输位图中与该bit对应的bit的值是否均为1,如果是,则将所述总传输位图中该bit的值更改为1;
在更新完所述总传输位图之后,依次更新各目标LUN的传输位图,以使各目标LUN的传输位图中和所述总传输位图中值为1的bit对应的bit的值为0。
作为一个实施例,该复制模块403具体用于:
根据所述总传输位图,从本次复制对应的快照S中读取待复制的数据,并将所述待复制的数据分别复制至所述目标列表中的各目标LUN。
作为一个实施例,该装置还包括:删除所述总传输位图。
至此,完成图4所示系统的结构图。
由以上技术方案可以看出,本申请中,属于存储设备的源LUN在确定开启一次新的复制时,如果检查到目标LUN列表中的目标LUN存在所有bit均为0的传输位图,则从目标LUN列表中删除所有bit均为0的传输位图对应的目标LUN,根据目标LUN列表中各目标LUN对应的传输位图生成总传输位图,更新各目标LUN的传输位图,根据总传输位图,将源LUN的数据增量复制至目标LUN列表中的各目标LUN;重复上述步骤,直到所述目标LUN列表为空。可见,本申请支持一对多复制,一个LUN复制到多个LUN时,针对多个LUN均需要传输的差异数据,只需要依据生成的总传输位图读取一次需要复制的数据,能够减少读数据的写入次数,从而在降低复制过程对源LUN性能影响的同时,还能够降低RPO。
上述装置中各个设备的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本申请实施例提供的电子设备,从硬件层面而言,硬件架构示意图可以参见图5所示。包括:机器可读存储介质和处理器,其中:所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述示例公开的应用于数据复制操作。
本申请实施例提供的机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述示例公开的应用于数据复制操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (11)

1.一种数据复制方法,其特征在于,应用于属于存储设备的源LUN,所述存储设备包括源LUN和用于复制所述源LUN上数据的至少一个目标LUN,所述源LUN已完成所述源LUN至所述至少一个目标LUN的初始复制,在确定开启一次新的复制时,所述方法包括:
检查已为目标LUN列表中各目标LUN创建的传输位图,如果存在所有bit的值均为0的传输位图,则从所述目标LUN列表中删除所述所有bit的值均为0的传输位图对应的目标LUN;其中,所述目标LUN列表为包含本次需要复制所述源LUN上数据的目标LUN构成的列表,所述目标LUN和所述传输位图呈一一对应关系,所述传输位图中每个bit对应已被划分的存储块,bit的值为0表示对应的存储块不需要复制,bit的值为1表示对应的存储块需要复制;
根据所述目标LUN列表中各目标LUN对应的传输位图,生成总传输位图,并更新各目标LUN的传输位图;其中,当所述总传输位图的任一个bit的值为1时,则表示用于生成所述总传输位图的各传输位图中与该bit对应的bit的值均为1;当所述总传输位图的任一个bit的值为0时,则表示存在至少一个目标LUN的传输位图中与该bit对应的bit的值为0;
根据所述总传输位图,将所述源LUN的数据增量复制至所述目标LUN列表中的各目标LUN;
返回执行所述检查已为目标LUN列表中各目标LUN创建的传输位图的步骤,直到所述目标LUN列表为空。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标LUN列表中各目标LUN对应的传输位图,生成总传输位图,并更新各目标LUN的传输位图,包括:
创建总传输位图,并初始化所述总传输位图,以使所述总传输位图中所有bit的值均为0;
针对所述总传输位图中的每一个bit,依次检查所述目标LUN列表中各目标LUN对应的传输位图中与该bit对应的bit的值是否均为1,如果是,则将所述总传输位图中该bit的值更改为1,并将各目标LUN的传输位图中与该bit对应的bit的值更改为0。
3.根据权利要求1所述的方法,其特征在于,所述据所述目标LUN列表中各目标LUN对应的传输位图,生成总传输位图,并更新各目标LUN的传输位图,包括:
创建所述总传输位图,并初始化所述总传输位图,以使所述总传输位图中所有bit的值均为0;
针对所述总传输位图中的每一个bit,依次检查所述目标LUN列表中各目标LUN对应的传输位图中与该bit对应bit的值是否均为1,如果是,则将所述总传输位图中该bit的值更改为1;
在更新完所述总传输位图之后,依次更新各目标LUN的传输位图,以使各目标LUN的传输位图中和所述总传输位图中值为1的bit对应的bit的值为0。
4.根据权利要求1所述的方法,其特征在于,所述根据所述总传输位图,将所述源LUN的数据增量复制至所述目标LUN列表中的各目标LUN,包括:
根据所述总传输位图,从本次复制对应的快照S中读取待复制的数据,并将所述待复制的数据分别复制至所述目标列表中的各目标LUN。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述总传输位图,将所述源LUN中数据增量复制至所述目标LUN列表中的各目标LUN之后,还包括:删除所述总传输位图。
6.一种数据复制装置,其特征在于,应用于属于存储设备的源LUN,所述存储设备包括源LUN和用于复制所述源LUN上数据的至少一个目标LUN,所述源LUN已完成所述源LUN至所述至少一个目标LUN的初始复制,所述装置包括:
目标LUN删除模块,用于检查已为目标LUN列表中各目标LUN创建的传输位图,如果存在所有bit的值均为0的传输位图,则从所述目标LUN列表中删除所述所有bit的值均为0的传输位图对应的目标LUN;其中,所述目标LUN列表为包含本次需要复制所述源LUN上数据的目标LUN构成的列表,所述目标LUN和所述传输位图呈一一对应关系,所述传输位图中每个bit对应已被划分的存储块,bit的值为0表示对应的存储块不需要复制,bit的值为1表示对应的存储块需要复制;
传输位图更新模块,用于根据所述目标LUN列表中各目标LUN对应的传输位图,生成总传输位图,并更新各目标LUN的传输位图;其中,当所述总传输位图的任一个bit的值为1时,则表示用于生成所述总传输位图的各传输位图中与该bit对应的bit的值均为1;当所述总传输位图的任一个bit的值为0时,则表示存在至少一个目标LUN的传输位图中与该bit对应的bit的值为0;
复制模块,用于根据所述总传输位图,将所述源LUN的数据增量复制至所述目标LUN列表中的各目标LUN;
重复执行模块,用于返回执行所述检查已为目标LUN列表中各目标LUN创建的传输位图的步骤,直到所述目标LUN列表为空。
7.根据权利要求6所述的装置,其特征在于,所述传输位图更新模块具体用于:
创建总传输位图,并初始化所述总传输位图,以使所述总传输位图中所有bit的值均为0;
针对所述总传输位图中的每一个bit,依次检查所述目标LUN列表中各目标LUN对应的传输位图中与该bit对应的bit的值是否均为1,如果是,则将所述总传输位图中该bit的值更改为1,并将各目标LUN的传输位图中与该bit对应的bit的值更改为0。
8.根据权利要求6所述的装置,其特征在于,所述传输位图更新模块具体用于:
创建所述总传输位图,并初始化所述总传输位图,以使所述总传输位图中所有bit的值均为0;
针对所述总传输位图中的每一个bit,依次检查所述目标LUN列表中各目标LUN对应的传输位图中与该bit对应的bit的值是否均为1,如果是,则将所述总传输位图中该bit的值更改为1;
在更新完所述总传输位图之后,依次更新各目标LUN的传输位图,以使各目标LUN的传输位图中和所述总传输位图中值为1的bit对应的bit的值为0。
9.根据权利要求6所述的装置,其特征在于,所述复制模块具体用于:
根据所述总传输位图,从本次复制对应的快照S中读取待复制的数据,并将所述待复制的数据分别复制至所述目标列表中的各目标LUN。
10.根据权利要求6所述的装置,其特征在于,该装置还包括:删除所述总传输位图。
11.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述1~5中任一项所述方法的步骤。
CN202210006816.XA 2022-01-05 2022-01-05 一种数据复制方法、系统及设备 Active CN114442945B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210006816.XA CN114442945B (zh) 2022-01-05 2022-01-05 一种数据复制方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210006816.XA CN114442945B (zh) 2022-01-05 2022-01-05 一种数据复制方法、系统及设备

Publications (2)

Publication Number Publication Date
CN114442945A CN114442945A (zh) 2022-05-06
CN114442945B true CN114442945B (zh) 2023-04-25

Family

ID=81365894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210006816.XA Active CN114442945B (zh) 2022-01-05 2022-01-05 一种数据复制方法、系统及设备

Country Status (1)

Country Link
CN (1) CN114442945B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9400611B1 (en) * 2013-03-13 2016-07-26 Emc Corporation Data migration in cluster environment using host copy and changed block tracking
CN107038092A (zh) * 2017-04-17 2017-08-11 杭州宏杉科技股份有限公司 一种数据复制方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727243B2 (en) * 2015-06-30 2017-08-08 International Business Machines Corporation Using inactive copy relationships to resynchronize data between storages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9400611B1 (en) * 2013-03-13 2016-07-26 Emc Corporation Data migration in cluster environment using host copy and changed block tracking
CN107038092A (zh) * 2017-04-17 2017-08-11 杭州宏杉科技股份有限公司 一种数据复制方法及装置

Also Published As

Publication number Publication date
CN114442945A (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
US7987158B2 (en) Method, system and article of manufacture for metadata replication and restoration
US7761732B2 (en) Data protection in storage systems
US7865473B2 (en) Generating and indicating incremental backup copies from virtual copies of a data set
JP4900811B2 (ja) 記憶システムおよび記憶制御方法
US7194487B1 (en) System and method for recording the order of a change caused by restoring a primary volume during ongoing replication of the primary volume
EP0405926B1 (en) Method and apparatus for managing a shadow set of storage media
US7707373B2 (en) Storage system and backup method
US7743227B1 (en) Volume restoration using an accumulator map
US7277997B2 (en) Data consistency for mirroring updatable source data storage
US10146633B2 (en) Data recovery from multiple data backup technologies
JP2007518174A (ja) 仮想化を用いるリモート・コピーの一貫性の維持(ストレージをコピーする方法およびシステム)
US20160085445A1 (en) Method operating raid system and data storage systems using write command log
US8151069B1 (en) Multiprotection for snapsnots
US9558084B2 (en) Recovery control in mirrored disks
CN114442944B (zh) 一种数据复制方法、系统及设备
CN114442945B (zh) 一种数据复制方法、系统及设备
US9063898B1 (en) Method of restoring backup data
CN110704239B (zh) 数据复制方法、装置、电子设备
CN114442941B (zh) 一种数据迁移方法、系统、存储介质及设备
CN114442942B (zh) 一种数据迁移方法、系统、设备及存储介质
US11494090B2 (en) Systems and methods of maintaining fault tolerance for new writes in degraded erasure coded distributed storage
CN114442943B (zh) 一种数据迁移方法、系统及设备
US11182250B1 (en) Systems and methods of resyncing data in erasure-coded objects with multiple failures
US11403189B2 (en) System and method of resyncing data in erasure-coded objects on distributed storage systems without requiring checksum in the underlying storage
US20240111623A1 (en) Extended protection storage system put operation

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