CN112988460A - 一种虚拟机的数据备份方法及装置 - Google Patents

一种虚拟机的数据备份方法及装置 Download PDF

Info

Publication number
CN112988460A
CN112988460A CN202110163626.4A CN202110163626A CN112988460A CN 112988460 A CN112988460 A CN 112988460A CN 202110163626 A CN202110163626 A CN 202110163626A CN 112988460 A CN112988460 A CN 112988460A
Authority
CN
China
Prior art keywords
virtual disk
component
target virtual
data
virtual machine
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
CN202110163626.4A
Other languages
English (en)
Other versions
CN112988460B (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.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202110163626.4A priority Critical patent/CN112988460B/zh
Publication of CN112988460A publication Critical patent/CN112988460A/zh
Application granted granted Critical
Publication of CN112988460B publication Critical patent/CN112988460B/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/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • 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

Landscapes

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

Abstract

本申请涉及虚拟机技术领域,特别涉及一种虚拟机的数据备份方法及装置。应用于备份服务器,所述备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,所述方法包括:基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息,以使得所述第二组件在接收到所述第一消息后,将所述目标虚拟磁盘设置为共享状态;接收所述第二组件发送的第二消息;通过所述第一组件访问所述目标虚拟磁盘和本地虚拟磁盘,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘。

Description

一种虚拟机的数据备份方法及装置
技术领域
本申请涉及虚拟机技术领域,特别涉及一种虚拟机的数据备份方法及装置。
背景技术
QEMU作为一款成熟的虚拟化软件,被广泛的用于构建虚拟化平台(私有或公有云),以解决企业硬件资源浪费、IT管理复杂的问题。随着业务的发展,越来越多的企业和组织机构开始或者已经将应用迁移到虚拟化平台上,大量的虚拟机被创建用于运行关键业务。然而如何快速高效的保护虚拟机中重要数据,使生产数据在发送灾难时不发生毁灭性的丢失,成为了虚拟化技术需要解决的问题。
传统的备份方式是在虚拟机中部署备份软件,通过备份软件将虚拟机内部重要数据或应用数据(比如数据库)备份至专用的存储中,但是这种方式难以部署和维护,同时备份过程影响虚拟机性能,已经不再适用于虚拟化平台中虚拟机的备份。
在虚拟化领域中,QEMU一直在不断地发展和完善,在早期版本中已提供了专用的虚拟机备份接口。备份软件调用QEMU备份接口执行备份流程如下:备份存储用来最终保存虚拟备份数据,通常部署在远端或者采用特殊的存储格式,由于虚拟化平台无法直接访问备份存储,因此需要QEMU必须先将虚拟机磁盘数据保存在临时存储,再从临时存储转移到备份存储。
然而,先将虚拟机磁盘数据拷贝到临时存储,再拷贝到备份存储,涉及两次拷贝,相当于处理了两倍的数据量,性能降低了一半。
发明内容
本申请提供了一种虚拟机的数据备份方法及装置,用以解决现有技术中存在的无法高效备份虚拟机的数据的问题。
第一方面,本申请提供了一种虚拟机的数据备份方法,应用于备份服务器,所述备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,所述方法包括:
基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息,以使得所述第二组件在接收到所述第一消息后,将所述目标虚拟磁盘设置为共享状态;
接收所述第二组件发送的第二消息;
通过所述第一组件访问所述目标虚拟磁盘和本地虚拟磁盘,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘。
可选地,基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息的步骤包括:
通过所述第一组件将用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息封装成远程调用协议RPC格式的消息;
通过所述第一组件将所述RPC格式的消息发送给所述第二组件。
可选地,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘的步骤包括:
若备份方式为全量备份,则远程访问所述目标虚拟磁盘,并从所述目标虚拟磁盘获取所述目标虚拟机的全部数据,以及将所述目标虚拟机的全部数据存储至所述本地虚拟磁盘;
若备份方式为增量备份,则远程访问所述目标虚拟磁盘,获取所述目标虚拟机上一次备份之后新增的数据信息,并基于所述新增的数据信息从所述目标虚拟磁盘获取增量数据,以及将所述增量数据存储至所述本地虚拟磁盘。
可选地,通过所述第一组件向所述第二组件发送包含待备份的目标虚拟机的数据存储的目标虚拟磁盘信息的第一消息之前,所述方法还包括:
获取所述主机上部署的各虚拟机信息,以及获取用于存储各虚拟机的数据的虚拟磁盘信息。
第二方面,本申请提供了一种虚拟机的数据备份方法,应用于主机,备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,所述主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,所述方法包括:
基于所述第二组件接收所述第一组件发送的第一消息,其中,所述第一消息包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息;
基于所述第一消息,将所述目标虚拟磁盘设置为共享状态;
基于所述第二组件向所述第一组件发送第二消息,以使得所述第一组件访问所述目标虚拟磁盘和本地虚拟磁盘,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘。
第三方面,本申请提供了一种虚拟机的数据备份装置,应用于备份服务器,所述备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,所述装置包括:
发送单元,用于基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息,以使得所述第二组件在接收到所述第一消息后,将所述目标虚拟磁盘设置为共享状态;
接收单元,用于接收所述第二组件发送的第二消息;
备份单元,用于通过所述第一组件访问所述目标虚拟磁盘和本地虚拟磁盘,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘。
可选地,基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息时,所述发送单元具体用于:
通过所述第一组件将用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息封装成远程调用协议RPC格式的消息;
通过所述第一组件将所述RPC格式的消息发送给所述第二组件。
可选地,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘时,所述备份单元具体用于:
若备份方式为全量备份,则远程访问所述目标虚拟磁盘,并从所述目标虚拟磁盘获取所述目标虚拟机的全部数据,以及将所述目标虚拟机的全部数据存储至所述本地虚拟磁盘;
若备份方式为增量备份,则远程访问所述目标虚拟磁盘,获取所述目标虚拟机上一次备份之后新增的数据信息,并基于所述新增的数据信息从所述目标虚拟磁盘获取增量数据,以及将所述增量数据存储至所述本地虚拟磁盘。
可选地,所述装置还包括:
获取单元,获取所述主机上部署的各虚拟机信息,以及获取用于存储各虚拟机的数据的虚拟磁盘信息。
第四方面,本申请提供了一种虚拟机的数据备份装置,应用于主机,备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,所述主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,所述装置包括:接收单元,用于基于所述第二组件接收所述第一组件发送的第一消息,其中,所述第一消息包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息;
设置单元,用于基于所述第一消息,将所述目标虚拟磁盘设置为共享状态;
发送单元,用于基于所述第二组件向所述第一组件发送第二消息,以使得所述第一组件访问所述目标虚拟磁盘和本地虚拟磁盘,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘。
第五方面,本申请实施例提供一种备份服务器,该备份服务器包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
第六方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
第七方面,本申请实施例提供一种主机,该主机包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第二方面中任一项所述的方法的步骤。
第八方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第二方面中任一项所述方法的步骤。
综上可知,本申请实施例提供的虚拟机的数据备份方法,应用于备份服务器,所述备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,所述方法包括:基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息,以使得所述第二组件在接收到所述第一消息后,将所述目标虚拟磁盘设置为共享状态;接收所述第二组件发送的第二消息;通过所述第一组件访问所述目标虚拟磁盘和本地虚拟磁盘,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘。
采用本申请实施例提供的虚机的数据备份方法,主机可以通过本地部署的组件将用于存储待备份数据的虚拟磁盘设置为共享状态,备份服务器通过本地部署的组件直接访问被设置为共享状态的虚拟磁盘,并从中获取待备份的数据,通过一次备份即可实现待备份数据的备份,简化了虚拟机的数据备份过程,提升了虚拟机的数据备份的效率。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1为本申请实施例提供的一种虚拟机的数据备份方法的详细流程图;
图2为本申请实施例提供的另一种虚拟机的数据备份方法的详细流程图;
图3为本申请实施例提供的一种虚拟机的数据备份系统的结构示意图;
图4为本申请实施例提供的一种虚拟机的数据备份装置的结构示意图;
图5为本申请实施例提供的另一种虚拟机的数据备份装置的结构示意图;
图6为本申请实施例提供的一种备份服务器的结构示意图;
图7为本申请实施例提供的一种主机的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
示例性的,参阅图1所示,为本申请实施例提供的一种虚拟机的数据备份方法的详细流程图,该方法应用于备份服务器,上述备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,该方法包括以下步骤:
步骤100:基于上述第一组件向上述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息,以使得上述第二组件在接收到上述第一消息后,将上述目标虚拟磁盘设置为共享状态。
本申请实施例中,虚拟机的数据备份系统的备份服务器上部署有用于访问远端虚拟磁盘(如,主机虚拟磁盘)和本地虚拟磁盘的第一组间,如,cvd-sdk(一个基于C语言实现的虚拟磁盘开发工具包),其提供API支持访问远端或本地的虚拟磁盘,比如打开、关闭、创建、读写等操作。该工具包以动态链接库的形式存在,通常被安装在备份服务器的备份软件的开发环境中,并最终集成在备份软件中。
进一步地,虚拟机的数据备份系统的主机上部署有提供远端访问本地虚拟磁盘服务的第二组件,如,cvd-ds服务(运行在Hypervisor主机上的一个守护进程),提供远程访问该主机中虚拟磁盘的服务。
例如,第一组件(cvd-sdk)除了支持访问远端虚拟磁盘外,还支持反问本地虚拟磁盘。第一组件根据接口参数自动判断是本地虚拟磁盘还是远端虚拟磁盘,如果是本地虚拟磁盘,第一组件无需与第二组件(cvd-ds服务)进行通信,直接操作虚拟磁盘即可。本地虚拟磁盘的格式可以是qemu支持的任意格式,比如qcow2、raw等。
那么,本申请实施例中,备份服务器在通过所述第一组件向所述第二组件发送包含待备份的目标虚拟机的数据存储的目标虚拟磁盘信息的第一消息之前,所述方法还包括以下步骤:
获取所述主机上部署的各虚拟机信息,以及获取用于存储各虚拟机的数据的虚拟磁盘信息。
也就是说,备份服务器通过向主机发送各虚拟机信息获取请求,主机在接收到该请求后,向备份服务器发送本地部署的各虚拟机信息,以及用于存储各虚拟机的数据的虚拟磁盘信息,其中,虚拟磁盘信息可以包括各虚拟机的数据存储位置信息(如,虚拟磁盘名称等信息)。这样,备份服务器就可以维护有主机上各虚拟机与各虚拟机的数据存储的虚拟磁盘之间的映射关系。
备份服务器在接收到目标虚拟机的数据备份指令时,基于上述映射关系,确定用于存储目标虚拟机的数据的目标虚拟磁盘信息,并基于上述第一组件向上述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息。
本申请实施例中,在基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息时,一种较佳地实现方式为,通过所述第一组件将用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息封装成远程调用协议(Remote Procedure Call Protocol,RPC)格式的消息;通过所述第一组件将所述RPC格式的消息发送给所述第二组件。
第二组件在接收到第一组件发送的第一消息后,通过网络块设备(Network BlockDevice,NBD))协议将目标虚拟磁盘或某个快照对象共享出来,并在共享完成后,向备份服务器的第一组件发送第二消息,以告知备份服务器已实现目标虚拟磁盘的共享。
步骤110:接收上述第二组件发送的第二消息。
具体地,备份服务器的第一组件在接收第二组件发送的第二消息后,确定第一组间已将目标虚拟磁盘设置为共享状态。
步骤120:通过上述第一组件访问上述目标虚拟磁盘和本地虚拟磁盘,从上述目标虚拟磁盘获取上述目标虚拟机的数据,并将上述目标虚拟机的数据存储至上述本地虚拟磁盘。
本申请实施例中,第一组件可远端访问主机上的虚拟磁盘,那么,第一组件在确定目标虚拟磁盘已被设置为共享状态后,远程打开目标虚拟磁盘,从目标虚拟磁盘中获取目标虚拟机的数据,进一步地,第一组件可访问备份服务器本地的虚拟磁盘,那么,在从目标虚拟磁盘获取到目标虚拟机的数据之后,将获取到的数据存储在本地虚拟磁盘中。
实际应用中,数据备份方式可以包括全量备份和增量备份,那么,本申请实施例中,在从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘时,具体可以包括以下两种情况:
第一种情况为:若备份方式为全量备份,则远程访问所述目标虚拟磁盘,并从所述目标虚拟磁盘获取所述目标虚拟机的全部数据,以及将所述目标虚拟机的全部数据存储至所述本地虚拟磁盘。
所谓全量备份,即将虚拟机的全部数据进行备份,此时,第一组件远端访问目标虚拟磁盘,获取目标虚拟磁盘中所属于目标虚拟机的全部数据,并存储至本地虚拟磁盘。
第二种情况为:若备份方式为增量备份,则远程访问所述目标虚拟磁盘,获取所述目标虚拟机上一次备份之后新增的数据信息,并基于所述新增的数据信息从所述目标虚拟磁盘获取增量数据,以及将所述增量数据存储至所述本地虚拟磁盘。
所谓增量备份,指的是此次备份,只针对目标虚拟机上一次备份之后新增的数据进行备份,例如,上一次备份了数据a,数据b和数据c,备份完之后,目标虚拟机运行过程中又产生了数据d和数据e,那么,此次备份时,只需针对数据d和数据e进行备份即可。
本申请实施例中,主机上部署有虚拟磁盘变化快追踪器,即位图bitmap,通过查询虚拟磁盘的bitmap信息,即可获取此次所需备份的数据信息。如,在执行第一次备份之后,创建bitmap1,用于记录第一次备份之后数据变化信息,在执行第二次备份时,获取bitmap1,确定第一次备份之后,虚拟机产生的增量数据,并对该增量数据进行备份处理,同时,删除bitmap1,并创建bitmap2,用于记录第二次备份之后的数据变化信息,同理,在执行第三次备份时,获取bitmap2,确定第二次备份之后,虚拟机产生的增量数据,并对该增量数据进行备份处理。
进一步地,本申请实施例中,备份服务器的第一组件在确定目标虚拟机的数据备份完成之后,向第二组件发送关闭目标虚拟磁盘信息共享的消息,第二组件在接收到该消息之后,取消目标虚拟磁盘的共享操作,并在取消共享完成之后,向第一组件返回响应消息,第一组件释放调用的相关资源。
进一步地,在目标虚拟机的数据备份过程中,第一组件从目标虚拟磁盘中获取目标虚拟机的数据,第二组件将目标虚拟机的数据发送至第二组件的过程中,第二组件可以对目标虚拟机的数据进行压缩、加密、数据删重、限速等操作。
进一步地,本申请实施例中,在进行目标虚拟机的数据备份的过程中,可以锁定目标虚拟机,以使得虚拟化平台用户在管理界面中不能对目标虚拟机进行修改、克隆、快照等操作。以确保目标虚拟机的数据、运行正常。
示例性的,参阅图2所示,为本申请实施例提供的另一种虚拟机的数据备份方法的详细流程图,该方法应用于主机,备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,上述主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,该方法包括以下步骤:
步骤200:基于上述第二组件接收上述第一组件发送的第一消息,其中,上述第一消息包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息。
步骤210:基于上述第一消息,将上述目标虚拟磁盘设置为共享状态。
步骤220:基于上述第二组件向上述第一组件发送第二消息,以使得上述第一组件访问上述目标虚拟磁盘和本地虚拟磁盘,从上述目标虚拟磁盘获取上述目标虚拟机的数据,并将上述目标虚拟机的数据存储至上述本地虚拟磁盘。
下面结合具体应用场景对本申请实施例提供的虚拟机的数据备份系统的结构进行详细说明。示例性的,参阅图3所示,为本申请实施例提供的一种虚拟机的数据备份系统的结构示意图,备份服务器上部署有备份进程(备份软件),第一组件(如,cvd-sdk)和用于存储备份数据的备份存储(虚拟磁盘),Hypevisor主机上部署有若干虚拟机,虚拟管管理平台RESTAPI,第二组件(cvd-ds服务)和用于存储虚拟机数据的存储(虚拟粗盘),备份服务器上的备份进程与主机上的虚拟化管理平台RESTAPR进行通信,获取主机上部署的各虚拟机信息和用于存储各虚拟机的数据的虚拟磁盘信息,备份服务器在接收到目标虚拟机的数据备份指令时,备份服务器通过第一组件将用于存储目标虚拟机的数据的目标磁盘信息封装在第一消息中发送给主机的第二组件,主机的第二组件在接收到第一消息后,通过NBD协议将目标虚拟磁盘设置为共享状态,并向备份服务器的第一组件发送第二消息,以告知第二组件目标虚拟磁盘已被设置为共享状态,备份服务器的第二组件在接收到第二消息后,远程访问目标虚拟磁盘,打开目标虚拟磁盘,从目标虚拟磁盘获取目标虚拟机的数据,并访问备份服务器本地的虚拟磁盘,将获取到的目标虚拟机的数据存储至本地虚拟磁盘中。备份服务器的第一组件在确定目标虚拟机的数据备份完成之后,向主机的第二组件发送备份完成的消息,主机的第二组件在确定目标虚拟机的数据备份完成之后,取消目标虚拟磁盘的共享操作,并向备份服务器的第一组件发送取消目标虚拟磁盘共享成功的消息,备份服务器的第一组件在接收到该消息后,释放调用的相关资源,完成此次备份操作。
基于与上述应用于备份服务器的方法实施例同样的发明构思,示例性的,参阅图4所示,为本申请实施例提供的一种虚拟机的数据备份装置的结构示意图,该装置应用于备份服务器,所述备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,所述装置包括:
发送单元40,用于基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息,以使得所述第二组件在接收到所述第一消息后,将所述目标虚拟磁盘设置为共享状态;
接收单元41,用于接收所述第二组件发送的第二消息;
备份单元42,用于通过所述第一组件访问所述目标虚拟磁盘和本地虚拟磁盘,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘。
可选地,基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息时,所述发送单元40具体用于:
通过所述第一组件将用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息封装成远程调用协议RPC格式的消息;
通过所述第一组件将所述RPC格式的消息发送给所述第二组件。
可选地,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘时,所述备份单元42具体用于:
若备份方式为全量备份,则远程访问所述目标虚拟磁盘,并从所述目标虚拟磁盘获取所述目标虚拟机的全部数据,以及将所述目标虚拟机的全部数据存储至所述本地虚拟磁盘;
若备份方式为增量备份,则远程访问所述目标虚拟磁盘,获取所述目标虚拟机上一次备份之后新增的数据信息,并基于所述新增的数据信息从所述目标虚拟磁盘获取增量数据,以及将所述增量数据存储至所述本地虚拟磁盘。
可选地,所述装置还包括:
获取单元,获取所述主机上部署的各虚拟机信息,以及获取用于存储各虚拟机的数据的虚拟磁盘信息。
进一步地,基于与上述应用于主机的方法实施例同样的发明构思,示例性的,参阅图5所示,为本申请实施例提供的另一种虚拟机的数据备份装置的结构示意图,该装置应用于主机,备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,所述主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,所述装置包括:
接收单元50,用于基于所述第二组件接收所述第一组件发送的第一消息,其中,所述第一消息包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息;
设置单元51,用于基于所述第一消息,将所述目标虚拟磁盘设置为共享状态;
发送单元52,用于基于所述第二组件向所述第一组件发送第二消息,以使得所述第一组件访问所述目标虚拟磁盘和本地虚拟磁盘,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
进一步地,本申请实施例提供的备份服务器,从硬件层面而言,所述备份服务器的硬件架构示意图可以参见图6所示,所述备份服务器可以包括:存储器60和处理器61,
存储器60用于存储程序指令;处理器61调用存储器60中存储的程序指令,按照获得的程序指令执行上述应用于备份服务器的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种备份服务器,包括用于执行上述应用于备份服务器的方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述应用于备份服务器的方法实施例。
更进一步地,本申请实施例提供的主机,从硬件层面而言,所述主机的硬件架构示意图可以参见图7所示,所述主机可以包括:存储器70和处理器71,
存储器70用于存储程序指令;处理器71调用存储器70中存储的程序指令,按照获得的程序指令执行上述应用于主机的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种主机,包括用于执行上述应用于主机的方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述应用于主机的方法实施例。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种虚拟机的数据备份方法,其特征在于,应用于备份服务器,所述备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,所述方法包括:
基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息,以使得所述第二组件在接收到所述第一消息后,将所述目标虚拟磁盘设置为共享状态;
接收所述第二组件发送的第二消息;
通过所述第一组件访问所述目标虚拟磁盘和本地虚拟磁盘,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘。
2.如权利要求1所述的方法,其特征在于,基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息的步骤包括:
通过所述第一组件将用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息封装成远程调用协议RPC格式的消息;
通过所述第一组件将所述RPC格式的消息发送给所述第二组件。
3.如权利要求1所述的方法,其特征在于,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘的步骤包括:
若备份方式为全量备份,则远程访问所述目标虚拟磁盘,并从所述目标虚拟磁盘获取所述目标虚拟机的全部数据,以及将所述目标虚拟机的全部数据存储至所述本地虚拟磁盘;
若备份方式为增量备份,则远程访问所述目标虚拟磁盘,获取所述目标虚拟机上一次备份之后新增的数据信息,并基于所述新增的数据信息从所述目标虚拟磁盘获取增量数据,以及将所述增量数据存储至所述本地虚拟磁盘。
4.如权利要求1所述的方法,其特征在于,通过所述第一组件向所述第二组件发送包含待备份的目标虚拟机的数据存储的目标虚拟磁盘信息的第一消息之前,所述方法还包括:
获取所述主机上部署的各虚拟机信息,以及获取用于存储各虚拟机的数据的虚拟磁盘信息。
5.一种虚拟机的数据备份方法,其特征在于,应用于主机,备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,所述主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,所述方法包括:
基于所述第二组件接收所述第一组件发送的第一消息,其中,所述第一消息包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息;
基于所述第一消息,将所述目标虚拟磁盘设置为共享状态;
基于所述第二组件向所述第一组件发送第二消息,以使得所述第一组件访问所述目标虚拟磁盘和本地虚拟磁盘,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘。
6.一种虚拟机的数据备份装置,其特征在于,应用于备份服务器,所述备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,所述装置包括:
发送单元,用于基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息,以使得所述第二组件在接收到所述第一消息后,将所述目标虚拟磁盘设置为共享状态;
接收单元,用于接收所述第二组件发送的第二消息;
备份单元,用于通过所述第一组件访问所述目标虚拟磁盘和本地虚拟磁盘,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘。
7.如权利要求6所述的装置,其特征在于,基于所述第一组件向所述第二组件发送包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息的第一消息时,所述发送单元具体用于:
通过所述第一组件将用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息封装成远程调用协议RPC格式的消息;
通过所述第一组件将所述RPC格式的消息发送给所述第二组件。
8.如权利要求7所述的装置,其特征在于,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘时,所述备份单元具体用于:
若备份方式为全量备份,则远程访问所述目标虚拟磁盘,并从所述目标虚拟磁盘获取所述目标虚拟机的全部数据,以及将所述目标虚拟机的全部数据存储至所述本地虚拟磁盘;
若备份方式为增量备份,则远程访问所述目标虚拟磁盘,获取所述目标虚拟机上一次备份之后新增的数据信息,并基于所述新增的数据信息从所述目标虚拟磁盘获取增量数据,以及将所述增量数据存储至所述本地虚拟磁盘。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
获取单元,获取所述主机上部署的各虚拟机信息,以及获取用于存储各虚拟机的数据的虚拟磁盘信息。
10.一种虚拟机的数据备份装置,其特征在于,应用于主机,备份服务器部署有用于访问远端虚拟磁盘和本地虚拟磁盘的第一组件,所述主机上部署有若干虚拟机和提供远端访问本地虚拟磁盘服务的第二组件,所述装置包括:
接收单元,用于基于所述第二组件接收所述第一组件发送的第一消息,其中,所述第一消息包含用于存储待备份的目标虚拟机的数据的目标虚拟磁盘信息;
设置单元,用于基于所述第一消息,将所述目标虚拟磁盘设置为共享状态;
发送单元,用于基于所述第二组件向所述第一组件发送第二消息,以使得所述第一组件访问所述目标虚拟磁盘和本地虚拟磁盘,从所述目标虚拟磁盘获取所述目标虚拟机的数据,并将所述目标虚拟机的数据存储至所述本地虚拟磁盘。
CN202110163626.4A 2021-02-05 2021-02-05 一种虚拟机的数据备份方法及装置 Active CN112988460B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110163626.4A CN112988460B (zh) 2021-02-05 2021-02-05 一种虚拟机的数据备份方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110163626.4A CN112988460B (zh) 2021-02-05 2021-02-05 一种虚拟机的数据备份方法及装置

Publications (2)

Publication Number Publication Date
CN112988460A true CN112988460A (zh) 2021-06-18
CN112988460B CN112988460B (zh) 2022-05-27

Family

ID=76348351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110163626.4A Active CN112988460B (zh) 2021-02-05 2021-02-05 一种虚拟机的数据备份方法及装置

Country Status (1)

Country Link
CN (1) CN112988460B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601473B1 (en) * 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
CN105224391A (zh) * 2015-10-12 2016-01-06 浪潮(北京)电子信息产业有限公司 一种虚拟机的在线备份方法及系统
CN105376329A (zh) * 2015-12-09 2016-03-02 国云科技股份有限公司 一种远程在线备份虚拟机的方法
CN106559392A (zh) * 2015-09-28 2017-04-05 北京神州泰岳软件股份有限公司 一种文件共享方法、装置和系统
US9740514B1 (en) * 2013-06-26 2017-08-22 Nutanix, Inc. Method and system to share data with snapshots in a virtualization environment
CN107544871A (zh) * 2017-07-21 2018-01-05 新华三云计算技术有限公司 一种虚拟机磁盘备份方法及装置
CN110837441A (zh) * 2019-11-14 2020-02-25 北京京航计算通讯研究所 基于脏数据位图和网络块设备的kvm虚拟机备份方法
CN111625401A (zh) * 2020-05-29 2020-09-04 浪潮电子信息产业股份有限公司 基于集群文件系统的数据备份方法、装置及可读存储介质
CN111651305A (zh) * 2020-08-05 2020-09-11 腾讯科技(深圳)有限公司 一种虚拟机备份方法、组件及云计算系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601473B1 (en) * 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9740514B1 (en) * 2013-06-26 2017-08-22 Nutanix, Inc. Method and system to share data with snapshots in a virtualization environment
CN106559392A (zh) * 2015-09-28 2017-04-05 北京神州泰岳软件股份有限公司 一种文件共享方法、装置和系统
CN105224391A (zh) * 2015-10-12 2016-01-06 浪潮(北京)电子信息产业有限公司 一种虚拟机的在线备份方法及系统
CN105376329A (zh) * 2015-12-09 2016-03-02 国云科技股份有限公司 一种远程在线备份虚拟机的方法
CN107544871A (zh) * 2017-07-21 2018-01-05 新华三云计算技术有限公司 一种虚拟机磁盘备份方法及装置
CN110837441A (zh) * 2019-11-14 2020-02-25 北京京航计算通讯研究所 基于脏数据位图和网络块设备的kvm虚拟机备份方法
CN111625401A (zh) * 2020-05-29 2020-09-04 浪潮电子信息产业股份有限公司 基于集群文件系统的数据备份方法、装置及可读存储介质
CN111651305A (zh) * 2020-08-05 2020-09-11 腾讯科技(深圳)有限公司 一种虚拟机备份方法、组件及云计算系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
褚福勇: "虚拟机可靠性备份机制的研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Also Published As

Publication number Publication date
CN112988460B (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
US11513926B2 (en) Systems and methods for instantiation of virtual machines from backups
AU2017290252B2 (en) Memory allocation techniques at partially-offloaded virtualization managers
CN107608757B (zh) 一种基于容器的隔离处理方法及相关设备
US8832029B2 (en) Incremental virtual machine backup supporting migration
EP2840495B1 (en) Container-based processing method and apparatus
AU2017290741A1 (en) Secure booting of virtualization managers
CN107807839B (zh) 一种修改虚拟机内存数据的方法、装置及电子设备
US11144401B2 (en) Component aware incremental backup, restore, and reconciliation solution
CN109710317B (zh) 系统启动方法、装置、电子设备及存储介质
CN112131099A (zh) 一种版本升级测试方法及装置
CN110704161B (zh) 虚拟机创建方法、装置及计算机设备
US11216343B1 (en) System and method for accelerating processing in event-driven server-less computing
CN113204407A (zh) 一种内存超配管理方法及装置
CN105094811A (zh) 一种事件处理的方法和装置
CN112596950A (zh) 虚拟机数据备份方法、装置、设备及存储介质
CN113296891B (zh) 基于平台的多场景知识图谱处理方法及装置
CN112925606A (zh) 一种内存管理方法、装置及设备
CN113986450A (zh) 一种虚拟机备份方法及装置
CN113515346A (zh) 一种存储卷残留数据清理方法及装置
US9965357B1 (en) Virtual backup and restore of virtual machines
CN109324867A (zh) 一种虚拟机暂存方法、恢复方法及装置
CN112988460B (zh) 一种虚拟机的数据备份方法及装置
CN110471828B (zh) 一种操作系统测试方法、装置及其设备
CN112596825B (zh) 一种云桌面启动方法及装置
CN110704249A (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