虚拟机备份、恢复的方法及设备的制造方法

文档序号:9672999阅读:377来源:国知局
虚拟机备份、恢复的方法及设备的制造方法
【技术领域】
[0001]本发明是涉及虚拟机的备份与恢复,更具体而言,涉及一种更为灵活的对虚拟机进行备份、恢复的方法和设备。
【背景技术】
[0002]虚拟机在运行的过程中,会因多种原因发生故障,有虚拟机自身的故障所导致的,也有源于虚拟机管理程序(hypervisor)、中间件(middleware)等软件故障所导致的,为了避免用户数据的丢失,就需要提供对虚拟机进行备份及恢复的技术。
[0003]现有技术中存在多种对虚拟机进行备份与恢复的方案。例如,可在hypervisor级别进行VM备份,这就需要特定于hypervisor的备份方案,通用性较差。或者,现有技术中还存在IaaS级别的虚拟机备份方案,但这完全由IaaS提供商控制,第三方很难提供这种服务,因此极大的限制了虚拟机备份恢复的开发以及应用。此外,现有技术通常存在的一个问题就是难以确定需要进行备份的内容。
[0004]由上可见,现有技术仍然存在着改进的空间,需要提供一种方便的对虚拟机进行备份及恢复的技术方案。

【发明内容】

[0005]根据本发明的一个第方面,提供了一种虚拟机备份方法,该方法包括:创建虚拟机,所述虚拟机包括通过联合文件系统管理的第一目录以及第二目录,其中,所述第一目录被设置为只读并用于存储虚拟机基础操作系统文件,所述第二目录被设置为可读写并用于存储虚拟机运行过程中产生的变化;运行所述虚拟机,所述虚拟机在运行中优先读写所述第二目录;响应于接收到备份所述虚拟机的请求,根据所述第二目录的数据备份所述虚拟机。
[0006]根据本发明一第二个方面,还提供了一种虚拟机进行恢复的方法,该方法包括:准备用于恢复数据的虚拟机,所述准备的虚拟机包括通过联合文件系统管理的第一目录以及第二目录,其中,所述第一目录被设置为只读并用于存储虚拟机基础操作系统文件,所述第二目录被设置为可读写并用于存储虚拟机运行过程中产生的变化;响应于备份操作,获取第二目录的相应备份数据;将所获取的备份数据恢复至所述新创建的虚拟机的第二目录。
[0007]根据本发明的第三个方面,提供了一种虚拟机备份设备,包括:创建模块,配置为创建虚拟机,所述虚拟机包括通过联合文件系统管理的第一目录以及第二目录,其中,所述第一目录被设置为只读并用于存储虚拟机基础操作系统文件,所述第二目录被设置为可读写并用于存储虚拟机运行过程中产生的变化;运行模块,配置为运行所述虚拟机,所述虚拟机在运行中优先读写所述第二目录;备份模块,配置为响应于接收到备份所述虚拟机的请求,根据所述第二目录的数据备份所述虚拟机。
[0008]根据本发明的第四个方面,提供了一种对虚拟机进行恢复的装置,该装置包括:准备模块,配置为准备用于恢复数据的虚拟机,所述准备的虚拟机包括通过联合文件系统管理的第一目录以及第二目录,其中,所述第一目录被设置为只读并用于存储虚拟机基础操作系统文件,所述第二目录被设置为可读写并用于存储虚拟机运行过程中产生的变化;获取模块,配置为响应于接收到恢复请求,获取第二目录的相应备份数据;恢复模块,配置为将所获取的备份数据恢复至所述新创建的虚拟机的第二目录。
[0009]采用本发明的方法和装置,能够提供一种通用的对虚拟机进行备份及恢复的技术方案。
【附图说明】
[0010]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0011]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
[0012]图2示出根据本发明一个实施例的对虚拟机进行备份的方法流程图。
[0013]图3示出了根据本发明一个更为具体的实施例的对虚拟机进行备份的示意图。
[0014]图4示出根据本发明一个实施例的对虚拟机进行恢复的方法流程图。
[0015]图5示出了根据本发明一个实施例的更为具体的对虚拟机进行恢复的示意图。
[0016]图6示出根据本发明一个实施例的对虚拟机进行备份的设备示意图。
[0017]图7示出根据本发明一个实施例的对虚拟机进行恢复的设备示意图。
【具体实施方式】
[0018]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0019]所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0020]可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0021]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一但不限于一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0022]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0023]可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言一诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0024]下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1