CN113918385A - 本地存储虚拟机在线增量备份和恢复的方法及应用 - Google Patents

本地存储虚拟机在线增量备份和恢复的方法及应用 Download PDF

Info

Publication number
CN113918385A
CN113918385A CN202111198201.3A CN202111198201A CN113918385A CN 113918385 A CN113918385 A CN 113918385A CN 202111198201 A CN202111198201 A CN 202111198201A CN 113918385 A CN113918385 A CN 113918385A
Authority
CN
China
Prior art keywords
backup
virtual machine
node
chain
incremental
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.)
Granted
Application number
CN202111198201.3A
Other languages
English (en)
Other versions
CN113918385B (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.)
Jiangsu Anchao Cloud Software Co Ltd
Original Assignee
Jiangsu Anchao Cloud Software 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 Jiangsu Anchao Cloud Software Co Ltd filed Critical Jiangsu Anchao Cloud Software Co Ltd
Priority to CN202111198201.3A priority Critical patent/CN113918385B/zh
Publication of CN113918385A publication Critical patent/CN113918385A/zh
Application granted granted Critical
Publication of CN113918385B publication Critical patent/CN113918385B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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/45575Starting, stopping, suspending or resuming 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/45595Network integration; Enabling network access in virtual machine instances

Landscapes

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

Abstract

本发明公开了一种本地存储虚拟机在线增量备份和恢复的方法及应用,该方法包括以下步骤:通过外部快照生成虚拟机磁盘的当前时刻的备份节点的增量文件和位置信息;根据所述位置信息将所述增量文件发送至备份服务器的指定位置存储;以及将每次执行时刻的所述虚拟机磁盘的备份节点的增量文件组织成备份链,并保存在数据库中。本地存储虚拟机在线增量备份的方法能够通过外部快照生成虚拟机磁盘的备份时刻的增量文件和位置信息,在多样化备份策略的场景下备份链呈现出森林结构,实现虚拟机磁盘的多场景增量备份,有效的提高系统的磁盘空间利用率和备份效率。

Description

本地存储虚拟机在线增量备份和恢复的方法及应用
技术领域
本发明是关于计算机领域,特别是关于一种本地存储虚拟机在线增量备份和恢复的方法及应用。
背景技术
随着云平台规模的扩大,云平台面临这些挑战:云存储数据量的飙升、企业和个人用户对云平台数据存储可靠性的要求日益增强,针对当前云平台上数据存储备份管理所存在的问题以及面临的挑战。
现有的虚拟机磁盘备份多是有代理的备份恢复,需要在虚拟机内安装备份代理软件以实现虚拟机磁盘数据的备份和恢复,不仅影响了虚拟机性能,同时无法保证虚拟机数据的安全性。虚拟机磁盘备份链路管理是备份恢复的关键步骤。传统的备份点管理模型以虚拟机磁盘最近备份点为核心,将备份点按照备份时间和策略关系组织为线性结构,采用单链条方式对其进行成组管理,但在实际应用中,多样化的备份策略使得备份点将存在多种形式的关联,即多链条式的关联特点,从而导致传统的备份点管理模型具有下述的问题:单备份链管理,历史时间点需要手动管理和归档;备份恢复耗时时间长、自动删除策略不够灵活、磁盘空间利用低等问题。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种本地存储虚拟机在线增量备份和恢复的方法及应用,其能够通过外部快照生成虚拟机磁盘的备份时刻的增量文件和位置信息,实现虚拟机磁盘的增量备份,有效的提高系统的磁盘空间利用率和备份效率。
为实现上述目的,本发明的实施例提供了一种本地存储虚拟机在线增量备份的方法。
在本发明的一个或多个实施方式中,通过外部快照生成虚拟机磁盘的当前时刻的备份节点的增量文件和位置信息;根据所述位置信息将所述增量文件发送至备份服务器的指定位置存储;以及将每次执行时刻的所述虚拟机磁盘的备份节点的增量文件组织成备份链,并保存在数据库中。
在本发明的一个或多个实施方式中,通过外部快照生成虚拟机磁盘的当前时刻的备份节点的增量文件和位置信息,包括:将当前时刻的备份节点的遍历序号存储至当前时刻备份节点的增量文件的前序遍历序号中;判断所述当前时刻的备份节点是否为叶子节点;若是,将所述前序遍历序号存储至所述当前时刻的备份节点的增量文件的节点范围序数中;若否,将以所述备份节点为根节点的子树中深度为1的节点中最大的节点范围序数存储至所述当前时刻的备份节点的增量文件的节点范围序数中。
在本发明的一个或多个实施方式中,所述将每次执行时刻的所述虚拟机磁盘的备份节点的增量文件组织成备份链前,还包括:更新所有前序遍历序号大于当前时刻的备份节点的前序遍历序号的备份节点的增量文件。
在本发明的一个或多个实施方式中,更新所有前序遍历序号大于当前时刻的备份节点的前序遍历序号的备份节点的增量文件,包括:将所有前序遍历序号大于当前时刻备份节点的前序遍历序号的备份节点的所述前序遍历序号加1存储至对应的备份节点的前序遍历序号中;以及将所有节点范围序数大于当前时刻备份节点的节点范围序数的备份节点的所述节点范围序数加1存储至对应的节点范围序数中。
为实现上述目的,本发明的实施例提供了一种本地存储虚拟机在线恢复的方法。
在本发明的一个或多个实施方式中,所述方法包括:根据恢复任务信息查找对应的虚拟机磁盘的备份链,并解析所述备份链形成所述虚拟机磁盘的恢复链;将所述恢复链中每个备份节点的增量文件进行合并,组成磁盘文件;以及根据恢复链中每个备份节点的增量文件生成时的位置信息,将所述磁盘文件从备份服务器上拷贝至待恢复虚拟机磁盘所在位置,并恢复虚拟机。
在本发明的一个或多个实施方式中,所述根据恢复任务信息查找对应的虚拟机磁盘的备份链,并解析所述备份链形成所述虚拟机磁盘的恢复链,包括:查找所述虚拟机磁盘在待恢复时刻备份节点的位置信息;根据所述位置信息获取待恢复时刻备份节点的前序遍历序号和节点范围序数;以及将所述备份链中前序遍历序号不大于待恢复时刻备份节点的前序遍历序号且节点范围序数不小于待恢复时刻备份节点的节点范围序数的节点按照前序遍历序号升序排列,形成所述虚拟机磁盘的恢复链。
在本发明的一个或多个实施方式中,所述方法还包括:根据所述恢复任务信息删除前序遍历序号是n至m的备份节点;更新所有前序遍历序号大于n的备份节点的前序遍历序号lid,其中lid=lid-m+n-1;以及更新所有节点范围序数大于n的备份节点的节点范围序数rid,其中rid=rid-m+n-1。
在本发明的一个或多个实施方式中,所述方法还包括:所述恢复链上的备份节点的前序遍历序号连续;所述恢复链上的备份节点在同一磁盘上;以及所述恢复链上的备份节点的深度全是1。
在本发明的另一个方面当中,提供了一种本地存储虚拟机在线增量备份的装置,其包括磁盘增量文件生成模块、数据传输模块和备份链管理模块。
磁盘增量文件生成模块,用于通过外部快照生成虚拟机磁盘的当前时刻的备份节点的增量文件和位置信息。
数据传输模块,用于根据所述位置信息将所述增量文件发送至备份服务器的指定位置存储。
备份链管理模块,用于将每次执行时刻的所述虚拟机磁盘的备份节点的增量文件组织成备份链,并保存在数据库中。
在本发明的一个或多个实施方式中,所述磁盘增量文件生成模块还用于:将当前时刻的备份节点的遍历序号存储至当前时刻备份节点的增量文件的前序遍历序号中;判断所述当前时刻的备份节点是否为叶子节点;若是,将所述前序遍历序号存储至所述当前时刻的备份节点的增量文件的节点范围序数中;若否,将以所述备份节点为根节点的子树中深度为1的节点中最大的节点范围序数存储至所述当前时刻的备份节点的增量文件的节点范围序数中。
在本发明的一个或多个实施方式中,所述备份链管理模块还用于:更新所有前序遍历序号大于当前时刻的备份节点的前序遍历序号的备份节点的增量文件。
在本发明的一个或多个实施方式中,所述备份链管理模块还用于:将所有前序遍历序号大于当前时刻备份节点的前序遍历序号的备份节点的所述前序遍历序号加1存储至对应的备份节点的前序遍历序号中;以及将所有节点范围序数大于当前时刻备份节点的节点范围序数的备份节点的所述节点范围序数加1存储至对应的节点范围序数中。
在本发明的另一个方面当中,提供了又一种本地存储虚拟机在线恢复的装置,其包括恢复链生成模块、磁盘合并模块和磁盘恢复模块。
恢复链生成模块,用于根据恢复任务信息查找对应的虚拟机磁盘的备份链,并解析所述备份链形成所述虚拟机磁盘的恢复链。
磁盘合并模块,用于将所述恢复链中每个备份节点的增量文件进行合并,组成磁盘文件。
磁盘恢复模块,用于根据恢复链中每个备份节点的增量文件生成时的位置信息,将所述磁盘文件从备份服务器上拷贝至待恢复虚拟机磁盘所在位置,并恢复虚拟机。
在本发明的一个或多个实施方式中,所述恢复链生成模块还用于:查找所述虚拟机磁盘在待恢复时刻备份节点的位置信息;根据所述位置信息获取待恢复时刻备份节点的前序遍历序号和节点范围序数;以及将所述备份链中前序遍历序号不大于待恢复时刻备份节点的前序遍历序号且节点范围序数不小于待恢复时刻备份节点的节点范围序数的节点按照前序遍历序号升序排列,形成所述虚拟机磁盘的恢复链。
在本发明的一个或多个实施方式中,所述恢复链生成模块还用于:根据所述恢复任务信息删除前序遍历序号是n至m的备份节点;更新所有前序遍历序号大于n的备份节点的前序遍历序号lid,其中lid=lid-m+n-1;以及更新所有节点范围序数大于n的备份节点的节点范围序数rid,其中rid=rid-m+n-1。
在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的本地存储虚拟机在线增量备份和恢复的方法。
在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的本地存储虚拟机在线增量备份和恢复的方法的步骤。
与现有技术相比,根据本发明实施方式的本地存储虚拟机在线增量备份的方法及应用,其能够通过外部快照生成虚拟机磁盘的备份时刻的增量文件和位置信息,在多样化备份策略的场景下备份链呈现出森林结构,实现虚拟机磁盘的多场景增量备份,有效的提高系统的磁盘空间利用率和备份效率。
根据本发明实施方式的本地存储虚拟机在线恢复的方法及应用,其能够通过在增量备份生成的增量文件和位置信息在数据库中快速查找到备份节点的信息进行快速恢复,有效的提高备份恢复的效率。
附图说明
图1是根据本发明一实施方式的本地存储虚拟机在线增量备份的方法的流程图;
图2是根据本发明一实施方式的本地存储虚拟机在线增量备份的方法的t1时刻示例图;
图3是根据本发明一实施方式的本地存储虚拟机在线增量备份的方法的t2时刻示例图;
图4是根据本发明一实施方式的本地存储虚拟机在线增量备份的方法的t3时刻示例图;
图5是根据本发明一实施方式的本地存储虚拟机在线恢复的方法的流程图;
图6是根据本发明一实施方式的本地存储虚拟机在线增量备份的装置的结构图;
图7是根据本发明一实施方式的本地存储虚拟机在线恢复的装置的结构图;
图8是根据本发明一实施方式的本地存储虚拟机在线增量备份和恢复的计算设备的硬件结构图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
下面对本发明实施例中涉及的部分概念进行介绍。
快照:能够将系统还原至某个瞬间。快照针对要保存的数据分为内存快照和磁盘快照,内存快照就是保存当前内存的数据,磁盘快照就是保存硬盘的数据。快照针对保存方式又分为内部快照和外部快照。
内部快照:是指快照信息和虚拟机存储在同一个qcow2镜像中,使用单个的qcow2的文件保存快照和快照后的改动。这种快照是libvirt的默认行为,现在的支持很完善(创建、回滚和删除),但是只能针对qcow2格式的磁盘镜像文件,而且其过程较慢。
外部快照:是指快照时原虚拟机的磁盘将变为只读模板镜像,新建一个qcow2文件用于记录与原模板镜像的差异数据,外部快照的结果是形成一个qcow2文件链:original<-snap1<-snap2<-snap3。外部快照链文件可以合并成一个全量文件。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例1
如图1至图4所示,介绍本发明的一个实施例中本地存储虚拟机在线增量备份的方法,该方法包括如下步骤。
在步骤S101中,通过外部快照生成虚拟机磁盘的当前时刻的备份节点的增量文件和位置信息。
根据备份任务信息,通过libvirt的外部快照生成接口生成虚拟机所有磁盘的前一次备份时刻至当前时刻的增量文件,并将增量文件的位置信息(包括增量文件所在的宿主机信息、增量文件路径、增量文件的前驱文件)发送至数据传输模块,并保存至本地存储。
虚拟机包含一个或多个虚拟磁盘,根据需要还可以动态添加新的虚拟磁盘。同一备份策略下,每个虚拟磁盘都将形成一个树形备份链,整个虚拟机将形成森林型备份链结构,构成备份链集合。在同一备份策略下执行一次备份时,根据当前备份节点信息,对每个虚拟磁盘创建一个节点,并添加到该磁盘备份链中。
由于虚拟机磁盘持续的增量备份会增长备份链,而虚拟机磁盘累计增量备份会扩展出全新的备份链,因此在多样化备份策略的场景下备份链将呈现出森林结构。为满足树形备份链的管理要求,本发明提供一种简化前序遍历树模型,该模型用于在数据表中存储虚拟机磁盘增量备份链信息。
对于森林G=<V,E>来说,每棵树的节点可用以下数据结构表示:Forest<tid,lid,rid>,其中tid为树序号,用于区分森林中不同的树,其取值为正整数;每棵树的每个节点记录一个前序遍历序号(左值lid)和一个节点范围序数(右值rid),左值lid是前序遍历的遍历序号,其取值范围是大于1的正整数;右值rid是节点范围序数,取值为:若备份节点为叶子节点,则取值等于左值,若备份节点不为叶子节点,则取值以该备份节点为根节点的子树中深度为1的节点中最大的右值。
具体的,将当前时刻的备份节点的遍历序号存储至当前时刻备份节点的增量文件的tid中;判断当前时刻的备份节点是否为叶子节点;若是,将tid存储至当前时刻的备份节点的增量文件的rid中;若否,将以备份节点为根节点的子树中深度为1的节点中最大的节点范围序数存储至当前时刻的备份节点的增量文件的rid中。
在步骤S102中,根据位置信息将增量文件发送至备份服务器的指定位置存储。
根据虚拟机的增量文件的位置信息,将增量文件发送至到备份服务器上。
在步骤S103中,将每次执行时刻的虚拟机磁盘的备份节点的增量文件组织成备份链,并保存在数据库中。
根据设定的备份任务信息,更新所有前序遍历序号大于当前时刻的备份节点的前序遍历序号的备份节点的增量文件。并将每次执行时刻的每个虚拟机磁盘的备份节点的增量文件组织成备份链,(备份链是一条若干个备份节点所记录的备份数据所构成的有序序列),将备份链保存在数据库中。
具体的,将所有前序遍历序号大于当前时刻备份节点的前序遍历序号的备份节点的前序遍历序号加1存储至对应的备份节点的前序遍历序号中;以及将所有节点范围序数大于当前时刻备份节点的节点范围序数的备份节点的节点范围序数加1存储至对应的节点范围序数中。
即若当前时刻的备份节点的树序号为t,左值为n,对所有tid=t且lid>n的节点,更新其lid=lid+1;对所有tid=t且rid>n的节点,更新其rid=rid+1。
以图2至图4为例,虚拟机A有两个磁盘disk0和disk1,虚拟机A在线增量备份具体实现流程如下。
t1时刻,虚拟机A接收到备份请求,通过libvirt的生成外部快照接口分别生成disk0和disk1的外部快照,即为t1时刻两个磁盘disk0和disk1的增量文件Forest<1,1,1>和Forest<2,1,1>。文件生成后,数据传输模块根据增量文件的存储位置信息将增量文件拷贝到备份服务器指定的位置保存。
生成该虚拟机最初始的备份链森林数据结构并保存在数据库中。由于t1时刻是虚拟机两个磁盘disk0和disk1第一次增量备份,所以生成森林中两棵树的根节点,如图2所示。同时生成两个增量文件在森林数据结构的位置信息Locate((disk0t1),1,1)和Locate((disk1t1),2,1),并保存至数据库。
t2时刻,虚拟机A再次接收到进行备份的请求,与t1时刻的区别在于t2时刻备份节点在备份链中不是树的根节点。t2时刻两个磁盘disk0和disk1的增量文件分别为Forest<1,2,2>和Forest<2,2,2>,更新后生成的备份链结构如图3所示。
t3时刻,虚拟机A再次接收到进行备份的请求,t3时刻两个磁盘disk0和disk1的增量文件分别为Forest<1,3,3>和Forest<2,3,3>,更新后生成的备份链结构如图4所示。
根据本发明实施方式的本地存储虚拟机在线增量备份的方法及应用,其能够通过外部快照生成虚拟机磁盘的备份时刻的增量文件和位置信息,在多样化备份策略的场景下备份链呈现出森林结构,实现虚拟机磁盘的多场景增量备份,有效的提高系统的磁盘空间利用率和备份效率。
实施例2
如图5所示,介绍本发明的一个实施例中本地存储虚拟机在线恢复的方法,该方法包括如下步骤。
在步骤S201中,根据恢复任务信息查找对应的虚拟机磁盘的备份链,并解析备份链形成虚拟机磁盘的恢复链。
待恢复时刻的备份节点进行如下操作,查找虚拟机磁盘在待恢复时刻备份节点的位置信息;根据位置信息获取待恢复时刻备份节点的前序遍历序号lid和节点范围序数tid。
根据恢复任务信息更新所有相关节点的增量文件,并将相关节点组织成虚拟机磁盘的恢复链。
具体的,根据恢复任务信息删除前序遍历序号lid是n至m的备份节点;更新所有前序遍历序号lid大于n的备份节点的前序遍历序号lid,其中lid=lid-m+n-1;更新所有节点范围序数rid大于n的备份节点的节点范围序数rid,其中rid=rid-m+n-1。
将备份链中前序遍历序号不大于待恢复时刻备份节点的前序遍历序号且节点范围序数不小于待恢复时刻备份节点的节点范围序数的节点按照前序遍历序号升序排列,形成虚拟机磁盘的恢复链。
在步骤S202中,将恢复链中每个备份节点的增量文件进行合并,组成磁盘文件。
根据预设的恢复任务信息,结合虚拟机恢复链中每个备份结点信息与备份数据的关系,将每个备份节点的增量文件通过qemu-img commit命令进行合并,组成磁盘文件。
在本实施例中,恢复链上的备份节点的前序遍历序号lid连续;恢复链上的备份节点在同一磁盘上;以及恢复链上的备份节点的深度全是1。
在步骤S203中,根据恢复链中每个备份节点的增量文件生成时的位置信息,将磁盘文件从备份服务器上拷贝至待恢复虚拟机磁盘所在位置,并恢复虚拟机。
查询备份节点的增量文件,获取增量文件的路径信息,将增量文件从备份服务器传输至虚拟机磁盘路径,恢复虚机磁盘数据。
以图3为例,在t2时刻在线增量备份后,设置恢复任务为将虚拟机磁盘恢复到t1时刻,在接收到恢复请求后,在数据库中查询虚拟机A磁盘disk0和disk1在t1时刻备份节点的位置信息分别为Locate((disk0t1),1,1)和Locate((disk1t1),2,1),根据位置信息查询Forest数据表,获取到t1时刻备份节点在Forest数据表存储的增量文件分别为:Forest(1,1,2)和Forest(2,1,2)。
分别搜索Forest数据表中tid=1且lid≤1,rid≥2的备份节点和tid=2且lid≤1,rid≥2的备份节点,并将结果集中所有备份节点按照lid升序排列,即为虚拟机磁盘disk0和disk1的恢复序列,虚拟机A在t1时刻磁盘恢复序列分别为Forest(1,1,1)和Forest(2,1,1)。根据恢复链中每个备份节点的增量文件生成时的位置信息,将虚拟机磁盘disk0和disk1的增量文件从备份服务器上拷贝至待恢复虚拟机磁盘所在位置,恢复虚拟机磁盘disk0和disk1的数据。
根据本发明实施方式的本地存储虚拟机在线恢复的方法及应用,其能够通过在增量备份生成的增量文件和位置信息在数据库中快速查找到备份节点的信息进行快速恢复,有效的提高备份恢复的效率。
如图6所示,介绍根据本发明具体实施方式的本地存储虚拟机在线增量备份的装置。
在本发明的实施方式中,本地存储虚拟机在线增量备份的装置包括磁盘增量文件生成模块601、数据传输模块602和备份链管理模块603。
磁盘增量文件生成模块601,用于通过外部快照生成虚拟机磁盘的当前时刻的备份节点的增量文件和位置信息。
数据传输模块602,用于根据位置信息将增量文件发送至备份服务器的指定位置存储。
备份链管理模块603,用于将每次执行时刻的虚拟机磁盘的备份节点的增量文件组织成备份链,并保存在数据库中。
磁盘增量文件生成模块601还用于:将当前时刻的备份节点的遍历序号存储至当前时刻备份节点的增量文件的前序遍历序号中;判断当前时刻的备份节点是否为叶子节点;若是,将前序遍历序号存储至当前时刻的备份节点的增量文件的节点范围序数中;若否,将以备份节点为根节点的子树中深度为1的节点中最大的节点范围序数存储至当前时刻的备份节点的增量文件的节点范围序数中。
备份链管理模块603还用于:更新所有前序遍历序号大于当前时刻的备份节点的前序遍历序号的备份节点的增量文件。
备份链管理模块603还用于:将所有前序遍历序号大于当前时刻备份节点的前序遍历序号的备份节点的前序遍历序号加1存储至对应的备份节点的前序遍历序号中;以及将所有节点范围序数大于当前时刻备份节点的节点范围序数的备份节点的节点范围序数加1存储至对应的节点范围序数中。
如图7所示,介绍根据本发明具体实施方式的本地存储虚拟机在线恢复的装置。
在本发明的实施方式中,本地存储虚拟机在线恢复的装置包括恢复链生成模块701、磁盘合并模块702和磁盘恢复模块703。
恢复链生成模块701,用于根据恢复任务信息查找对应的虚拟机磁盘的备份链,并解析备份链形成虚拟机磁盘的恢复链。
磁盘合并模块702,用于将恢复链中每个备份节点的增量文件进行合并,组成磁盘文件。
磁盘恢复模块703,用于根据恢复链中每个备份节点的增量文件生成时的位置信息,将磁盘文件从备份服务器上拷贝至待恢复虚拟机磁盘所在位置,并恢复虚拟机。
恢复链生成模块701还用于:查找虚拟机磁盘在待恢复时刻备份节点的位置信息;根据位置信息获取待恢复时刻备份节点的前序遍历序号和节点范围序数;以及将备份链中前序遍历序号不大于待恢复时刻备份节点的前序遍历序号且节点范围序数不小于待恢复时刻备份节点的节点范围序数的节点按照前序遍历序号升序排列,形成虚拟机磁盘的恢复链。
恢复链生成模块701还用于:根据恢复任务信息删除前序遍历序号是n至m的备份节点;更新所有前序遍历序号大于n的备份节点的前序遍历序号lid,其中lid=lid-m+n-1;以及更新所有节点范围序数大于n的备份节点的节点范围序数rid,其中rid=rid-m+n-1。
在本实施例中,恢复链上的备份节点的前序遍历序号连续;恢复链上的备份节点在同一磁盘上;以及恢复链上的备份节点的深度全是1。
图8示出了根据本说明书的实施例的用于本地存储虚拟机在线增量备份和恢复的计算设备80的硬件结构图。如图8所示,计算设备80可以包括至少一个处理器801、存储器802(例如非易失性存储器)、内存803和通信接口804,并且至少一个处理器801、存储器802、内存803和通信接口804经由总线805连接在一起。至少一个处理器801执行在存储器802中存储或编码的至少一个计算机可读指令。
应该理解,在存储器802中存储的计算机可执行指令当执行时使得至少一个处理器801进行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。
在本说明书的实施例中,计算设备80可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
根据本发明实施方式的本地存储虚拟机在线增量备份的方法及应用,其能够通过外部快照生成虚拟机磁盘的备份时刻的增量文件和位置信息,在多样化备份策略的场景下备份链呈现出森林结构,实现虚拟机磁盘的多场景增量备份,有效的提高系统的磁盘空间利用率和备份效率。
根据本发明实施方式的本地存储虚拟机在线恢复的方法及应用,其能够通过在增量备份生成的增量文件和位置信息在数据库中快速查找到备份节点的信息进行快速恢复,有效的提高备份恢复的效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

Claims (12)

1.一种本地存储虚拟机在线增量备份方法,其特征在于,所述方法包括:
通过外部快照生成虚拟机磁盘的当前时刻的备份节点的增量文件和位置信息;
根据所述位置信息将所述增量文件发送至备份服务器的指定位置存储;以及
将每次执行时刻的所述虚拟机磁盘的备份节点的增量文件组织成备份链,并保存在数据库中。
2.如权利要求1所述的本地存储虚拟机在线增量备份的方法,其特征在于,通过外部快照生成虚拟机磁盘的当前时刻的备份节点的增量文件和位置信息,包括:
将当前时刻的备份节点的遍历序号存储至当前时刻备份节点的增量文件的前序遍历序号中;
判断所述当前时刻的备份节点是否为叶子节点;若是,
将所述前序遍历序号存储至所述当前时刻的备份节点的增量文件的节点范围序数中;若否,
将以所述备份节点为根节点的子树中深度为1的节点中最大的节点范围序数存储至所述当前时刻的备份节点的增量文件的节点范围序数中。
3.如权利要求2所述的本地存储虚拟机在线增量备份的方法,其特征在于,所述将每次执行时刻的所述虚拟机磁盘的备份节点的增量文件组织成备份链前,还包括:
更新所有前序遍历序号大于当前时刻的备份节点的前序遍历序号的备份节点的增量文件。
4.如权利要求3所述的本地存储虚拟机在线增量备份的方法,其特征在于,更新所有前序遍历序号大于当前时刻的备份节点的前序遍历序号的备份节点的增量文件,包括:
将所有前序遍历序号大于当前时刻备份节点的前序遍历序号的备份节点的所述前序遍历序号加1存储至对应的备份节点的前序遍历序号中;以及
将所有节点范围序数大于当前时刻备份节点的节点范围序数的备份节点的所述节点范围序数加1存储至对应的节点范围序数中。
5.一种本地存储虚拟机在线恢复的方法,其特征在于,所述方法包括:
根据恢复任务信息查找对应的虚拟机磁盘的备份链,并解析所述备份链形成所述虚拟机磁盘的恢复链;
将所述恢复链中每个备份节点的增量文件进行合并,组成磁盘文件;以及
根据恢复链中每个备份节点的增量文件生成时的位置信息,将所述磁盘文件从备份服务器上拷贝至待恢复虚拟机磁盘所在位置,并恢复虚拟机。
6.如权利要求5所述的本地存储虚拟机在线恢复的方法,其特征在于,所述根据恢复任务信息查找对应的虚拟机磁盘的备份链,并解析所述备份链形成所述虚拟机磁盘的恢复链,包括:
查找所述虚拟机磁盘在待恢复时刻备份节点的位置信息;
根据所述位置信息获取待恢复时刻备份节点的前序遍历序号和节点范围序数;以及
将所述备份链中前序遍历序号不大于待恢复时刻备份节点的前序遍历序号且节点范围序数不小于待恢复时刻备份节点的节点范围序数的节点按照前序遍历序号升序排列,形成所述虚拟机磁盘的恢复链。
7.如权利要求6所述的本地存储虚拟机在线恢复的方法,其特征在于,所述方法还包括:
根据所述恢复任务信息删除前序遍历序号是n至m的备份节点;
更新所有前序遍历序号大于n的备份节点的前序遍历序号lid,其中lid=lid-m+n-1;以及
更新所有节点范围序数大于n的备份节点的节点范围序数rid,其中rid=rid-m+n-1。
8.如权利要求6所述的本地存储虚拟机在线恢复的方法,其特征在于,所述方法还包括:
所述恢复链上的备份节点的前序遍历序号连续;
所述恢复链上的备份节点在同一磁盘上;以及
所述恢复链上的备份节点的深度全是1。
9.一种本地存储虚拟机在线增量备份的装置,其特征在于,所述装置包括:
磁盘增量文件生成模块,用于通过外部快照生成虚拟机磁盘的当前时刻的备份节点的增量文件和位置信息;
数据传输模块,用于根据所述位置信息将所述增量文件发送至备份服务器的指定位置存储;以及
备份链管理模块,用于将每次执行时刻的所述虚拟机磁盘的备份节点的增量文件组织成备份链,并保存在数据库中。
10.一种本地存储虚拟机在线恢复的装置,其特征在于,所述装置包括:
恢复链生成模块,用于根据恢复任务信息查找对应的虚拟机磁盘的备份链,并解析所述备份链形成所述虚拟机磁盘的恢复链;
磁盘合并模块,用于将所述恢复链中每个备份节点的增量文件进行合并,组成磁盘文件;以及
磁盘恢复模块,用于根据恢复链中每个备份节点的增量文件生成时的位置信息,将所述磁盘文件从备份服务器上拷贝至待恢复虚拟机磁盘所在位置,并恢复虚拟机。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1至8中任一项所述的本地存储虚拟机在线增量备份和恢复方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的本地存储虚拟机在线增量备份和恢复方法的步骤。
CN202111198201.3A 2021-10-14 2021-10-14 虚拟机在线增量备份恢复的方法、装置、电子设备及介质 Active CN113918385B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111198201.3A CN113918385B (zh) 2021-10-14 2021-10-14 虚拟机在线增量备份恢复的方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111198201.3A CN113918385B (zh) 2021-10-14 2021-10-14 虚拟机在线增量备份恢复的方法、装置、电子设备及介质

Publications (2)

Publication Number Publication Date
CN113918385A true CN113918385A (zh) 2022-01-11
CN113918385B CN113918385B (zh) 2022-06-24

Family

ID=79240573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111198201.3A Active CN113918385B (zh) 2021-10-14 2021-10-14 虚拟机在线增量备份恢复的方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN113918385B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114780208A (zh) * 2022-05-05 2022-07-22 江苏安超云软件有限公司 验证多平台虚拟机备份有效性方法、系统、装置及存储介质
CN115454720A (zh) * 2022-09-20 2022-12-09 中电云数智科技有限公司 基于daos分布式存储系统中数据增量重构系统和方法
CN116909814A (zh) * 2023-08-02 2023-10-20 平凯星辰(北京)科技有限公司 一种数据备份方法、数据恢复方法及装置
CN117130980A (zh) * 2023-10-24 2023-11-28 杭州优云科技有限公司 一种虚拟机快照管理方法及装置
CN117493074A (zh) * 2023-09-25 2024-02-02 广州鼎甲计算机科技有限公司 虚拟机增量恢复方法、装置、计算机设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106802840A (zh) * 2017-01-19 2017-06-06 郑州云海信息技术有限公司 一种虚拟机备份、恢复方法及装置
CN107092538A (zh) * 2017-03-14 2017-08-25 平安科技(深圳)有限公司 虚拟机数据备份方法及系统
CN110196755A (zh) * 2019-05-07 2019-09-03 腾讯科技(深圳)有限公司 一种虚拟机快照管理方法、装置、服务器及存储介质
US10725966B1 (en) * 2014-06-30 2020-07-28 Veritas Technologies Llc Block level incremental backup for QCOW2 virtual disks
CN111949445A (zh) * 2020-07-29 2020-11-17 苏州浪潮智能科技有限公司 一种增量备份数据存储方法、装置、设备、产品
CN112685130A (zh) * 2020-12-18 2021-04-20 湖南麒麟信安科技股份有限公司 分布式存储环境下的虚拟机备份方法、装置和存储介质
CN112860376A (zh) * 2021-02-04 2021-05-28 北京百度网讯科技有限公司 一种快照链的制作方法、装置、电子设备及存储介质
CN112948169A (zh) * 2019-11-26 2021-06-11 中兴通讯股份有限公司 数据备份的方法、装置、设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10725966B1 (en) * 2014-06-30 2020-07-28 Veritas Technologies Llc Block level incremental backup for QCOW2 virtual disks
CN106802840A (zh) * 2017-01-19 2017-06-06 郑州云海信息技术有限公司 一种虚拟机备份、恢复方法及装置
CN107092538A (zh) * 2017-03-14 2017-08-25 平安科技(深圳)有限公司 虚拟机数据备份方法及系统
WO2018166101A1 (zh) * 2017-03-14 2018-09-20 平安科技(深圳)有限公司 虚拟机数据备份方法、系统、存储介质和服务器
CN110196755A (zh) * 2019-05-07 2019-09-03 腾讯科技(深圳)有限公司 一种虚拟机快照管理方法、装置、服务器及存储介质
CN112948169A (zh) * 2019-11-26 2021-06-11 中兴通讯股份有限公司 数据备份的方法、装置、设备和存储介质
CN111949445A (zh) * 2020-07-29 2020-11-17 苏州浪潮智能科技有限公司 一种增量备份数据存储方法、装置、设备、产品
CN112685130A (zh) * 2020-12-18 2021-04-20 湖南麒麟信安科技股份有限公司 分布式存储环境下的虚拟机备份方法、装置和存储介质
CN112860376A (zh) * 2021-02-04 2021-05-28 北京百度网讯科技有限公司 一种快照链的制作方法、装置、电子设备及存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114780208A (zh) * 2022-05-05 2022-07-22 江苏安超云软件有限公司 验证多平台虚拟机备份有效性方法、系统、装置及存储介质
CN114780208B (zh) * 2022-05-05 2023-08-08 安超云软件有限公司 验证多平台虚拟机备份有效性方法、系统、装置及存储介质
CN115454720A (zh) * 2022-09-20 2022-12-09 中电云数智科技有限公司 基于daos分布式存储系统中数据增量重构系统和方法
CN115454720B (zh) * 2022-09-20 2024-04-02 中电云计算技术有限公司 基于daos分布式存储系统中数据增量重构系统和方法
CN116909814A (zh) * 2023-08-02 2023-10-20 平凯星辰(北京)科技有限公司 一种数据备份方法、数据恢复方法及装置
CN117493074A (zh) * 2023-09-25 2024-02-02 广州鼎甲计算机科技有限公司 虚拟机增量恢复方法、装置、计算机设备和存储介质
CN117130980A (zh) * 2023-10-24 2023-11-28 杭州优云科技有限公司 一种虚拟机快照管理方法及装置
CN117130980B (zh) * 2023-10-24 2024-02-27 杭州优云科技有限公司 一种虚拟机快照管理方法及装置

Also Published As

Publication number Publication date
CN113918385B (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
CN113918385B (zh) 虚拟机在线增量备份恢复的方法、装置、电子设备及介质
CN102707990B (zh) 基于容器的处理方法和装置
US8504528B2 (en) Duplicate backup data identification and consolidation
CN102902601B (zh) 高效数据恢复
US8495022B1 (en) Systems and methods for synthetic backups
CN109542682B (zh) 一种数据备份方法、装置、设备和存储介质
CN110998537B (zh) 一种过期备份处理方法及备份服务器
US9002800B1 (en) Archive and backup virtualization
CN103473277A (zh) 文件系统的快照方法和装置
US11544150B2 (en) Method of detecting source change for file level incremental backup
US11630745B2 (en) Efficient recovery of backups for deleted checkpoints
CN114625696B (zh) 文件恢复方法、装置、电子设备及存储介质
CN109753381B (zh) 一种基于对象存储的持续数据保护方法
CN104484402B (zh) 一种删除重复数据的方法及装置
CN107704208B (zh) 一种元数据的修复方法、装置及介质
US20210081431A1 (en) Any point in time replication to the cloud
EP3991045B1 (en) Snapshots for any point in time replication
US10311021B1 (en) Systems and methods for indexing backup file metadata
CN113821476B (zh) 数据处理方法及装置
CN108089942B (zh) 一种数据备份、恢复方法及装置
EP3451141A1 (en) Snapshot archive management
CN111913832B (zh) 一种基于对象存储的块级cdp数据存储容灾方法和设备
CN113282551B (zh) 数据处理方法、系统及设备
CN112860486B (zh) 创建数据副本的方法及装置
CN117971390A (zh) 一种虚拟机恢复方法和服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant