虚拟机还原的方法和装置的制作方法

文档序号:6383360阅读:200来源:国知局
专利名称:虚拟机还原的方法和装置的制作方法
技术领域
本发明涉及虚拟机技术领域,尤其涉及一种虚拟机还原的方法和装置。
背景技术
虚拟化通常是指计算机操作系统和程序在虚拟的硬件上而不是真实的硬件上运行。计算机的虚拟化就是通过软件平台的方法在一台计算机上虚拟出很虚拟计算机,被虚拟出的计算机称作虚拟主机或虚拟机。计算机所运行的软件平台为虚拟化平台,虚拟机化平台可以提供对虚拟机的虚拟磁盘进行读写操作的应用程序编程接口(ApplicationProgramming Interface, API),备份系统可通过此接口对虚拟机进行备份和还原。在现有技术下,可以通过虚拟化平台的改变块追踪(Changed Block Tracking,CBT)功能或其他类似的能实现增量备份的软件来实现虚拟机的增量备份。而虚拟机的还原方法为删除要进行还原的虚拟机的磁盘文件;重建一个与被删除的磁盘文件一样大的空白磁盘文件;将第一次备份的虚拟机的全备文件的所有数据块的数据从备份服务器写回新建的空白磁盘文件,得到原始磁盘文件;将虚拟机待还原时刻与第一次备份时刻相比改变的数据块的数据从备份服务器的增备文件集中写回之前得到的原始磁盘文件,即更新与原始磁盘文件中相应数据块的数据,得到待还原时刻的虚拟机。现有的虚拟机的还原方法要删除待还原虚拟机,重建待还原虚拟机的磁盘文件,由此占用了大量的系统资源;而把全部磁盘文件从备份服务器写回虚拟磁盘中,则增加了额外的磁盘输入/输出操作,进而加剧了硬盘的损耗;整个还原过程所需的还原时间很长,增加了时间成本。

发明内容
本发明实施例提供了一种虚拟机还原的方法和装置,以基于虚拟化平台的增量数据对比功能实现在还原虚拟机的过程中只传输数据内容发生改变的数据块的备份数据,减少数据传输量,进而实现快速还原虚拟机,并且降低硬盘损耗。第一方面,本发明实施例提供了一种虚拟机还原的方法,所述方法包括接收备份服务器发送的携带有第一改变标识信息的增量数据对比命令,所述第一改变标识信息为对待还原时刻的虚拟机进行快照时生成的标识信息;根据所述增量数据对比命令,对当前时刻的所述虚拟机进行快照操作,得到第二改变标识信息所述第二改变标识信息为对所述当前时刻的所述虚拟机进行快照时生成的标识信息;根据所述第一改变标识信息和所述第二改变标识信息,确定所述虚拟机的磁盘文件中的改变数据块,所述改变数据块为数据内容发生改变的数据块;将所述改变数据块的块标识信息发往所述备份服务器,用以所述备份服务器获取所述改变数据块在待还原时刻的备份数据。在第一种可能的实现方式中,所述将所述改变数据块的块标识信息发送至所述备份服务器之后,还包括从所述备份服务器接收所述改变数据块在所述待还原时刻的备份数据;将所述改变数据块的数据内容更新为所述改变数据块在待还原时刻的备份数据。结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述第一改变标识信息和所述第二改变标识信息,确定所述虚拟机的磁盘文件中的改变数据块具体为对所述第一改变标识信息和所述第二改变标识信息进行对比,根据对比结果确定所述虚拟机磁盘文件中数据内容发生改变的改变数据块。第二方面,本发明实施例提供了一种虚拟机还原的方法,所述方法包括向虚拟化平台发送携带有第一改变标识信息的增量数据对比命令所述第一改变标识信息为对待还原时刻的虚拟机进行快照时生成的标识信息;所述虚拟化平台根据所述第一改变标识信息完成增量数据对比后,接收所述虚拟化平台发送的改变数据块的块标识信息;根据所述改变数据块的块标识信息,查询所述改变数据块在待还原时刻的备份数据;将所述改变数据块在待还原时刻的备份数据发送至所述虚拟化平台,用以所述虚拟化平台根据所述备份数据将所述改变数据块的内容还原至待还原时刻。在第一种可能的实现方式中,所述根据所述改变数据块的块标识信息,查询所述改变数据块在待还原时刻的备份数据具体为根据所述改变数据块的块标识信息,优先在所述待还原时刻的增备数据中查询所述改变数据块的备份数据;当在所述待还原时刻的增备数据中查询不到所述改变数据块的备份数据时,在所述待还原时刻之前时刻的增备数据或全备数据中查询所述改变数据块的备份数据。结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述向虚拟化平台发送增量数据对比命令之前还包括接收将所述虚拟机还原到待还原时刻的命令。第三方面,本发明实施例提供了一种虚拟机还原的装置,所述装置包括接收单元,用于接收备份服务器发送的携带有第一改变标识信息的增量数据对比命令,所述第一改变标识信息为对待还原时刻的虚拟机进行快照时生成的标识信息;快照单元,用于根据所述增量数据对比命令,对当前时刻的所述虚拟机进行快照操作,得到第二改变标识信息,所述第二改变标识信息为对所述当前时刻的所述虚拟机进行快照时生成的标识信息;确定单元,用于根据所述第一改变标识信息和所述第二改变标识信息,确定所述虚拟机的磁盘文件中的改变数据块,所述改变数据块为数据内容发生改变的数据块;发送单元,用于将所述改变数据块的块标识信息发送至所述备份服务器,用以所述备份服务器获取所述改变数据块在待还原时刻的备份数据。在第一种可能的实现方式中,所述接收单元还用于,从所述备份服务器接收所述改变数据块在所述待还原时刻的备份数据;所述装置还包括更新单元,用于将所述改变数据块的数据内容更新为所述改变数据块在待还原时刻的备份数据。结合第三方面或者第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述确定单元具体用于对所述第一改变标识信息和所述第二改变标识信息进行对比,根据对比结果确定所述虚拟机磁盘文件中数据内容发生改变的改变数据块。第四方面,本发明实施例提供了一种虚拟机还原的装置,所述装置包括
发送单元,用于向虚拟化平台发送携带有第一改变标识信息的增量数据对比命令所述第一改变标识信息为对待还原时刻的虚拟机进行快照时生成的标识信息;接收单元,用于所述虚拟化平台根据所述第一改变标识信息完成增量数据对比后,接收所述虚拟化平台发送的改变数据块的块标识信息;查询单元,用于根据所述改变数据块的块标识信息,查询所述改变数据块在待还原时刻的备份数据;所述发送单元,还用于将所述改变数据块在待还原时刻的备份数据发送至所述虚拟化平台,用以所述虚拟化平台根据所述备份数据将所述改变数据块的内容还原至待还原时刻。在第一种可能的实现方式中,所述查询单元具体用于根据所述改变数据块的块标识信息,优先在所述待还原时刻的增备数据中查询所述改变数据块的备份数据;当在所述待还原时刻的增备数据中查询不到所述改变数据块的备份数据时,在所述待还原时刻之前时刻的增备数据中查询所述改变数据块的备份数据或向前回溯直到全备数据中查询所述改变数据块的备份数据。结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收单元还用于,接收将所述虚拟机还原到待还原时刻的命令。本发明实施例中,当备份服务器接收到将虚拟机还原到待还原时刻时,可向虚拟机所在的虚拟化平台发送增量数据对比命令,该命令中携带有待还原时刻的快照标识信息,即第一改变标识信息;虚拟化平台接收到该增量数据对比命令后,首先对当前时刻的虚拟机进行快照得到第二改变标识信息,然后通过对比第一改变标识信息和第二改变标识信息得到当前时刻和待还原时刻相比改变的改变数据块,并将改变数据块的块标识信息发送至备份服务器;备份服务器得到该块标识信息后,在全备数据或增备数据中查询待还原时刻的改变数据块的数据内容的备份数据,并写回到虚拟机。由此,本发明实施例基于虚拟化平台的增量数据对比功能实现在还原虚拟机的过程中只传输数据内容发生改变的数据块的备份数据,减少数据传输量,进而实现快速还原虚拟机,并且降低存储空间的消耗。


图1为本发明实施例提供的一种虚拟机还原的方法应用场景示意图;图2为本发明实施例提供的一种虚拟机还原的方法流程图;图3为本发明实施例提供的另一虚拟机还原的方法流程图;图4为本发明实施例提供的一种虚拟机还原过程的示意图;图5为本发明实施例提供的一种虚拟机还原的装置示意图;图6为本发明实施例提供的另一虚拟机还原的装置示意图。
具体实施例方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透切理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
图1为本发明实施例提供的一种虚拟机还原的方法应用场景示意图。本发明实施例提供的虚拟机还原的方法在实际应用时,作为一种新的方法可应用于虚拟机还原的场景。如图1所示,本发明实施例提供的应用场景中,虚拟化平台可以通过存储区域网络(Storage Area Network, SAN)方式连接存储阵列作为所有虚拟主机的共享存储资源,而备份服务器可以通过网络附加存储(Network Attached Storage, NAS)方式连接存储阵列作为备份数据的存储池,当用户想要将虚拟化平台中安装的虚拟机1、虚拟机2、…、虚拟机η还原到待还原时刻的状态时,备份服务器中的备份软件可通过面向虚拟化平台的应用程序编程接口(Application Programming Interface,API)向虚拟化平台发送增量数据对比命令,虚拟化平台将确定当前时刻与待还原时刻的数据内容不同的改变数据块,然后备份服务器将改变数据块的待还原时刻的备份数据写回到虚拟机中,这样就可以实现虚拟机的还原,缩短了虚拟机还原的时间,减少了数据的传输量,降低了存储空间的消耗。本发明实施例提供的备份服务器即可安装在普通的物理主机上,也可安装于虚拟化平台上运行的虚拟机中。本发明实施例针对现有技术下虚拟机还原的方法的缺陷,提供了一种虚拟机还原的方法和装置。当备份服务器接收到将虚拟机还原到待还原时刻时,可向虚拟机所在的虚拟化平台发送增量数据对比命令,该命令中携带有待还原时刻的快照标识信息,即第一改变标识信息;虚拟化平台接收到该增量数据对比命令后,首先对当前时刻的虚拟机进行快照得到第二改变标识信息,然后通过对比第一改变标识信息和第二改变标识信息得到当前时刻和待还原时刻相比改变的改变数据块,并将改变数据块的块标识信息发送至备份服务器;备份服务器得到该块标识信息后,在全备数据或增备数据中查询待还原时刻的改变数据块的数据内容的备份数据,并写回到虚拟机。图2为本发明实施例提供的一种虚拟机还原的方法流程图。该实施例的执行主体是虚拟化平台,其中详细描述了虚拟化平台在接收到增量数据对比命令后,将虚拟机还原到待还原时刻的方法。如图 2所示,该实施例包括以下步骤步骤201,接收备份服务器发送的携带有第一改变标识信息的增量数据对比命令,所述第一改变标识信息为对待还原时刻的虚拟机进行快照时生成的标识信息。具体地,第一改变标识信息为一个字符串形式的标识信息,该标识信息在虚拟化平台对待还原时刻的虚拟机进行快照处理时生成。其中,待还原时刻是指要将虚拟机还原到的时刻。为了实现本发明实施例提供的技术方案,该虚拟化平台支持CBT功能,可以根据进行快照时生成的改变标识信息ChangelD,来计算两个快照时刻点之间虚拟机中数据内容发生改变的数据块。需要说明的是,本发明实施例中提到的数据块是一个广义的定义,在VMware虚拟化平台中,数据块指的是虚拟硬盘的硬盘扇区Sector,而在其他现有的以及未来可能出现的新的虚拟化平台中,数据块的含义可能不同于VMware虚拟化平台中的虚拟硬盘的Sector,而是其他的含义。例如,对于以阵列作为虚拟化平台的存储介质系统中,数据块是指阵列上组成逻辑单元的块。步骤202,根据所述增量数据对比命令,对当前时刻的所述虚拟机进行快照操作,得到第二改变标识信息,所述第二改变标识信息为对所述当前时刻的所述虚拟机进行快照时生成的标识信息。虚拟化平台接收到增量数据对比命令后,首先对当前时刻的虚拟机行快照操作,得到当前时刻的虚拟机快照对应的改变标识信息,即第二改变标识信息。步骤203,根据所述第一改变标识信息和所述第二改变标识信息,确定所述虚拟机的磁盘文件中的改变数据块,所述改变数据块为数据内容发生改变的数据块。根据所述第一改变标识信息和所述第二改变标识信息,确定所述虚拟机磁盘文件中数据内容发生改变的改变数据块具体为对所述第一改变标识信息和所述第二改变标识信息进行对比,根据对比结果确定所述虚拟机磁盘文件中数据内容发生改变的改变数据块。具体地,虚拟化平台将第一改变标识信息作为基准标识信息,将第二改变标识信息与第一改变标识信息进行对比,可得到虚拟机的当前时刻的虚拟磁盘中哪些数据块的数据内容相对待还原时刻的数据块发生了变化。这些发生变化的数据块即为要还原的数据块,其他没有发生变化的数据块不用进行还原处理。其中,数据块可以用块标识信息进行标识,也可以用数据块在虚拟磁盘中的位置来标识。步骤204,将所述改变数据块的块标识信息发往所述备份服务器,用以所述备份服务器获取所述改变数据块在待还原时刻的备份数据。通过步骤203,确定出发生数据内容发生变化的数据块之后,即可将改变数据块的块标识信息发送至备份服务器,由备份服务器根据块标识信息,在备份数据的存储池中查询改变数据块在待还原时刻的备份数据。在一种可选的实施方式中,在执行步骤204之后,备份服务器将从备份数据的存储池中的全备数据或增备数据中查询待还原时刻的改变数据块的备份数据,并将需要还原的数据写回到虚拟化平台的虚拟机中。由此,在步骤204之后,还包括从所述备份服务器接收所述改变数据块在所述待还原时刻的备份数据;将所述改变数据块的数据内容更新为所述改变数据块在待还原时刻的备份数据。本发明实施例中,虚拟化平台通过增量数据对比功能查询到当前时刻与待还原时刻相比,数据内容发生改变的数据块,只还原该数据内容发生改变的数据块,即可将虚拟机还原到待还原时刻,并且由于在还原虚拟机的过程中只传输数据内容发生改变的数据块的备份数据,减少了数据的传输量,实现了快速还原虚拟机,降低存储空间的消耗。上述实施例以虚拟化平台为执行主体描述了虚拟机还原的过程,下述实施例以备份服务器为执行主体描述虚拟机还原的过程。图3为本发明实施例提供的另一虚拟机还原的方法流程图。该实施例的执行主体是备份服务器,其中详细描述了备份服务器接收到虚拟机还原请求后执行虚拟机还原的方法。如图3所示,该实施例包括以下步骤步骤301,向虚拟化平台发送携带有第一改变标识信息的增量数据对比命令所述第一改变标识信息为对待还原时刻的虚拟机进行快照时生成的标识信息。在向虚拟化平台发送增量数据对比命令之前,用户可向备份服务器发送让虚拟机还原到待还原时刻的请求,即备份服务器可接收将虚拟机还原到待还原时刻的命令。备份服务器接收到还原请求后,可首先获取待还原时刻的虚拟机快照对应的第一改变标识信息,该标识信息在虚拟化平台对待还原时刻的虚拟机进行快照处理时生成;然后向虚拟化平台发送携带该第一改变标识信息的增量数据对比命令。步骤302,所述虚拟化平台根据所述第一改变标识信息完成增量数据对比后,接收所述虚拟化平台发送的改变数据块的块标识信息。虚拟化平台接收到增量数据对比命令后,对当前时刻的虚拟机进行快照操作,得到当前时刻的虚拟机快照对应的改变标识信息,即第二改变标识信息,然后通过对比第一改变标识信息和第二改变标识信息得到数据内容发生改变的改变数据块,并将改变数据块的块标识信息发送至备份服务器,由此备份服务器可接收到虚拟化平台发送的改变数据块的块标识信息。步骤303,根据所述改变数据块的块标识信息,查询所述改变数据块在待还原时刻的备份数据。根据所述改变数据块的块标识信息,查询所述改变数据块在待还原时刻的备份数据的具体操作为根据所述改变数据块的块标识信息,优先在所述待还原时刻的增备数据中查询所述改变数据块的备份数据;当在所述待还原时刻的增备数据中查询不到所述改变数据块的备份数据时,在所述待还原时刻之前时刻的增备数据中查询所述改变数据块的备份数据或向前回溯直到全备数据中查询所述改变数据块的备份数据。具体地,备份服务器在接收到改变数据块的块标识信息后,首先在备份数据的存储池中待还原时刻对应的增备数据中查找在待还原时刻是否存储了改变数据块的备份数据,如果是,则将该时刻的增备数据中的改变数据块的备份数据提取出来。对于在待还原时刻的增备数据中没有保存的改变数据块的备份数据,则在待还原时刻之前的时刻对应的增备数据中查询,如果查询到,则将该备份数据从增备数据提取出来;如果仍有改变数据块的数据没有查询到,则继续在该时刻之前的时刻中查找,一直查找到最初时刻的全备数据中,将改变数据块在待还原时刻的数据内容找到。步骤304,将所述改变数据块在待还原时刻的备份数据发送至所述虚拟化平台,用以所述虚拟化平台根据所述备份数据将所述改变数据块的内容还原至待还原时刻。获取到改变数据块在待还原时刻的备份数据之后,将该备份数据发送至虚拟化平台,由虚拟化平台写回对应的虚拟机磁盘的相应数据快即可。本发明实施例中,备份服务器在备份数据的存储池中查询到数据内容发生改变的数据块的备份数据后,只还原该数据内容发生改变的数据块,即可将虚拟机还原到待还原时刻,由于在还原虚拟机的过程中只传输数据内容发生改变的数据块的备份数据,因此减少了数据的传输量,实现了快速还原虚拟机,降低存储空间的消耗。上述两个实施例描述了虚拟化平台和备份服务器还原虚拟机的技术方案,下面通过一个具体的实施例描述在还原虚拟机的过程中虚拟化平台和备份服务器的信息交互过程。图4为本发明实施例提供的一种虚拟机还原过程的示意图。该实施例以将虚拟机从当前时刻,即时刻4还原到时刻2为例进行描述。其中,时刻2相对时刻1,数据块2和数据块3的内容发生了改变;时刻3相对时刻2,数据块2和数据块3的内容发生了改变;当前时刻(时刻4)相对时刻3,数据块4和数据块5的内容发生了改变。如图4所示,本实施例包括以下步骤步骤401,备份服务器向虚拟化平台发送增量数据对比命令。
备份服务器在当前时刻,即时刻4接收到将虚拟机还原到时刻2的请求,此时可向虚拟化平台发送增量数据对比命令。该增量数据对比命令中携带有时刻2的改变标识信息ChangeID0步骤402,虚拟化平台对当前时刻的虚拟机进行快照,并且确定当前时刻与待还原时刻的数据内容不同的改变数据块。虚拟化平台接收到增量数据对比命令后,对当前时刻的虚拟机进行快照,得到当前时刻,即时刻4的ChangelD。将时刻2的ChangeID和时刻4的ChangeID进行对比,即可得到时刻4和时刻2相比,数据内容发生改变的数据块,即块数据块2、3、4、5。步骤403,虚拟化平台向备份服务器发送改变数据块的块标识信息。步骤404,在待还原时刻的增备数据中提取改变数据块2的备份数据。时刻2相对时刻1,数据块I和数据块2的数据内容发生了改变,因此备份服务器的时刻2的增备数据中存储了时刻I和时刻2的备份数据;时刻4相对时刻2,数据块2也发生了变化,因此可在时刻2的增备数据中提取时刻2的备份数据。步骤405,备份服务器向虚拟化平台发送改变数据块2的备份数据。步骤406,在时刻I的全备数据中提取改变数据块3、4、5的备份数据。时刻4相对时刻2,数据块3、4、5发生了变化,由于在备份服务器中,在时刻2之前,只有时刻I的全备数据,没有其他时刻的增备数据,因此,数据块3、4、5的备份数据可以从时刻I的全备数据中提取。步骤407,向虚拟化平台发送改变数据块3、4、5的备份数据。备份服务器向虚拟化平台发送改变数据块的备份数据后,虚拟化平台即可将该改变数据块的备份数据写回虚拟磁盘的改变数据块对应的位置,由此即可完成虚拟机的还原。本发明实施例中,虚拟化平台通过增量数据对比功能查询到当前时刻与待还原时刻相比,数据内容发生改变的数据块,备份服务器在备份数据的存储池中查询到数据内容发生改变的改变数据块的备份数据后,将该改变数据块的数据内容发送至虚拟化平台,只还原该数据内容发生改变的数据块,即可将虚拟机还原到待还原时刻,减少了数据的传输量,实现了快速还原虚拟机,降低存储空间的消耗。相应地,本发明实施例还提供了虚拟机还原的装置。图5为本发明实施例提供的一种虚拟机还原的装置示意图。该实施例包括以下单元接收单元501,用于接收备份服务器发送的携带有第一改变标识信息的增量数据对比命令,所述第一改变标识信息为对待还原时刻的虚拟机进行快照时生成的标识信息。具体地,第一改变标识信息为一个字符串形式的标识信息,该标识信息在虚拟化平台对待还原时刻的虚拟机进行快照处理时生成。其中,待还原时刻是指要将虚拟机还原到的时刻。为了实现本发明实施例提供的技术方案,该虚拟化平台支持CBT功能,可以根据进行快照时生成的改变标识信息ChangelD,来计算两个快照时刻点之间虚拟机中数据内容发生改变的数据块。快照单元502,用于根据所述增量数据对比命令,对当前时刻的所述虚拟机进行快照操作,得到第二改变标识信息所述第二改变标识信息为对所述当前时刻的所述虚拟机进行快照时生成的标识信息。虚拟化平台接收到增量数据对比命令后,首先对当前时刻的虚拟机行快照操作,得到当前时刻的虚拟机快照对应的改变标识信息,即第二改变标识信息。确定单元503,用于根据所述第一改变标识信息和所述第二改变标识信息,确定所述虚拟机的磁盘文件中的改变数据块,所述改变数据块为数据内容发生改变的数据块。确定单元503具体用于对所述第一改变标识信息和所述第二改变标识信息进行对比,根据对比结果确定所述虚拟机磁盘文件中数据内容发生改变的改变数据块。具体地,虚拟化平台将第一改变标识信息作为基准标识信息,将第二改变标识信息与第一改变标识信息进行对比,可得到虚拟机的当前时刻的虚拟磁盘中哪些数据块的数据内容相对待还原时刻的数据块发生了变化。这些发生变化的数据块即为要还原的数据块,其他没有发生变化的数据块不用进行还原处理。其中,数据块可以用块标识信息进行标识,也可以用数据块在虚拟磁盘中的位置来标识。发送单元504,用于将所述改变数据块的块标识信息发往所述备份服务器,用以所述备份服务器获取所述改变数据块在待还原时刻的备份数据。备份服务器将从备份数据的存储池中的全备数据或增备数据中查询待还原时刻的改变数据块的备份数据,并将需要还原的数据写回到虚拟化平台的虚拟机中。由此,接收单元501,还用于从所述备份服务器接收所述改变数据块在所述待还原时刻的备份数据。优选地,本发明实施例还包括更新单元505,用于将所述改变数据块的数据内容更新为所述改变数据块在待还原时刻的备份数据。本发明实施例中,虚拟化平台通过增量数据对比功能查询到当前时刻与待还原时刻相比,数据内容发生改变的数据块,只还原该数据内容发生改变的数据块,即可将虚拟机还原到待还原时刻,并且由于在还原虚拟机的过程中只传输数据内容发生改变的数据块的备份数据,减少了数据的传输量,实现了快速还原虚拟机,降低存储空间的消耗。图6为本发明实施例提供的另一虚拟机还原的装置示意图。如图6所示,该实施例包括以下单元发送单元601,用于向虚拟化平台发送携带有第一改变标识信息的增量数据对比命令所述第一改变标识信息为对待还原时刻的虚拟机进行快照时生成的标识信息。其中,第一改变标识信息在虚拟化平台对待还原时刻的虚拟机进行快照处理时生成。接收单元602,用于所述虚拟化平台根据所述第一改变标识信息完成增量数据对比后,接收所述虚拟化平台发送的改变数据块的块标识信息。在向虚拟化平台发送增量数据对比命令之前,用户可向备份服务器发送让虚拟机还原到待还原时刻的请求,即接收单元602还用于,接收将所述虚拟机还原到待还原时刻的命令。虚拟化平台接收到增量数据对比命令后,对当前时刻的虚拟机进行快照操作,得到当前时刻的虚拟机快照对应的改变标识信息,即第二改变标识信息,然后通过对比第一改变标识信息和第二改变标识信息得到数据内容发生改变的改变数据块,并将改变数据块的块标识信息发送至备份服务器,由此备份服务器可接收到虚拟化平台发送的改变数据块的块标识信息。
查询单元603,用于根据所述改变数据块的块标识信息,查询所述改变数据块在待还原时刻的备份数据;查询单元603具体用于根据所述改变数据块的块标识信息,优先在所述待还原时刻的增备数据中查询所述改变数据块的备份数据;当在所述待还原时刻的增备数据中查询不到所述改变数据块的备份数据时,在所述待还原时刻之前时刻的增备数据中查询所述改变数据块的备份数据或向前回溯直到全备数据中查询所述改变数据块的备份数据。具体地,备份服务器在接收到改变数据块的块标识信息后,首先在备份数据的存储池中待还原时刻对应的增备数据中查找在待还原时刻是否存储了改变数据块的备份数据,如果是,则将该时刻的增备数据中的改变数据块的备份数据提取出来。对于在待还原时刻的增备数据中没有保存的改变数据块的备份数据,则在待还原时刻之前的时刻对应的增备数据中查询,如果查询到,则将该备份数据从增备数据提取出来;如果仍有改变数据块的数据没有查询到,则继续在该时刻之前的时刻中查找,一直查找到最初时刻的全备数据中,将改变数据块在待还原时刻的数据内容找到。发送单元601,还用于将所述改变数据块在待还原时刻的备份数据发送至所述虚拟化平台,用以所述虚拟化平台根据所述备份数据将所述改变数据块的内容还原至待还原时刻本发明实施例中,备份服务器在备份数据的存储池中查询到数据内容发生改变的数据块的备份数据后,只还原该数据内容发生改变的数据块,即可将虚拟机还原到待还原时刻,由于在还原虚拟机的过程中只传输数据内容发生改变的数据块的备份数据,因此减少了数据的传输量,实现了快速还原虚拟机,降低存储空间的消耗。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。以上所述的具体实施方式
,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式
而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种虚拟机还原的方法,其特征在于,所述方法包括 接收备份服务器发送的携带有第一改变标识信息的增量数据对比命令,所述第一改变标识信息为对待还原时刻的虚拟机进行快照时生成的标识信息; 根据所述增量数据对比命令,对当前时刻的所述虚拟机进行快照操作,得到第二改变标识信息,所述第二改变标识信息为对所述当前时刻的所述虚拟机进行快照时生成的标识信息; 根据所述第一改变标识信息和所述第二改变标识信息,确定所述虚拟机的磁盘文件中的改变数据块,所述改变数据块为数据内容发生改变的数据块; 将所述改变数据块的块标识信息发往所述备份服务器,用以所述备份服务器获取所述改变数据块在待还原时刻的备份数据。
2.根据权利要求1所述的虚拟机还原的方法,其特征在于,所述将所述改变数据块的块标识信息发往所述备份服务器之后,还包括 从所述备份服务器接收所述改变数据块在所述待还原时刻的备份数据; 将所述改变数据块的数据内容更新为所述改变数据块在待还原时刻的备份数据。
3.根据权利要求1或2所述的虚拟机还原的方法,其特征在于,所述根据所述第一改变标识信息和所述第二改变标识信息,确定所述虚拟机的磁盘文件中的改变数据块具体为 对所述第一改变标识信息和所述第二改变标识信息进行对比,根据对比结果确定所述虚拟机磁盘文件中数据内容发生改变的改变数据块。
4.一种虚拟机还原的方法,其特征在于,所述方法包括 向虚拟化平台发送携带有第一改变标识信息的增量数据对比命令,所述第一改变标识信息为对待还原时刻的虚拟机进行快照时生成的标识信息; 所述虚拟化平台根据所述第一改变标识信息完成增量数据对比后,接收所述虚拟化平台发送的改变数据块的块标识信息; 根据所述改变数据块的块标识信息,查询所述改变数据块在待还原时刻的备份数据;将所述改变数据块在待还原时刻的备份数据发送至所述虚拟化平台,用以所述虚拟化平台根据所述备份数据将所述改变数据块的内容还原至待还原时刻。
5.根据权利要求4所述的虚拟机还原的方法,其特征在于,所述根据所述改变数据块的块标识信息,查询所述改变数据块在待还原时刻的备份数据具体为 根据所述改变数据块的块标识信息,优先在所述待还原时刻的增备数据中查询所述改变数据块的备份数据; 当在所述待还原时刻的增备数据中查询不到所述改变数据块的备份数据时,在所述待还原时刻之前时刻的增备数据中查询所述改变数据块的备份数据,或向前回溯直到全备数据中查询所述改变数据块的备份数据。
6.根据权利要求4或5所述的虚拟机还原的方法,其特征在于,所述向虚拟化平台发送增量数据对比命令之前还包括接收将所述虚拟机还原到待还原时刻的命令。
7.—种虚拟机还原的装置,其特征在于,所述装置包括 接收单元,用于接收备份服务器发送的携带有第一改变标识信息的增量数据对比命令,所述第一改变标识信息为对待还原时刻的虚拟机进行快照时生成的标识信息; 快照单元,用于根据所述增量数据对比命令,对当前时刻的所述虚拟机进行快照操作,得到第二改变标识信息,所述第二改变标识信息为对所述当前时刻的所述虚拟机进行快照时生成的标识信息; 确定单元,用于根据所述第一改变标识信息和所述第二改变标识信息,确定所述虚拟机的磁盘文件中的改变数据块,所述改变数据块为数据内容发生改变的数据块; 发送单元,用于将所述改变数据块的块标识信息发往所述备份服务器,用以所述备份服务器获取所述改变数据块在待还原时刻的备份数据。
8.根据权利要求7所述的虚拟机还原的装置,其特征在于,所述接收单元还用于,从所述备份服务器接收所述改变数据块在所述待还原时刻的备份数据; 所述装置还包括更新单元,用于将所述改变数据块的数据内容更新为所述改变数据块在待还原时刻的备份数据。
9.根据权利要求7或8所述的虚拟机还原的装置,其特征在于,所述确定单元具体用于 对所述第一改变标识信息和所述第二改变标识信息进行对比,根据对比结果确定所述虚拟机磁盘文件中数据内容发生改变的改变数据块。
10.一种虚拟机还原的装置,其特征在于,所述装置包括 发送单元,用于向虚拟化平台发送携带有第一改变标识信息的增量数据对比命令所述第一改变标识信息为对待还原时刻的虚拟机进行快照时生成的标识信息; 接收单元,用于所述虚拟化平台根据所述第一改变标识信息完成增量数据对比后,接收所述虚拟化平台发送的改变数据块的块标识信息; 查询单元,用于根据所述改变数据块的块标识信息,查询所述改变数据块在待还原时刻的备份数据; 所述发送单元,还用于将所述改变数据块在待还原时刻的备份数据发送至所述虚拟化平台,用以所述虚拟化平台根据所述备份数据将所述改变数据块的内容还原至待还原时刻。
11.根据权利要求10所述的虚拟机还原的装置,其特征在于,所述查询单元具体用于 根据所述改变数据块的块标识信息,优先在所述待还原时刻的增备数据中查询所述改变数据块的备份数据; 当在所述待还原时刻的增备数据中查询不到所述改变数据块的备份数据时,在所述待还原时刻之前时刻的增备数据中查询所述改变数据块的备份数据或向前回溯直到全备数据中查询所述改变数据块的备份数据。
12.根据权利要求10或11所述的虚拟机还原的装置,其特征在于,所述接收单元还用于,接收将所述虚拟机还原到待还原时刻的命令。
全文摘要
本发明涉及一种虚拟机还原的方法和装置。该方法包括虚拟化平台接收备份服务器发送的增量数据对比命令,其中携带有第一改变标识信息;根据增量数据对比命令,对当前时刻的虚拟机进行快照操作,得到第二改变标识信息;根据第一改变标识信息和第二改变标识信息,确定虚拟机磁盘中数据内容发生改变的改变数据块;将改变数据块的块标识信息发送至备份服务器,用以备份服务器获取改变数据块在待还原时刻的备份数据。备份服务将查询到的改变数据块在待还原时刻的备份数据发送至虚拟化平台,虚拟化平台即可将改变数据块的内容还原至待还原时刻。本发明实施例实现了快速还原虚拟机,并且降低了硬盘损耗。
文档编号G06F9/455GK103034566SQ201210519490
公开日2013年4月10日 申请日期2012年12月6日 优先权日2012年12月6日
发明者张密 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1