CN113906382A - 用于数据保护的设备和方法 - Google Patents
用于数据保护的设备和方法 Download PDFInfo
- Publication number
- CN113906382A CN113906382A CN202080017991.8A CN202080017991A CN113906382A CN 113906382 A CN113906382 A CN 113906382A CN 202080017991 A CN202080017991 A CN 202080017991A CN 113906382 A CN113906382 A CN 113906382A
- Authority
- CN
- China
- Prior art keywords
- snapshot
- entity
- volume
- ios
- cloud
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- 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/062—Securing storage systems
-
- 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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Retry When Errors Occur (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种用于生产站点的设备和方法。实体配置为:拦截用于写入生产站点处存储实体的卷的多个IO。此外,所述实体配置为聚合多个IO。所述实体还配置为将聚合的IO作为第一对象存储在生产站点的对象存储中。通过这种方式,提供了一种利用云的复制对象和快照的能力的解决方案。本公开可以减少对配置的需求,并且可以降低价格。
Description
技术领域
本公开涉及数据保护领域,尤其涉及连续数据保护(CDP)系统。本公开涉及利用云的复制快照的能力以创建多站点CDP系统。为此,本公开提供了一种用于生产站点的实体。
背景技术
CDP指通过自动保存对数据所做的每个更改的副本来备份计算机数据,实质上是捕获用户保存的每个版本的数据。通常,CDP系统包括以下组件:生产卷,分离器,本地数据移动器,远程数据移动器,复制卷和日志,如图1所示。
生产卷指被保护的卷,位于生产站点。分离器指数据路径中的驱动,该驱动拦截到达生产卷的写入输入/输出(input/output,IO),并将IO发送到生产卷和本地数据移动器。本地数据移动器指一种设备或微服务,它接收分离器IO,并将其发送到远程数据移动器。远程数据移动器指从本地数据移动器接收IO的设备,并将它们写入复制的卷的远程副本中和日志中。复制卷指生产卷的完整副本,位于副本站点上。系统可以在各个时间点维护复制卷的多个快照,以允许恢复到多个时间点。日志包含应用于卷的更改的日志记录。日志中的更改也可以应用于复制卷。
工作流可以包括处理IO的任务的序列。这包括将IO从分离器发送到本地数据移动器,本地数据移动器压缩并打包IO,并将其发送到远程数据移动器,然后远程数据移动器将IO写入日志,并从日志中将它们应用到复制卷。
通常,常规的CDP系统需要公共IP用于本地数据移动器与副本设备之间的连接。这对于所有已知的CDP系统都是常见的。此外,常规的CDP系统还需要复制站点上的数据移动器。这需要副本站点上的计算资源,这些计算资源是昂贵的。
发明内容
鉴于上述挑战,本公开的实施例的目标是提供一种用于生产站点的实体和方法。具体而言,目的是利用云的复制对象和快照的能力,以便在不需要任何计算节点的情况下实现多站点CDP系统。希望仅在还原操作期间使用计算节点,并且只使用有限量的时间。一个目标是降低计算节点的成本。
该目的通过如所附独立权利要求中描述的本公开的实施例来实现。在从属权利要求中进一步定义了本公开的实施例的有利实现。
本公开的第一方面提供了一种用于生产站点的实体,所述实体配置为:拦截用于写入所述生产站点处的存储实体的卷的多个IO;聚合所述多个IO;将所述聚合的IO作为第一对象存储在所述生产站点的对象存储中。
本公开的实施例提出聚合多个IO,并将它们,例如作为组,即作为对象,写入到所述对象存储。值得注意的是,所述IO在到达时立即被写入生产卷,并且生产卷的快照可周期性地被创建。
在第一方面的一种实现形式中,所述实体配置为:从所述生产站点的控制器获得通知,以开始在第一时间段中拦截所述多个IO;在每个第一时间段中拦截所述多个IO;在每个第一时间段中将所述多个IO连续地聚合并作为对象存储在所述对象存储中;以及,将每个对象与所述对象存储中的先前对象和所述卷的先前快照相关联,其中,所述先前快照是在存储所述对象之前创建的快照。
可选地,到来的IO被周期性地冻结在所述实体中,并且特别地作为对象被存储在所述对象存储中。特别地,下个对象可以指向当前对象和创建的快照。
在第一方面的一种实现形式中,所述实体配置为:周期性地接收指示将创建所述卷的快照的指示;保持到来的IO;根据与所述快照的先前快照相关联的对象写入所述卷;以及,在写入所述卷后创建所述卷的所述快照。
可以看出,与所述对象存储中的对象相比,创建快照的频率较低。因此,每个快照可以有附加到该快照或与其关联的多个对象。值得注意的是,在获取快照之前,新IO可能会暂停。已经存储在所述对象存储中的旧IO,特别是那些与所述先前快照相关联的那些,可以被刷新到所述卷中。之后,可以创建新快照。
在第一方面的一种实现形式中,所述实体配置为在创建所述快照之后,将新存储的对象与所述快照相关联。
值得注意的是,在创建相应的快照之后,存储的新对象可以指向该快照。
在第一方面的一种实现形式中,所述生产站点位于远程站点中,尤其是云中。
可选地,所述生产站点在另外的位置,即与所述快照存储位置不同的位置。例如,生产站点可以在云中。
在第一方面的一种实现形式中,所述实体配置为使用所述云的应用编程接口(API)创建所述卷的第一快照。
通常,所述云可以具有允许创建快照的API。也就是说,如果生产站点位于所述云中,则可以利用所述云的获取卷的快照的能力。
在第一方面的一种实现形式中,所述实体配置为:使用所述API创建所述第一快照的副本和/或与所述第一快照相关联的对象的副本;以及,使用云复制机制将所述副本复制到所述云和/或远程站点中另外的生产站点。
此外,API还可以允许创建数据副本。也就是说,如果所述生产站点位于所述云中,则可以使用所述云机制复制对象和快照,并将其从所述生产站点复制到其他远程站点,尤其是复制到其他云站点。
在第一方面的一种实现形式中,所述实体配置为:通过云复制机制从所述云和/或从所述云中另外的生产站点,接收快照的副本和/或与所述快照相关联的对象的副本,所述快照是所述另外的生产站点处的存储实体的卷的快照;以及,存储所述副本。
应当理解,来自其他一些生产站点的对象和快照也可以被所述云复制,并且可以被存储到该生产站点中。
在第一方面的一种实现形式中,所述实体配置为:接收指示将创建所述卷的第二快照的指示,其中,所述第一快照是所述第二快照的所述先前快照;保持新的到来的IO;根据与所述第一快照相关联的对象写入所述卷;在写入所述卷后创建所述卷的所述第二快照;以及,在创建所述第二快照之后,将新存储的对象与所述第二快照相关联。
值得注意的是,所述第一快照和所述第二快照在时间上可以是连续的。
在第一方面的一种实现形式中,所述实体配置为:获得将所述卷还原到给定时间点的请求,其中,所述给定时间点是在创建所述第一快照之后且创建所述第二快照之前的时间点;从所述对象存储中获得与所述第一快照相关联的对象;将所述第一快照还原到主卷中;以及,根据与所述第一快照相关联的所述对象写入所述主卷,直到所述主卷在所述给定时间点为止。
为了将站点恢复到给定时间点,可以首先还原该时间之前的最新快照。在这种情况下,还原所述第一个快照。此外,可以读取来自所述对象存储的相关对象,并且可以应用这些对象中的IO,直到所述卷位于所述请求的时间点为止。
在第一方面的一种实现形式中,所述请求来自所述云中另外的生产站点。
可选地,具有所述快照和所述对象的复制副本的多个云站点中的特定站点可以请求恢复所述卷。
在第一方面的一种实现形式中,所述对象存储中的对象包括多个IO的列表以及发生所述多个IO的对应时间戳。
所述IO的时间戳允许将卷恢复到给定时间点。
在第一方面的一种实现形式中,所述实体配置为:通过将具有所述给定时间点之前的对应时间戳的IO写入所述主卷,生成还原卷。
在第一方面的一种实现形式中,所述实体配置为:使用所述云服务提供商的所述API将所述第一快照还原到所述主卷中。
可选地,还原机可以使用标准云API将所述快照还原到主卷中。
在第一方面的一种实现形式中,所述实体配置为:使用所述云服务提供商的所述API扫描快照。
在第一方面的一种实现形式中,所述实体配置为:还原所述另外的生产站点处的存储设备的卷。
本公开的第二方面提供了一种方法,包括:拦截用于写入生产站点处的存储实体的卷的多个IO;聚合所述多个IO;将所述聚合的IO作为第一对象存储在所述生产站点的对象存储中,当它们到达时立即写入所述卷。IO只在创建快照时保持。
在第二方面的一种实现形式中,所述方法还包括:从所述生产站点的控制器获得通知,以开始在第一时间段中拦截所述多个IO;在每个第一时间段中拦截所述多个IO;在每个第一时间段中将所述多个IO连续地聚合并作为对象存储在所述对象存储中;以及,将每个对象与所述对象存储中的先前对象和所述卷的先前快照相关联,其中,所述先前快照是在存储所述对象之前创建的快照。
在第二方面的一种实现形式中,所述方法还包括:周期性地接收指示将创建所述卷的快照的指示;保持到来的IO;根据与所述快照的先前快照相关联的对象写入所述卷;并在写入所述卷后创建所述卷的所述快照。
在第二方面的一种实现形式中,所述方法还包括在创建所述快照之后,将新存储的对象与所述快照相关联。
在第二方面的一种实现形式中,所述生产站点位于远程站点中,尤其是云中。
在第二方面的一种实现形式中,所述方法还包括使用所述云的API创建所述卷的第一快照。
在第二方面的一种实现形式中,所述方法还包括:使用所述API创建所述第一快照的副本和/或与所述第一快照相关联的对象的副本;以及,使用云复制机制将所述副本复制到所述云和/或远程站点中另外的生产站点。
在第二方面的一种实现形式中,所述方法还包括:通过云复制机制,从所述云和/或从所述云中另外的生产站点,接收快照的副本和/或与所述快照相关联的对象的副本,所述快照是所述另外的生产站点的存储实体的卷的快照;以及,存储所述副本。
在第二方面的一种实现形式中,所述方法还包括:接收指示将创建所述卷的第二快照的指示,其中,所述第一快照是所述第二快照的所述先前快照;保持新的到来的IO;根据与所述第一快照相关联的对象写入所述卷;在写入所述卷后创建所述卷的所述第二快照;以及,在创建所述第二快照之后,将新存储的对象与所述第二快照相关联。
在第二方面的一种实现形式中,所述方法还包括:获得将所述卷还原到给定时间点的请求,其中,所述给定时间点是在创建所述第一快照之后且创建所述第二快照之前的时间点;从所述对象存储中获得与所述第一快照相关联的对象;将所述第一快照还原到主卷中;以及,根据与所述第一快照关联的所述对象写入所述主卷,直到所述主卷在所述给定时间点为止。
在第二方面的一种实现形式中,所述请求来自所述云中另外的生产站点。
在第二方面的一种实现形式中,所述对象存储中的对象包括多个IO的列表以及发生所述多个IO的对应时间戳。
在第二方面的一种实现形式中,所述方法还包括:通过将具有所述给定时间点之前的对应时间戳的IO写入所述主卷,生成还原卷。
在第二方面的一种实现形式中,所述方法还包括:使用所述云服务提供商的所述API将所述第一快照还原到所述主卷中。
在第二方面的一种实现形式中,所述方法还包括:使用所述云服务提供商的所述API扫描快照。
在第二方面的一种实现形式中,所述方法还包括:还原所述另外的生产站点处的存储设备的卷。
本公开的第三方面提供了一种计算机程序,所述计算机程序包括程序代码,当所述程序代码在处理器上实施时,用于执行根据第二方面或其任何实现形式的方法。
必须注意的是,本申请中描述的所有设备、元件、单元和装置可以在软件或硬件元件或其任何种类的组合中实现。由本申请中描述的各种实体执行的所有步骤以及被描述为由各种实体执行的功能旨在意味着相应的实体适于或配置为执行相应的步骤和功能。即使在特定实施例的以下描述中,要由外部实体执行的特定功能或步骤没有反映在执行该特定步骤或功能的实体的特定详细元件的描述中,对于本领域技术人员来说,应该清楚的是,这些方法和功能可以在相应的软件或硬件元件中实现,或者以它们的任何种类的组合来实现。
附图说明
上述方面和实现形式将在以下具体实施例的描述中结合附图进行解释,其中
图1示出了常规的CDP系统;
图2示出了根据本公开实施例的实体;
图3示出了根据本公开实施例的CDP系统;
图4示出了根据本公开实施例的包括两个生产站点的系统;以及
图5示出了根据本公开的实施例的方法。
具体实施方式
参照附图描述了用于在通信系统中进行有效分组传输的方法、设备和程序产品的说明性实施例。尽管本说明书提供了可能的实现方式的详细示例,但应注意,这些细节旨在是示例性的,并且决不限制本申请的范围。
此外,实施例/示例可以指其他实施例/示例。例如,在一个实施例/示例中提到的包括但不限于术语、元件、过程、说明和/或技术优势的任何描述适用于其他实施例/示例。
图2示出了根据本公开实施例的实体200。所述实体200可以包括配置为执行、引导或启动本文所述的实体200的各种操作的处理电路(未示出)。该处理电路可以包括硬件和软件。硬件可以包括模拟电路或数字电路,或模拟和数字电路。数字电路可以包括诸如专用集成电路(application-specific integrated circuit,ASIC)、现场可编程阵列(field-programmable array,FPGA)、数字信号处理器(digital signal processor,DSP)或多功能处理器的组件。实体200还可以包括存储器电路,该存储器电路存储可以由处理器或由处理电路执行的一个或更多个指令,尤其是在软件的控制下。例如,存储器电路可以包括存储可执行软件代码的非暂时性存储介质,当可执行软件代码由处理器或处理电路执行时,使实体200的各种操作被执行。在一个实施例中,处理电路包括一个或更多个处理器和连接到所述一个或更多个处理器的非暂时性存储器。非暂时性存储器可以携带可执行程序代码,当该可执行程序代码被一个或更多个处理器执行时,使实体200执行、引导或启动这里描述的操作或方法。
特别地,如图2所示,实体200适用于生产站点10。生产站点可以包括存储实体200和对象存储400。特别地,实体200配置为拦截用于写入生产站点10处的存储实体300的卷301的多个IO 201。实体200还配置为聚合该多个IO 201。然后,实体200配置为将聚合的IO201作为第一对象401存储在生产站点10处的对象存储400中。此外,实体200配置为根据第一对象401写入卷301。
值得注意的是,云基础设施可以允许获取虚拟机的快照,将快照复制到多个可用性区域,并且对于对象也可以如此。用户可以为其对象存储配置复制,并指定在哪些可用性区域上他需要所述对象。所述对象可以异步复制到其他可用性区域。
因此,本公开的实施例提出了一种解决方案,该解决方案可以利用云的复制对象和快照的能力,以便创建多站点CDP,而无需任何通常非常昂贵的计算节点。计算节点可能仅在还原操作期间需要,并且仅在有限量的时间内需要。
图3示出了根据本公开实施例的CDP系统。特别地,该系统包括虚拟机(virtualmachine,VM)VM1、卷vol1 301、对象存储400和灾难还原(disaster recovery,DR)控制器500。特别地,卷vol1可以是存储实体300的卷301,如图2所示,对象存储400可以是如图2所示的对象存储400。
对于每个复制的VM,可以在内核和用户空间模块中安装分离器驱动。它可以从分离器接收写入,即IO,对其进行分组并将其作为对象写入对象存储(此组写入是日志条目)。根据本公开的实施例,实体200可以包括VM、分离器和分离器驱动。
DR控制器500控制灾难还原机制并告诉每个组件要执行什么操作。DR控制器500可以周期性地通知分离器保持IO。DR控制器500还可以获取VM的卷的快照并释放IO。分离器可以知道写入该新对象属于不同的快照。
如图3所示,实体200可以配置为从生产站点10处的DR控制器500获得通知501,以开始在第一时间段中拦截多个IO 201。也就是说,到来的IO可以被周期性地冻结在实体200中。可选地,实体200可以配置为在每个第一时间段中将所述多个IO 201连续地聚合并作为对象存储在所述对象存储400中。特别地,每个对象可以与对象存储400中的先前对象以及卷的先前快照相关联,其中,先前快照是在存储该对象之前创建的快照。
由用户空间分离器写入的每个对象可以具有ID,该ID指示哪个对象是先前对象以及该对象涉及哪个快照。每个对象还可以包括IO的列表,这些IO具有IO发生时的时间戳。在获取每个快照之后,新对象可以包括新快照ID,但是可能没有先前对象。
DR控制器还可以配置用于对象存储400中的相关对象以及相关快照的复制。值得注意的是,具有快照和对象的副本(其还包括所述元数据,例如时间戳)可以允许将每个站点还原到任何时间点。
可选地,实体200可以配置为周期性地接收指示将创建卷的快照的指示。可以看出,与在对象存储400中创建对象相比,快照的创建频率更低。例如,可以每天为卷创建一个快照。因此,每个快照可以具有附加到该快照或与其相关联的多个对象。
值得注意的是,在获取快照之前,新IO可能会暂停。系统可能会等待已开始向主存储器的写入过程的IO结束。可以将已存储在卷中的旧IO(尤其是与先前快照相关联的IO)刷新到对象存储中。特别地,存储在主机的存储器高速缓存中的旧IO(IO由分离器存储器保持)可以被转移到永久存储器,即对象存储。之后,可以创建新快照。因此,实体200可以进一步配置为保持到来的IO,并且可以根据与快照的先前快照相关联的对象写入卷。然后,实体200可以配置为在写入卷后创建卷的快照。
值得注意的是,在相应的快照被创建之后存储的新对象可以指向该快照。即,实体200可以进一步配置为在创建快照之后,将新存储的对象与快照相关联。
本公开旨在利用云的复制对象和快照的能力,以便创建多站点CDP而不需要任何通常非常昂贵的计算节点。可选地,生产站点10可以位于远程站点,即与快照存储位置不同的位置。例如,生产站点10可以在云中。
可选地,实体200可以配置为使用云的API创建卷301的第一快照。一般来讲,云通常具有允许创建快照的API,并将快照复制到云中多个可用性区域。这也可以适用于对象。也就是说,如果生产站点位于云中,则可以利用云的获取卷的快照的能力。
此外,实体200可以配置为:使用API创建第一快照的副本和/或与第一快照相关联的对象的副本;以及,使用云复制机制将该副本复制到云和/或远程站点中另外的生产站点20。
值得注意的是,实体200可以向云发送指令或消息,以命令或指示云获取生产站点的虚拟机的快照,或者将快照复制到云中的其他复制站点。根据本公开的实施例,尽管创建快照和复制快照的动作是由云执行的,但是它们实际上可以通过来自实体200的信令启动或触发。
以这种方式,云的用户可以为他的对象存储配置复制,并指定在哪些可用性区域上他需要这些对象。对象可以异步复制到其他可用性区域。
可选地,实体200可以进一步配置为从云接收快照的副本和/或与快照相关联的对象的副本。特别地,快照是另外的生产站点20处的存储实体的卷的快照。可能的是,实体200还可以配置为通过云复制机制从云中的该另外的生产站点20接收这种副本。因此,快照的副本和/或对象的副本将被存储在实体200中。
应当理解,来自其他一些生产站点20的对象和快照也可以被云复制,并存储到该生产站点10中。
本公开的另一方面是关于还原操作。特别地,根据本公开的实施例,还原操作可以如下工作。用户联系DR控制器500,并要求在特定区域还原到特定时间点。DR控制器500知道选择快照的哪个副本,因为它可以使用云API扫描可用的快照。DR控制器500可以实例化还原机。还原机可以将选择的快照还原到主卷中,特别是使用标准云API。然后,它可以寻找相关对象以寻找更改(即IO),并可以通过读取更改对象并将其应用于卷301来应用所有需要的更改。一旦卷301准备就绪,还原机可以从卷301创建VM,并销毁自身。即,卷301被附加到新创建的VM,并且VM可以开始运行。
图4示出了该过程如何工作。根据本公开的实施例,分离器将更改写入日志条目。DR控制器500协调快照的创建以及快照和日志条目的复制。值得注意的是,实体200可以进一步包括DR控制器500。
本公开的价值在于,区域(即生产站点)之间的所有通信都可以由云基础设施完成。这减少了对配置的需求,并可以降低价格。除了DR控制器500之外,不需要计算,而DR控制器500只是一个没有数据路径的管理单元,因此可以用非常少的计算能力来控制大量的VM。
此外,根据本公开的实施例,复制控制器可以配置快照和对象存储以在其他站点中具有副本。复制控制器可以是DR控制器500,如图3或图4中所示。
下面详细描述了本公开的实施例。特别地,CDP系统的步骤可以包括以下步骤:
1.在生产VM上安装分离器。
2.分离器拦截写入到生产卷的IO,分离器复制IO,并将它们转发到生产卷。
3.分离器聚合一组IO,并将它们作为对象写入对象存储,每个对象都指向先前对象或指向生产卷的快照。
4.周期性地在分离器中冻结IO,刷新存储器中的IO,并创建生产卷的快照,下个对象将指向创建的快照。(此步骤由复制控制器创建)。
下面的步骤与上述步骤相同,周期性的快照使分离器停止写入,以创建一致的快照。获取快照后,将返回到步骤2,新IO将被写入新快照的更改集中。
本公开的实施例,具体地,恢复过程的步骤详细描述如下:
1.用户选择要恢复的时间点和要恢复的站点。
2.复制控制器在请求的站点处还原用户请求的时间之前的最新快照。
3.复制控制器配置还原VM,将还原的卷附加到该VM,并从对象存储中读取相关对象,并应用来自于对象存储中的IO中的IO,直到该卷位于请求的时间点为止。
4.该卷被附加到新创建的VM,并且该VM开始运行。
根据本公开的前述实施例,提出实体200,以便节省计算成本,并且还能节省用于公共IP的成本。因此,可以利用云的复制对象和快照的能力,以便创建多站点CDP,而无需任何计算节点。众所周知,计算节点通常非常昂贵。根据本公开的实施例,将仅在还原操作期间需要计算节点,并且仅在有限量的时间中需要。
图5示出了根据本公开的实施例的方法500。在本公开的特定实施例中,方法500由图2所示的实体200执行。方法500包括:步骤501,拦截用于写入生产站点10处的存储实体300的卷301的多个IO 201;步骤502,聚合该多个IO 201;步骤503,将聚合的IO 201作为第一对象401存储在生产站点10的对象存储400中。
值得注意的是,方法500还可以包括如实体200的前述实施例中所述的动作。
本公开已经结合各种实施例作为示例以及实现形式进行了描述。然而,从对附图、本公开和独立权利要求的研究,其他变化可以由本领域技术人员理解和实现,并实践所要求保护的公开内容。在权利要求以及说明书中,词语“包括”不排除其他元件或步骤,不定冠词“一”或“一个”不排除多个。单个元件或其他单元可以实现权利要求中所述的几个实体或项目的功能。在相互不同的从属权利要求中叙述某些措施的事实并不表示这些措施的组合不能用于有利的实现。
此外,根据本公开的实施例的任何方法可以在具有代码装置的计算机程序中实现,该计算机程序在由处理装置运行时使所述处理装置执行该方法的步骤。所述计算机程序被包括在计算机程序产品的计算机可读介质中。所述计算机可读介质可以基本上包括任何存储器,例如只读存储器(ROM,Read-Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除PROM(EPROM,Erasable PROM)、闪存、电可擦除PROM(EEPROM,Electrically Erasable PROM)或硬盘驱动器。
此外,本领域技术人员认识到,所述实体200的实施例包括用于执行所述解决方案的例如功能、装置、单元、元件等形式的必要通信能力。其他这样的装置、单元、元件和功能的示例是:处理器、存储器、缓冲器、控制逻辑、编码器、解码器、速率匹配器、去速率匹配器、映射单元、乘法器、判决单元、选择单元、开关、交织器、去交织器、调制器、解调器、输入、输出、天线、放大器、接收器单元、发送器单元、DSP、网格编码调制(trellis-codedmodulation,TCM)编码器、TCM解码器、电源单元、馈电部、通信接口、通信协议等。它们被适当地布置在一起用于执行所述解决方案。
特别地,所述实体200的处理器可以包括例如中央处理单元(Central ProcessingUnit,CPU)、处理单元、处理电路、处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、微处理器或可以解释和执行指令的其他处理逻辑的一个或更多个实例。因此,表述“处理器”可以表示包括多个处理电路的处理电路,诸如,例如上面提到的任何一个、一些或全部。所述处理电路可以进一步执行用于数据的输入、输出和处理的数据处理功能,包括数据缓冲和设备控制功能,诸如呼叫处理控制、用户界面控制等。
Claims (18)
1.一种用于生产站点(10)的实体(200),所述实体(200)配置为:
拦截用于写入所述生产站点(10)处的存储实体(300)的卷(301)的多个输入/输出IO(201);
聚合所述多个IO(201);
将所述聚合的IO(201)作为第一对象(401)存储在所述生产站点(10)的对象存储(400)中。
2.根据权利要求1所述的实体(200),配置为:
从所述生产站点(10)处的控制器(500)获得通知(501),以开始在第一时间段中拦截所述多个IO;
在每个第一时间段中拦截所述多个IO(201);
在每个第一时间段中将所述多个IO(201)连续地聚合并作为对象存储在所述对象存储(400)中;
将每个对象与所述对象存储(400)中的先前对象和所述卷(301)的先前快照相关联,其中,所述先前快照是在存储所述对象之前创建的快照。
3.根据权利要求2所述的实体(200),配置为:
周期性地接收指示将创建所述卷(301)的快照的指示;
保持到来的IO;
根据与所述快照的先前快照相关联的对象写入所述卷(301);以及
在写入所述卷(301)之后创建所述卷(301)的所述快照。
4.根据权利要求3所述的实体(200),配置为:
在创建所述快照之后,将新存储的对象与所述快照相关联。
5.根据权利要求3或4所述的实体(200),其中,所述生产站点(10)位于远程站点中,尤其是云中。
6.根据权利要求5所述的实体(200),配置为:
使用所述云的应用编程接口API创建所述卷(301)的第一快照。
7.根据权利要求6所述的实体(200),配置为:
使用所述API创建所述第一快照的副本和/或与所述第一快照相关联的对象的副本;以及
使用云复制机制将所述副本复制到所述云和/或远程站点中另外的生产站点(20)。
8.根据权利要求7所述的实体(200),配置为:
通过云复制机制从所述云和/或从所述云中所述另外的生产站点(20)接收快照的副本和/或与所述快照相关联的对象的副本,所述快照是所述另外的生产站点(20)处的存储实体的卷的快照;以及
存储所述副本。
9.根据权利要求6至8中任一项所述的实体(200),配置为:
接收指示将创建所述卷(301)的第二快照的指示,其中,所述第一快照是所述第二快照的所述先前快照;
保持新的到来的IO;
根据与所述第一快照相关联的对象写入所述卷(301);
在写入所述卷(301)之后创建所述卷(301)的所述第二快照;以及
在创建所述第二快照之后,将新存储的对象与所述第二快照相关联。
10.根据权利要求9所述的实体(200),配置为:
获得将所述卷(301)还原到给定时间点的请求,其中,所述给定时间点是在创建所述第一快照之后并且在创建所述第二快照之前的时间点;
从所述对象存储(300)中获得与所述第一快照相关联的对象;
将所述第一快照还原到主卷中;以及
根据与所述第一快照相关联的所述对象写入所述主卷,直到所述主卷在给定时间点为止。
11.根据权利要求10所述的实体(200),其中,所述请求来自所述云中另外的生产站点(20)。
12.根据权利要求1至11中任一项所述的实体(200),其中,所述对象存储(400)中的对象包括多个IO的列表,以及发生所述多个IO的对应时间戳。
13.根据权利要求10和12所述的实体(200),配置为:
通过将具有所述给定时间点之前的对应时间戳的IO写入所述主卷,生成还原卷。
14.根据权利要求10至13中任一项所述的实体(200),配置为:
使用所述云服务提供商的所述API将所述第一快照还原到所述主卷中。
15.根据权利要求6至14中任一项所述的实体(200),配置为:
使用所述云服务提供商的所述API扫描快照。
16.根据权利要求7和权利要求10至15中任一项所述的实体(200),配置为:
在所述另外的生产站点还原存储设备的卷。
17.一种方法(500),包括:
拦截(501)用于写入生产站点(10)处的存储实体(300)的卷(301)的多个输入/输出IO(201);
聚合(502)所述多个IO(201);
将所述聚合的IO(201)作为第一对象(401)存储(503)在所述生产站点(10)的对象存储(400)中。
18.一种计算机程序产品,包括当在处理器上实现时用于执行根据权利要求17所述的方法的程序代码。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2020/062415 WO2021223852A1 (en) | 2020-05-05 | 2020-05-05 | Device and method for data protection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113906382A true CN113906382A (zh) | 2022-01-07 |
Family
ID=70617099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080017991.8A Pending CN113906382A (zh) | 2020-05-05 | 2020-05-05 | 用于数据保护的设备和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113906382A (zh) |
WO (1) | WO2021223852A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180060348A1 (en) * | 2015-11-02 | 2018-03-01 | StoreReduce | Method for Replication of Objects in a Cloud Object Store |
US10949309B2 (en) * | 2015-12-28 | 2021-03-16 | Netapp Inc. | Snapshot creation with synchronous replication |
US10534796B1 (en) * | 2016-06-30 | 2020-01-14 | EMC IP Holding Company LLC | Maintaining an active-active cloud across different types of cloud storage services |
US10126946B1 (en) * | 2016-09-30 | 2018-11-13 | EMC IP Holding Company LLC | Data protection object store |
US10684790B2 (en) * | 2018-04-27 | 2020-06-16 | EMC IP Holding Company LLC | Serverless solution for continuous data protection |
-
2020
- 2020-05-05 WO PCT/EP2020/062415 patent/WO2021223852A1/en active Application Filing
- 2020-05-05 CN CN202080017991.8A patent/CN113906382A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021223852A1 (en) | 2021-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429499B2 (en) | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node | |
US11429305B2 (en) | Performing backup operations using replicas | |
USRE47852E1 (en) | Snapshot and replication of a multi-stream application on multiple hosts at near-sync frequency | |
CN109558215B (zh) | 虚拟机的备份方法、恢复方法、装置及备份服务器集群 | |
CN112470112B (zh) | 块存储系统的分布式副本 | |
US10496487B1 (en) | Storing snapshot changes with snapshots | |
US9727429B1 (en) | Method and system for immediate recovery of replicated virtual machines | |
CN102594849B (zh) | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 | |
US10152246B1 (en) | Application aware AMQP durable messages backup and restore | |
US8055937B2 (en) | High availability and disaster recovery using virtualization | |
US8484431B1 (en) | Method and apparatus for synchronizing a physical machine with a virtual machine while the virtual machine is operational | |
US8898509B2 (en) | Policy-based checkpointing fault tolerance across remote virtual machines | |
US10754741B1 (en) | Event-driven replication for migrating computing resources | |
KR20170133866A (ko) | 데이터 이관 장치 및 방법 | |
US20070022319A1 (en) | Maintaining and using information on updates to a data group after a logical copy is made of the data group | |
CN105302676A (zh) | 一种分布式文件系统的主备机制数据传输方法及装置 | |
CN112130959B (zh) | 一种虚拟机的保护系统及方法 | |
US20120089576A1 (en) | Item level recovery | |
US11947425B2 (en) | Storage volume snapshot object management | |
CN113906382A (zh) | 用于数据保护的设备和方法 | |
US11513693B2 (en) | Smart network interface card-based splitter for data replication | |
CN109324931B (zh) | 在重复数据删除系统中实现vmware挂载恢复的方法 | |
CN113094207B (zh) | 数据备份方法及系统 | |
US20240103975A1 (en) | Dynamic resource scaling for large-scale backups | |
US20240160534A1 (en) | Snappable recovery chain over generic managed volume |
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 |