CN111125001A - 快照复制方法、电子设备和计算机程序产品 - Google Patents

快照复制方法、电子设备和计算机程序产品 Download PDF

Info

Publication number
CN111125001A
CN111125001A CN201811288911.3A CN201811288911A CN111125001A CN 111125001 A CN111125001 A CN 111125001A CN 201811288911 A CN201811288911 A CN 201811288911A CN 111125001 A CN111125001 A CN 111125001A
Authority
CN
China
Prior art keywords
snapshot
destination device
source device
user
session
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.)
Pending
Application number
CN201811288911.3A
Other languages
English (en)
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201811288911.3A priority Critical patent/CN111125001A/zh
Priority to US16/654,283 priority patent/US11409700B2/en
Publication of CN111125001A publication Critical patent/CN111125001A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • 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
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • 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/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • 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/061Improving I/O performance
    • 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/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/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

本公开的实施例提供了一种快照复制方法、电子设备和计算机程序产品。该方法包括响应于用于快照异步复制的第一会话被建立在第一源设备与目的地设备之间,确定第一源设备与目的地设备之间是否存在共同的基线快照。该方法还包括响应于确定不存在基线快照,确定从第二源设备到目的地设备的初始同步是否完成。该方法进一步包括基于确定的结果,将第一源设备处的至少一个用户快照复制到目的地设备。利用本公开的实施例,可以大大减少目的地设备处的重复的用户快照。目的地设备的空间利用和快照管理从而也得以改善。

Description

快照复制方法、电子设备和计算机程序产品
技术领域
本公开的实施例涉及数据存储领域,并且更具体地,涉及快照复制方法、电子设备和计算机程序产品。
背景技术
为了更好地进行数据保护,存储系统通常支持通过异步复制将文件系统的快照复制到具有不同保留策略的本地或远程站点。这样的本地或远程站点可以被认为是备份站点。计划的快照和用户创建的快照均可以从主站点被复制到备份站点。当主站点从先前站点切换到与该先前站点处于同步复制会话的另一站点时,需要保持(preserve)新的主站点与备份站点之间的异步复制。即,快照的异步复制会话将由先前站点切换至新的主站点。然而,在新的主站点与备份站点进行快照的初始同步时,备份站点处已存在的快照也可能复制,导致备份站点处产生重复快照。因此,期望一种快照复制方案来避免产生重复快照。
发明内容
本公开的实施例提供了一种快照复制方案。
在本公开的第一方面中,提供了一种快照复制方法。该方法包括:响应于用于快照异步复制的第一会话被建立在第一源设备与目的地设备之间,确定第一源设备与目的地设备之间是否存在共同的基线快照,基线快照指示快照复制的进度。该方法还包括:响应于确定不存在基线快照,确定从第二源设备到目的地设备的初始同步是否完成,在第一会话被建立之前,在第一源设备与第二源设备之间存在用于快照同步复制的第二会话,并且在第二源设备与目的地设备之间存在先前建立的、用于快照异步复制的第三会话,初始同步是第三会话的一部分。该方法还包括:基于确定的结果,将第一源设备处的至少一个用户快照复制到目的地设备。
在本公开的第二方面中,提供了一种电子设备。该电子设备包括处理器以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使设备执行动作。动作包括:响应于用于快照异步复制的第一会话被建立在第一源设备与目的地设备之间,确定第一源设备与目的地设备之间是否存在共同的基线快照,基线快照指示快照复制的进度。动作还包括:响应于确定不存在基线快照,确定从第二源设备到目的地设备的初始同步是否完成,在第一会话被建立之前,在第一源设备与第二源设备之间存在用于快照同步复制的第二会话,并且在第二源设备与目的地设备之间存在先前建立的、用于快照异步复制的第三会话,初始同步是第三会话的一部分。动作还包括:基于确定的结果,将第一源设备处的至少一个用户快照复制到目的地设备。
在本公开的第三方面中,提供了一种计算机程序产品,计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行根据第一方面的方法。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。在附图中:
图1示出了本公开的实施例可以在其中被实现的示例环境的示意图;
图2示出了根据本公开的实施例的快照复制的过程的流程图;
图3示出了根据本公开的一些实施例的第一源设备与目的地设备之间的交互的示意图;
图4示出了根据本公开的一些实施例的快照复制的过程的流程图;
图5是示出了根据本公开的一些实施例的进一步选择用户快照的过程的流程图;以及
图6示出了可以用来实施本公开的实施例的示例设备的框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
图1示出了本公开的实施例可以在其中被实现的示例环境100的示意图。设备110、120和130部署在不同的站点,例如在不同的数据中心。设备110、120和130可以是诸如网络附属存储(NAS)服务器之类的文件服务器。例如,第二源设备120中存储有文件系统126及针对该文件系统126的快照121-125。
为了更好地保护文件系统以向用户提供文件服务,需要将文件系统的快照复制到不同站点处的设备中。示例环境100支持快照从一个源设备到多个目的地设备的同步复制。在如图1所示的示例环境100中,在切换之前,第二源设备120用作生产(productive)站点(本文中又称为主站点)。当主站点从第二源设备120切换为第一原始110时,第一源设备110与目的地设备130之间将建立有用于快照异步复制的会话101,其在本文中又被称为第一会话101。
在切换之前,在第二源设备120与第一源设备101之间建立有用于快照同步复制的会话102,其在本文中又被称为第二会话102。文件系统116是文件系统126在第一源设备110处的副本。相应地,快照111-115分别是第二源设备120处的快照121-125通过第二会话102而复制到第一源设备110处的。另外,在切换之前,在第二源设备120与目的地设备130之间建立有用于快照异步复制的会话103,其在本文中又被称为第三会话103。文件系统136是文件系统126在目的地设备130处的副本。相应地,快照131-132、134-135分别是第二源设备120处的快照121-122、124-125通过第三会话103而复制到目的地设备130处的。
尽管图1中仅示出了一个文件系统126,但是第一源设备110中还可以存在更多文件系统,并且这些文件系统及其快照也同样地被复制到第一源设备110和目的地设备130。此外,应当理解,本文中所称的源设备和目的地设备是相对概念。在切换之前,对于第二源设备120而言,第一源设备110和目的地设备130均是“目的地”。
如图1所示,针对文件系统的快照可以包括用户快照和内部快照,其中用户快照是由用户创建的、“APP一致”的快照,而内部快照可以视为由复制会话产生的系统快照。对于同一文件系统,通常存在两个内部快照。
两个设备之间的异步复制会话通常包括两个阶段,即初始同步和增量复制。换言之,对于通过异步复制而进行的用户快照复制存在两种场景。第一种场景为初始同步。当异步复制会话(例如,第二会话102或第一会话101)被创建时,通常会设置一个“复制现有快照”(replicateExistingSnaps)选项。如果该选项被设置为“是”(“yes”),则在进行初始同步时源设备(对于第二会话102为第二源设备120,对于第一会话101为第一源设备110)处的所有现有用户快照将被复制到目的地设备130。
第二种场景为增量复制,用于复制在恢复点目标(RPO)期间产生的用户快照。在异步复制会话存在后,当创建用户快照时,用户可以选择是否“复制”或保护该用户快照。如果一个用户快照被选择为要被复制,则在下一RPO同步期间该用户快照将被复制到目的地设备130。用户还可以通过“复制”操作或命令来复制在创建时未被选择为要复制的用户快照。这样的快照将在从用户选择复制起的下一RPO同步期间被复制。
每个用户快照具有针对快照复制的一些性质。性质“复制状态”用于标识与用户快照的异步复制有关的状态。其具有如下的值:“否(NO)”,指示该用户快照不需要被复制;“待决(pending)”,指示该用户快照被标记为要被复制,但尚未被复制;“已复制到目的地(Replicated_To_Destination)”,指示该用户快照已经被复制到目的地设备。
性质“复制时间戳(TimeStampMarkedForReplication)”用于指示将该用户快照标记为要被复制的时间。性质“版本签名”是快照的唯一标识,其通常由多个字符串组成,例如[VsidStr],[CelerraId],[VersionNum]。字符串[VsidStr]可以用于标识快照是针对哪个文件系统的,字符串[CelerraId]可以用于标识该文件系统位于哪个机器,以及字符串[VersionNum]可以用于标识该快照相对于该机器的该文件系统的版本号。由此,性质“版本签名”可以唯一地标识设备的快照。
当用户快照通过第二会话102或第三会话103而被复制到第一源设备110或目的地设备130时,快照性质也将相应地被复制。因此,例如用户快照111的性质与用户快照121的性质相同。
内部快照也可以具有与用户快照相似的、用于标识的性质“版本签名”。当第二源设备120与目的地设备130进行初始同步或增量复制时,目的地设备130处的内部快照134、135将被更新(或者被刷洗)为与第二源设备处的内部快照124、125相同,并且性质“版本签名”也将同样地被更新。
内部快照可以用作用于指示快照异步复制的进度的基线快照。例如,一般而言,第二源设备120中的两个内部快照124、125可以轮流用作基线快照,这样可以增加数据的安全性。仅举例而言,当第二源设备120与目的地设备130在某一时间进行快照复制时,内部快照135被更新为与内部快照125相同,而内部快照134保持为前一次异步复制操作时文件系统125的内部快照。在这种情况下,内部快照135和内部快照125是第二源设备120与目的地设备130之间的共同基线快照。由于第一源设备110与第二源设备120处于同步复制配置,因此在正常情况下,第一源设备110与目的地设备130之间也存在共同的基线快照,即,内部快照115与内部快照135。
在源设备与目的地设备之间进行快照异步复制时将使用基线快照作为参考。应当理解的是,图1中所示的用户快照和内部快照的数目仅是示意性的,而无意限制本公开的范围。在本公开的实施例中,可以存在更多或更少的用户快照和内部快照。
常规上,当源设备(例如,主站点处的文件服务器)要将用户快照复制到目的地设备时,源设备将枚举要被同步的用户快照。具体而言,源设备首先将文件系统刷新到两个内部快照中当前不用作基线快照的内部快照上,然后确定其与目的地设备之间是否存在共同的基线快照。如果存在共同的基线快照,源设备将复制间隔的起始时间设置为该共同的基线快照的更新时间;如果不存在共同的基线快照,源设备则复制间隔的起始时间设置为零(或者源设备的启动时间)。然后,源设备将复制间隔的结束时间设置为最近更新的快照的更新时间。
接下来,源设备将利用用户快照的性质“复制时间戳”来针对源设备处的每个用户快照确定该用户快照是否应当被添加到传输列表中。如果某一用户快照被标记为要被复制的时间(即,由“复制时间戳”指示的时间)落在所确定的复制间隔中,则该用户快照将被添加到传输列表。在确定传输列表之后,源设备将传输列表中的每个用户快照复制到目的地设备,并同时更新用作基线快照的内部快照。目的地设备在接收到被复制的用户快照后,也将同步更新其用作基线快照的内部快照。
当主站点从第二源设备切换到第一源设备时,异步复制会话将被切换到第一源设备。这样的异步复制会话的切换也被称为保持异步复制会话。在切换之后,第一源设备处的快照将被复制到目的地设备,并且第一源设备与目的地设备之间的异步复制会话也将遵循以上过程。
然而,发明人已经认识到这种实现中存在如下问题。一个问题是第一源设备与目的地设备之间丢失共同的基线快照。在切换之前,第一源设备与第二源设备处于同步复制配置。如果在第二源设备与目的地设备之间进行复制时,第一源设备与第二源设备之间的连接暂时断开,则基线快照的更新将无法被同步到第一源设备。在这种情况下,在第一源设备与目的地设备之间将不存在共同的基线快照。如果针对第二源设备与目的地设备之间的异步复制的“复制现有快照”选项被设置为“是”,则第二源设备上所有现有用户快照已经被复制到目的地设备上。当建立第二源设备与目的地设备之间的异步复制会话且第二源设备与目的地设备之间缺少共同的基线快照时,这些已经被复制的用户快照将从第二源设备被复制到目的地设备,从而导致目的地设备出现重复的用户快照。
另一问题是由于切换出现在第二源设备与目的地设备的同步期间引起的。如果在第二源设备与目的地设备进行快照复制时,出现了主站点切换,那么基线快照并未更新。在这种情况下,当第一源设备与目的地设备进行异步复制时,用于确定上文所描述的复制间隔的起始时间认为上一次已经完成的异步复制的时间。这导致已经被复制到目的地设备的用户快照将再次被复制。
解决上述问题的一个直接方法是在目的地设备上删除已有的快照。然而由于文件系统通常基于这些快照实现其他的一些功能,因此简单地删除快照是不安全的。
本公开提供了一种快照复制方案,以至少消除以上缺陷中的一个或多个。在该方案中,利用目的地设备处存储的内部快照的标识来确定目的地设备与第二源设备是否完成快照初始同步,并基于此来确定要被复制的用户快照。在该方案中,还可以通过第一源设备处维护的用户快照的复制状态来确定用户快照是否已经被复制到目的地设备,以进一步筛选要被复制的用户快照。通过这样的方式,可以避免目的地设备处重复的快照,从而节省了存储空间并降低了快照的管理难度。
以下将参考附图来详细描述本公开的实施例。图2示出了根据本公开的实施例的快照复制的过程200的流程图。过程200可以由第一源设备110实现。为了便于讨论,结合图1来描述过程200。
在框210,第一源设备110确定第一会话101是否被建立在第一源设备110与目的地设备130之间。如果第一源设备110确定第一会话101被建立,则过程200进行到框220。
在框220,第一源设备110确定第一源设备110与目的地设备130之间是否存在共同的基线快照。第一源设备110可以确定其自身维护的内部快照114、115的快照标识,诸如上文所提及的“版本签名”。
在一些实施例中,第一源设备110可以向目的地设备130发送包含内部快照114、115的快照标识的请求。在接收到该请求后,目的地设备130可以将接收到的快照标识与目的地设备130处的内部快照134、135的快照标识进行比较。如果内部快照114、115中的一个内部快照的快照标识与内部快照134、135中的一个内部快照的快照标识匹配,则认为存在共同的基线快照。举例而言,如果目的地设备130确定内部快照135的快照标识与内部快照115的快照标识相同,则第一源设备110与目的地设备130之间存在共同的基线快照。否则第一源设备110与目的地设备130之间不存在共同的基线快照。
在另一些实施例中,第一源设备110可以从目的地设备130接收目的地设备130处的内部快照134、135的快照标识,并将其与内部快照114、115的快照标识进行比较。第一源设备110可以以类似的方式来确定第一源设备110与目的地设备130之间是否存在共同的基线快照。
如果第一源设备110确定第一源设备110与目的地设备130之间存在共同的基线快照(诸如,内部快照115和内部快照135),则第一源设备110可以将在共同的基线快照的最近一次更新之后从第二源设备120同步复制到第一源设备110的用户快照(例如,用户快照113)添加到传输列表。在一些实施例中。第一源设备110可以基于这样的用户快照的复制状态来进行进一步筛选。下面将参考图5来详细描述这样的实施例。
如果第一源设备110确定第一源设备110与目的地设备130之间不存在共同的基线快照,则过程200进行到框230。在框230,第一源设备110确定从第二源设备120到目的地设备130的初始同步是否完成。
在一些实施例中,第一源设备110可以向目的地设备130发送请求,以使得目的地设备130基于目的地设备130处存储的快照标识(内部快照134、135的快照标识)来确定初始同步是否完成。第一源设备110可以然后可以基于接收到的针对该请求的响应来确定初始同步是否完成。如果从目的地设备130接收到针对请求的肯定响应,则第一源设备110可以确定初始同步已经完成。相应地,如果从目的地设备130接收到针对请求的否定响应,则第一源设备110可以确定初始同步尚未完成。
在一些实现中,上述针对共同基线快照的请求和针对初始同步的请求可以被一起发送给目的地设备130。下面参考图3来描述这样的实现。图3示出了根据本公开的一些实施例的第一源设备110与目的地设备130之间的交互的示意图300。
第一源设备110确定305其所维护的内部快照114、115的快照标识,例如,快照的性质“版本签名”。文件系统通常存储针对可以用作基线快照的内部快照的特定信息,以标识这样的内部快照。因此,第一源设备可以利用这种特定信息来确定内部快照114、115及其快照标识。
第一源设备110向目的地设备130发送310请求,并且内部快照114、115的快照标识可以与该请求一起发送。目的地设备130通过如前文所描述的快照标识比较来确定315第一源设备110与目的地设备130之间是否存在共同的基线快照。
然后,目的地设备130确定320从第二源设备120到目的地设备130的初始同步是否完成。这可以通过检查目的地设备130处的内部快照134、135的快照标识来实现。内部快照134、135的快照标识在内部快照被创建时将不被设置或者被设置为预定标识。当第二源设备120与目的地设备130进行快照的初始同步时,内部快照134、135将被更新为第二源设备120处的相应的内部快照,并且快照标识也将被设置或更新成第二源设备120处的相应的内部快照的快照标识。
因此,只要内部快照134、135中的一个的快照标识被设置或者与预定标识不同,目的地设备130就可以确定从第二源设备120到目的地设备130的初始同步已经完成。如果内部快照134、135的快照标识均未被设置或者均与预定标识相同,则目的地设备130可以确定从第二源设备120到目的地设备130的初始同步尚未完成。
目的地设备130向第一源设备110发送325针对所接收的请求的响应。该响应可以包括对是否具有共同基线快照的确认和对是否完成初始同步的确认。
在另一些实施例中,第一源设备110可以请求目的地设备130发送目的地设备130处的内部快照134、135的快照标识,以确定初始同步是否完成。第一源设备110可以从目的地设备130接收所述目的地设备130处存储的内部快照134、135的快照标识,例如,上文描述的“版本签名”。第一源设备110然后可以确定接收到的快照标识是否与预定标识相同。如果接收到的快照标识不同于预定标识,则可以认为目的地设备130处的内部快照134、135已经被更新。那么第一源设备110可以确定初始同步已经完成。如果接收到的快照标识与预定标识相同,则第一源设备110可以确定初始同步尚未完成。
继续参考图2。在框240,基于框230处的确定的结果,第一源设备110将第一源设备110处的至少一个用户快照复制到目的地设备130。下面参考图4来描述这一过程。图4示出了根据本公开的一些实施例的快照复制的过程400的流程图。过程400可以视为框240的具体实现。
在框410,第一源设备110确定从第二源设备120到目的地设备130的初始同步是否完成。如果确定初始同步已经完成,则过程400进行到框420。在框420,第一源设备110将在第一会话101的建立之后在第一源设备110处被创建的用户快照(在本文中,又可以被称为第一用户快照)复制到目的地设备130。作为示例,如果用户快照113是在第一会话101的建立之后被创建的,则第一源设备110将用户快照113复制到目的地设备130。
如果确定初始同步未完成,则过程400进行到框430。在框430,第一源设备110将第一源设备110中存在的用户快照(在本文中,又可以被称为第二用户快照)复制到目的地设备130。例如,第一源设备110将用户快照111-113均复制到目的地设备130。应当理解,本文中所称的第二用户快照可以包括第一用户快照和在第二会话102期间从第二源设备120被复制到第一源设备110的用户快照。
在本公开的实施例中,基于从第二源设备到目的地设备的初始同步是否完成,来选择不同时间创建或复制到第一源设备的用户快照以复制到目的地设备。以这样的方式,可以大大减少目的地设备(例如,文件系统的备份服务器)处的重复的用户快照。目的地设备的资源利用和快照管理从而也得以改善。
为解决保持异步复制会话过程中的另一问题,在一些实施例中,可以基于第一源设备110处的用户快照的复制状态来进一步选择要被复制的用户快照。在基于共同的基线快照是否存在和初始同步是否完成而获取潜在被复制到目的地设备130的用户快照之后,例如,在将这样的用户快照添加到传输列表之后,可以通过检查用户快照的复制状态来过滤掉已经被复制到目的地设备130的用户快照。
对复制状态的检查可以独立于对共同基线快照和初始同步的确定结果而执行。如前文参考图2所提及的,在第一源设备110与目的地设备130之间存在共同的基线快照的情况下,可以进一步检查潜在要被复制的用户快照的复制状态。图5示出了根据本公开的一些实施例的进一步选择用户快照的过程500的流程图。图5所示的过程500可以是在第一源设备110与目的地设备130之间存在共同的基线快照的情况下由第一源设备110实现的。
如上文所提及的,文件系统可以维护针对用户快照的多个性质,其中当“复制状态”这一性质被设置为某一预定义值或字符(例如,“已复制到目的地”)时,该用户快照已经通过异步复制会话而被复制到目的地设备上。在第三会话103期间被复制到目的地设备130的用户快照的复制状态将通过第二会话102而同步到第一源设备110。
在框510,第一源设备110可以获取在共同的基线快照的最近一次更新之后从第二源设备120复制到第一源设备110的用户快照(在本文中,又可以被称为第三用户快照)的复制状态。该复制状态是在第二会话102期间被确定的,即通过第一源设备110与第二源设备120之间的同步复制会话而更新的。
在框520,第一源设备110可以确定复制状态是否指示第三用户快照尚未被复制到目的地设备130。如果复制状态指示第三用户快照尚未被复制到目的地设备130,则过程500进行到框530。例如,如果用户快照112的复制状态被设置为“待决”,则可以确定用户快照112尚未被复制到目的地设备130。在框530,第一源设备110将第三用户快照复制到目的地设备130。
如果第一源设备110与第二源设备120的切换发生在第二源设备120与目的地设备130的增量复制过程中,则在目的地设备130中存在共同基线快照的更新之后被复制到其上的用户快照。在这样的实施例中,可以避免这样的用户快照的重复复制。
以上参考图5描述了在第一源设备110与目的地设备130之间存在共同的基线快照的情况下执行复制状态检查的实施例。在第一源设备110与目的地设备130之间不存在共同的基线快照的情况下,复制状态的检查可以在框420和430处执行。
在一些实现中,在框430,可以针对第一源设备110处存在的所有用户快照执行复制状态的检查。在另一些实现中,在框430,可以针对在第二会话102期间从第二源设备120复制到第一源设备110的用户快照(又可以被称为第二用户快照)来执行复制状态的检查。具体地,第一源设备110可以获取第二用户快照的复制状态,诸如上文提及的“复制状态”这一性质。该复制状态是在第二会话102期间被确定的。如果复制状态指示第二用户快照尚未被复制到目的地设备130,则第一源设备110可以将第二用户快照复制到目的地设备130。如果复制状态指示第二用户快照已经被复制到目的地设备130,则第一源设备110可以不会将第二用户快照复制到目的地设备130。
如果第一源设备110与第二源设备120的切换发生在第二源设备120与目的地设备130的初始同步期间(初始同步已开始但未完成),则在框430附加地执行复制状态的检查可以进一步过滤掉已经被复制到目的地设备130的用户快照。
在这样的实施例中,通过附加地检查潜在要被复制的用户快照的复制状态,可以至少进一步减少快照的重复复制。以此方式,可以进一步改进目的地设备(例如,备份服务器)的空间利用和快照管理。应当理解,上述复制状态检查的过程可以在将用户快照添加到传输列表之前执行,也可以在将用户快照添加到传输列表之后执行。
图6示出了可以用来实现本公开的实施例的示例设备600的示意性框图。如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元601执行上文所描述的各个方法和处理,例如过程200、400和500中的任一个。例如,在一些实施例中,过程200、400和500中的任一个可以被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由CPU 601执行时,可以执行上文描述的过程200、400和500中的任一个的一个或多个步骤。备选地,在其他实施例中,CPU 601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程200、400和500中的任一个。
根据本公开的一些实施例,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的方法。
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。

Claims (13)

1.一种快照复制方法,包括:
响应于用于快照异步复制的第一会话被建立在第一源设备与目的地设备之间,确定所述第一源设备与所述目的地设备之间是否存在共同的基线快照,所述基线快照指示快照复制的进度;
响应于确定不存在所述基线快照,确定从第二源设备到所述目的地设备的初始同步是否完成,在所述第一会话被建立之前,在所述第一源设备与所述第二源设备之间存在用于快照同步复制的第二会话,并且在所述第二源设备与所述目的地设备之间存在先前建立的、用于快照异步复制的第三会话,所述初始同步是所述第三会话的一部分;以及
基于所述确定的结果,将所述第一源设备处的至少一个用户快照复制到所述目的地设备。
2.根据权利要求1所述的方法,其中将所述至少一个用户快照复制到所述目的地设备包括:
响应于确定所述初始同步已经完成,将在所述第一会话的建立之后在所述第一源设备处被创建的第一用户快照复制到所述目的地设备;以及
响应于确定所述初始同步未完成,将所述第一源设备中存在的第二用户快照复制到所述目的地设备。
3.根据权利要求2所述的方法,其中所述第二用户快照是在所述第二会话期间从所述第二源设备复制到所述第一源设备的,并且其中将所述第二用户快照复制到所述目的地设备包括:
获取所述第二用户快照的复制状态,所述复制状态是在所述第二会话期间被确定的;以及
响应于所述复制状态指示所述第二用户快照尚未被复制到所述目的地设备,将所述第二用户快照复制到所述目的地设备。
4.根据权利要求1所述的方法,还包括:
响应于确定存在所述基线快照,获取在所述基线快照的最近一次更新之后从所述第二源设备复制到所述第一源设备的第三用户快照的复制状态,所述复制状态是在所述第二会话期间被确定的;以及
响应于所述复制状态指示所述第三用户快照尚未被复制到所述目的地设备,将所述第三用户快照复制到所述目的地设备。
5.根据权利要求1所述的方法,其中确定所述初始同步是否完成包括:
向所述目的地设备发送请求,以使得所述目的地设备基于所述目的地设备处存储的快照标识来确定所述初始同步是否完成;以及
响应于从所述目的地设备接收到针对所述请求的肯定响应,确定所述初始同步已经完成。
6.根据权利要求1所述的方法,其中确定所述初始同步是否完成包括:
从所述目的地设备接收所述目的地设备处存储的快照标识;
确定所述快照标识是否与预定标识相同;以及
响应于所述快照标识不同于所述预定标识,确定所述初始同步已经完成。
7.一种电子设备,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述设备执行动作,所述动作包括:
响应于用于快照异步复制的第一会话被建立在第一源设备与目的地设备之间,确定所述第一源设备与所述目的地设备之间是否存在共同的基线快照,所述基线快照指示快照复制的进度;
响应于确定不存在所述基线快照,确定从第二源设备到所述目的地设备的初始同步是否完成,在所述第一会话被建立之前,在所述第一源设备与所述第二源设备之间存在用于快照同步复制的第二会话,并且在所述第二源设备与所述目的地设备之间存在先前建立的、用于快照异步复制的第三会话,所述初始同步是所述第三会话的一部分;以及
基于所述确定的结果,将所述第一源设备处的至少一个用户快照复制到所述目的地设备。
8.根据权利要求7所述的设备,其中将所述至少一个用户快照复制到所述目的地设备包括:
响应于确定所述初始同步已经完成,将在所述第一会话的建立之后在所述第一源设备处被创建的第一用户快照复制到所述目的地设备;以及
响应于确定所述初始同步未完成,将所述第一源设备中存在的第二用户快照复制到所述目的地设备。
9.根据权利要求8所述的设备,其中所述第二用户快照是在所述第二会话期间从所述第二源设备复制到所述第一源设备的,并且其中将所述第二用户快照复制到所述目的地设备包括:
获取所述第二用户快照的复制状态,所述复制状态是在所述第二会话期间被确定的;以及
响应于所述复制状态指示所述第二用户快照尚未被复制到所述目的地设备,将所述第二用户快照复制到所述目的地设备。
10.根据权利要求7所述的设备,其中所述动作还包括:
响应于确定存在所述基线快照,获取在所述基线快照的最近一次更新之后从所述第二源设备复制到所述第一源设备的第三用户快照的复制状态,所述复制状态是在所述第二会话期间被确定的;以及
响应于所述复制状态指示所述第三用户快照尚未被复制到所述目的地设备,将所述第三用户快照复制到所述目的地设备。。
11.根据权利要求7所述的设备,其中确定所述初始同步是否完成包括:
向所述目的地设备发送请求,以使得所述目的地设备基于所述目的地设备处存储的快照标识来确定所述初始同步是否完成;以及
响应于从所述目的地设备接收到针对所述请求的肯定响应,确定所述初始同步已经完成。
12.根据权利要求7所述的设备,其中确定所述初始同步是否完成包括:
从所述目的地设备接收所述目的地设备处存储的快照标识;
确定所述快照标识是否与预定标识相同;以及
响应于所述快照标识不同于所述预定标识,确定所述初始同步已经完成。
13.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至6中任一项所述的方法。
CN201811288911.3A 2018-10-31 2018-10-31 快照复制方法、电子设备和计算机程序产品 Pending CN111125001A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811288911.3A CN111125001A (zh) 2018-10-31 2018-10-31 快照复制方法、电子设备和计算机程序产品
US16/654,283 US11409700B2 (en) 2018-10-31 2019-10-16 Method, electronic device and computer program product for snapshot replication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811288911.3A CN111125001A (zh) 2018-10-31 2018-10-31 快照复制方法、电子设备和计算机程序产品

Publications (1)

Publication Number Publication Date
CN111125001A true CN111125001A (zh) 2020-05-08

Family

ID=70328694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811288911.3A Pending CN111125001A (zh) 2018-10-31 2018-10-31 快照复制方法、电子设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11409700B2 (zh)
CN (1) CN111125001A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240012718A1 (en) * 2022-07-07 2024-01-11 Dell Products L.P. Recovery aware data migration in distributed systems

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267836A1 (en) * 2003-06-25 2004-12-30 Philippe Armangau Replication of snapshot using a file system copy differential
DE102013209528A1 (de) * 2012-06-05 2013-12-05 International Business Machines Corp. Benutzergesteuerte Replikation in einem System für synchronisierte Objektreplikationen
CN103814360A (zh) * 2013-12-12 2014-05-21 华为技术有限公司 数据复制方法及存储系统
CN106919465A (zh) * 2015-12-24 2017-07-04 伊姆西公司 用于存储系统中多重数据保护的方法和装置
CN106933503A (zh) * 2015-12-29 2017-07-07 伊姆西公司 在基于哈希的存储系统中从异步到同步复制的一致转变
CN108376109A (zh) * 2017-01-31 2018-08-07 慧与发展有限责任合伙企业 卷和快照复制
CN108496153A (zh) * 2015-11-27 2018-09-04 Netapp股份有限公司 同步复制关系的非破坏性基线和再同步

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8655848B1 (en) * 2009-04-30 2014-02-18 Netapp, Inc. Unordered idempotent logical replication operations
US8595237B1 (en) * 2010-02-17 2013-11-26 Netapp, Inc. Method and system for managing metadata in a storage environment
US8688645B2 (en) * 2010-11-30 2014-04-01 Netapp, Inc. Incremental restore of data between storage systems having dissimilar storage operating systems associated therewith
US10296517B1 (en) * 2011-06-30 2019-05-21 EMC IP Holding Company LLC Taking a back-up software agnostic consistent backup during asynchronous replication
US10223375B2 (en) * 2011-09-20 2019-03-05 Netapp, Inc. Handling data extent size asymmetry during logical replication in a storage system
US9396205B1 (en) * 2011-09-20 2016-07-19 Netapp, Inc. Detection and handling of namespace changes in a data replication system
US9083724B2 (en) * 2013-05-30 2015-07-14 Netapp, Inc. System iteratively reducing I/O requests during migration of virtual storage system
US9904598B2 (en) * 2015-04-21 2018-02-27 Commvault Systems, Inc. Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology
US10942813B2 (en) * 2015-10-30 2021-03-09 Netapp, Inc. Cloud object data layout (CODL)
US10235088B1 (en) 2016-03-30 2019-03-19 EMC IP Holding Company LLC Global replication policy for multi-copy replication
US10621058B2 (en) * 2016-04-29 2020-04-14 Netapp Inc. Moving a consistency group having a replication relationship
US10976937B1 (en) 2016-09-28 2021-04-13 EMC IP Holding Company LLC Disparate local and remote replication technologies configured for the same device
US10613791B2 (en) * 2017-06-12 2020-04-07 Pure Storage, Inc. Portable snapshot replication between storage systems
US10831609B2 (en) * 2018-04-30 2020-11-10 EMC IP Holding Company LLC Data storage system with LUN snapshot shipping using volume-to-object translation
US10802935B2 (en) 2018-07-23 2020-10-13 EMC IP Holding Company LLC Method to support synchronous replication failover
US10929047B2 (en) 2018-07-31 2021-02-23 EMC IP Holding Company LLC Storage system with snapshot generation and/or preservation control responsive to monitored replication data
US11068191B2 (en) 2019-01-23 2021-07-20 EMC IP Holding Company LLC Adaptive replication modes in a storage system
US11055014B2 (en) 2019-03-26 2021-07-06 EMC IP Holding Company LLC Storage system providing automatic configuration updates for remote storage objects in a replication process
US11144232B2 (en) 2020-02-21 2021-10-12 EMC IP Holding Company LLC Storage system with efficient snapshot pair creation during synchronous replication of logical storage volumes

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267836A1 (en) * 2003-06-25 2004-12-30 Philippe Armangau Replication of snapshot using a file system copy differential
DE102013209528A1 (de) * 2012-06-05 2013-12-05 International Business Machines Corp. Benutzergesteuerte Replikation in einem System für synchronisierte Objektreplikationen
CN103814360A (zh) * 2013-12-12 2014-05-21 华为技术有限公司 数据复制方法及存储系统
CN108496153A (zh) * 2015-11-27 2018-09-04 Netapp股份有限公司 同步复制关系的非破坏性基线和再同步
CN106919465A (zh) * 2015-12-24 2017-07-04 伊姆西公司 用于存储系统中多重数据保护的方法和装置
CN106933503A (zh) * 2015-12-29 2017-07-07 伊姆西公司 在基于哈希的存储系统中从异步到同步复制的一致转变
CN108376109A (zh) * 2017-01-31 2018-08-07 慧与发展有限责任合伙企业 卷和快照复制

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
牛超;杨英杰;代向东;: "一种新的复合快照技术的研究与设计", 计算机应用与软件, no. 07, pages 164 - 167 *

Also Published As

Publication number Publication date
US20200133919A1 (en) 2020-04-30
US11409700B2 (en) 2022-08-09

Similar Documents

Publication Publication Date Title
JP5727020B2 (ja) クラウドコンピューティングシステム及びそのデータ同期化方法
CN104486319B (zh) 适用于高可用系统的配置文件实时同步方法及其系统
US10826817B2 (en) Routing table synchronization method, apparatus, and system
CN108683668B (zh) 内容分发网络中的资源校验方法、装置、存储介质及设备
WO2015081473A1 (zh) 异步复制方法、装置与系统
CN109492049B (zh) 用于区块链网络的数据处理、区块生成及同步方法
CN106605217B (zh) 用于将应用从一个站点移动到另一站点的方法和系统
CN112445570A (zh) 一种云平台资源迁移方法及其装置、存储介质
CN105677380A (zh) 一种双主控隔离的逐板升级的方法及装置
CN106850724B (zh) 数据推送方法及装置
US20120324279A1 (en) Method and Apparatus of Backing up Subversion Repository
CN112131041A (zh) 用于管理数据放置的方法、设备和计算机程序产品
CN112035062B (zh) 云计算的本地存储的迁移方法、计算机设备及存储介质
CN106951443B (zh) 基于分布式系统的副本同步的方法、设备和系统
CN111125001A (zh) 快照复制方法、电子设备和计算机程序产品
CN105511808B (zh) 一种数据操作方法、系统及相关装置
CN113220500A (zh) 基于逆向差异恢复的恢复方法、设备和程序产品
CN109992447B (zh) 数据复制方法、装置及存储介质
CN112698926B (zh) 数据处理方法、装置、设备、存储介质及系统
US20170262201A1 (en) Information processing apparatus, information processing system and program medium
CN114930313A (zh) 用于管理区块链节点的系统和方法
CN107291790B (zh) 管理双工ems服务器之间的db的方法
CN113032477A (zh) 基于gtid的长距离数据同步方法、装置及计算设备
KR20160025994A (ko) 분산 저장 환경에서 게이트웨이를 선택하기 위한 클러스터 관리 방법 및 데이터 저장 시스템
CN113138722B (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