的数据复制到第二增量镜像中,此时,第二增量镜像中存储有第一增量镜像中的除待过滤数据标识对应的数据外的其它数据。
[0039]可选地,上述步骤102的处理方式可以多种多样,以下提供三种可选的处理方式,具体可以包括以下三种方式:
[0040]方式一,如果目标虚拟机当前未基于第一增量镜像工作,则创建第二增量镜像,将第一增量镜像与第二增量镜像进行挂载,将第一增量镜像中的除待过滤数据标识对应的数据外的其它数据复制到第二增量镜像中,取消对第二增量镜像的挂载。
[0041 ] 其中,挂载是指将虚拟机中的增量镜像挂接到终端中已存在的某个目录中,例如,终端中的硬盘的目录中。
[0042]在实施中,当终端接收到备份请求时,终端可以检测目标虚拟机当前是否基于第一增量镜像工作,如果终端确定目标虚拟机当前未处于启动状态,或者目标虚拟机当前基于除第一增量镜像外的其它增量镜像工作,则终端可以通过虚拟机应用程序创建第二增量镜像,其中,第二增量镜像可以为空白的增量镜像,由于虚拟机应用程序通常没有设置将某个增量镜像中的数据复制到另一个增量镜像的功能,因此,为了达到上述目的,终端可以将第一增量镜像和第二增量镜像挂载,此时,终端中的硬盘的目录中将增加两个硬盘的图标,这样,终端可以对第一增量镜像和第二增量镜像中的数据进行读写操作,然后,终端可以将第一增量镜像中的除待过滤数据标识对应的数据外的其它数据复制到第二增量镜像中,复制完成后,终端可以将第二增量镜像从上述硬盘的目录中卸载,此时,硬盘的目录中第二增量镜像对应的硬盘的图标消失。终端也可以将第一增量镜像从上述硬盘的目录中卸载,此时,硬盘的目录中第一增量镜像对应的硬盘的图标消失,这样,可以使得目标虚拟机后续可以基于第一增量镜像工作。
[0043]方式二,如果目标虚拟机当前基于第一增量镜像工作,则创建对应第一增量镜像的快照镜像,将第一增量镜像中的数据复制到快照镜像中,并将快照镜像设置为第三增量镜像;创建第二增量镜像,将第一增量镜像与第二增量镜像进行挂载,将第一增量镜像中的除待过滤数据标识对应的数据外的其它数据复制到第二增量镜像中,取消对第二增量镜像的挂载。
[0044]其中,快照镜像是一种以某个增量镜像为基础镜像的镜像,快照镜像中存储有对该增量镜像中的数据进行修改后的数据和用户写入的新数据等。
[0045]在实施中,如果终端检测到目标虚拟机正处于工作状态,而且是基于第一增量镜像工作,则终端可以通过虚拟机应用程序创建第一增量镜像的快照镜像,此时,目标虚拟机由基于第一增量镜像工作变为基于快照镜像工作,然后,终端可以将快照镜像设置为增量镜像,具体地,由于目标虚拟机当前基于快照镜像工作,因此目标虚拟机可以对第一增量镜像和快照镜像中的数据进行读写操作,这样,终端通过目标虚拟机可以将第一增量镜像中的数据复制到快照镜像中,复制完成后,终端可以将快照镜像修改为第三增量镜像,第三增量镜像与第一增量镜像对应的基础镜像相同。
[0046]终端可以通过虚拟机应用程序创建一个增量镜像(即第二增量镜像),其中,第二增量镜像可以是一个空白的增量镜像,然后,终端可以将第一增量镜像和第二增量镜像挂载到终端中硬盘的目录中,此时,终端可以对第一增量镜像和第二增量镜像中的数据进行读写操作,这样,终端可以将第一增量镜像中的除待过滤数据标识对应的数据外的其它数据复制到第二增量镜像中,复制完成后,终端可以将第二增量镜像从上述硬盘的目录中卸载,终端也可以将第一增量镜像进行卸载,为了节省磁盘占用空间,用户可以将第一增量镜像删除。
[0047]方式三,如果目标虚拟机当前基于第一增量镜像工作,则创建对应第一增量镜像的快照镜像,将第一增量镜像进行只读挂载,并将第二增量镜像进行挂载,将第一增量镜像中的除待过滤数据标识对应的数据外的其它数据复制到第二增量镜像中,取消对第二增量镜像的挂载;取消快照镜像。
[0048]其中,虚拟机应用程序中可以设置有两种挂载方式,如只读挂载和挂载。只读挂载可以是对增量镜像进行挂载时,终端只能读取增量镜像中的数据,但不能修改增量镜像中的数据或向增量镜像中写入数据,进行只读挂载的增量镜像可以是对应的虚拟机正在使用的增量镜像。挂载可以是对增量镜像进行挂载时,终端可以对增量镜像中的数据进行读写操作,进行挂载的增量镜像通常为未处于使用状态的增量镜像。
[0049]在实施中,如果目标虚拟机当前基于第一增量镜像工作,则终端可以创建第一增量镜像的快照镜像,此时,目标虚拟机由基于第一增量镜像工作变为基于快照镜像工作,第一增量镜像为快照镜像的基础镜像,其中的数据被目标虚拟机使用,此时,节省磁盘占用空间,可以将第一增量镜像进行只读挂载,同时,可以对第二增量镜像进行挂载,然后,终端可以将第一增量镜像中的除待过滤数据标识对应的数据外的其它数据复制到第二增量镜像中,复制完成后,终端可以将第二增量镜像进行卸载,此时,终端也可以将第一增量镜像进行卸载,完成上述过程后,终端可以通过虚拟机应用程序取消快照镜像,具体地,终端可以将第一增量镜像中的数据复制到快照镜像中,并将快照镜像设置为第三增量镜像,此时,目标虚拟机基于第三增量镜像工作。
[0050]终端也可以不进行上述方式三中的取消快照镜像的处理,则上述步骤102的处理方式还可以包括:如果目标虚拟机当前基于第一增量镜像工作,则创建对应第一增量镜像的快照镜像,将第一增量镜像进行只读挂载,并将第二增量镜像进行挂载,将第一增量镜像中的除待过滤数据标识对应的数据外的其它数据复制到第二增量镜像中,取消对第二增量镜像的挂载。
[0051]上述步骤102的处理过程除上述方式外,还可以包括其他方式,例如,终端可以创建对应第一增量镜像的快照镜像,将第一增量镜像中的数据复制到快照镜像中,并将快照镜像设置为第三增量镜像,然后,可以将第一增量镜像进行挂载,删除第一增量镜像中的待过滤数据标识对应的数据,取消对第一增量镜像的挂载,相应的后续的处理过程可以为:终端可以对第一增量镜像中的数据进行备份,将得到的备份数据存储为第一增量镜像的备份数据,由于qcow2镜像格式的特性,上述处理方法中尽管删除了某些数据,但是第一增量镜像中的数据占用的磁盘空间并没有减小,针对上述方式,终端还可以通过虚拟机应用程序对第一增量镜像占用的磁盘空间进行缩容,从而达到与上述三种方式相同的效果。
[0052]步骤103,对第二增量镜像中的数据进行备份,将得到的备份数据存储为第一增量镜像的备份数据。
[0053]在实施中,终端可以获取第二增量镜像中的数据,并对该数据进行备份,得到备份数据,用户可以预先设置一个备份数据的存储地址,终端得到备份数据后,可以将该备份数据存储到上述存储地址对应的存储区域中。
[0054]可选地,可以为备份过程设置备份服务器,备份服务器可以对相应的数据进行备份和存储,相应的,上述步骤103的处理过程可以包括以下内容:向备份服务器发送携带有第二增量镜像中的数据和第一增量镜像的标识的备份消息,以使备份服务器将第二增量镜像中的数据作为第一增量镜像的备份数据进行存储。
[0055]在实施中,终端可以获取第二增量镜像中的数据和第一增量镜像的标识(如第一增量镜像的名称等),生成备份消息,发送给备份服务器,备份服务器接收到备份消息时,可以提取其中的第一增量镜像的标识和数据,备份服务器可以将该标识和该数据对应存储,从而,备份服务器中存储了第一增量镜像的备份数据。备份服务器也可以获取第一增量镜像对应的基础镜像的标识,然后,可以将对应的基础镜像中的数据和第二增量镜像中的数据作为目标虚拟机的备份数据进行存储。
[0056]本发明实施例中,接收对应目标虚拟机的第一增量镜像的备份请求,备份请求中携带有待过滤数据标识,创建第二增量镜像,将第一增量镜像中的除待过滤数据标识对应的数据外的其它数据复制到第二增量镜像中,对第二增量镜像中的数据进行备份,将得到的备份数据存储为第一增量镜像的备份数据,这样,通过创建空白增量镜像,以存储第一增量镜像中的除待过滤数据标识对应的数据外的其它数据,进而达到对指定数据进行备份的目的,从而,可以提高数据备份的灵活性。
[0057]实施例三
[0058]基于相同的技术构思,本发明实施例还提供了一种数据备份的装置,如图3所示,该装置包括:
[0059]接收模块310,用于接收对应目标虚拟机的第一增量镜像的备份请求,备份请求中携带有待过滤数据标识;
[0060]复制模块320,用于创建第二增量镜像,将第一增量镜像中的除待过滤数据标识对应的数据外的其它数据复制到第二增量镜像中;
[0061]存储模块330,用于对第二增量镜像中的数据进行备份,将得到的备份数据存储为第一增量镜像的备份数据。
[0062]可选地,复制模块320,用于:
[0063]如果目标虚拟机当前未基于第一增量镜像工作,则创建第二增量镜像,将第一增量镜像与第二增量镜像进行挂载,将第一增量镜像中的除待过滤数据标识对应的数据外的其它数据复制到第二增量镜像中,取消对第二增量镜像的挂载。
[0064]可选地,复制模块320,用于:
[0065]如果目标虚拟机当前基于第一增量镜像工作,则创建对应第一