CN107209683B - 备份映像恢复 - Google Patents

备份映像恢复 Download PDF

Info

Publication number
CN107209683B
CN107209683B CN201580074148.2A CN201580074148A CN107209683B CN 107209683 B CN107209683 B CN 107209683B CN 201580074148 A CN201580074148 A CN 201580074148A CN 107209683 B CN107209683 B CN 107209683B
Authority
CN
China
Prior art keywords
storage volume
data
guest
backup image
sector
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.)
Expired - Fee Related
Application number
CN201580074148.2A
Other languages
English (en)
Other versions
CN107209683A (zh
Inventor
塔拉姆·S·德维特-卡罗兰
里克·布拉姆利
雷尼·保罗
安尼尔·库马尔·S·R
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN107209683A publication Critical patent/CN107209683A/zh
Application granted granted Critical
Publication of CN107209683B publication Critical patent/CN107209683B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Abstract

示例装置包括虚拟驱动控制器模块,用于在恢复操作期间接收来自来宾虚拟机(VM)的读取请求。该装置还包括虚拟驱动管理器模块,用于在恢复操作期间使用扇区映射查找表确定与读取请求相关联的数据是否被存储在来宾VM的存储卷中。响应于确定在存储卷中不存在该数据,虚拟驱动管理器模块将该数据从与来宾VM关联的备份映像复制到存储卷,更新扇区映射查找表以指示该数据被存储在存储卷中,并将该数据发送至来宾VM。

Description

备份映像恢复
背景技术
存储在诸如硬盘驱动器的存储设备中的数据可能由于各种因素而容易丢失。例如,数据可能由于存储设备的硬件故障、来自恶意软件的讹误等而丢失。为了降低完整数据丢失的可能性,可将数据的副本存储在另一存储设备中作为备份。
附图说明
关于以下附图描述本申请的一些示例:
图1是根据示例的用于将数据从备份映像恢复到来宾虚拟机的计算设备的框图;
图2是根据另一示例的用于将数据从备份映像恢复到来宾虚拟机的计算设备的框图;
图3是根据另一示例的用于将数据从备份映像恢复到来宾虚拟机的计算设备的框图;
图4是根据另一示例的用于将数据从备份映像恢复到来宾虚拟机的计算设备的框图;
图5A是根据示例的由计算设备用来将数据从备份映像恢复到来宾虚拟机的扇区映射查找表的框图;
图5B是根据另一示例的由计算设备用来将数据从备份映像恢复到来宾虚拟机的扇区映射查找表的框图;以及
图6是示出根据示例的在计算设备中进行的将数据从备份映像恢复到来宾虚拟机的操作方法的流程图。
具体实施方式
为了将备份数据恢复到计算设备来使用,备份数据可在恢复操作期间从备份位置被复制或转移到计算设备。备份位置可以是存储备份数据的另一计算设备或存储设备。备份位置还可以是同一存储设备的存储区,备份数据要在该存储区被恢复到存储设备的另一存储区。作为示例,包含存储设备的内容的备份映像可被恢复到虚拟机。然而,在恢复操作期间备份映像的一些数据可能不能被虚拟机本地使用。因此,虚拟机的用户在备份数据正被恢复时可能经历延迟。
本文描述的示例提供一种用于将数据从备份映像恢复到来宾虚拟机的计算设备,使来宾虚拟机在恢复操作期间能够部分访问恢复的数据。计算设备可包括虚拟驱动控制器模块,该虚拟驱动控制器模块用于在恢复操作期间接收来自来宾虚拟机(VM)的读取请求。计算设备还可包括虚拟驱动管理器模块,该虚拟驱动管理器模块用于使用扇区映射查找表确定与读取请求相关联的数据是否存储在来宾VM的存储卷中。响应于确定该数据不存在于存储卷中,虚拟驱动管理器模块可将该数据从与来宾VM关联的备份映像复制到存储卷。虚拟驱动管理器模块还可更新扇区映射查找表以指示该数据被存储在存储卷中。虚拟驱动管理器模块可进一步将该数据发送至来宾VM。响应于确定该数据存在于存储卷中,虚拟驱动管理器模块可进一步将该数据发送至来宾VM。因此,来宾VM可在恢复操作期间访问要被恢复到存储卷中的数据。以这种方式,本文描述的示例可使得能够在恢复操作完成之前对恢复的数据进行访问。
现在参考附图,图1是根据示例的用于将数据从备份映像恢复到来宾虚拟机的计算设备100的框图。计算设备100可以是例如基于网页的服务器、局域网服务器、基于云的服务器、笔记本计算机、台式计算机、一体化系统、平板计算设备、移动电话、电子书阅读器或适于托管虚拟机的任何其它电子设备。如本文使用的,虚拟机可以是使用处理器可执行指令、硬件或其组合实施的计算设备的仿真。
计算设备100可包括虚拟驱动控制器模块102和虚拟驱动管理器模块104。虚拟驱动控制器模块102和虚拟驱动管理器模块104可使用处理器可执行指令、硬件(诸如,处理器或电路)或其组合来实施。虚拟驱动管理器模块104可通过物理或逻辑连接而耦接到存储卷106和备份映像108。
存储卷106可以是在诸如硬盘驱动器的至少一个物理存储设备上实施的逻辑存储区或逻辑驱动。备份映像108可以是包含来自特定存储卷的每个扇区的结构和数据的一组文件。该组文件可包括至少一个文件。在一些示例中,备份映像108可包括来自磁盘的原始数据。在一些示例中,备份映像108可以是包含结构和数据的一组文件,该结构和数据来自包含数据的特定存储卷的扇区。备份映像108可用于在数据丢失或数据损坏的情况下将特定存储卷的内容恢复在另一存储卷中或在同一存储卷中。备份映像108可通过特定存储卷的扇区到扇区的复制而被创建。在一些示例中,存储卷106和/或备份映像108可被存储在计算设备100中。在一些示例中,存储卷106和/或备份映像108可被存储在另一计算设备或存储设备中。
在操作期间,计算设备100的用户可通过使用处理器可执行指令实施的数据恢复应用程序,选择要被恢复到存储卷106的备份映像108。当选择备份映像108进行恢复时,计算设备100可执行恢复操作以将备份映像108恢复到存储卷106。
在恢复操作期间,计算设备100可定义来宾虚拟机(VM)110的组件,并可将存储卷106分配为来宾VM 110的存储卷。虚拟驱动管理器模块104可访问备份映像108以确定备份映像108的扇区大小和备份映像108的扇区数。基于扇区大小和扇区数,虚拟驱动管理器模块104可分配存储卷106以确保存储卷106可具有足够的存储容量来恢复备份映像108。虚拟驱动管理器模块104还可生成扇区映射查找表112,该扇区映射查找表112将备份映像108的每个扇区链接或映射到存储卷106的不同扇区。虚拟驱动管理器模块104可使用扇区映射查找表112来确定恢复操作的进程。扇区映射查找表112的示例在图5A-5B中被更详细地描述。
当存储卷106被最初地分配时,存储卷106不包含来自备份映像108的内容。虚拟驱动管理器模块104可基于从来宾VM 110接收的至少一个读取请求来将数据从备份映像108恢复到存储卷106。来宾VM 110一上电,就可以通过读取请求114从存储卷106读取数据。作为示例,来宾VM 110可在来宾VM 110的启动过程期间通过读取请求114读取与主引导记录相关联的数据。
来宾VM 110可将读取请求114发送至虚拟驱动控制器模块102。虚拟驱动控制器模块102可接收读取请求114并将读取请求114转发至虚拟驱动管理器模块104。读取请求114可识别存储与读取请求114相关联的数据116的存储卷106的扇区(例如扇区1)。虚拟驱动管理器模块104可使用扇区映射查找表112来确定扇区1是否存在于存储卷106中。
响应于确定在存储卷106中不存在扇区1(即,扇区1还没有从备份映像108恢复),虚拟驱动管理器模块104可从备份映像108中的对应扇区复制数据116,并将数据116存储到存储卷106的扇区1。因此,数据116从备份映像108被恢复。虚拟驱动管理器模块104可更新扇区映射查找表112,以指示扇区1存在于存储卷106中。虚拟驱动管理器模块104还可通过虚拟驱动控制器模块102将数据116发送至来宾VM 110以完成读取请求114。在一些示例中,备份映像108可被设置为只读的,使得备份映像108可不被修改(例如,新的数据不能被写入备份映像108)并且可被用于多个恢复操作。
响应于确定扇区1存在于存储卷106中,这指示数据116已被恢复到存储卷106,虚拟驱动管理器模块104可从存储卷106获取数据116,并通过虚拟驱动控制器模块102将数据116发送至来宾VM 110。一旦备份映像108被完全地恢复到存储卷106,恢复操作完成。通过在由来宾VM 11O请求时从备份映像108恢复数据,在恢复操作完成之前,来宾VM 110可访问来自备份映像108的数据。因此,可减少任何由于恢复操作而由来宾VM 110的用户感知到的延迟。
图2是根据另一示例的用于将数据从备份映像恢复到来宾虚拟机的计算设备200的框图。计算设备200可类似于图1的计算设备100。计算设备200可以包括管理程序202。管理程序202可包括虚拟驱动控制器模块102和虚拟驱动管理器模块104。管理程序202可以是创建和控制由计算设备200托管的VM的计算设备200的组件。管理程序202可通过虚拟驱动管理器模块104连接至存储卷106和备份映像108。
管理程序202可使用处理器可执行指令、硬件(诸如,处理器或电路)或其组合实施。在一些示例中,管理程序202可以是使用硬件实施的1型(type-1)管理程序。例如,管理程序202可直接在计算设备200的处理器(图2中未示出)上运行,并且不包含在由计算设备200托管的操作系统内。在一些示例中,管理程序202可以是使用处理器可执行指令实施的2型(type-2)管理程序。
在操作期间,管理程序202可接收与备份映像108相关联的恢复命令214。例如,用户可通过使用处理器可执行指令实施的恢复应用程序(图2中未示出),选择要被恢复的备份映像108。恢复应用程序可在计算设备200上执行。基于恢复命令214,管理程序202可发起恢复操作以恢复备份映像108。
管理程序202可查询备份映像108以生成扇区映射查找表112,并基于备份映像108的扇区大小和扇区数分配存储卷106。管理程序202可创建来宾VM 110并将存储卷106分配给来宾VM 110。管理程序202还可控制来宾VM 110的操作。来宾VM 110可被托管在计算设备200中。来宾VM 110可包括虚拟驱动控制器模块204以将至少一个读取请求或至少一个写入请求发送至管理程序202。
管理程序202可通过启动来宾VM 110来使来宾VM 110能够被使用。管理程序202可使用如图1所示的虚拟驱动控制器模块102和虚拟驱动管理器模块104,通过来自来宾VM110的至少一个读取请求(例如,读取请求114),将数据(例如,数据116)从备份映像108恢复到存储卷106。管理程序202还可基于来自来宾VM 110的至少一个写入请求更新扇区映射查找表112。例如,来宾VM 110可通过写入请求208,将数据206写入存储卷106的特定扇区(例如存储卷106的扇区2)。来宾VM 110可通过虚拟驱动控制器模块204将写入请求208发送至管理程序202。管理程序202的虚拟驱动控制器模块102可接收写入请求208并将写入请求208转发至虚拟驱动管理器模块104。虚拟驱动管理器模块104可基于写入请求208将数据206写入存储卷106的扇区2中。虚拟驱动管理器模块104还可更新扇区映射查找表112以指示扇区2存在于存储卷106中。
在一些示例中,除了通过来自来宾VM 110的持续的读取请求来恢复数据以及通过持续的写入请求来更新扇区映射查找表112之外,计算设备200还可包括助手代理模块210,该助手代理模块210用于将数据从备份映像108恢复到存储卷106。助手代理模块210可使用处理器可执行指令、硬件(诸如,处理器或电路)或其组合实施。
助手代理模块210可恢复还未通过持续的读取请求被恢复的数据,或在扇区映射查找表112中的还未通过持续的写入请求被写入到存储卷106的数据(例如,不与读取请求114或写入请求208关联的数据)。例如,助手代理模块210可访问扇区映射查找表112以确定哪些扇区还未从备份映像108恢复。基于扇区映射查找表112,助手代理模块210可确定存储卷106的扇区3不存在(即,扇区3还未被恢复)。因此,助手代理模块210可从备份映像108中的被映射到存储卷106的扇区3的扇区复制剩余的数据212,并将剩余的数据212存储到扇区3中。
在一些示例中,助手代理模块210可基于智能调度从备份映像108恢复数据,以便不与来宾VM 110和/或管理程序202的其它资源需求冲突。在一些示例中,助手代理模块210可被包括在管理程序202中。在一些示例中,助手代理模块210可被包括在来宾VM 110中。
图3是根据另一示例的用于将数据从备份映像恢复到来宾虚拟机的计算设备300的框图。计算设备300可用于实施图1的计算设备100和图2的计算设备200。计算设备300可包括处理器302和计算机可读存储介质304。
处理器302可以是中央处理单元(CPU)、基于半导体的微处理器,和/或适于获取和执行存储在计算机可读存储介质304中的指令的其它硬件设备。处理器302可取得、解码和执行指令306、308、310、312、314和316以控制将数据从备份映像(诸如图1的备份映像108)恢复到存储卷(诸如存储卷106)的过程。作为获取和执行指令的替代或除获取和执行指令以外,处理器302可包括包含用于执行指令306-314中的任一个的功能的电子组件的至少一个电子电路。
计算机可读存储介质304可以是包含或存储可执行指令的任何电子存储设备、磁性存储设备、光存储设备或其它物理存储设备。因此,计算机可读存储介质304可以是,例如,随机存取存储器(RAM)、电可擦可编程只读存储器(EEPROM)、存储设备、光盘等。在一些示例中,计算机可读存储介质304可以是非暂时性存储介质,其中术语“非暂时性”不包含暂时性传播信号。如下面详细地描述的,计算机可读存储介质304可被编码有用于将数据从备份映像恢复到存储卷的一系列处理器可执行指令306-314。
来宾虚拟机引导指令306可创建、提供和控制来宾虚拟机。例如,参考图2,管理程序202可使来宾VM 110能够被使用并通过启动来宾VM 110来开始备份映像108的恢复操作。读取请求接收指令308可接收来自虚拟机的读取请求。例如,参考图1,虚拟驱动控制器模块102可接收读取请求114并将读取请求114转发至虚拟驱动管理器模块104。
数据存在确定指令310可确定存储与读取请求相关联的数据的扇区是否存在于存储卷中。例如,参考图1,虚拟驱动管理器模块104可使用扇区映射查找表112来确定扇区1是否存在于存储卷106中。数据复制指令312可通过扇区到扇区的复制来将数据从备份映像复制到存储卷。例如,响应于确定在存储卷106中不存在扇区1,虚拟驱动管理器模块104可从备份映像108中的对应扇区复制数据116,并将数据116存储到存储卷106的扇区1中。
扇区映射表更新指令314可在扇区基于读取请求被恢复或扇区基于写入请求被写入到存储卷106之后,更新扇区映射表以指示恢复操作的进程。例如,虚拟驱动管理器模块104可更新扇区映射查找表112以指示扇区1存在于存储卷106中。数据发送指令316可将数据从存储卷发送到虚拟机。例如,虚拟驱动管理器模块104还可通过虚拟驱动控制器模块102将数据116发送至来宾VM 110,以完成读取请求114。
图4是根据另一示例的用于将数据从备份映像恢复到来宾虚拟机的计算设备400的框图。计算设备400可用于实施图1的计算设备100、图2的计算设备200和/或图3的计算设备300。计算设备400可包括处理器302和计算机可读存储介质402。计算机可读存储介质402可类似于图3的计算机可读存储介质304。
计算机可读存储介质402可编码有指令306-316和404-408。写入请求接收指令404可接收来自虚拟机的写入请求。例如,参考图2,管理程序202的虚拟驱动控制器模块102可接收写入请求208,并将写入请求208转发至虚拟驱动管理器模块104。数据写入指令406可基于写入请求将数据写入到存储卷。例如,参考图2,虚拟驱动管理器模块104可基于写入请求208将数据206写入到存储卷106的扇区2。助手代理模块指令408可实施图2的助手代理模块210。
图5A是根据示例的由计算设备用来将数据从备份映像恢复到来宾虚拟机的扇区映射查找表500的框图。扇区映射查找表500可用于实施图1至图2的扇区映射查找表112。参考图1至图2描述扇区映射查找表500。扇区映射查找表500可包括诸如存储卷扇区字段502、备份映像扇区字段504和存在字段506的多个字段。存储卷扇区字段502可指示存储卷106的扇区。备份映像扇区字段504可指示被映射到存储卷106的每个不同扇区的备份映像108的对应扇区。存在字段506可指示存储卷106的特定扇区是否存在于存储卷106中。特定扇区的存在可指示恢复操作的进程。例如,当存在字段506针对扇区映射查找表500的每个条目指示“是”时,恢复操作可完成。
例如,扇区映射查找表500的条目508可指示存储卷106的扇区1使用虚拟直接映射被映射到备份映像108的扇区1。备份映像108的扇区1的实际位置可以是硬盘驱动器的扇区100。管理程序202可在将数据从备份映像108的扇区1复制到存储卷106的扇区1之前,确定备份映像108的扇区1的实际位置。当存在字段506针对条目508指示“是”时,条目508还可指示存储卷106的扇区1存在于存储卷106中。
作为另一示例,扇区映射查找表500的条目510可指示存储卷106的扇区2被映射到备份映像108的扇区2。但是,由于存在字段506针对条目510指示“否”,备份映像108的扇区2还未被恢复到存储卷106的扇区2。当备份映像108的扇区2已被恢复到存储卷106的扇区2时,管理程序202可针对条目510将存在字段506更新为“是”。
在一些示例中,扇区映射查找表500可仅包括来自备份映像108的已使用的扇区(即,包含数据的扇区)以减少待被恢复的数据量。在一些示例中,扇区映射查找表500可包括来自备份映像108的已使用的扇区和未使用的扇区,以便备份映像108的每个扇区被恢复。在一些示例中,当未使用的扇区被包含在扇区映射查找表500中时,管理程序202和/或助手代理模块210可通过查询备份映像108来识别备份映像108中未使用的扇区。管理程序202和/或助手代理模块210可更新扇区映射查找表500以指示未使用的扇区存在于存储卷106中。
图5B是根据另一示例的由计算设备用来将数据从备份映像恢复到来宾虚拟机的扇区映射查找表512的框图。扇区映射查找表512可包括存储卷扇区字段502、备份映像扇区字段504和存在字段506。与图5A的扇区映射查找表500中使用的虚拟直接映射不同,扇区映射查找表512可将存储卷106的扇区映射到备份映像108的对应扇区的实际位置。例如,扇区映射查找表512的条目514可指示存储卷106的扇区1被映射到备份映像108的扇区10003。因此,管理程序202可从备份映像108的扇区10003复制数据,并将该数据存储到存储卷106的扇区1中。
图6是示出根据示例的在计算设备中进行的将数据从备份映像恢复到来宾虚拟机的操作方法600的流程图。方法600可使用图1的计算设备100、图2的计算设备200、图3的计算设备300和/或图4的计算设备400来实施。
方法600包括:在602处,在托管在计算设备上的管理程序处接收与备份映像相关联的恢复命令。例如,参考图2,管理程序2可被托管在计算设备200的处理器(图2中未示出)上。方法600还包括:在604处,在备份映像的恢复操作期间,基于恢复命令引导来宾虚拟机(VM),其中该来宾VM包括存储卷。例如,管理程序202可通过启动来宾VM 110来使来宾VM110能够被使用。
方法600进一步包括:在606处,在恢复操作期间,在管理程序的虚拟驱动控制器模块处接收来自来宾VM的读取请求。例如,参考图1,虚拟驱动控制器模块102可接收读取请求114并将读取请求114转发至虚拟驱动管理器模块104。方法600进一步包括:在608处,在恢复操作期间,在管理程序的虚拟驱动管理器模块处使用扇区映射查找表确定与读取请求相关联的数据是否存在于存储卷中。例如,参考图1,虚拟驱动管理器模块104可使用扇区映射查找表112来确定扇区1是否存在于存储卷106中。
方法600进一步包括:在610处,响应于确定在存储卷中不存在该数据,将该数据从备份映像复制到存储卷,更新扇区映射查找表以指示该数据存在于存储卷中,并将该数据发送至来宾VM。例如,参考图1,响应于确定在存储卷106中不存在扇区1,虚拟驱动管理器模块104可从备份映像108中的对应扇区中复制数据116,并将数据116存储到存储卷106的扇区1中。虚拟驱动管理器模块104可更新扇区映射查找表112,以指示扇区1存在于存储卷106中。虚拟驱动管理器模块104还可通过虚拟驱动控制器模块102将数据116发送至来宾VM110,以完成读取请求114。
“包括”、“包含”或“具有”的使用是同义的,并且其变形旨在包含或无限制的,并不排除附加的未描述的要素或方法步骤。

Claims (15)

1.一种用于备份映像恢复的装置,包括:
虚拟驱动控制器模块,用于在恢复操作期间接收来自来宾虚拟机(VM)的读取请求;以及
虚拟驱动管理器模块,所述虚拟驱动管理器模块用于:
在所述恢复操作期间,使用扇区映射查找表确定与所述读取请求相关联的数据是否被存储在所述来宾VM的存储卷中;
响应于确定在所述存储卷中不存在所述数据:将所述数据从与所述来宾VM关联的备份映像复制到所述存储卷;更新所述扇区映射查找表以指示所述数据被存储在所述存储卷中;并且将所述数据发送至所述来宾VM;并且
访问所述扇区映射查找表以确定所述恢复操作是否完成。
2.根据权利要求1所述的装置,其中所述虚拟驱动控制器模块进一步用于接收来自所述来宾VM的写入请求,并且其中所述虚拟驱动管理器模块进一步用于:
将与所述写入请求相关联的数据写入到所述存储卷;并且
更新所述扇区映射查找表以指示与所述写入请求相关联的所述数据存在于所述存储卷中。
3.根据权利要求1所述的装置,进一步包括助手代理模块,所述助手代理模块用于:
在所述恢复操作期间,使用所述扇区映射查找表,将剩余的数据从所述备份映像复制到所述存储卷,其中所述剩余的数据不与所述读取请求相关联;并且
更新所述扇区映射查找表以指示所述剩余的数据存在于所述存储卷中。
4.根据权利要求1所述的装置,其中所述扇区映射查找表指示所述存储卷中的扇区。
5.根据权利要求1所述的装置,其中所述备份映像是只读的。
6.一种用于备份映像恢复的方法,包括:
在托管在计算设备上的管理程序处,接收与备份映像相关联的恢复命令;
在所述备份映像的恢复操作期间,基于所述恢复命令引导来宾虚拟机(VM),其中所述来宾VM包括存储卷;
在所述恢复操作期间,在所述管理程序的虚拟驱动控制器模块处接收来自所述来宾VM的读取请求;
在所述恢复操作期间,在所述管理程序的虚拟驱动管理器模块处使用扇区映射查找表确定与所述读取请求相关联的数据是否存在于所述存储卷中;
响应于确定在所述存储卷中不存在所述数据:将所述数据从所述备份映像复制到所述存储卷;更新所述扇区映射查找表以指示所述数据存在于所述存储卷中;并且将所述数据发送至所述来宾VM;并且
访问所述扇区映射查找表以确定所述恢复操作是否完成。
7.根据权利要求6所述的方法,进一步包括:
从所述来宾VM接收写入请求;
通过所述虚拟驱动管理器模块,将与所述写入请求相关联的数据写入到所述存储卷;以及
更新所述扇区映射查找表以指示与所述写入请求相关联的所述数据存在于所述存储卷中。
8.根据权利要求6所述的方法,其中所述扇区映射查找表包括存储卷扇区字段、备份映像扇区字段和存在字段。
9.根据权利要求6所述的方法,进一步包括通过所述管理程序提供所述来宾VM,其中提供所述来宾VM包括:
确定所述备份映像的扇区大小和所述备份映像的扇区数;并且
基于所述扇区大小和所述扇区数分配所述存储卷。
10.根据权利要求6所述的方法,进一步包括:
识别所述备份映像中的未使用的扇区;并且
更新所述扇区映射查找表以指示所述未使用的扇区存在于所述存储卷中。
11.根据权利要求6所述的方法,其中所述管理程序是1型管理程序。
12.一种包括指令的非暂时性计算机可读存储介质,所述指令在被执行时,使计算设备的处理器:
在备份映像的恢复操作期间,在管理程序处基于与所述备份映像相关联的恢复命令引导来宾虚拟机(VM),其中所述来宾VM包括存储卷;
在所述恢复操作期间,在所述管理程序的虚拟驱动控制器模块处接收来自所述来宾VM的读取请求;
在所述恢复操作期间,在所述管理程序的虚拟驱动管理器模块处使用扇区映射查找表确定与所述读取请求相关联的数据是否存在于所述存储卷中;
响应于确定在所述存储卷中不存在所述数据:将所述数据从所述备份映像复制到所述存储卷;更新所述扇区映射查找表以指示所述数据被存储在所述存储卷中;并且将所述数据发送至所述来宾VM;
响应于确定所述数据存在于所述存储卷中,将所述数据从所述存储卷发送至所述来宾VM而不访问所述备份映像;并且
访问所述扇区映射查找表以确定所述恢复操作是否完成。
13.根据权利要求12所述的非暂时性计算机可读存储介质,其中所述指令当被执行时进一步使所述处理器响应于从所述来宾VM接收的写入请求:
通过所述虚拟驱动管理器模块,将与所述写入请求相关联的数据写入到所述存储卷;并且
更新所述扇区映射查找表以指示与所述写入请求相关联的所述数据存在于所述存储卷中。
14.根据权利要求12所述的非暂时性计算机可读存储介质,其中所述指令当被执行时进一步使所述处理器:
识别所述备份映像中的未使用的扇区;并且
更新所述扇区映射查找表以指示所述未使用的扇区存在于所述存储卷中。
15.根据权利要求12所述的非暂时性计算机可读存储介质,其中所述指令当被执行时进一步使所述处理器:
在所述恢复操作期间,通过助手代理模块,使用所述扇区映射查找表将剩余的数据从所述备份映像复制到所述存储卷,其中所述剩余的数据不与所述读取请求相关联;并且
更新所述扇区映射查找表以指示所述剩余的数据存在于所述存储卷中。
CN201580074148.2A 2015-01-30 2015-01-30 备份映像恢复 Expired - Fee Related CN107209683B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/013995 WO2016122670A1 (en) 2015-01-30 2015-01-30 Backup image restore

Publications (2)

Publication Number Publication Date
CN107209683A CN107209683A (zh) 2017-09-26
CN107209683B true CN107209683B (zh) 2021-01-22

Family

ID=56544086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580074148.2A Expired - Fee Related CN107209683B (zh) 2015-01-30 2015-01-30 备份映像恢复

Country Status (4)

Country Link
US (1) US10459802B2 (zh)
EP (1) EP3251006A4 (zh)
CN (1) CN107209683B (zh)
WO (1) WO2016122670A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445007B1 (en) * 2017-04-19 2019-10-15 Rockwell Collins, Inc. Multi-core optimized warm-start loading approach
US10831520B2 (en) * 2018-01-11 2020-11-10 Nicira, Inc. Object to object communication between hypervisor and virtual machines
US11263082B2 (en) * 2018-10-03 2022-03-01 EMC IP Holding Company LLC Data recovery of guest virtual machines
US11314603B2 (en) * 2018-11-05 2022-04-26 Hewlett-Packard Development Company, L.P. Recovery image downloads via data chunks
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11119685B2 (en) * 2019-04-23 2021-09-14 EMC IP Holding Company LLC System and method for accelerated data access
US10776041B1 (en) * 2019-05-14 2020-09-15 EMC IP Holding Company LLC System and method for scalable backup search
US11467753B2 (en) * 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11748143B2 (en) 2020-05-15 2023-09-05 Commvault Systems, Inc. Live mount of virtual machines in a public cloud computing environment
CN111737048B (zh) * 2020-05-29 2022-06-10 苏州浪潮智能科技有限公司 一种openstack对接存储虚机卷备份处理方法及装置
TWI768799B (zh) * 2021-03-30 2022-06-21 宏碁股份有限公司 資料讀取方法及電子系統

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5873101A (en) * 1997-02-10 1999-02-16 Oracle Corporation Database backup/restore and bulk data transfer
US7043504B1 (en) 2000-04-10 2006-05-09 International Business Machines Corporation System and method for parallel primary and secondary backup reading in recovery of multiple shared database data sets
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
JP5420242B2 (ja) 2005-06-24 2014-02-19 シンクソート インコーポレイテッド 高性能な企業データ保護のためのシステムおよび方法
US7487383B2 (en) 2006-06-29 2009-02-03 Dssdr, Llc Data transfer and recovery process
CN100428196C (zh) * 2006-12-22 2008-10-22 清华大学 一种计算机系统快速还原的方法
JP5346536B2 (ja) * 2008-10-02 2013-11-20 株式会社日立ソリューションズ 情報バックアップ/リストア処理装置、及び情報バックアップ/リストア処理システム
US8990368B2 (en) * 2009-02-27 2015-03-24 Red Hat, Inc. Discovery of network software relationships
WO2011046813A2 (en) 2009-10-12 2011-04-21 Veeam Software International Ltd. Item-level restoration and verification of image level backups
US8473731B2 (en) * 2009-12-08 2013-06-25 Intel Corporation System and method for physical to virtual disk re-layout
US9170892B2 (en) * 2010-04-19 2015-10-27 Microsoft Technology Licensing, Llc Server failure recovery
US8219769B1 (en) * 2010-05-04 2012-07-10 Symantec Corporation Discovering cluster resources to efficiently perform cluster backups and restores
US8490088B2 (en) * 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
CN102594849B (zh) * 2011-01-06 2015-05-20 阿里巴巴集团控股有限公司 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置
US9116633B2 (en) 2011-09-30 2015-08-25 Commvault Systems, Inc. Information management of virtual machines having mapped storage devices
US9430333B2 (en) * 2013-03-14 2016-08-30 Microsoft Technology Licensing, Llc Recovery of application from snapshot

Also Published As

Publication number Publication date
US20170371749A1 (en) 2017-12-28
US10459802B2 (en) 2019-10-29
EP3251006A4 (en) 2018-08-29
EP3251006A1 (en) 2017-12-06
CN107209683A (zh) 2017-09-26
WO2016122670A1 (en) 2016-08-04

Similar Documents

Publication Publication Date Title
CN107209683B (zh) 备份映像恢复
US9384007B2 (en) Memory virtualization-based snapshot boot apparatus and method
US11886903B2 (en) Continuous uptime of guest virtual machines during upgrade of a virtualization host device
US10101926B2 (en) System and apparatus for controlling data backup using an update prevention instruction
US10817333B2 (en) Managing memory in devices that host virtual machines and have shared memory
US20160092261A1 (en) Method and system for physical computer system virtualization
US20150205542A1 (en) Virtual machine migration in shared storage environment
US8881144B1 (en) Systems and methods for reclaiming storage space from virtual machine disk images
US11188365B2 (en) Memory overcommit by speculative fault
KR20170057237A (ko) 컨텐츠 변환 없는 컴퓨팅 디바이스에서의 다중 운영 체제 환경들의 지원
CN107368353B (zh) 一种实现虚拟机内存热添加的方法和装置
US20150160963A1 (en) Scheduling of processes using a virtual file system
US20200150950A1 (en) Upgrade managers for differential upgrade of distributed computing systems
US9298375B2 (en) Method and apparatus for returning reads in the presence of partial data unavailability
CN111209080A (zh) 一种图形处理器透传的方法
CN114691300A (zh) 一种虚拟机实例的热迁移方法
US10417010B2 (en) Disk sector based remote storage booting
US10705865B2 (en) Disk resize of a virtual machine
US20150127916A1 (en) Dynamic memory allocation
US11263082B2 (en) Data recovery of guest virtual machines
US9904567B2 (en) Limited hardware assisted dirty page logging
US9952984B2 (en) Erasing a storage block before writing partial data
US20140075092A1 (en) Simulating eeprom in virtual distributed switches
US20230176889A1 (en) Update of virtual machines using clones
TWI588655B (zh) 儲存系統

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210122