CN105630632B - 一种虚拟机恢复的方法及虚拟机管理设备 - Google Patents

一种虚拟机恢复的方法及虚拟机管理设备 Download PDF

Info

Publication number
CN105630632B
CN105630632B CN201510992652.2A CN201510992652A CN105630632B CN 105630632 B CN105630632 B CN 105630632B CN 201510992652 A CN201510992652 A CN 201510992652A CN 105630632 B CN105630632 B CN 105630632B
Authority
CN
China
Prior art keywords
virtual machine
data
resumed
cloud server
administration device
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.)
Active
Application number
CN201510992652.2A
Other languages
English (en)
Other versions
CN105630632A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510992652.2A priority Critical patent/CN105630632B/zh
Publication of CN105630632A publication Critical patent/CN105630632A/zh
Priority to PCT/CN2016/111080 priority patent/WO2017107900A1/zh
Application granted granted Critical
Publication of CN105630632B publication Critical patent/CN105630632B/zh
Priority to US16/002,715 priority patent/US10817386B2/en
Priority to US17/033,103 priority patent/US11397648B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种虚拟机恢复的方法,应用于虚拟机管理设备,包括:接收虚拟机恢复命令,从云服务器获取被恢复虚拟机的配置信息,根据所述配置信息创建恢复虚拟机及恢复虚拟机对应的本地存储单元;接收虚拟机启动命令,从云服务器获取并下载基本系统数据,并根据所述基本系统数据启动恢复虚拟机;接收IO请求,确定与所述IO请求相关的数据是否存储在本地存储单元中,若不存在,则从云服务器下载与所述IO请求相关的数据至本地存储单元,并返回所述IO请求所请求的数据。本发明实施例还公开了一种虚拟机管理设备。采用本发明,具有可提高虚拟机恢复的效率的优点。

Description

一种虚拟机恢复的方法及虚拟机管理设备
技术领域
本发明涉及通信技术领域,尤其涉及一种虚拟机恢复的方法及虚拟机管理设备。
背景技术
随着企业服务器越来越往虚拟化平台转移,物理的服务器变成了虚拟机,现代备份软件也增强了对虚拟机的保护能力。为了防止火灾、水灾、地震等灾难导致虚拟机的数据的损坏或者丢失,虚拟机的数据往往会被备份或者复制到异地的备份存储空间,例如,将虚拟机的本地数据备份或复制到云服务器。灾难发生时,可从云服务器等备份存储空间中下载虚拟机的数据进而恢复虚拟机。
现有的虚拟机恢复技术,由于受网络带宽和数据备份格式的限制,如果虚拟机的数据备份在云服务器,需要先将备份数据全部下载到虚拟机,然后再启动虚拟机。由于虚拟机的数据量较大,将虚拟机的备份数据全部恢复到虚拟机需要耗时几个小时到几天不等,耗时长,虚拟机恢复效率低。
发明内容
本申请提供一种虚拟机恢复的方法及虚拟机管理设备,可提高虚拟机恢复的效率。
第一方面提供了一种虚拟机恢复的方法,应用于虚拟机管理设备,所述虚拟机管理设备将被恢复虚拟机中的数据备份至云服务器,其可包括:
接收虚拟机恢复命令,从所述云服务器获取被恢复虚拟机的配置信息,根据所述配置信息创建恢复虚拟机及所述恢复虚拟机对应的本地存储单元;
接收虚拟机启动命令,从所述云服务器获取并下载基本系统数据,并根据所述基本系统数据启动所述恢复虚拟机,所述基本系统数据为操作系统中使所述恢复虚拟机能够正常运行的数据;
接收IO请求,确定与所述IO请求相关的数据是否存储在所述本地存储单元中,若不存在,则从所述云服务器下载与所述IO请求相关的数据至所述本地存储单元,并返回所述IO请求所请求的数据。
本申请可在接收到虚拟机恢复命令时,从云服务器中获取被恢复虚拟机的配置信息,根据被恢复虚拟机的配置信息创建恢复虚拟机及其本地存储单元。进而可在接收到虚拟机启动命令时,从云服务器中下载基本系统数据,根据基本系统数据启动恢复虚拟机,提高了虚拟机的启动效率。启动恢复虚拟机之后可在接收到IO请求时从云服务器中下载相应的数据来响应IO请求,保障了恢复虚拟机的更多功能的实现,提高了虚拟机的恢复效率。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:
在被恢复虚拟机启动时,记录从所述被恢复虚拟机开始启动到所述被恢复虚拟机能够正常运行所需要的基本系统数据的位图信息,所述位图信息包括所述基本系统数据中的子数据的起始位置及长度,并将所述位图信息存储至所述云服务器中;
所述从云服务器获取并下载基本系统数据包括:
从所述云服务器中获取所述基本系统数据的位图信息,根据所述位图信息在所述云服务器中所备份的所述被恢复虚拟机的操作系统中获取所述基本系统数据,下载所述基本系统数据。
本申请可在被虚拟机正常启动的过程中,记录被恢复虚拟机正常运行所需的基本系统数据的位图信息并存储至云服务器,进而可在虚拟机恢复时,根据基本系统数据的位图信息从云服务器中下载基本系统数据,用于恢复虚拟机的启动,提高了被恢复虚拟机的基本系统数据的下载效率,进而可提高虚拟机的启动效率。
结合第一方面,在第二种可能的实现方式中,所述被恢复虚拟机中的数据被划分成预设大小的数据块,并在被备份至所述云服务器时,以所划分的数据块进行存储。
本申请将被恢复虚拟机的数据按照数据块存储的方式备份并存储至云服务器,可提高从云服务器中下载被恢复虚拟机的数据时数据的查找和下载的便捷性,增强了远程备份数据直接用于虚拟机的恢复的可选性。
结合第一方面第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:
在对所述被恢复虚拟机中的数据进行增量备份时,统计每个所述数据块被备份的次数;
在所述虚拟机管理设备的空闲时间,根据所统计的每个所述数据块被备份的次数从所述云服务器端下载数据块,其中,备份次数越多的数据块下载的优先级越高。
本申请可在响应虚拟机的访问操作的空闲碎片时间从云服务器中下载被恢复虚拟机的数据中除了基本系统数据之外的其他数据块,可充分利用虚拟机启动之后的时间下载数据,缩短虚拟机启动的时间,提高了虚拟机恢复的效率。
结合第一方面至第一方面第三种可能的实现方式中任一种,在第四种可能的实现方式中,所述被恢复虚拟机的配置信息可包括:中央处理器CPU个数、内存大小、磁盘个数以及每个所述磁盘的大小中的至少一种。
本申请可根据被恢复虚拟机的配置信息创建一个与所述被恢复虚拟机具有相同配置信息的恢复虚拟机,以及恢复虚拟机对应的本地存储单元,提高了被恢复虚拟机的恢复的准确性。
第二方面提供了一种虚拟机管理设备,所述虚拟机管理设备将被恢复虚拟机中的数据备份至云服务器,其可包括:
接收模块,用于接收虚拟机恢复命令;
创建模块,用于在所述接收模块接收到所述虚拟机恢复命令时,从所述云服务器获取被恢复虚拟机的配置信息,根据所述配置信息创建恢复虚拟机及所述恢复虚拟机对应的本地存储单元;
所述接收模块,还用于接收虚拟机启动命令;
下载模块,用于在所述接收模块接收到所述启动命令时,从所述云服务器获取并下载基本系统数据;
启动模块,用于根据所述下载模块下载得到的所述基本系统数据启动所述恢复虚拟机,所述基本系统数据为操作系统中使所述恢复虚拟机能够正常运行的数据;
所述接收模块,还用于接收IO请求;
所述下载模块,还用于确定与所述接收模块接收的所述IO请求相关的数据是否存储在所述本地存储单元中,若不存在,则从所述云服务器下载与所述IO请求相关的数据至所述本地存储单元,并返回所述IO请求所请求的数据。
结合第二方面,在第一种可能的实现方式中,所述虚拟机管理设备还包括:
备份模块,用于在被恢复虚拟机启动时,记录从所述被恢复虚拟机开始启动到所述被恢复虚拟机能够正常运行所需要的基本系统数据的位图信息,所述位图信息包括所述基本系统数据中的子数据的起始位置及长度,并将所述位图信息存储至所述云服务器中;
所述下载模块具体用于:
从所述云服务器中获取所述基本系统数据的位图信息,根据所述位图信息在所述云服务器中所备份的所述被恢复虚拟机的操作系统中获取所述基本系统数据,下载所述基本系统数据。
结合第二方面,在第二种可能的实现方式中,所述备份模块还用于:
将所述被恢复虚拟机中的数据划分成预设大小的数据块,并在将所述被恢复虚拟机中的数据备份至所述云服务器时,将所述数据以划分得到的数据块进行存储。
结合第二方面第二种可能的实现方式,在第三种可能的实现方式中,所述备份模块还用于:
在对所述被恢复虚拟机中的数据进行增量备份时,统计每个所述数据块被备份的次数;
所述下载模块,还用于在所述虚拟机管理设备的空闲时间,根据所述备份模块所统计的每个所述数据块被备份的次数从所述云服务器端下载数据块,其中,备份次数越多的数据块下载的优先级越高。
结合第二方面至第二方面第三种可能的实现方式中任一种,在第四种可能的实现方式中,所述被恢复虚拟机的配置信息可包括:中央处理器CPU个数、内存大小、磁盘个数以及每个所述磁盘的大小中的至少一种。
第三方面提供了一种虚拟机管理设备,其可包括:处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接;
当所述虚拟机管理设备运行时,所述处理器执行所述存储器中存储的所述计算机执行指令,以使所述虚拟机管理设备执行上述虚拟机恢复的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的虚拟机管理设备的结构示意图;
图2是本发明实施例提供的虚拟机恢复的方法的流程示意图;
图3是本发明实施例提供的数据块的增量备份的次数的统计示意图;
图4是本发明另一实施例提供的虚拟机管理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,远程备份数据无法直接用于虚拟机的恢复,虚拟机的恢复技术不能支持远程备份数据的核心技术难题有两个,其一为:一般虚拟机恢复时,数据访问需要达到30MB/s(240Mbps)的带宽要求,而现有的远程数据的访问带宽往往达不到这个要求,使得远程备份数据无法直接用于虚拟机的恢复。其二为:远程备份数据往往以顺序方式保存和读取,无法满足虚拟机恢复时对备份数据的随机访问需要。比如,远程数据备份到云存服务器最常见的方式是以简单存储服务(Simple Storage Service,S3)协议操作的,而S3协议要求数据以对象为单位,数据顺序上传保存,顺序下载获取,使得远程备份数据无法直接用于虚拟机的恢复。
本发明实施例通过备份数据预读取和备份数据的分块保存相组合的方式来解决所述远程备份数据不可直接用于虚拟机恢复的两大技术难题。下面将结合图1至图4对本发明实施例提供的虚拟机恢复的方法及设备进行描述。
参见图1,图1是本发明一实施例提供的虚拟机管理设备的实施例结构示意图。本发明实施例中所描述的虚拟机管理设备包括:处理器1001、存储器1002、系统总线1004和通信接口1005。处理器1001、存储器1002和通信接口1005之间通过系统总线1004连接并完成相互间的通信。
处理器1001可能为单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。
存储器1002可以为高速RAM存储器,也可以为非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
存储器1002用于存储计算机执行指令。处理器1001运行所述计算机执行指令1,可以执行图2所示的方法。
参见图2,图2是本发明实施例提供的虚拟机恢复的方法的流程示意图。本发明实施例中所描述的虚拟机恢复的方法,应用于虚拟机管理设备,其中,所述虚拟机管理设备将被恢复虚拟机中的数据备份至云服务器。本发明实施例中所描述的虚拟机恢复的方法,包括步骤:
S101,接收虚拟机恢复命令,从所述云服务器获取被恢复虚拟机的配置信息,根据所述配置信息创建恢复虚拟机及所述恢复虚拟机对应的本地存储单元。
具体实现中,用户进行虚拟机恢复操作时,可首先通过虚拟机管理设备上的用户操作指示向虚拟机管理设备发送虚拟化恢复命令,触发虚拟机管理设备进行被恢复虚拟机的恢复。其中,所述被恢复虚拟机为因为灾难等原因出现数据损坏或者丢失等故障,需要进行数据恢复的虚拟机。
虚拟机管理设备接收到虚拟机恢复命令之后,可从云服务器获取被恢复虚拟机的配置信息,进而可根据所述被恢复虚拟机的配置信息创建恢复虚拟机和恢复虚拟机对应的本地存储单元。其中,所述恢复虚拟机为虚拟机管理设备新建的一个虚拟机,用于替代被恢复虚拟机,进而可将被恢复虚拟机的数据恢复至所述恢复虚拟机中。具体实现中,所述被恢复虚拟机的配置信息可包括:虚拟机的中央处理器(英文:Central Processing Unit,CPU)个数、内存大小、磁盘个数以及每个磁盘的大小等,在此不做限制。虚拟机管理设备从云服务器获取得到所述被恢复虚拟机的配置信息之后,则可根据所述配置信息创建一个与所述被恢复虚拟机具有相同配置信息的恢复虚拟机,以及恢复虚拟机对应的本地存储单元。其中,所述恢复虚拟机对应的本地存储单元具体可为恢复虚拟机的本地磁盘。具体实现中,所述云服务器对应的存储空间具体可为S3云存储空间,在此不做限制。
S102,接收虚拟机启动命令,从所述云服务器获取并下载基本系统数据,并根据所述基本系统数据启动所述恢复虚拟机。
具体实现中,虚拟机管理设备创建了恢复虚拟机及其对应的本地存储单元之后,可输出创建完成的通知信息至虚拟机管理设备的用户操作界面,以供用户查阅。用户确定恢复虚拟机及其对应的本地存储单元创建完成之后,则可通过虚拟机管理设备上的相关操作指示向虚拟机管理设备发送虚拟机启动命令,以触发虚拟机管理设备进行恢复虚拟机的启动。
虚拟机管理设备接收到虚拟机启动命令之后,可从云服务器获取并下载被恢复虚拟机的基本系统数据,进而可根据所述基本系统数据启动恢复虚拟机。其中,所述基本系统数据为操作系统中使恢复虚拟机能够正常运行的数据。具体实现中,被恢复虚拟机备份存储在云服务器中的操作系统包含两部分数据,一部分为操作系统的基本系统数据,即用以使虚拟机正常运行的数据,如驱动程序等;另外一部分为操作系统自带或者附带的应用程序,其中所述操作系统自带的应用程序可包括附件中的画图、计算器以及写字板等,进一步的,所述操作系统附带的应用程序可为用户设置的快速启动栏中的应用程序等。
具体实现中,虚拟机管理设备将被恢复虚拟机中的数据备份至云服务器的过程中,可在被恢复虚拟机处于正常工作状态下进行,即被恢复虚拟机出现故障之前进行,具体的,虚拟机管理设备可在被恢复虚拟机正常启动的过程中,记录从被恢复虚拟机开始启动到被恢复虚拟机能够正常运行所需要的基本系统数据的位图信息,并将所述位图信息存储至云服务器中,以完成被恢复虚拟机的基本系统数据的备份。其中,所述基本系统数据的位图信息包括:基本系统数据中的子数据的起始位置和长度。
虚拟机管理设备创建了恢复虚拟机之后,可从云服务器中获取所述基本系统数据的位图信息,进而可根据所述位图信息中的基本系统数据的子数据的起始位置和长度从云服务器中所备份的被恢复虚拟机的操作系统中查找得到所述基本系统数据,将所述基本系统数据下载到恢复虚拟机中,以根据所述基本系统数据启动恢复虚拟机。
具体实现中,虚拟机管理设备将被恢复虚拟机中的数据备份至云服务器的时,可将被恢复虚拟机中的数据划分成预设大小的数据块,进而可再将数据备份至云服务器时,以划分得到的数据块进行存储。虚拟机管理设备将被恢复虚拟机的数据进行分块保存,在虚拟机恢复时可按照数据块的方式进行数据下载,使得虚拟机管理设备可从云服务器中首先获取并下载基本系统数据,并根据基本系统数据启动恢复虚拟机,提高了虚拟机恢复的效率。
S103,接收IO请求,确定与所述IO请求相关的数据是否存储在所述本地存储单元中,若不存在,则从所述云服务器下载与所述IO请求相关的数据至所述本地存储单元,并返回所述IO请求所请求的数据。
具体实现中,虚拟机管理设备启动了恢复虚拟机之后,用户则可对恢复虚拟机进行数据的读写操作。用户可通过虚拟机管理设备上的用户操作指示进行操作,向虚拟机管理设备发送输入/输出(英文:Input/Output,IO)请求。其中,所述IO请求可包括数据的读操作和写操作对应的请求指令,在此不做限制。虚拟机管理设备接收到IO请求之后,可首先确定与所述IO请求相关的数据是否存储所述本地存储单元中。例如,虚拟机管理设备接收到读操作的请求指令之后,可首先确定所述读操作的请求指令所请求读取的数据是否存储本地存储单元中。若所述IO请求所请求的数据存储在本地存储单元中,则可直接返回所述IO请求所请求的数据。若所述IO请求所请求的数据不存在本地存储单元中,虚拟机管理设备则可从云服务器下载所述IO请求所请求的数据至本地存储单元,在返回所述IO请求所请求的数据。
进一步的,虚拟机管理设备对被恢复虚拟机中的数据进行备份时,还可使用增量备份的方式对被恢复虚拟机中的数据进行备份。其中,所述增量备份是指把在前一次备份到本次备份这段时间间隔中进行过修改的数据进行备份,没有修改的数据不做备份的备份方式。即只备份变化了的数据,没有变化的数据不备份。由此,某个数据块是否是活跃数据,可以通过增量备份中出现的次数来确定。虚拟机管理设备在对被恢复虚拟机中的数据进行增量备份时,可统计每个数据块被备份的次数,进而可在虚拟机管理设备的空闲时间,根据所述所统计的每个数据块被备份的次数从云服务器端下载数据块。其中,备份次数越多的数据块下载的优先级越高。如图3,图3是数据块的增量备份的次数的统计示意图。其中,备份(英文:backup)1至backup4表示第一次增量备份至第四次增量备份,其中,B0、B1、B2、…和B15,表示数据块0、数据块1、数据块2、…和数据块15,频率(英文:frequency)表示各个数据块的增量备份的次数,其中增量备份的次数越多的数据块的使用概率越高。如图3所示,B13的增量备份的次数为4次,B13的增量备份的次数大于其他数据块的增量备份的次数,由此可知B13的使用概率最高。B2的增量备份的次数为3次,B2的增量备份的次数少于B13的增量备份的次数,大于其他数据块的增量备份的次数,由此可知B2的使用概率低于B13的使用概率,高于其他数据块的使用概率。虚拟机管理设备可按照各个数据块被备份的次数从多到少的顺序,确定各个数据块被下载的优先级为从高到低,进而可按照所述优先级从高到低下载所述各个数据块,使用概率更高的数据块优先下载以保障恢复虚拟机更快地恢复被恢复虚拟机的功能。
在本发明实施例中,虚拟机管理设备可将被恢复虚拟机的数据按照数据块存储的方式备份并存储至云服务器,进而可根据虚拟机启动所需的基本系统数据的位置和长度等位图信息从云服务器中下载虚拟机所述基本系统数据,并根据所述基本系统数据启动恢复虚拟机。启动恢复虚拟机之后可响应虚拟机的访问操作的IO请求,若访问操作需要从S3云存储空间中下载数据,则从S3云存储空间中下载相应的数据并写入本地存储单元,以响应虚拟机的访问操作。进一步的,虚拟机管理设备可在响应虚拟机的访问操作的空闲碎片时间从云服务器中下载被恢复虚拟机的数据中除了基本系统数据之外的其他数据块,可充分利用虚拟机启动之后的时间下载数据,缩短虚拟机启动的时间,提高了虚拟机恢复的效率。
参见图4,是本发明另一实施例提供的虚拟机管理设备的结构示意图。本发明实施例中所描述的虚拟机管理设备,包括:
接收模块10,用于接收虚拟机恢复命令。
创建模块20,用于在所述接收模块接收到所述虚拟机恢复命令时,从所述云服务器获取被恢复虚拟机的配置信息,根据所述配置信息创建恢复虚拟机及所述恢复虚拟机对应的本地存储单元。
所述接收模块10,还用于接收虚拟机启动命令。
下载模块30,用于在所述接收模块接收到所述启动命令时,从所述云服务器获取并下载基本系统数据。
启动模块40,用于根据所述下载模块下载得到的所述基本系统数据启动所述恢复虚拟机,所述基本系统数据为操作系统中使所述恢复虚拟机能够正常运行的数据。
所述接收模块10,还用于接收IO请求。
所述下载模块30,还用于确定与所述接收模块接收的所述IO请求相关的数据是否存储在所述本地存储单元中,若不存在,则从所述云服务器下载与所述IO请求相关的数据至所述本地存储单元,并返回所述IO请求所请求的数据。
在一些可行的实施方式中,本发明实施例中所描述的虚拟机管理设备还包括:
备份模块50,用于在被恢复虚拟机启动时,记录从所述被恢复虚拟机开始启动到所述被恢复虚拟机能够正常运行所需要的基本系统数据的位图信息,所述位图信息包括所述基本系统数据中的子数据的起始位置及长度,并将所述位图信息存储至所述云服务器中;
所述下载模块30具体用于:
从所述云服务器中获取所述基本系统数据的位图信息,根据所述位图信息在所述云服务器中所备份的所述被恢复虚拟机的操作系统中获取所述基本系统数据,下载所述基本系统数据。
在一些可行的实施方式中,所述备份模块50还用于:
将所述被恢复虚拟机中的数据划分成预设大小的数据块,并在将所述被恢复虚拟机中的数据备份至所述云服务器时,将所述数据以划分得到的数据块进行存储。
在一些可行的实施方式中,所述备份模块50还用于:在对所述被恢复虚拟机中的数据进行增量备份时,统计每个所述数据块被备份的次数;
所述下载模块30,还用于在所述虚拟机管理设备的空闲时间,根据所述备份模块所统计的每个所述数据块被备份的次数从所述云服务器端下载数据块,其中,备份次数越多的数据块下载的优先级越高。
具体实现中,所述虚拟机管理设备可用于执行本发明实施例提供的虚拟机恢复的方法的实施例中所描述的实现方式,具体可参见所述实施例中各个步骤所描述的实现方式,在此不再赘述。
在本发明实施例中,虚拟机管理设备可将被恢复虚拟机的数据按照数据块存储的方式备份并存储至云服务器,进而可根据虚拟机启动所需的基本系统数据的位置和长度等位图信息从云服务器中下载虚拟机所述基本系统数据,并根据所述基本系统数据启动恢复虚拟机。启动恢复虚拟机之后可响应虚拟机的访问操作的IO请求,若访问操作需要从S3云存储空间中下载数据,则从S3云存储空间中下载相应的数据并写入本地存储单元,以响应虚拟机的访问操作。进一步的,虚拟机管理设备可在响应虚拟机的访问操作的空闲碎片时间从云服务器中下载被恢复虚拟机的数据中除了基本系统数据之外的其他数据块,可充分利用虚拟机启动之后的时间下载数据,缩短虚拟机启动的时间,下载数据块时还可根据数据块的备份次数确定相关数据的下载顺序,使用概率更高的数据块优先下载以保障恢复虚拟机的正常使用,提高了虚拟机恢复的效率。
本领域普通技术人员可以理解实现所述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如所述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (9)

1.一种虚拟机恢复的方法,应用于虚拟机管理设备,所述虚拟机管理设备将被恢复虚拟机中的数据备份至云服务器,其特征在于,包括:
接收虚拟机恢复命令,从所述云服务器获取被恢复虚拟机的配置信息,根据所述配置信息创建恢复虚拟机及所述恢复虚拟机对应的本地存储单元;
接收虚拟机启动命令,从所述云服务器获取并下载基本系统数据,并根据所述基本系统数据启动所述恢复虚拟机,所述基本系统数据为操作系统中使所述恢复虚拟机能够正常运行的数据;
接收IO请求,确定与所述IO请求相关的数据是否存储在所述本地存储单元中,若不存在,则从所述云服务器下载与所述IO请求相关的数据至所述本地存储单元,并返回所述IO请求所请求的数据。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述被恢复虚拟机启动时,记录从所述被恢复虚拟机开始启动到所述被恢复虚拟机能够正常运行所需要的基本系统数据的位图信息,所述位图信息包括所述基本系统数据中的子数据的起始位置及长度,并将所述位图信息存储至所述云服务器中;
所述从云服务器获取并下载基本系统数据包括:
从所述云服务器中获取所述基本系统数据的位图信息,根据所述位图信息在所述云服务器中所备份的所述被恢复虚拟机的操作系统中获取所述基本系统数据,下载所述基本系统数据。
3.如权利要求1所述的方法,其特征在于,所述被恢复虚拟机中的数据被划分成预设大小的数据块,并在被备份至所述云服务器时,以所划分的数据块进行存储。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
在对所述被恢复虚拟机中的数据进行增量备份时,统计每个所述数据块被备份的次数;
在所述虚拟机管理设备的空闲时间,根据所统计的每个所述数据块被备份的次数从所述云服务器端下载数据块,其中,备份次数越多的数据块下载的优先级越高。
5.一种虚拟机管理设备,所述虚拟机管理设备将被恢复虚拟机中的数据备份至云服务器,其特征在于,包括:
接收模块,用于接收虚拟机恢复命令;
创建模块,用于在所述接收模块接收到所述虚拟机恢复命令时,从所述云服务器获取被恢复虚拟机的配置信息,根据所述配置信息创建恢复虚拟机及所述恢复虚拟机对应的本地存储单元;
所述接收模块,还用于接收虚拟机启动命令;
下载模块,用于在所述接收模块接收到所述启动命令时,从所述云服务器获取并下载基本系统数据;
启动模块,用于根据所述下载模块下载得到的所述基本系统数据启动所述恢复虚拟机,所述基本系统数据为操作系统中使所述恢复虚拟机能够正常运行的数据;
所述接收模块,还用于接收IO请求;
所述下载模块,还用于确定与所述接收模块接收的所述IO请求相关的数据是否存储在所述本地存储单元中,若不存在,则从所述云服务器下载与所述IO请求相关的数据至所述本地存储单元,并返回所述IO请求所请求的数据。
6.如权利要求5所述的虚拟机管理设备,其特征在于,所述虚拟机管理设备还包括:
备份模块,用于在所述被恢复虚拟机启动时,记录从所述被恢复虚拟机开始启动到所述被恢复虚拟机能够正常运行所需要的基本系统数据的位图信息,所述位图信息包括所述基本系统数据中的子数据的起始位置及长度,并将所述位图信息存储至所述云服务器中;
所述下载模块具体用于:
从所述云服务器中获取所述基本系统数据的位图信息,根据所述位图信息在所述云服务器中所备份的所述被恢复虚拟机的操作系统中获取所述基本系统数据,下载所述基本系统数据。
7.如权利要求5所述的虚拟机管理设备,其特征在于,所述备份模块还用于:
将所述被恢复虚拟机中的数据划分成预设大小的数据块,并在将所述被恢复虚拟机中的数据备份至所述云服务器时,将所述数据以划分得到的数据块进行存储。
8.如权利要求7所述的虚拟机管理设备,其特征在于,所述备份模块还用于:
在对所述被恢复虚拟机中的数据进行增量备份时,统计每个所述数据块被备份的次数;
所述下载模块,还用于在所述虚拟机管理设备的空闲时间,根据所述备份模块所统计的每个所述数据块被备份的次数从所述云服务器端下载数据块,其中,备份次数越多的数据块下载的优先级越高。
9.一种虚拟机管理设备,其特征在于,包括:处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器、所述存储器和所述通信接口通过所述总线连接;
当所述虚拟机管理设备运行时,所述处理器执行所述存储器中存储的所述计算机执行指令,以使所述虚拟机管理设备执行如权利要求1-4任一项所述的方法。
CN201510992652.2A 2015-12-25 2015-12-25 一种虚拟机恢复的方法及虚拟机管理设备 Active CN105630632B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510992652.2A CN105630632B (zh) 2015-12-25 2015-12-25 一种虚拟机恢复的方法及虚拟机管理设备
PCT/CN2016/111080 WO2017107900A1 (zh) 2015-12-25 2016-12-20 一种虚拟机恢复的方法及虚拟机管理设备
US16/002,715 US10817386B2 (en) 2015-12-25 2018-06-07 Virtual machine recovery method and virtual machine management device
US17/033,103 US11397648B2 (en) 2015-12-25 2020-09-25 Virtual machine recovery method and virtual machine management device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510992652.2A CN105630632B (zh) 2015-12-25 2015-12-25 一种虚拟机恢复的方法及虚拟机管理设备

Publications (2)

Publication Number Publication Date
CN105630632A CN105630632A (zh) 2016-06-01
CN105630632B true CN105630632B (zh) 2018-04-10

Family

ID=56045607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510992652.2A Active CN105630632B (zh) 2015-12-25 2015-12-25 一种虚拟机恢复的方法及虚拟机管理设备

Country Status (3)

Country Link
US (2) US10817386B2 (zh)
CN (1) CN105630632B (zh)
WO (1) WO2017107900A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630632B (zh) 2015-12-25 2018-04-10 华为技术有限公司 一种虚拟机恢复的方法及虚拟机管理设备
CN106802840A (zh) * 2017-01-19 2017-06-06 郑州云海信息技术有限公司 一种虚拟机备份、恢复方法及装置
CN107122229A (zh) * 2017-04-21 2017-09-01 紫光华山信息技术有限公司 一种虚拟机恢复方法及装置
CN107133131A (zh) * 2017-05-31 2017-09-05 广州鼎甲计算机科技有限公司 一种基于VMware的虚拟机合成备份方法
CN107357631A (zh) * 2017-07-17 2017-11-17 郑州云海信息技术有限公司 一种管理虚拟机密钥的方法和装置及计算机可读存储介质
CN109324867A (zh) * 2017-07-31 2019-02-12 郑州云海信息技术有限公司 一种虚拟机暂存方法、恢复方法及装置
US10929250B2 (en) * 2018-09-27 2021-02-23 EMC IP Holding Company LLC Method and system for reliably restoring virtual machines
CN111045854B (zh) * 2018-10-12 2023-09-01 伊姆西Ip控股有限责任公司 用于管理服务容器的方法、设备和计算机可读介质
CN109298977A (zh) * 2018-10-19 2019-02-01 深信服科技股份有限公司 一种虚拟机业务快速恢复方法、系统、装置及存储介质
CN109324931B (zh) * 2018-10-31 2019-12-31 广州鼎甲计算机科技有限公司 在重复数据删除系统中实现vmware挂载恢复的方法
CN109933405A (zh) * 2019-01-09 2019-06-25 平安科技(深圳)有限公司 虚拟机创建方法及装置、电子设备、存储介质
US11669410B2 (en) * 2020-08-05 2023-06-06 EMC IP Holding Company LLC Dynamically selecting optimal instance type for disaster recovery in the cloud
US11494268B2 (en) 2020-08-05 2022-11-08 EMC IP Holding Company LLC Dynamically selecting optimal instance type for disaster recovery in the cloud
CN113886143B (zh) * 2021-10-19 2022-09-13 深圳市木浪云科技有限公司 虚拟机持续数据保护方法、装置及数据恢复方法、装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5288334B2 (ja) * 2008-02-04 2013-09-11 日本電気株式会社 仮想アプライアンス配備システム
US8495316B2 (en) * 2008-08-25 2013-07-23 Symantec Operating Corporation Efficient management of archival images of virtual machines having incremental snapshots
US8359594B1 (en) * 2009-06-30 2013-01-22 Sychron Advanced Technologies, Inc. Automated rapid virtual machine provisioning system
US8555017B2 (en) * 2010-02-22 2013-10-08 Red Hat, Inc. In-place physical to virtual (P2V) migration of an existing operating system during installation of a new operating system
US8453145B1 (en) * 2010-05-06 2013-05-28 Quest Software, Inc. Systems and methods for instant provisioning of virtual machine files
JP2011237950A (ja) * 2010-05-07 2011-11-24 Fujitsu Ltd 情報処理装置、バックアップサーバ、バックアッププログラム、バックアップ方法及びバックアップシステム
US20120144390A1 (en) * 2010-12-07 2012-06-07 Microsoft Corporation Customized computer image preparation and deployment including virtual machine mode
US9116735B2 (en) * 2012-03-07 2015-08-25 Microsoft Technology Licensing, Llc Offline provisioning of virtual machines
CN103309682A (zh) * 2012-03-07 2013-09-18 上海聚耘信息科技有限公司 一种虚拟机快速启动与配置方法
CN103235746B (zh) * 2013-04-23 2016-04-20 深圳市京华科讯科技有限公司 服务器一体机自动恢复方法
US9146819B2 (en) * 2013-07-02 2015-09-29 International Business Machines Corporation Using RDMA for fast system recovery in virtualized environments
US9639384B2 (en) * 2013-08-20 2017-05-02 Vmware, Inc. Method and system for fast provisioning of virtual desktop
US11042309B1 (en) * 2013-08-23 2021-06-22 Acronis International Gmbh Recovery of virtual machine files using disk attachment
JP2015103092A (ja) * 2013-11-26 2015-06-04 株式会社日立製作所 障害回復システム及び障害回復システムの構築方法
US9529617B2 (en) * 2014-03-21 2016-12-27 Ca, Inc. Instant virtual machines
US20160048408A1 (en) * 2014-08-13 2016-02-18 OneCloud Labs, Inc. Replication of virtualized infrastructure within distributed computing environments
CN105630632B (zh) * 2015-12-25 2018-04-10 华为技术有限公司 一种虚拟机恢复的方法及虚拟机管理设备
US10754729B2 (en) * 2018-03-12 2020-08-25 Commvault Systems, Inc. Recovery point objective (RPO) driven backup scheduling in a data storage management system

Also Published As

Publication number Publication date
CN105630632A (zh) 2016-06-01
US11397648B2 (en) 2022-07-26
US10817386B2 (en) 2020-10-27
US20210011817A1 (en) 2021-01-14
WO2017107900A1 (zh) 2017-06-29
US20180285216A1 (en) 2018-10-04

Similar Documents

Publication Publication Date Title
CN105630632B (zh) 一种虚拟机恢复的方法及虚拟机管理设备
US11099953B2 (en) Automatic data healing using a storage controller
US9514004B2 (en) Restore in cascaded copy environment
CN106062742B (zh) 用于改进快照性能的系统和方法
US20080140963A1 (en) Methods and systems for storage system generation and use of differential block lists using copy-on-write snapshots
CN109445861A (zh) 系统启动方法、装置、计算机装置及存储介质
US10452502B2 (en) Handling node failure in multi-node data storage systems
CN103473065A (zh) 一种可快速还原系统盘的虚拟机创建方法
US20130326150A1 (en) Process for maintaining data write ordering through a cache
US11150981B2 (en) Fast recovery from failures in a chronologically ordered log-structured key-value storage system
US20170075776A1 (en) Methods for preserving state across a failure and devices thereof
CN104794119A (zh) 用于中间件消息的存储与传输方法及系统
US11226746B2 (en) Automatic data healing by I/O
CN114924914B (zh) 磁盘分区表信息备份、恢复方法及系统
US9805038B2 (en) Efficient conflict resolution among stateless processes
JP2021515299A (ja) 時系列順のアウトオブプレース更新のためのシステム、時系列順のアウトオブプレース更新のための方法、および時系列順のアウトオブプレース更新のためのコンピュータ・プログラム
US9760450B2 (en) Restoring a clone point-in-time copy
CN109241110A (zh) 订单管理方法及系统、电子设备、存储介质
CN109669815A (zh) 一种通过lun远程映射实现备份数据恢复的方法及系统
CN109828950A (zh) 一种数据保护方法、管理系统、服务器及可读存储介质
CN109766313A (zh) 地质项目数据处理方法、装置及计算机设备
CN110262928A (zh) 一种基于应急备份系统的快速恢复备份数据的方法
CN114138188B (zh) 一种数据卷的缩容方法、系统、装置及可读存储介质
CN116302007B (zh) 磁盘阵列固件升级方法、装置、设备、介质及磁盘阵列卡
CN117806767A (zh) 提升虚拟机创建时间方法、装置、存储介质以及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant