虚拟机数据备份方法及系统转让专利

申请号 : CN201710149406.X

文献号 : CN107092538B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘仁仕张齐国

申请人 : 平安科技(深圳)有限公司

摘要 :

本发明公开了虚拟机数据备份方法及系统。该虚拟机数据备份方法包括:本地主机接收虚拟机的读写请求,基于所述读写请求对本地虚拟磁盘进行读写操作,并将写请求发送给备份主机;备份主机接收所述写请求,基于所述写请求对备份虚拟磁盘进行写操作,以获取备份虚拟磁盘镜像;备份主机获取增量快照生成指令,基于所述增量快照生成指令和所述备份虚拟磁盘镜像在线生成增量快照。该虚拟机数据备份方法中,可实现在备份主机在线生成增量快照,无需中断由本地主机到备份主机的数据备份,且不会对本地主机的磁盘IO造成影响。

权利要求 :

1.一种虚拟机数据备份方法,其特征在于,包括:本地主机接收虚拟机的读写请求,基于所述读写请求对本地虚拟磁盘进行读写操作,并将写请求发送给备份主机;

备份主机接收所述写请求,基于所述写请求对备份虚拟磁盘进行写操作,以实现对写请求对应的数据进行数据备份并获取备份虚拟磁盘镜像;

备份主机获取增量快照生成指令,基于所述增量快照生成指令和所述备份虚拟磁盘镜像在线生成增量快照;

所述基于所述增量快照生成指令和所述备份虚拟磁盘镜像在线生成增量快照之后,还包括:所述备份主机将所述增量快照发送给共享存储设备;其中,所述增量快照与虚拟机ID相关联;

所述共享存储设备接收所述增量快照,并将所述增量快照与所述虚拟机ID对应的基础虚拟磁盘镜像关联存储;

在备份主机获取增量快照生成指令之前,还包括:

在所述备份主机中预设脚本,在所述备份主机接收到所述写请求时,所述脚本触发形成所述增量快照生成指令。

2.根据权利要求1所述的虚拟机数据备份方法,其特征在于,所述基于所述增量快照生成指令和所述备份虚拟磁盘镜像在线生成增量快照,包括:基于所述增量快照生成指令获取本次快照版本号;

基于所述备份虚拟磁盘镜像创建与所述本次快照版本号相对应的本次内部快照;

基于所述本次内部快照与上次快照版本号对应的上次内部快照,生成所述增量快照。

3.根据权利要求1所述的虚拟机数据备份方法,其特征在于,所述本地主机接收虚拟机的读写请求之前,还包括:所述本地主机从共享存储设备中获取基础虚拟磁盘镜像,并运行所述基础虚拟磁盘镜像,以形成所述本地虚拟磁盘;

所述备份主机从所述共享存储设备中获取所述基础虚拟磁盘镜像,并运行所述基础虚拟磁盘镜像,以形成所述备份虚拟磁盘;

其中,所述基础虚拟磁盘镜像包括虚拟机ID。

4.根据权利要求3所述的虚拟机数据备份方法,其特征在于,还包括:接收虚拟机恢复请求,所述虚拟机恢复请求包括虚拟机ID和历史时刻;

基于所述虚拟机恢复请求,从所述共享存储设备中获取与所述虚拟机ID相对应的所述基础虚拟磁盘镜像,并获取所述历史时刻之前与所述虚拟机ID相关联的历史增量快照;所述历史增量快照包括依时间顺序排序的至少一个所述增量快照;

将所述基础虚拟磁盘镜像和所述历史增量快照合并,获取目标虚拟磁盘镜像。

5.一种虚拟机数据备份系统,其特征在于,包括:本地主机,用于接收虚拟机的读写请求,基于所述读写请求对本地虚拟磁盘进行读写操作,并将写请求发送给备份主机;

备份主机,用于接收所述写请求,基于所述写请求对备份虚拟磁盘进行写操作,以实现对写请求对应的数据进行数据备份并获取备份虚拟磁盘镜像;

备份主机,用于获取增量快照生成指令,基于所述增量快照生成指令和所述备份虚拟磁盘镜像在线生成增量快照;

所述备份主机,还用于将所述增量快照发送给共享存储设备;其中,所述增量快照与虚拟机ID相关联;

所述共享存储设备,还用于接收所述增量快照,并将所述增量快照与所述虚拟机ID对应的基础虚拟磁盘镜像关联存储;

在备份主机获取增量快照生成指令之前,还包括:

在所述备份主机中预设脚本,在所述备份主机接收到所述写请求时,所述脚本触发形成所述增量快照生成指令。

6.根据权利要求5所述的虚拟机数据备份系统,其特征在于,所述基于所述增量快照生成指令和所述备份虚拟磁盘镜像在线生成增量快照,包括:基于所述增量快照生成指令获取本次快照版本号;

基于所述备份虚拟磁盘镜像创建与所述本次快照版本号相对应的本次内部快照;

基于所述本次内部快照与上次快照版本号对应的上次内部快照,生成所述增量快照。

7.根据权利要求5所述的虚拟机数据备份系统,其特征在于,还包括:所述本地主机,还用于从共享存储设备中获取基础虚拟磁盘镜像,并运行所述基础虚拟磁盘镜像,以形成所述本地虚拟磁盘;

所述备份主机,还用于从所述共享存储设备中获取所述基础虚拟磁盘镜像,并运行所述基础虚拟磁盘镜像,以形成所述备份虚拟磁盘;

其中,所述基础虚拟磁盘镜像包括虚拟机ID。

8.根据权利要求7所述的虚拟机数据备份系统,其特征在于,所述本地主机或所述备份主机,还用于:接收虚拟机恢复请求,所述虚拟机恢复请求包括虚拟机ID和历史时刻;

基于所述虚拟机恢复请求,从所述共享存储设备中获取与所述虚拟机ID相对应的所述基础虚拟磁盘镜像,并获取所述历史时刻之前与所述虚拟机ID相关联的历史增量快照;所述历史增量快照包括依时间顺序排序的至少一个所述增量快照;

将所述基础虚拟磁盘镜像和所述历史增量快照合并,获取目标虚拟磁盘镜像。

说明书 :

虚拟机数据备份方法及系统

技术领域

[0001] 本发明涉及计算机虚拟化技术领域,尤其涉及一种虚拟机数据备份方法及系统。

背景技术

[0002] 虚拟化技术通过虚拟机监控器(Virtual Machine Monitor,以下简称VMM)软件对物理机的CPU、内存、I/O等设备进行虚拟化,在一台物理机中设置多个虚拟机(Virtual Machine,以下简称VM),每个VM都运行一个客户操作系统(Guest OS,客户机)。VMM与一个主机操作系统(Dom0或者Host OS,宿主机)协调,保证位于同一物理机上的虚拟机之间相互隔离,支持无需宕机的前提下将VM从一台物理机在线迁移到另一台物理机(包括基于共享存储的在线迁移和基于本地存储的在线迁移)。
[0003] 快照将虚拟机系统的虚拟磁盘在某个时刻的状态保存下来,当虚拟机系统出现故障时可重新还原到该时刻的状态,以实现系统备份和恢复。即可通过创建快照将虚拟机的写请求实时备份到虚拟机备份端,以实现数据备份。为节省存储空间,减小存储冗余,还可以增量快照形式存储快照。但现有虚拟机数据备份过程中,增量快照是在虚拟机所在的本地主机上生成的,其生成过程对虚拟机的磁盘IO造成影响,并且在增量快照生成过程中需暂停虚拟机的运行,从而打断数据备份。

发明内容

[0004] 本发明提供一种虚拟机数据备份方法及系统,以解决在虚拟机所在的本地主机上生成增量快照所存在的问题。
[0005] 本发明解决其技术问题所采用的技术方案是:
[0006] 第一方面,本发明提供一种虚拟机数据备份方法,包括:
[0007] 本地主机接收虚拟机的读写请求,基于所述读写请求对本地虚拟磁盘进行读写操作,并将写请求发送给备份主机;
[0008] 备份主机接收所述写请求,基于所述写请求对备份虚拟磁盘进行写操作,以获取备份虚拟磁盘镜像;
[0009] 备份主机获取增量快照生成指令,基于所述增量快照生成指令和所述备份虚拟磁盘镜像在线生成增量快照。
[0010] 第二方面,本发明提供一种虚拟机数据备份系统,包括:
[0011] 本地主机,用于接收虚拟机的读写请求,基于所述读写请求对本地虚拟磁盘进行读写操作,并将写请求发送给备份主机;
[0012] 备份主机,用于接收所述写请求,基于所述写请求对备份虚拟磁盘进行写操作,以获取备份虚拟磁盘镜像;
[0013] 备份主机,用于获取增量快照生成指令,基于所述增量快照生成指令和所述备份虚拟磁盘镜像在线生成增量快照。
[0014] 本发明与现有技术相比具有如下优点:本发明所提供的虚拟机数据备份方法及系统中,本地主机接收虚拟机的读写请求,并基于读写请求对本地虚拟磁盘进行读写操作,并将写请求发送给备份主机;备份主机基于接收到的写请求对备份虚拟磁盘进行写操作,以实现对备份虚拟磁盘镜像,完成数据备份;备份主机再基于获取的增量快照生成指令在经生成增量快照,无需中断由本地主机到备份主机的数据备份,也不会对本地主机的磁盘IO造成影响,具有高可用性。备份主机上存储增量快照,可节省备份主机上的存储空间,节省存储空间。

附图说明

[0015] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0016] 图1是本发明实施例1中虚拟机数据备份方法的一流程图。
[0017] 图2是本发明实施例2中虚拟机数据备份系统的一原理框图。

具体实施方式

[0018] 为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
[0019] 实施例1
[0020] 图1示出本实施例中虚拟机数据备份方法的流程图。该虚拟机数据备份方法,可实现对虚拟机的虚拟磁盘的数据进行增量备份,且备份过程无需中断本地主机上运行的虚拟机,可降低网络带宽消耗且节省数据备份时间。如图1所示,虚拟机数据备份方法包括如下步骤:
[0021] S10:本地主机10接收虚拟机的读写请求,基于读写请求对本地虚拟磁盘进行读写操作,并将写请求发送给备份主机20。
[0022] 本实施例中,本地主机10和备份主机20包括但不限于电脑、平板等可以安装虚拟机的终端。本地主机10上安装有虚拟机,虚拟机可以接收用户输入的读写请求,基于读写请求对本地虚拟磁盘进行读写操作,即将写请求对应的数据写入本地虚拟磁盘,以实现在本地虚拟磁盘中备份存储写请求对应的数据;或者从本地虚拟磁盘中获取与读请求相对应的数据。本地主机10在基于读写请求对本地虚拟磁盘进行读写操作之后,将写请求发送给备份主机20。
[0023] 在一具体实施方式中,该虚拟机数据备份方法中,步骤S10之前还包括对本地主机10和备份主机20进行初始化,以使本地主机10和备份主机20可实现数据同步,以保证数据备份的可靠性。即步骤S10之前还包括如下步骤:
[0024] S01:本地主机10从共享存储设备30中获取基础虚拟磁盘镜像,并运行基础虚拟磁盘镜像,以形成本地虚拟磁盘;其中,基础虚拟磁盘镜像包括虚拟机ID。
[0025] 其中,共享存储设备30包括但不限于本实施例中的云服务器。本地主机10与共享存储设备30通过WiFi网络、3G网络、4G网络等通信相连,以实现数据交互。共享存储设备30中存储有基础虚拟磁盘镜像,基础虚拟磁盘镜像是一种镜像文件,是将特定的一系列文件按预设格式制作成单一的文件,以方便用户下载和使用,该镜像文件需利用虚拟光驱工具进行解压后才能使用。
[0026] 具体地,本地磁盘向共享存储设备30发送下载镜像文件请求,该下载镜像文件请求包括虚拟机ID。共享存储设备30接收该下载镜像文件请求后,将与虚拟机ID对应的基础虚拟磁盘镜像发送给本地主机10。本地主机10接收并运行该基础虚拟磁盘镜像,以形成本地虚拟磁盘,该本地虚拟磁盘包括与虚拟机ID相对应的虚拟机的原始数据。
[0027] S02:备份主机20从共享存储设备30中获取基础虚拟磁盘镜像,并运行基础虚拟磁盘镜像,以形成备份虚拟磁盘。
[0028] 可以理解地,本地主机10和备份主机20从共享存储设备30上获取同一虚拟机ID对应的基础虚拟磁盘镜像。具体地,备份磁盘向共享存储设备30发送下载镜像文件请求,该下载镜像文件请求包括虚拟机ID。共享存储设备30接收该下载镜像文件请求后,将对应的基础虚拟磁盘镜像发送给备份主机20。备份主机20接收并运行该基础虚拟磁盘镜像后,以形成备份虚拟磁盘镜像,该备份虚拟磁盘镜像包括与虚拟机ID相对应的虚拟机的原始数据。本地虚拟磁盘和备份虚拟磁盘所包含的虚拟机的原始数据相同,为备份主机20与本地主机
10实现数据备份提供基础。
[0029] 进一步地,基础虚拟磁盘镜像包括qcow2格式的虚拟磁盘镜像,则步骤S01中,在本地主机10上创建以该基础虚拟磁盘镜像为backing_file的空白的qcow2格式的本地虚拟磁盘;步骤S02中,在备份主机20上创建以该基础虚拟磁盘镜像为backing_file的空白的qcow2格式的备份虚拟磁盘。其中,qcow2格式是模拟处理器Qemu实现的一种虚拟机镜像文件格式。qcow2格式具有更小的文件大小、可支持写时复制、支持多个内部快照(snapshot),对历史快照(snapshot)进行管理、支持zlib的磁盘压缩和支持AES的加密等优点。
[0030] S20:备份主机20接收写请求,基于写请求对备份虚拟磁盘进行写操作,以获取备份虚拟磁盘镜像。
[0031] 具体地,备份主机20在基于本地主机10发送的写请求进行写操作时,将写请求对应的数据写入备份主机20的备份虚拟磁盘中,以获取备份虚拟磁盘镜像,以实现对写请求对应的数据进行数据备份。
[0032] 如图2所示,本地主机10上安装有虚拟机VM以及与虚拟机VM相连的虚拟机监控器VMM,还包括与虚拟机监控器VMM相连的本地虚拟磁盘。可以理解地,虚拟机VM接收用户输入或者通过其他方式获取的读写请求,基于读写请求对本地虚拟磁盘进行读写操作,以将写请求对应的数据存储在本地虚拟磁盘上,以实现数据存储,并将写请求通过虚拟机监控器VMM发送给备份主机20。本实施例中,本地主机10和备份主机20的主机操作系统上均安装有模拟处理器Qemu,其中,模拟处理器Qemu是在GNU/Linux平台上广泛使用的以GPL许可证分发源码的模拟处理器。本地主机10的模拟处理器Qemu上设有Sync Orig模块,Sync Orig模块是安装在本地主机10的读写请求转发模块。备份主机20的模拟处理器Qemu上设有Sync Term模块,Sync Term模块是安装在备份主机20上的读写请求转发模块。
[0033] 可以理解地,步骤S10之前还包括如下步骤:启动虚拟机并使本地主机10的模拟处理器Qemu上的Sync Orig模块启动;同时使备份主机20的模拟处理器Qemu上的Sync Term模块启动;使本地主机10上的Sync Orig模块与虚拟机监控器VMM相连,并与备份主机20上的Sync Term模块相连,以使本地主机10和备份主机20可通过网络通信相连。步骤S10中,虚拟机监控器VMM将接收到的虚拟机VM的写请求实时转发给Sync Orig模块,Sync Orig模块再将该写请求实时转发给Sync Term模块,以保证数据传输的实时性,提高数据备份的效率。
[0034] S30:备份主机20获取增量快照生成指令,基于增量快照生成指令和备份虚拟磁盘镜像在线生成增量快照。
[0035] 具体地,备份主机20可接收运维人员手动输入的增量快照生成指令,也可在备份主机20预设脚本,在备份主机20接收到写请求时,该脚本触发形成增量快照生成指令。该备份主机20基于增量快照生成指令和备份虚拟磁盘镜像在线生成增量快照,以将基于写请求形成的备份虚拟磁盘镜像以增量快照形式存储,以节省存储空间,减小存储冗余。而且,增量快照是在备份主机20上创建的,其创建过程不会影响本地主机10的磁盘IO,也不会打断本地主机10向备份主机20发送写请求的过程。
[0036] 具体地,步骤S30具体包括如下步骤:
[0037] S31:基于增量快照生成指令获取本次快照版本号。
[0038] 具体地,快照版本号用于唯一识别基于增量快照生成指令创建的内部快照,且快照版本号依创建时间的时间顺序递增,以便基于快照版本号确定不同内部快照之间的先后顺序。备份主机20基于增量快照生成指令获取本次快照版本号时,先获取上次快照版本号,使上次快照版本号加1,即可获取本次快照版本号。
[0039] S32:基于备份虚拟磁盘镜像创建与本次快照版本号相对应的本次内部快照。
[0040] 可以理解地,备份主机20在Sync Term模块接收到本地主机10通过Sync Orig模块发送的写请求,基于写请求对备份虚拟磁盘进行写操作,获取对应的备份虚拟磁盘镜像,再基于备份虚拟磁盘镜像创建相应的内部快照,并使该内部快照与本次内部快照相关联。其中,备份主机20基于备份虚拟磁盘镜像创建与本次快照版本号相对应的本次内部快照,以使本次内部快照与写请求相对应。
[0041] S33:基于本次内部快照与上次快照版本号对应的上次内部快照,生成增量快照。
[0042] 具体地,增量快照为本次内部快照与上次内部快照的差值。可以理解地,增量快照与本次快照版本号相关联,基于增量快照可确定本次快照版本号对应的本次内部快照相对于上次内部快照的增量。具体地,备份主机20先在备份虚拟磁盘中先创建一个空白的虚拟磁盘镜像文件;再将本次内部快照与上次内部快照的差值作为增量快照存储在该空白的虚拟磁盘镜像文件中,以创建并存储增量快照。
[0043] 在一具体实施方式中,若在备份主机20上创建以该基础虚拟磁盘镜像为backing_file的空白的qcow2格式的备份虚拟磁盘,则备份主机20基于增量快照生成指令对写请求进行处理,获取增量快照的过程具体包括如步骤:
[0044] S31’:基于增量快照生成指令获取本次快照版本号。
[0045] S32’:在空白的qcow2格式的备份虚拟磁盘上,基于写请求形成的备份虚拟磁盘镜像创建与本次快照版本号相对应的本次内部快照。
[0046] S33’:创建空白的qcow2格式的备份虚拟磁盘上,将本次内部快照与上次快照版本号对应的上次内部快照进行对比,获取并存储增量快照。设本地虚拟磁盘为vdisk,其最新的内部快照为sn1,上次生成的内部快照为sn2,此次生成的增量快照为ext_sn,则生成算法如算法1所示:
[0047]
[0048] 本实施例所提供的虚拟机数据备份方法,本地主机10接收虚拟机的读写请求,并基于读写请求对本地虚拟磁盘进行读写操作,并将写请求发送给备份主机20;备份主机20基于接收到的写请求对备份虚拟磁盘进行写操作,以实现对备份虚拟磁盘镜像,完成数据备份;备份主机20再基于获取的增量快照生成指令在经生成增量快照,无需中断由本地主机10到备份主机20的数据备份,也不会对本地主机10的磁盘IO造成影响,具有高可用性。备份主机20上存储增量快照,可节省备份主机20上的存储空间,节省存储空间。
[0049] 在一具体实施方式中,增量快照与虚拟机ID相关联,可确定与增量快照其相关联的虚拟机ID对应的基础虚拟磁盘镜像文件。虚拟机数据备份方法中,步骤S30之后还包括如下步骤:
[0050] S40:备份主机20将增量快照发送给共享存储设备30。
[0051] 可以理解地,备份主机20将增量快照发送给共享存储设备30,由于共享存储设备30与本地主机10和备份主机20所采用的存储系统相互隔离,将增量快照发送给共享存储设备30以实现存储,可实现良好的风险隔离。
[0052] S50:共享存储设备30接收增量快照,并将增量快照与虚拟机ID对应的基础虚拟磁盘镜像关联存储。
[0053] 本实施例中,由于增量快照与虚拟机ID相关联,共享存储设备30将增量快照与虚拟机ID对应的基础虚拟磁盘镜像关联存储。由于基础虚拟磁盘镜像包含虚拟机ID对应的虚拟机的原始数据,而增量快照包含与虚拟机ID对应的虚拟机的备份数据,将两者关联存储,以便于对该虚拟机ID对应的虚拟机进行数据管理,便于基于关联存储的基础虚拟磁盘镜像和增量快照实现虚拟机恢复,以确定在本地主机10上的虚拟机出现故障时,可在任一主机上实现虚拟机恢复。可以理解地,共享存储设备30存储有基础虚拟磁盘镜像和相应的增量快照,可保证数据存储的可靠性,以保证虚拟机可恢复到特定时刻的状态;而且,采用增量快照形式存储快照,不仅可以节省存储空间,减小存储冗余。
[0054] 在一具体实施方式中,该虚拟机数据备份方法中,虚拟机上关联存储有与虚拟机ID相关联的基础虚拟磁盘镜像和增量快照,可在虚拟机出现故障时进行虚拟机恢复。因此,该虚拟机数据备份方法还包括如下步骤:
[0055] S61:接收虚拟机恢复请求,虚拟机恢复请求包括虚拟机ID和历史时刻。
[0056] 可以理解地,虚拟机恢复请求包括虚拟机ID,以确定需要恢复的虚拟机;虚拟机恢复请求包括历史时刻,以确定需要恢复该历史时刻之前的虚拟机。本实施例,虚拟机恢复请求可以由本地主机10、备份主机20或者其他主机向共享存储设备30发送,使得共享存储设备30接收该虚拟机恢复请求。
[0057] S62:基于虚拟机恢复请求,从共享存储设备30中获取与虚拟机ID相对应的基础虚拟磁盘镜像,并获取历史时刻之前与虚拟机ID相关联的历史增量快照;历史增量快照包括依时间顺序排序的至少一个增量快照。
[0058] 由于共享存储设备30中关联存储有与虚拟机ID相对应的的基础虚拟磁盘镜像和增量快照,共享存储设备30接收到虚拟机恢复请求后,先基于虚拟机ID获取对应的基础虚拟磁盘镜像和增量快照;然后基于历史时刻确定相对应的历史增量快照。历史增量快照包括依时间顺序排序的至少一个增量快照,每一增量快照均在历史时刻之前创建并上传在共享存储设备30中。
[0059] S63:将基础虚拟磁盘镜像和历史增量快照合并,获取目标虚拟磁盘镜像。
[0060] 具体地,本地主机10或者其他主机先创建空白虚拟磁盘镜像文件,再将历史增量快照与基础虚拟磁盘镜像合并,以获取目标虚拟磁盘镜像;然后通过虚拟光驱工具运行目标虚拟磁盘镜像,即可获取恢复的虚拟机。可以理解地,该虚拟机恢复过程操作简单方便,可恢复任意时刻的虚拟机,在本地主机10的虚拟机出现恢复时,使得其虚拟机上的数据得到快速恢复。
[0061] 在一具体实施方式中,若在本地主机10上创建以该基础虚拟磁盘镜像为backing_file的空白的qcow2格式的本地虚拟磁盘时,令快照版本号为i的增量快照为ext_sn[i],令该空白虚拟磁盘镜像为vdisk,则步骤S60具体包括:
[0062] S61’:创建version_map二维数组(l1_size*l2_size),其中l1_size为虚拟磁盘镜像的l1_table中entry的个数,l2_size是一个l2_table簇中l2_entry的个数。
[0063] S62’:根据历史增量快照得到version_map,其中,算法version_map算法如下所示:
[0064]
[0065] S63’:根据version_map,合并历史增量快照到创建的空白的qcow2格式的本地虚拟磁盘,其合并算法如下:
[0066]
[0067] 上述步骤可实现恢复任意时刻的虚拟机,且虚拟机恢复过程操作简单方便,易于实现,并使虚拟机上的数据能够得到快速恢复。
[0068] 实施例2
[0069] 对应于实施例1公开的虚拟机数据备份方法,图2示出与实施例1所示的虚拟机数据备份方法一一对应的虚拟机数据备份系统。如图2所示,该虚拟机数据备份系统,包括:
[0070] 本地主机10,用于接收虚拟机的读写请求,基于所述读写请求对本地虚拟磁盘进行读写操作,并将写请求发送给备份主机20;
[0071] 备份主机20,用于接收所述写请求,基于所述写请求对备份虚拟磁盘进行写操作,以获取备份虚拟磁盘镜像;
[0072] 备份主机20,用于获取增量快照生成指令,基于所述增量快照生成指令和所述备份虚拟磁盘镜像在线生成增量快照。
[0073] 优选地,所述基于所述增量快照生成指令和所述备份虚拟磁盘镜像在线生成增量快照,包括:
[0074] 基于所述增量快照生成指令获取本次快照版本号;
[0075] 基于所述备份虚拟磁盘镜像创建与所述本次快照版本号相对应的本次内部快照;
[0076] 基于所述本次内部快照与上次快照版本号对应的上次内部快照,生成所述增量快照。
[0077] 优选地,还包括:
[0078] 所述本地主机10,还用于从共享存储设备30中获取基础虚拟磁盘镜像,并运行所述基础虚拟磁盘镜像,以形成所述本地虚拟磁盘;
[0079] 所述备份主机20,还用于从所述共享存储设备30中获取所述基础虚拟磁盘镜像,并运行所述基础虚拟磁盘镜像,以形成所述备份虚拟磁盘;
[0080] 其中,所述基础虚拟磁盘镜像包括虚拟机ID。
[0081] 优选地,所述增量快照与所述虚拟机ID相关联;
[0082] 所述虚拟机数据备份系统还包括:
[0083] 所述备份主机20,还用于将所述增量快照发送给所述共享存储设备30;
[0084] 所述共享存储设备30,还用于接收所述增量快照,并将所述增量快照与所述虚拟机ID对应的所述基础虚拟磁盘镜像关联存储。
[0085] 优选地,所述本地主机10或所述备份主机20,还用于:
[0086] 接收虚拟机恢复请求,所述虚拟机恢复请求包括虚拟机ID和历史时刻;
[0087] 基于所述虚拟机恢复请求,从所述共享存储设备30中获取与所述虚拟机ID相对应的所述基础虚拟磁盘镜像,并获取所述历史时刻之前与所述虚拟机ID相关联的历史增量快照;所述历史增量快照包括依时间顺序排序的至少一个所述增量快照;
[0088] 将所述基础虚拟磁盘镜像和所述历史增量快照合并,获取目标虚拟磁盘镜像。
[0089] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0090] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0091] 在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0092] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0093] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0094] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(pro字段Aessor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random A字段A字段Aess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0095] 以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。