CN117493074A - 虚拟机增量恢复方法、装置、计算机设备和存储介质 - Google Patents

虚拟机增量恢复方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN117493074A
CN117493074A CN202311241763.0A CN202311241763A CN117493074A CN 117493074 A CN117493074 A CN 117493074A CN 202311241763 A CN202311241763 A CN 202311241763A CN 117493074 A CN117493074 A CN 117493074A
Authority
CN
China
Prior art keywords
disk
virtual machine
recovery
copy
recovered
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
CN202311241763.0A
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.)
Guangzhou Dingjia Computer Technology Co ltd
Original Assignee
Guangzhou Dingjia Computer Technology 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 Guangzhou Dingjia Computer Technology Co ltd filed Critical Guangzhou Dingjia Computer Technology Co ltd
Priority to CN202311241763.0A priority Critical patent/CN117493074A/zh
Publication of CN117493074A publication Critical patent/CN117493074A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/0643Management of files
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种虚拟机增量恢复方法、装置、计算机设备和存储介质。通过接收到恢复作业启动指令时,通过待恢复虚拟机对应的代理虚拟机获取待恢复磁盘对应的备份磁盘,以及备份磁盘对应的第一指纹文件和待恢复磁盘的磁盘副本的第二指纹文件,通过第一指纹文件和第二指纹文件的对比得到差异数据,根据差异数据和磁盘副本得到恢复后的目标磁盘副本,从而根据目标磁盘副本对待恢复虚拟机进行磁盘恢复。相较于传统的通过全量恢复的恢复方式,本方案通过磁盘副本和备份磁盘分别对应的指纹文件,确定差异数据,并结合差异数据和磁盘副本对虚拟机进行磁盘恢复,提高了虚拟机磁盘恢复的效率。

Description

虚拟机增量恢复方法、装置、计算机设备和存储介质
技术领域
本申请涉及数据恢复技术领域,特别是涉及一种虚拟机增量恢复方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
虚拟化平台是一种基于虚拟化技术的计算机系统环境,通过物理服务器、存储设备和网络资源的抽象化,实现将不同的计算任务以虚拟机或容器的方式运行在相同的物理服务器上或者分布在不同的服务器上。虚拟化平台上部署有虚拟磁盘,为保证虚拟磁盘中的数据安全,需要对虚拟磁盘进行恢复。目前对虚拟磁盘进行恢复的方式通常是通过全量恢复的方式进行恢复。然而,全量恢复需要大量的带宽成本和时间成本,导致恢复的效率降低。
因此,目前的虚拟机磁盘的恢复方法存在恢复效率低的缺陷。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高恢复效率的虚拟机增量恢复方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种虚拟机增量恢复方法,应用于备份存储系统,所述方法包括:
接收到恢复作业启动指令,获取待恢复虚拟机中待恢复磁盘对应的磁盘副本;
通过所述待恢复虚拟机对应的代理虚拟机获取所述待恢复磁盘对应的备份磁盘,并通过所述代理虚拟机分别获取所述备份磁盘对应的第一指纹文件以及所述磁盘副本对应的第二指纹文件;所述代理虚拟机与所述待恢复虚拟机在同一云平台且所在的域相同;
通过所述代理虚拟机根据所述第一指纹文件与所述第二指纹文件的对比结果,得到差异数据,根据所述差异数据以及所述磁盘副本得到恢复后的目标磁盘副本;
根据所述目标磁盘副本,对所述待恢复虚拟机进行磁盘恢复。
在其中一个实施例中,所述获取待恢复虚拟机中待恢复磁盘对应的磁盘副本,包括:
获取待恢复虚拟机中待恢复磁盘对应的磁盘快照;
根据所述磁盘快照得到所述待恢复磁盘对应的磁盘副本。
在其中一个实施例中,所述分别获取所述备份磁盘对应的第一指纹文件以及所述磁盘副本对应的第二指纹文件,包括:
根据预设重删算法,从重删存储池中获取所述备份磁盘对应的第一指纹文件;
根据所述预设重删算法,对所述磁盘副本进行重删指纹计算,得到所述磁盘副本对应的第二指纹文件。
在其中一个实施例中,所述根据所述第一指纹文件与所述第二指纹文件的对比结果,得到差异数据,包括:
根据所述第一指纹文件与所述第二指纹文件的对比结果,确定差异指纹信息;
获取所述备份磁盘中与所述差异指纹信息对应的数据,得到差异数据。
在其中一个实施例中,所述根据所述差异数据以及所述磁盘副本得到恢复后的目标磁盘副本,包括:
根据所述备份磁盘与所述差异指纹信息对应的数据,覆盖所述磁盘副本中对应位置的数据,根据覆盖后的磁盘副本得到恢复后的目标磁盘副本。
在其中一个实施例中,所述根据所述目标磁盘副本,对所述待恢复虚拟机进行磁盘恢复,包括:
根据所述恢复作业启动指令,确定恢复策略;所述恢复策略包括新建恢复和覆盖恢复;
若所述恢复策略为新建恢复,通过订阅接口创建新的虚拟机,将所述目标磁盘副本替换所述新的虚拟机的磁盘,得到磁盘恢复后的虚拟机;
若所述恢复策略为覆盖恢复,将所述目标磁盘副本覆盖所述待恢复磁盘,得到磁盘恢复后的虚拟机。
第二方面,本申请提供了一种虚拟机增量恢复装置,应用于备份存储系统,所述装置包括:
接收模块,用于接收到恢复作业启动指令,获取待恢复虚拟机中待恢复磁盘对应的磁盘副本;
获取模块,用于通过所述待恢复虚拟机对应的代理虚拟机获取所述待恢复磁盘对应的备份磁盘,并通过所述代理虚拟机分别获取所述备份磁盘对应的第一指纹文件以及所述磁盘副本对应的第二指纹文件;所述代理虚拟机与所述待恢复虚拟机在同一云平台且所在的域相同;
对比模块,用于通过所述代理虚拟机根据所述第一指纹文件与所述第二指纹文件的对比结果,得到差异数据,根据所述差异数据以及所述磁盘副本得到恢复后的目标磁盘副本;
恢复模块,用于根据所述目标磁盘副本,对所述待恢复虚拟机进行磁盘恢复。
第三方面,本申请提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
上述虚拟机增量恢复方法、装置、计算机设备、存储介质和计算机程序产品,通过接收到恢复作业启动指令时,通过待恢复虚拟机对应的代理虚拟机获取待恢复磁盘对应的备份磁盘,以及备份磁盘对应的第一指纹文件和待恢复磁盘的磁盘副本的第二指纹文件,通过第一指纹文件和第二指纹文件的对比得到差异数据,根据差异数据和磁盘副本得到恢复后的目标磁盘副本,从而根据目标磁盘副本对待恢复虚拟机进行磁盘恢复。相较于传统的通过全量恢复的恢复方式,本方案通过磁盘副本和备份磁盘分别对应的指纹文件,确定差异数据,并结合差异数据和磁盘副本对虚拟机进行磁盘恢复,提高了虚拟机磁盘恢复的效率。
附图说明
图1为一个实施例中虚拟机增量恢复方法的应用环境图;
图2为一个实施例中虚拟机增量恢复方法的流程示意图;
图3为另一个实施例中虚拟机增量恢复方法的流程示意图;
图4为一个实施例中虚拟机增量恢复装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的虚拟机增量恢复方法,可以应用于如图1所示的应用环境中。其中,云平台中可以部署多个虚拟机,从而备份存储系统可以通过接收指令对云平台中需要进行恢复的虚拟机进行增量恢复。其中,备份存储系统和云平台均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种虚拟机增量恢复方法,以该方法应用于图1中的备份存储系统为例进行说明,包括以下步骤:
步骤S202,接收到恢复作业启动指令,获取待恢复虚拟机中待恢复磁盘对应的磁盘副本。
其中,云平台可以是一种虚拟化平台,云平台可以由预设的架构组成。其中,预设的架构可以包括多种。例如 OpenStack或其衍生产品,由 NOVA(云计算网络控制器)、Cinder(块存储技术)、Glance(发现、注册和获取虚拟机映像的服务)、Neutron(虚拟网络服务)等组件作为计算、存储网络的调度和管理而形成的虚拟化平台。其中,备份存储系统负责备份数据的管理、备份恢复作业的管理、下发和执行。在一些实施例中,上述备份存储系统也可以集成到云平台,成为云平台的一部分。上述备份存储系统还可以对平台中的各个虚拟机进行周期性的备份,具体可以是对虚拟机的磁盘进行备份,得到多个时间节点的备份磁盘,备份的磁盘可以作为各个时间节点的备份磁盘存储在存储节点中。云平台中出现需要进行磁盘恢复的业务时,备份存储系统可以对相应的虚拟机的磁盘进行恢复。例如,云平台中的虚拟机磁盘出现故障或异常,或用户对虚拟机的磁盘进行了错误的操作需要回退等事件。
备份存储系统可以接收恢复作业启动指令。其中,该指令可以是根据备份存储系统中预设的时间策略进行触发,例如在备份存储系统中预先设置恢复作业的时间间隔。该指令也可以是通过人工在备份存储系统中进行触发。备份存储系统接收到恢复作业启动指令后,可以确定触发恢复作业任务。在恢复作业中,备份存储系统可以获取备份存储系统中待恢复虚拟机中的待恢复磁盘,并获取该待恢复磁盘对应的磁盘副本。其中,上述副本可以通过调用云平台中的接口进行创建。例如,在一个实施例中,云平台可以获取待恢复虚拟机中待恢复磁盘对应的磁盘快照,并根据磁盘快照得到待恢复磁盘对应的磁盘副本。具体地,虚拟机可以部署在备份存储系统中的服务器上,则对于需要进行恢复的虚拟机,备份存储系统可以调用云平台接口创建该虚拟机中待恢复磁盘的磁盘快照,从而取得磁盘副本。
步骤S204,通过待恢复虚拟机对应的代理虚拟机获取待恢复磁盘对应的备份磁盘,并通过代理虚拟机分别获取备份磁盘对应的第一指纹文件以及磁盘副本对应的第二指纹文件;代理虚拟机与待恢复虚拟机在云平台中的域相同。
其中,备份存储系统可以周期性地对云平台中的虚拟机进行备份,其中包括虚拟机中磁盘的备份,备份存储系统通过定期备份虚拟机的磁盘,可以得到多个时间点对应的多个备份磁盘。其中,每个备份磁盘的时间点可以表示该备份磁盘对应的备份时间,上述备份磁盘可以存储在备份存储系统中的存储节点的数据库中。在对虚拟机的磁盘进行恢复任务时,备份存储系统可以首先确定待恢复虚拟机对应的代理虚拟机。其中,代理虚拟机可以是与上述待恢复虚拟机在云平台中的同一个域下的虚拟机。其中,域是计算机网络的一种形式,同一个域中的虚拟机可以在同一个域控制器的中央计算机集群中注册。
备份存储系统确定待恢复虚拟机对应的代理虚拟机后,可以将上述磁盘副本挂载至上述代理虚拟机,通过将磁盘副本进行挂载,备份存储系统可以实现通过代理虚拟机对磁盘副本中的数据进行处理。从而避免直接操作待恢复虚拟机,降低待恢复虚拟机二次异常的风险。具体地,备份存储系统获取云平台中与上述待恢复虚拟机在同一个域下的代理虚拟机,代理虚拟机的磁盘和待恢复虚拟机的磁盘具备相互挂载的权限,从而云平台可以将上述磁盘副本挂载到该代理虚拟机。
备份存储系统确定上述代理虚拟机后,可以通过代理虚拟机获取备份磁盘对应的第一指纹文件,以及通过代理虚拟机获取磁盘副本的第二指纹文件。其中,上述各个指纹文件可以记录有相应磁盘中每个数据块的指纹信息。上述第一指纹文件和第二指纹文件均可以基于重删存储池以及相同的算法获取得到。其中,重删存储池是一种数据缩减技术,是连接到虚拟机所在服务器的磁盘存储。
步骤S206,通过代理虚拟机根据第一指纹文件与第二指纹文件的对比结果,得到差异数据,根据差异数据以及磁盘副本得到恢复后的目标磁盘副本。
其中,备份存储系统通过代理虚拟机得到上述第一指纹文件和第二指纹文件后,可以通过代理虚拟机将第一指纹文件与第二指纹文件进行对比,例如对比其中的各项数据块的指纹信息,得到相应的对比结果。备份存储系统可以根据该对比结果得到上述磁盘副本与备份磁盘之间的差异数据。例如备份存储系统基于存在差异的指纹确定对应的差异数据等。由于指纹文件的大小远小于具体的数据块,因此备份存储系统通过指纹文件的对比,可以提高数据恢复的效率。备份存储系统可以根据上述差异数据以及磁盘副本,得到恢复后的目标磁盘副本。其中,上述备份磁盘可以是用户期望磁盘恢复至的状态,则上述差异数据可以是备份磁盘中与磁盘副本存在差异的数据,也可以称为增量数据,则备份存储系统可以结合上述差异数据与磁盘副本,对磁盘副本进行数据恢复,得到上述恢复后的目标磁盘副本。
步骤S208,根据目标磁盘副本,对待恢复虚拟机进行磁盘恢复。
其中,备份存储系统基于差异数据恢复得到目标磁盘副本后,需要将目标磁盘副本作用在待恢复虚拟机中,以实现对待恢复虚拟机中待恢复磁盘的恢复。例如,备份存储系统可以根据上述目标磁盘副本,对待恢复虚拟机进行磁盘恢复。其中,备份存储系统可以通过多种方式对待恢复虚拟机进行恢复,例如通过覆盖或新建虚拟机等方式进行恢复,从而得到恢复后的虚拟机。
另外,上述恢复作业启动指令中还可以包含启动策略。其中,启动策略表示虚拟机恢复后,是否需要进行通电。若备份存储系统检测到启动策略为需要给虚拟机通电,则备份存储系统在得到恢复后的虚拟机后,可以对虚拟机进行通电,以启动虚拟机;若启动策略为不需给虚拟机通电,则备份存储系统可以不启动恢复后的虚拟机,而是由用户登录云平台手动启动虚拟机。通过启动上述虚拟机,可以得到虚拟机恢复的验证结果,即虚拟机是否恢复成功。其中,若虚拟机成功启动,说明虚拟机恢复成功;若虚拟机启动异常,则说明恢复出现异常。
上述虚拟机增量恢复方法中,通过接收到恢复作业启动指令时,通过待恢复虚拟机对应的代理虚拟机获取待恢复磁盘对应的备份磁盘,以及备份磁盘对应的第一指纹文件和待恢复磁盘的磁盘副本的第二指纹文件,通过第一指纹文件和第二指纹文件的对比得到差异数据,根据差异数据和磁盘副本得到恢复后的目标磁盘副本,从而根据目标磁盘副本对待恢复虚拟机进行磁盘恢复。相较于传统的通过全量恢复的恢复方式,本方案通过磁盘副本和备份磁盘分别对应的指纹文件,确定差异数据,并结合差异数据和磁盘副本对虚拟机进行磁盘恢复,提高了虚拟机磁盘恢复的效率。
在一个实施例中,分别获取备份磁盘对应的第一指纹文件以及磁盘副本对应的第二指纹文件,包括:根据预设重删算法,从重删存储池中获取备份磁盘对应的第一指纹文件;根据预设重删算法,对磁盘副本进行重删指纹计算,得到磁盘副本对应的第二指纹文件。
本实施例中,备份存储系统可以通过代理虚拟机分别获取第一指纹文件和第二指纹文件。例如,对于第一指纹文件,备份存储系统可以通过代理虚拟机,根据预设重删算法,从重删存储池中获取备份磁盘对应的第一指纹文件。对于第二指纹文件,备份存储系统可以通过代理虚拟机,根据与上述预设重删算法相同的算法,对上述磁盘副本进行重删指纹计算,从而得到磁盘副本对应的第二指纹文件。
具体地,备份存储系统可以通过代理虚拟机向备份存储系统中的存储节点,请求对应时间点的备份磁盘的指纹文件,具体可以是向重删存储池请求指纹文件,得到第一指纹文件。其中,重删存储池基于重删技术,上述请求不会消耗计算资源。并且,备份存储系统通过代理虚拟机,使用与重删过程相同的算法那,对磁盘副本进行重删指纹计算,从而得到相应的第二指纹文件。备份存储系统通过使用与请求备份磁盘的指纹文件相同的算法计算第二指纹文件,可以确保指纹文件有效验证。
通过本实施例,备份存储系统可以通过重删技术得到备份磁盘对应的第一指纹文件和磁盘副本对应的第二指纹文件,从而备份存储系统可以基于第一指纹文件和第二指纹文件对待恢复虚拟机的磁盘进行增量恢复,提高了磁盘恢复的效率。
在一个实施例中,根据第一指纹文件与第二指纹文件的对比结果,得到差异数据,包括:根据第一指纹文件与第二指纹文件的对比结果,确定差异指纹信息;获取备份磁盘中与差异指纹信息对应的数据,得到差异数据。
本实施例中,备份存储系统可以通过代理虚拟机将第一指纹文件和第二指纹文件进行对比。例如,上述各个指纹文件中可以包含对应的磁盘中的多个数据块对应的多个指纹信息,则备份存储系统可以通过代理虚拟机,对比第一指纹文件和第二指纹文件中各个数据块对应的指纹信息,从而备份存储系统可以通过对比结果,得到差异指纹信息。其中,差异指纹信息表示第一指纹文件对应的多个指纹信息与第二指纹文件对应的多个指纹信息中存在差异的指纹信息。备份存储系统可以根据差异指纹信息,确定差异数据。其中,上述指纹文件中的指纹信息与磁盘中相应的数据块对应,则备份存储系统可以获取备份磁盘中与上述差异指纹信息的位置对应的数据块,将这些数据块的内容作为差异数据,同时备份存储系统还可以在磁盘副本中与差异指纹信息对应的位置标记相应的数据块,得到磁盘副本中的差异数据。
具体地,备份存储系统可以将第二指纹文件与从存储获取的第一指纹文件进行对比,若其中的指纹信息一致则标记为相同指纹信息,若不一致则标记为差异指纹信息,从而备份存储系统可以根据标记信息得到差异指纹信息,并根据差异指纹信息确定上述差异数据。
通过本实施例,备份存储系统可以通过指纹文件之间的对比,得到备份磁盘与磁盘副本之间的差异数据,从而减小了确定差异数据的计算量,提高了增量恢复的效率。
在一个实施例中,根据差异数据以及磁盘副本得到恢复后的目标磁盘副本,包括:根据备份磁盘与差异指纹信息对应的数据,覆盖磁盘副本中对应位置的数据,根据覆盖后的磁盘副本得到恢复后的目标磁盘副本。
本实施例中,备份存储系统可以利用上述差异数据,对磁盘副本进行增量恢复。例如,备份存储系统可以获取上述备份磁盘中与差异指纹信息对应的数据,并在磁盘副本中与差异指纹信息相应的位置中,使用上述备份磁盘中的差异数据进行覆盖,从而备份存储系统根据覆盖后的磁盘副本可以得到恢复后的目标磁盘副本。
具体地,上述备份磁盘和磁盘副本中均可以包括多个数据块,备份存储系统根据被标记的差异指纹信息分别确定备份磁盘中与差异指纹信息对应的数据块,以及磁盘副本中与差异指纹信息对应的数据块,从而备份存储系统可以通过将备份磁盘中存在差异的数据块覆盖磁盘副本中存在差异的数据块,实现磁盘的增量恢复,即恢复到用户期望恢复到的时间点的磁盘状态。其中,在一些实施例中,上述数据块覆盖过程也可以与差异数据确定的步骤同时进行,从而提高传输效率。
通过本实施例,备份存储系统可以基于差异指纹信息确定差异数据,从而通过将备份磁盘中的差异数据覆盖磁盘副本中对应位置的数据,实现对磁盘的增量恢复,提高磁盘恢复的效率。
在一个实施例中,根据目标磁盘副本,对待恢复虚拟机进行磁盘恢复,包括:根据恢复作业启动指令,确定恢复策略;恢复策略包括新建恢复和覆盖恢复;若恢复策略为新建恢复,通过订阅接口创建新的虚拟机,将目标磁盘副本替换新的虚拟机的磁盘,得到磁盘恢复后的虚拟机;若恢复策略为覆盖恢复,将目标磁盘副本覆盖待恢复磁盘,得到磁盘恢复后的虚拟机。
本实施例中,上述恢复作业启动指令还可以包括恢复策略,恢复策略中包括多种针对虚拟机磁盘的恢复策略。例如新建恢复和覆盖恢复等。其中,新建恢复表示通过新建虚拟机的方式进行磁盘恢复,覆盖恢复表示通过覆盖的方式对虚拟机进行磁盘恢复。备份存储系统可以通过检测恢复作业启动指令中的恢复策略,确定对目标磁盘副本的处理方式。
例如,若备份存储系统检测到恢复策略为新建恢复,则备份存储系统可以调用云平台中的订阅接口,通过订阅接口创建新的虚拟机,备份存储系统将上述目标磁盘副本替换上述新的虚拟机的磁盘,可以得到磁盘恢复后的虚拟机。若备份存储系统检测到恢复策略为覆盖恢复,则备份存储系统可以将上述目标磁盘副本覆盖上述待恢复虚拟机中的待恢复磁盘,从而得到磁盘恢复后的虚拟机。
具体地,上述恢复策略可以在恢复任务中配置,具体可以配置是将目标磁盘副本恢复到新虚拟机还是覆盖原虚拟机。恢复到新虚拟机则保留原虚拟机,否则覆盖原虚拟机。当恢复到新虚拟机时,备份存储系统可以通过调用云平台的订阅接口创建虚拟机,并使用新硬盘替换,例如使用上述目标磁盘副本替换新建的虚拟机中的磁盘。其中,部分云平台需要使用新虚拟磁盘创建镜像,再基于镜像创建新虚拟机;若覆盖原虚拟机,则云平台可以将直接将上述目标磁盘副本替换上述待恢复虚拟机的待恢复磁盘。其中,对于部分不支持替换磁盘的云平台,备份存储系统可以通过创建新虚拟机,基于新虚拟机和目标磁盘副本进行磁盘恢复后,删除旧虚拟机实现。
通过本实施例,备份存储系统可以通过多种恢复策略对待恢复虚拟机进行磁盘的增量恢复,从而适应了多种环境下的虚拟机恢复需求,提高了虚拟机磁盘恢复的效率。
在一个实施例中,如图3所示,图3为另一个实施例中虚拟机增量恢复方法的流程示意图。本实施例中,云平台可以是一种OpenStack架构的虚拟化平台,备份存储系统可以在接收到恢复作业启动指令时,快照待恢复的虚拟机的待恢复磁盘,得到磁盘副本。备份存储系统将磁盘副本挂载到上述代理虚拟机,从而备份存储系统请求重删存储池获取备份磁盘对应的第一指纹文件,以及通过云平台上的代理虚拟机利用与重删过程相同的算法计算磁盘副本对应的第二指纹文件。从而备份存储系统可以通过指纹文件的对比,确定差异数据片段。对于差异数据片段,备份存储系统可以通过传输覆盖实现对磁盘的增量恢复,例如将备份磁盘中对应的差异数据覆盖磁盘副本中对应位置的数据,得到目标磁盘副本。需要说明的是,上述差异数据传输过程,还可以通过BCT(Block Change Tracking,块改变跟踪)技术,或 CDC(Content Defined Chunking,基于内容可变长度分块)技术实现。
其中,上述恢复作业启动指令中还配置有恢复策略,备份存储系统可以根据恢复策略,确定是使用上述目标磁盘副本创建新的虚拟机,还是将目标磁盘副本替换上述待恢复虚拟机的待恢复磁盘,从而得到恢复后的虚拟机。恢复后的虚拟机后,还可以基于恢复作业启动指令中配置的启动策略,确定是自动挡启动恢复后的虚拟机,还是通过手动启动恢复后的虚拟机,实现对恢复后的虚拟机的恢复结果验证。
通过上述实施例,备份存储系统通过磁盘副本和备份磁盘分别对应的指纹文件,确定差异数据,并结合差异数据和磁盘副本对虚拟机进行磁盘恢复,提高了虚拟机磁盘恢复的效率。并且在有限的带宽环境下,恢复速度比全量恢复的速度加快数倍。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的虚拟机增量恢复方法的虚拟机增量恢复装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个虚拟机增量恢复装置实施例中的具体限定可以参见上文中对于虚拟机增量恢复方法的限定,在此不再赘述。
在一个实施例中,如图4所示,提供了一种虚拟机增量恢复装置,包括:接收模块500、获取模块502、对比模块504和恢复模块506,其中:
接收模块500,具体用于接收到恢复作业启动指令,获取待恢复虚拟机中待恢复磁盘对应的磁盘副本。
获取模块502,具体用于通过待恢复虚拟机对应的代理虚拟机获取待恢复磁盘对应的备份磁盘,并通过代理虚拟机分别获取备份磁盘对应的第一指纹文件以及磁盘副本对应的第二指纹文件;代理虚拟机与待恢复虚拟机在云平台中的域相同。
对比模块504,具体用于通过代理虚拟机根据第一指纹文件与第二指纹文件的对比结果,得到差异数据,根据差异数据以及磁盘副本得到恢复后的目标磁盘副本。
恢复模块506,具体用于根据目标磁盘副本,对待恢复虚拟机进行磁盘恢复。
在一个实施例中,上述接收模块500,具体用于获取待恢复虚拟机中待恢复磁盘对应的磁盘快照;根据磁盘快照得到待恢复磁盘对应的磁盘副本。
在一个实施例中,上述获取模块502,具体用于根据预设重删算法,从重删存储池中获取备份磁盘对应的第一指纹文件;根据预设重删算法,对磁盘副本进行重删指纹计算,得到磁盘副本对应的第二指纹文件。
在一个实施例中,上述对比模块504,具体用于根据第一指纹文件与第二指纹文件的对比结果,确定差异指纹信息;获取备份磁盘中与差异指纹信息对应的数据,得到差异数据。
在一个实施例中,上述对比模块504,具体用于根据备份磁盘与差异指纹信息对应的数据,覆盖磁盘副本中对应位置的数据,根据覆盖后的磁盘副本得到恢复后的目标磁盘副本。
在一个实施例中,上述恢复模块506,具体用于根据恢复作业启动指令,确定恢复策略;恢复策略包括新建恢复和覆盖恢复;若恢复策略为新建恢复,通过订阅接口创建新的虚拟机,将目标磁盘副本替换新的虚拟机的磁盘,得到磁盘恢复后的虚拟机;若恢复策略为覆盖恢复,将目标磁盘副本覆盖待恢复磁盘,得到磁盘恢复后的虚拟机。
上述虚拟机增量恢复装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是备份存储系统,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储磁盘备份数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种虚拟机增量恢复方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述的虚拟机增量恢复方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的虚拟机增量恢复方法。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的虚拟机增量恢复方法。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种虚拟机增量恢复方法,其特征在于,应用于备份存储系统,所述方法包括:
接收到恢复作业启动指令,获取待恢复虚拟机中待恢复磁盘对应的磁盘副本;
通过所述待恢复虚拟机对应的代理虚拟机获取所述待恢复磁盘对应的备份磁盘,并通过所述代理虚拟机分别获取所述备份磁盘对应的第一指纹文件以及所述磁盘副本对应的第二指纹文件;所述代理虚拟机与所述待恢复虚拟机在同一云平台且所在的域相同;
通过所述代理虚拟机根据所述第一指纹文件与所述第二指纹文件的对比结果,得到差异数据,根据所述差异数据以及所述磁盘副本得到恢复后的目标磁盘副本;
根据所述目标磁盘副本,对所述待恢复虚拟机进行磁盘恢复。
2.根据权利要求1所述的方法,其特征在于,所述获取待恢复虚拟机中待恢复磁盘对应的磁盘副本,包括:
获取待恢复虚拟机中待恢复磁盘对应的磁盘快照;
根据所述磁盘快照得到所述待恢复磁盘对应的磁盘副本。
3.根据权利要求1所述的方法,其特征在于,所述分别获取所述备份磁盘对应的第一指纹文件以及所述磁盘副本对应的第二指纹文件,包括:
根据预设重删算法,从重删存储池中获取所述备份磁盘对应的第一指纹文件;
根据所述预设重删算法,对所述磁盘副本进行重删指纹计算,得到所述磁盘副本对应的第二指纹文件。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一指纹文件与所述第二指纹文件的对比结果,得到差异数据,包括:
根据所述第一指纹文件与所述第二指纹文件的对比结果,确定差异指纹信息;
获取所述备份磁盘中与所述差异指纹信息对应的数据,得到差异数据。
5.根据权利要求4所述的方法,其特征在于,所述根据所述差异数据以及所述磁盘副本得到恢复后的目标磁盘副本,包括:
根据所述备份磁盘与所述差异指纹信息对应的数据,覆盖所述磁盘副本中对应位置的数据,根据覆盖后的磁盘副本得到恢复后的目标磁盘副本。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标磁盘副本,对所述待恢复虚拟机进行磁盘恢复,包括:
根据所述恢复作业启动指令,确定恢复策略;所述恢复策略包括新建恢复和覆盖恢复;
若所述恢复策略为新建恢复,通过订阅接口创建新的虚拟机,将所述目标磁盘副本替换所述新的虚拟机的磁盘,得到磁盘恢复后的虚拟机;
若所述恢复策略为覆盖恢复,将所述目标磁盘副本覆盖所述待恢复磁盘,得到磁盘恢复后的虚拟机。
7.一种虚拟机增量恢复装置,其特征在于,应用于备份存储系统,所述装置包括:
接收模块,用于接收到恢复作业启动指令,获取待恢复虚拟机中待恢复磁盘对应的磁盘副本;
获取模块,用于通过所述待恢复虚拟机对应的代理虚拟机获取所述待恢复磁盘对应的备份磁盘,并通过所述代理虚拟机分别获取所述备份磁盘对应的第一指纹文件以及所述磁盘副本对应的第二指纹文件;所述代理虚拟机与所述待恢复虚拟机在同一云平台且所在的域相同;
对比模块,用于通过所述代理虚拟机根据所述第一指纹文件与所述第二指纹文件的对比结果,得到差异数据,根据所述差异数据以及所述磁盘副本得到恢复后的目标磁盘副本;
恢复模块,用于根据所述目标磁盘副本,对所述待恢复虚拟机进行磁盘恢复。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202311241763.0A 2023-09-25 2023-09-25 虚拟机增量恢复方法、装置、计算机设备和存储介质 Pending CN117493074A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311241763.0A CN117493074A (zh) 2023-09-25 2023-09-25 虚拟机增量恢复方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311241763.0A CN117493074A (zh) 2023-09-25 2023-09-25 虚拟机增量恢复方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN117493074A true CN117493074A (zh) 2024-02-02

Family

ID=89675203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311241763.0A Pending CN117493074A (zh) 2023-09-25 2023-09-25 虚拟机增量恢复方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN117493074A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099391B1 (en) * 2009-03-17 2012-01-17 Symantec Corporation Incremental and differential backups of virtual machine files
CN111143133A (zh) * 2019-12-31 2020-05-12 广州鼎甲计算机科技有限公司 虚拟机备份方法和备份虚拟机恢复方法
CN111611110A (zh) * 2020-06-30 2020-09-01 上海爱数信息技术股份有限公司 基于FusionCompute平台的差异恢复方法及差异恢复装置
CN112612576A (zh) * 2020-12-23 2021-04-06 新华三大数据技术有限公司 虚拟机备份方法、装置、电子设备及存储介质
CN113220500A (zh) * 2020-02-05 2021-08-06 伊姆西Ip控股有限责任公司 基于逆向差异恢复的恢复方法、设备和程序产品
CN113918385A (zh) * 2021-10-14 2022-01-11 江苏安超云软件有限公司 本地存储虚拟机在线增量备份和恢复的方法及应用
CN116185720A (zh) * 2023-03-16 2023-05-30 安超云软件有限公司 基于vSAN超融合虚拟化平台的虚拟机备份及恢复的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099391B1 (en) * 2009-03-17 2012-01-17 Symantec Corporation Incremental and differential backups of virtual machine files
CN111143133A (zh) * 2019-12-31 2020-05-12 广州鼎甲计算机科技有限公司 虚拟机备份方法和备份虚拟机恢复方法
CN113220500A (zh) * 2020-02-05 2021-08-06 伊姆西Ip控股有限责任公司 基于逆向差异恢复的恢复方法、设备和程序产品
CN111611110A (zh) * 2020-06-30 2020-09-01 上海爱数信息技术股份有限公司 基于FusionCompute平台的差异恢复方法及差异恢复装置
CN112612576A (zh) * 2020-12-23 2021-04-06 新华三大数据技术有限公司 虚拟机备份方法、装置、电子设备及存储介质
CN113918385A (zh) * 2021-10-14 2022-01-11 江苏安超云软件有限公司 本地存储虚拟机在线增量备份和恢复的方法及应用
CN116185720A (zh) * 2023-03-16 2023-05-30 安超云软件有限公司 基于vSAN超融合虚拟化平台的虚拟机备份及恢复的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIANHUA, XING AND TONG 等: "Virtual Machine Incremental Backup Method for Bitmap Characteristics", 2019 IEEE 5TH INTERNATIONAL CONFERENCE ON COMPUTER AND COMMUNICATIONS (ICCC), vol. 2019, 13 April 2020 (2020-04-13) *
刘青,等: "基于Hadoop平台的分布式重删存储系统", 计算机应用, vol. 36, no. 02, 10 February 2016 (2016-02-10) *
涂国义;胡晓勤: "一种基于ESXi的虚拟机备份与恢复系统", 计算机安全, vol. 2013, no. 11, 15 November 2013 (2013-11-15) *

Similar Documents

Publication Publication Date Title
US10936444B2 (en) Smart dynamic restore for Kubernetes based applications
JP4446738B2 (ja) コンピュータファイルを効率的にバックアップするシステムと方法
CN102594849B (zh) 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置
EP3234772B1 (en) Efficiently providing virtual machine reference points
US10778762B2 (en) Cloud computing service architecture
US20120110287A1 (en) Snapshots in a hybrid storage device comprising a magnetic disk and a solid state disk
US7987325B1 (en) Method and apparatus for implementing a storage lifecycle based on a hierarchy of storage destinations
US9830228B1 (en) Intelligent backup model for snapshots
US10372547B1 (en) Recovery-chain based retention for multi-tier data storage auto migration system
US10055307B2 (en) Workflows for series of snapshots
US11573861B2 (en) Continuous data protection using a write filter
CN113886143B (zh) 虚拟机持续数据保护方法、装置及数据恢复方法、装置
US11599276B1 (en) Snapshot shipping to multiple cloud destinations
US20240061749A1 (en) Consolidating snapshots using partitioned patch files
US8738577B1 (en) Change tracking for multiphase deduplication
US11580015B2 (en) Garbage collection for a deduplicated cloud tier using functions
US11573892B2 (en) Garbage collection for a deduplicated cloud tier using microservices
US20210117095A1 (en) Storage array data protection using virtual machine data protection
CN117493074A (zh) 虚拟机增量恢复方法、装置、计算机设备和存储介质
US9563633B1 (en) Trimming unused blocks from a versioned image backup of a source storage that is stored in a sparse storage
CN109324931B (zh) 在重复数据删除系统中实现vmware挂载恢复的方法
CN114201338A (zh) 从多个云副本进行智能恢复
CN113495871A (zh) 一种基于LSM-Tree存储引擎的文件管理方法和装置
CN117472573B (zh) 数据处理方法、装置和计算机设备
US20210365326A1 (en) Cold tiering microservice for deduplicated data

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