CN110955489A - 用于可靠地恢复虚拟机的方法和系统 - Google Patents

用于可靠地恢复虚拟机的方法和系统 Download PDF

Info

Publication number
CN110955489A
CN110955489A CN201910879290.4A CN201910879290A CN110955489A CN 110955489 A CN110955489 A CN 110955489A CN 201910879290 A CN201910879290 A CN 201910879290A CN 110955489 A CN110955489 A CN 110955489A
Authority
CN
China
Prior art keywords
virtual machine
connection
target
vmh
cms
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.)
Granted
Application number
CN201910879290.4A
Other languages
English (en)
Other versions
CN110955489B (zh
Inventor
徐德宁
帕洛斯·P·沙希德
默罕默德·萨马德
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Publication of CN110955489A publication Critical patent/CN110955489A/zh
Application granted granted Critical
Publication of CN110955489B publication Critical patent/CN110955489B/zh
Active 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/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
    • 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/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
    • 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
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于可靠地恢复虚拟机的方法和系统。具体地说,本文公开的所述方法和系统通过与中央管理点的连接间接地在目标计算系统上实现虚拟机恢复。当所述中央管理点变得不可达,从而中断虚拟机恢复过程时,本文公开的所述方法和系统进一步有助于直接与所述目标计算系统连接(绕过所述中央管理点),以便继续并完成所述虚拟机恢复过程。

Description

用于可靠地恢复虚拟机的方法和系统
背景技术
对于虚拟环境,中央管理点通常管理可在那些虚拟环境中执行的各种虚拟元件,例如虚拟机。
附图说明
图1示出了根据本发明的一个或多个实施例的系统。
图2示出了根据本发明的一个或多个实施例的中央管理服务和数据库。
图3示出了根据本发明的一个或多个实施例的虚拟机主机。
图4示出了根据本发明的一个或多个实施例的备份存储系统。
图5示出了根据本发明的一个或多个实施例的恢复代理主机。
图6A示出了根据本发明的一个或多个实施例的主连接信息。
图6B示出了根据本发明的一个或多个实施例的主机连接信息。
图7A到7G示出了描述根据本发明的一个或多个实施例的用于恢复虚拟机的方法的流程图。
图8示出了根据本发明的一个或多个实施例的计算系统。
具体实施方式
现在将参考附图详细描述本发明的特定实施例。在以下对本发明实施例的详细描述中,阐述了许多特定细节以便提供对本发明的更透彻的理解。然而,对于本领域普通技术人员显而易见的是,可以在没有这些特定细节的情况下实践本发明。在其它情况下,未详细描述众所周知的特征以免使描述不必要地复杂化。
在图1到8的以下描述中,在本发明的各种实施例中,关于一个图描述的任一组件可等效于关于任一其它图描述的一个或多个相似命名的组件。为简洁起见,将不关于每一个图来重复这些组件的描述。因此,每一图的组件的每个实施例被以引用的方式并入,且假设为任选地存在于具有一个或多个相似命名的组件的每一其它图内。另外,根据本发明的各种实施例,对图的组件的任何描述应被解释为任选实施例,其可除了关于任一其它图中的对应的相似命名的组件所描述的实施例外再实施,与所述实施例一起实施,或代替所述实施例加以实施。
在整个申请中,序数(例如,第一、第二、第三等)可以用作元件(即,申请中的任一名词)的形容词。除非明确公开,例如通过使用术语“之前”、“之后”、“单个“和其它此类术语,否则使用序数不一定暗示或创建元件的任何特定排序,也不将任何元件限于仅单个元件。相反,序数的使用是为了区分元件。举例来说,第一元件不同于第二元件,并且第一元件可涵盖多于一个元件并且在元件排序中在第二元件之后(或在第二元件之前)。
一般来说,本发明的实施例涉及用于可靠地恢复虚拟机的方法和系统。具体地说,本发明的一个或多个实施例通过与中央管理点的连接间接地在目标计算系统上实现虚拟机恢复。当中央管理点变得不可达,从而中断虚拟机恢复过程时,本发明的实施例进一步便于直接与目标计算系统连接(绕过中央管理点),以便继续并完成虚拟机恢复过程。
针对虚拟机恢复的现有解决方案在很大程度上依赖于与中央管理点建立连接,所述中央管理点可以管理数据中心内的虚拟环境或云计算环境。通过中央管理点,现有解决方案可以访问所管理的虚拟机并与所管理的虚拟机交互,包含响应于硬件故障(即,在上面可能已执行所管理的虚拟机的物理计算系统上发生)或逻辑故障(即,代表与所管理的虚拟机本身相关联的异常行为或数据损坏)协调其恢复。因此,与中央管理点建立的连接可能成为这些现有解决方案的致命责任和弱点。
特别是,当中央管理点由于各种原因(例如,连接的物理中断、网络问题、超时等)变得无法访问或不可用时,现有的解决方案没有能力减轻中央管理点的损失,所述中央管理点在促进任何虚拟机恢复过程中发挥重要作用。因此,通过中央管理点开始的任何已经在进行中的恢复过程都将停止,从而迫使现有解决方案在与中央管理点重新建立连接后重新启动这些恢复过程(从头开始)。本发明的实施例通过跟踪给定虚拟机恢复过程的进展来解决现有解决方案中的这些故障中的一个或多个。此外,当中央管理点变得不可达/不可用时,本发明的实施例绕过中央管理点并直接与虚拟机主机通信以从跟踪的断点继续并完成恢复过程。因此,本发明的实施例减轻了对与中央管理点建立的连接的严重依赖,并且还防止了现有的重新启动正在进行的恢复过程的要求,这可能在任何给定时间由于中央管理点的不可达或不可用而停止。
图1示出了根据本发明的一个或多个实施例的系统。系统(100)可以包含管理员客户端(102)、中央管理服务(central management service;CMS)(104)、CMS数据库(106)、一个或多个虚拟机主机(virtual machine host;VMH)(108A到108N)、备份存储系统(backupstorage system;BSS)(110)和恢复代理主机(restoration proxy host;RPH)(112)。以下描述这些组件中的每一个。
在本发明的一个实施例中,上述组件可以通过网络(未示出)(例如,局域网(LAN)、例如因特网的广域网(WAN)、移动网络或任何其它网络)直接或间接地彼此连接。可以使用有线和/或无线连接的任何组合来实施网络。在上述组件间接连接的实施例中,可以存在便于通信、信息交换和/或资源共享的其它网络组件或系统(例如,交换机、路由器、网关等)。此外,上述组件可以使用有线和/或无线通信协议的任何组合彼此通信。
在本发明的一个实施例中,管理员客户端(102)可以是由系统(100)的一个或多个组件的管理员操作的任何物理计算系统。管理员可以是至少一个个人或实体,其可以负责监督与系统(100)的一个或多个组件相关的操作和维护。此外,管理员客户端(102)可以包含以下功能:向恢复代理(下面描述)提交恢复请求,所述恢复代理可以针对恢复驻留在一个或多个VMH(108A到108N)上的虚拟机;并且用作操作在一个或多个VMH(108A到108N)上执行的各种虚拟机的控制台。普通技术人员将了解,管理员客户端(102)可以在不脱离本发明的范围的情况下执行其它功能。管理员客户端(102)的实例可以包含但不限于台式计算机、膝上型计算机、平板计算机、服务器、大型机、智能电话或类似于图8中所示的示例性计算系统的任何其它计算系统。
在本发明的一个实施例中,CMS(104)可以表示一个或多个VMH(108A到108N)和可以在其上执行的各种虚拟机(未示出)的中央管理点。CMS(104)可以在一个或多个服务器(未示出)上实施。每个服务器可以是物理服务器(即,在数据中心内)或虚拟服务器(即,驻留在云计算环境中)。在本发明的一个实施例中,CMS(104)可以在类似于图8中所示的示例性计算系统的一个或多个计算系统上实施。此外,CMS(104)可以包含以下功能:向一个或多个VMH(108A到108N)以及可以在其上执行的各种虚拟机中的任何一个发布指令;用作任何VMH(108A到108N)与恢复代理(下面描述)和/或管理客户端(102)之间的信息传输中继;并且与CMS数据库(106)介接以合并和检索与虚拟环境(例如,一个或多个VMH(108A到108N)和在其上执行的各种虚拟机)相关的关键信息。为了支持上述虚拟环境,CMS(104)可以包含其它功能:统一来自各个VMH(108A到108N)的计算资源,使得计算资源可以在整个系统(100)中执行的各种虚拟机当中共享。普通技术人员将了解,CMS(104)可以在不脱离本发明的范围的情况下执行其它功能。CMS(104)在下面参考图2进一步详细描述。
在本发明的一个实施例中,CMS数据库(106)可以是CMS(104)的专用存储系统。CMS数据库(106)可以在一个或多个服务器(未示出)上实施。每个服务器可以是物理服务器(即,在数据中心内)或虚拟服务器(即,驻留在云计算环境中)。在本发明的一个实施例中,CMS数据库(106)可以在类似于图8中所示的示例性计算系统的一个或多个计算系统上实施。此外,CMS数据库(106)可以包含存储与由CMS(104)管理的上述虚拟环境相关的各种信息(下面描述)的功能。CMS数据库(106)在下面参考图2进一步详细描述。
在本发明的一个实施例中,每个VMH(108A到108N)可以是一个或多个虚拟机(未示出)可在其上执行的任何物理计算系统。此外,每个VMH(108A到108N)可以是用于执行各种应用程序的任何物理计算系统。例如,这些应用程序可能需要大规模且复杂的数据处理;并且可以同时为多个用户服务。此外,每个VMH(108A到108N)可以被编程为提供和管理计算资源(例如,计算机处理器、存储器、永久性和非永久性存储装置、网络带宽等)的分配以执行各种过程(或者任务)(例如,可以在其上实例化的虚拟机)。普通技术人员将了解,在不脱离本发明的范围的情况下,每个VMH(108A到108N)可以执行其它功能。VMH(108A到108N)的实例可以包含但不限于台式计算机、膝上型计算机、平板计算机、服务器、大型机、智能电话或类似于图8中所示的示例性计算系统的任何其它计算系统。VMH(108A到108N)在下面参考图3进一步详细描述。
在本发明的一个实施例中,BSS(110)可以指数据备份、存档和/或灾难恢复存储系统。可以使用一个或多个服务器(未示出)来实施BSS(110)。每个服务器可以是物理服务器(即,在数据中心内)或虚拟服务器(即,驻留在云计算环境中)。在本发明的一个实施例中,BSS(110)可以使用类似于图8中所示的示例性计算系统的一个或多个计算系统来实施。此外,BSS(110)可以包含用于针对各个恢复时间点存储与一个或多个虚拟机(未示出)相对应的虚拟机状态(下面描述)的功能。下面参考图4更详细地描述BSS(110)。
在本发明的一个实施例中,RPH(112)可以是恢复代理(114)可以在其上执行的任何物理计算系统。恢复代理(114)可以是根据本发明的一个或多个实施例(参见例如图7A到7G)的负责执行虚拟机恢复的计算机程序或过程(即,计算机程序的实例)。此外,RPH(112)可以包含提供和管理计算机资源(例如,计算机处理器、存储器、永久性和非永久性存储装置、网络带宽等)的分配以支持恢复代理(114)的功能。在本发明的一个实施例中,RPH(112)可以是由CMS(104)监督的VMH(108A到108N)中的一个。普通技术人员将了解,RPH(112)可以在不脱离本发明的范围的情况下执行其它功能。RPH(112)的实例可以包含但不限于台式计算机、膝上型计算机、平板计算机、服务器、大型机、智能电话或类似于图8中所示的示例性计算系统的任何其它计算系统。RPH(112)在下面参考图5进一步详细描述。
虽然图1示出了组件的配置,但是在不脱离本发明的范围的情况下可以使用其它系统配置。
图2示出了根据本发明的一个或多个实施例的中央管理服务(CMS)和CMS数据库。CMS(200)可以包含客户端接口(202)、数据库接口(204)、主机接口(206)、一个或多个核心服务(208)和用户认证服务(user authentication service;UAS)(210)。同时,CMS数据库(220)可以包含物理存储阵列(physical storage array;PSA)(222)和CMS接口(224)。以下描述这些子组件中的每一个。
在本发明的一个实施例中,CMS(200)的客户端接口(202)可以是硬件和/或软件实施的构造,其采用一组子例程定义、协议和/或工具来实现CMS(200)与管理员客户端(240)或恢复代理主机(RPH)(242)之间的通信。作为实例,客户端接口(202)可以是可以通过分配的web地址(例如,统一资源定位符(URL))和WAN(例如,因特网)连接访问的web应用程序编程接口(API)。
在本发明的一个实施例中,CMS(200)的数据库接口(204)可以是硬件和/或软件实施的构造,其采用一组子例程定义、协议和/或工具来实现CMS(200)与CMS数据库(220)之间的通信。作为实例,数据库接口(204)可以是可以通过分配的web地址(例如,URL)和WAN(例如,因特网)连接来访问的web API。
在本发明的一个实施例中,CMS(200)的主机接口(206)可以是硬件和/或软件实施的构造,其采用一组子例程定义、协议和/或工具来实现CMS(200)与一个或多个虚拟机主机(VMH)(262A到262N)之间的通信。作为实例,主机接口(206)可以是可以通过分配的web地址(例如,URL)和WAN(例如,因特网)连接来访问的web API。
在本发明的一个实施例中,CMS(200)的每个核心服务(208)可以表示对虚拟环境(例如,一个或多个VMH(262A到262N)和可正在其上执行的各种虚拟机(未示出))的基本管理服务。此外,每个核心服务(208)可以通过可以在CMS(200)的底层硬件上执行的一个或多个计算机程序或过程(即,计算机程序的实例)来实施。CMS(200)的核心服务(208)可以针对例如虚拟机供应(即,引导和自动化虚拟机及其资源的供应);主机和虚拟机配置(即,管理VMH(262A到262N)及其相应虚拟机的配置);资源和虚拟机库存管理(即,组织虚拟机和资源,并促进其管理);静力分析和日志记录(即,记录和报告VMH(262A到262N)及其相应虚拟机的性能和资源使用统计);警报和事件管理(即,跟踪和警告用户潜在的资源过度使用或事件状况);任务调度(即,调度在给定时间发生的相关操作);和整合(即,分析整个虚拟环境中共享的各种计算资源的容量和使用)。
在本发明的一个实施例中,CMS(200)的UAS(210)可以表示用于虚拟环境(例如,一个或多个VMH(262A到262N)和可以在其上执行的各种虚拟机(未示出))的认证服务。就此来说,UAS(210)可以包含以下功能:促进用户和/或实体(例如,恢复代理)的认证,从而尝试与CMS(200)连接、访问所述CMS并与其交互;和针对不同类别的用户和/或实体管理对CMS(200)的不同级别的访问。普通技术人员将了解,UAS(210)可以在不脱离本发明的范围的情况下执行其它功能。
在本发明的一个实施例中,CMS数据库(220)的PSA(222)可以表示一个或多个物理存储装置和/或介质的集合,在所述集合上可以合并与虚拟环境相关的各种形式的信息。一个或多个物理存储装置和/或介质可以是或可以不是相同类型,并且可以或可以不共置于同一物理站点处。此外,可以通过任何存储机构(例如,文件系统、表或记录的集合等)来布置在PSA(222)中合并的信息。在本发明的一个实施例中,PSA(222)可以使用永久性(即,非易失性)存储装置来实施。永久性存储装置的实例可以包含但不限于:光学存储装置、磁性存储装置、NAND闪存、NOR闪存、磁性随机存取存储器(M-RAM)、自旋力矩磁性RAM(ST-MRAM)、相变存储器(PCM),或定义为非易失性存储类存储器(SCM)的任何其它存储装置。此外,在本发明的一个实施例中,可以存储在PSA(222)上的信息可以包含但不限于警报和事件触发信息、VMH(262A到262N)信息、虚拟机信息、性能统计、资源池、自定义属性等。
在本发明的一个实施例中,CMS数据库(220)的CMS接口(224)可以是硬件和/或软件实施的构造,其采用一组子例程定义、协议和/或工具来实现CMS数据库(220)与CMS(200)之间的通信。作为实例,CMS接口(224)可以是可以通过分配的web地址(例如,URL)和WAN(例如,因特网)连接访问的web API。
图3示出了根据本发明的一个或多个实施例的虚拟机主机(VMH)。VMH(300)可以包含一个或多个虚拟机(VM)(302A到302N)、虚拟机监视器(virtual machine monitor;VMM)(304)、操作系统(OS)(306)、中央管理服务(CMS)代理(308)、主机管理代理(hostmanagement agent;HMA)(310)、物理存储阵列(PSA)(312)和备份存储系统(BSS)接口(318)。以下描述这些子组件中的每一个。
在本发明的一个实施例中,每个VM(302A到302N)可以是在VMH(300)的底层硬件上执行的计算机程序。此外,每个VM(302A到302N)可以表示模拟物理计算系统并且因此提供自包含的执行环境的计算机程序,一个或多个其它计算机程序(例如,客户OS和/或应用程序)可以在所述环境下执行。另外,每个VM(302A到302N)可以访问底层VMH(300)硬件并使用抽象层-即VMM(304)(下面描述)与其它上述VMH(300)子组件交互。此外,每个VM(302A到302N)可以包含提交磁盘输入-输出(IO)操作的功能,所述操作涉及从驻留于PSA(312)上的对应虚拟机磁盘组(VDS)(314A到314N)(下面描述)读取数据和向其写入数据。
在本发明的一个实施例中,VMM(304)可以是在VMH(300)的底层硬件上执行的计算机程序或过程(即,计算机程序的实例)。具体地说,VMM(304)可以是负责管理各种VM(302A到302N)的计算机程序或过程。就此来说,VMM(304)可以包含以下功能:创建和删除VM(302A到302N);分配和收回VMH(300)资源以支持VM(302A到302N)的执行;并且启用以及管理各种VM(302A到302N)与其它上述VMH(300)子组件之间的过程内通信。普通技术人员将了解,VMM(304)可以在不脱离本发明的范围的情况下执行其它功能。
在本发明的一个实施例中,OS(306)可以是在VMH(300)的底层硬件上执行的计算机程序。具体地说,OS(306)可以是负责管理底层VMH(300)硬件和可以在VMH(300)上执行的其它逻辑/软件组件的计算机程序。此外,OS(306)可以包含例如以下功能:支持基本VMH(300)功能;安排任务;分配VMH(300)资源;执行其它计算机程序和/或过程;并促进各种VMH(300)子组件之间的过程间通信。普通技术人员将了解,OS(306)可以在不脱离本发明的范围的情况下执行其它功能。
在本发明的一个实施例中,CMS代理(308)可以是在VMH(300)的底层硬件上执行的计算机程序或过程(即,计算机程序的实例)。具体地说,CMS代理(308)可以是负责调节CMS(340)与HMA(310)之间的通信的计算机程序或过程。就此来说,CMS代理(308)可以包含以下功能:从CMS(340)接收指令;将接收到的指令转发给HMA(310);接收来自HMA(310)的指令结果;并将接收到的指令结果提交给CMS(340)。普通技术人员将了解,CMS代理(308)可以在不脱离本发明的范围的情况下执行其它功能。
在本发明的一个实施例中,HMA(310)可以是在VMH(300)的底层硬件上执行的计算机程序或过程(即,计算机程序的实例)。具体地说,HMA(310)可以是负责管理与虚拟环境有关的VMH(300)上的大多数操作的计算机程序或过程。就此来说,HMA(310)可以包含以下功能:经由CMS(340)和CMS代理(308)从管理员客户端(342)和/或恢复代理主机(RPH)(344)接收指令;执行接收到的指令,从而经由VMM(304)操纵一个或多个VM(302A到302N);基于执行接收到的指令获得指令结果;并且经由CMS代理(308)和CMS(340)将指令结果提供给管理员客户端(342)和/或RPH(344)。在本发明的一个实施例中,如果CMS(340)被禁用,那么HMA(310)可以包含直接从管理员客户端(342)和/或RPH(344)接收指令的其它功能。普通技术人员将了解,在不脱离本发明的范围的情况下,HMA(310)可以执行其它功能。
在本发明的一个实施例中,PSA(312)可以表示一个或多个物理存储装置和/或介质的集合,在其上可以合并与一个或多个VM(302A到302N)相关的各种形式的信息。一个或多个物理存储装置和/或介质可以是或可以不是相同类型。此外,可以通过任何存储机构(例如,文件系统、表或记录的集合等)来布置在PSA(312)中合并的信息。在本发明的一个实施例中,PSA(312)可以使用永久性(即,非易失性)存储装置来实施。永久性存储装置的实例可以包含但不限于:光学存储装置、磁性存储装置、NAND闪存、NOR闪存、磁性随机存取存储器(M-RAM)、自旋力矩磁性RAM(ST-MRAM)、相变存储器(PCM),或定义为非易失性存储类存储器(SCM)的任何其它存储装置。
在本发明的一个实施例中,PSA(312)可以存储一个或多个虚拟机磁盘组(VDS)(314A到314N)。每个VDS(314A到314N)可以表示一个或多个虚拟机磁盘(未示出)的集合,所述磁盘在各种恢复时间点保留与对应VM(302A到302N)有关的状态的快照。也就是说,VDS(314A到314N)的基数匹配VM(302A到302N)的基数,从而确保VDS(314A到314N)与VM(302A到302N)之间的一对一映射。此外,VDS(314A到314N)的每个虚拟机磁盘(未示出)可以是存储虚拟机状态和相关联元数据的逻辑容器、数据对象或数据结构,这对于相应的VM(302A到302N)的操作可能是必要的。此外,每个虚拟机磁盘(未示出)和/或VDS(314A到314N)可以横跨至少部分地实施PSA(312)的一个或多个物理存储装置和/或介质。
在本发明的一个实施例中,PSA(312)还可以存储可以在VMH(300)上执行的每个VM(302A到302N)的虚拟机配置信息(VCI)(316)。给定VM(302A到302N)的VCI(316)可以指定与给定VM(302A到302N)的操作有关的各种设置。这些设置可以包含但不限于硬件配置设置(例如,例如处理器、存储器、存储装置、网络带宽等的计算资源,其支持给定VM(302A到302N)),电源管理设置,以及可选工具。普通技术人员将了解,在不脱离本发明的范围的情况下,VCI(316)可以指定附加或替代信息。
在本发明的一个实施例中,BSS接口(318)可以是硬件和/或软件实施的构造,其采用一组子例程定义、协议和/或工具来实现VMH(300)与BSS(346)之间的通信。作为实例,BSS接口(318)可以是可以通过分配的web地址(例如,统一资源定位符(URL))和WAN(例如,因特网)连接访问的web应用程序编程接口(API)。
在本发明的一个实施例中,恢复代理(参见例如图1)可以替代地驻留在一个或多个VMH(300)上(即,而不是恢复代理主机(RPH))。在这样的实施例中,恢复代理可以在其上执行的VMH(300)还可以包含分配在PSA(312) 内的数据缓存区(未示出)(下面描述)。在这样的实施例中,恢复代理可以在其上执行的VMH(300)还可以包含主机接口(未示出),以实现恢复代理与其它VMH(300)之间的通信。此外,PSA(312)可另外存储用于连接到CMS(542)的主连接信息(PCI)和用于连接到各种其它VMH(300)的主机连接信息(HCI)(下面描述)。
图4示出了根据本发明的一个或多个实施例的备份存储系统(BSS)。BSS(400)可以包含主机接口(402)和物理存储阵列(PSA)(404)。以下描述这些子组件中的每一个。
在本发明的一个实施例中,主机接口(402)可以是硬件和/或软件实施的构造,其采用一组子例程定义、协议和/或工具来实现BSS(400)与可以使用BSS(400)进行数据备份、存档和/或灾难恢复的各种虚拟机主机(VMH)(420A到420N)之间的通信。作为实例,主机接口(402)可以是可以通过分配的web地址(例如,统一资源定位符(URL))和WAN(例如,因特网)连接访问的web应用程序编程接口(API)。
在本发明的一个实施例中,PSA(404)可以表示一个或多个物理存储装置和/或介质的集合,在其上可以合并与一个或多个VM(302A到302N)相关的各种形式的信息。一个或多个物理存储装置和/或介质可以是或可以不是相同类型。此外,可以通过任何存储机构(例如,文件系统、表或记录的集合等)来布置在PSA(312)中合并的信息。在本发明的一个实施例中,PSA(312)可以使用永久性(即,非易失性)存储装置来实施。永久性存储装置的实例可以包含但不限于:光学存储装置、磁性存储装置、NAND闪存、NOR闪存、磁性随机存取存储器(M-RAM)、自旋力矩磁性RAM(ST-MRAM)、相变存储器(PCM),或定义为非易失性存储类存储器(SCM)的任何其它存储装置。
在本发明的一个实施例中,PSA(404)可以存储一个或多个备份虚拟机磁盘组(VDS)(406A到406N)。每个备份VDS(406A到406N)可以是驻留在一个或多个VMH(420A到420N)上的对应VDS(未示出)的副本(参见例如图3)。随后,每个备份VDS(406A到406N)可以表示一个或多个复制虚拟机磁盘的集合,所述磁盘在各个恢复时间点保留与对应的虚拟机(未示出)相关联的状态的快照的副本。此外,备份VDS(406A到406N)的每个复制虚拟机磁盘(未示出)可以是存储虚拟机状态的副本的逻辑容器、数据对象或数据结构。此外,每个复制虚拟机磁盘(未示出)和/或备份VDS(406A到406N)可以横跨至少部分地实施BSS(400)的一个或多个物理存储装置和/或介质。
在本发明的一个实施例中,PSA(404)还可以存储可以在一个或多个VMH(420A到420N)上执行的每个虚拟机的备份虚拟机配置信息(VCI)(408)。每个备份VCI(408)可以是驻留在一个或多个VMH(420A到420N)上的对应VCI(未示出)的副本(参见例如图3)。随后,给定虚拟机的备份VCI(408)可以表示与给定虚拟机的操作有关的各种设置的副本。这些设置可以包含但不限于硬件配置设置(例如,例如处理器、存储器、存储装置、网络带宽等的计算资源,其支持给定的虚拟机),电源管理设置和可选工具。普通技术人员将了解,备份VCI(408)可以在不脱离本发明的范围的情况下指定附加或替代信息。
图5示出了根据本发明的一个或多个实施例的恢复代理主机(RPH)。RPH(500)可以包含客户端接口(502)、中央管理服务(CMS)接口(504)、主机接口(506)、恢复代理(508)和操作系统(OS),以及物理存储阵列(PSA)(512)。以下描述这些子组件中的每一个。
在本发明的一个实施例中,客户端接口(502)可以是硬件和/或软件实施的构造,其采用一组子例程定义、协议和/或工具来实现RPH(500)与管理员客户端(540)之间的通信。作为实例,客户端接口(502)可以是可以通过分配的web地址(例如,统一资源定位符(URL))和WAN(例如,因特网)连接访问的web应用程序编程接口(API)。
在本发明的一个实施例中,CMS接口(504)可以是硬件和/或软件实施的构造,其采用一组子例程定义、协议和/或工具来实现RPH(500)与CMS(542)之间的通信。作为实例,CMS接口(504)可以是可以通过分配的web地址(例如,URL)和WAN(例如,因特网)连接来访问的web API。
在本发明的一个实施例中,主机接口(506)可以是硬件和/或软件实施的构造,其采用一组子例程定义、协议和/或工具来实现RPH(500)与一个或多个虚拟机主机(VMH)(544A到544N)之间的通信。当通过CMS接口(504)建立的与CMS(542)的连接被禁用或以其它方式不可用时,RPH(500)可以直接与各种VMH(544A到544N)通信,而不是通过CMS(542)间接通信。作为实例,主机接口(506)可以是可以通过分配的web地址(例如,统一资源定位符(URL))和WAN(例如,因特网)连接访问的web应用程序编程接口(API)。
在本发明的一个实施例中,恢复代理(508)可以是在RPH(500)的底层硬件上执行的计算机程序或过程(即,计算机程序的实例)。具体地说,根据本发明的一个或多个实施例(参见例如图7A到7G),恢复代理(508)可以是负责执行虚拟机恢复的计算机程序或过程。就此来说,恢复代理(508)可以包含以下功能:经由客户端接口(502)从管理员客户端(540)接收恢复请求;并且通过经由CMS(542)与目标VMH(544A到544N)的间接交互或通过与目标VMH(544A到544N)的直接交互来处理所接收的恢复请求以恢复指定目标VMH(544A到544N)处的一个或多个虚拟机(未示出)。
在本发明的一个实施例中,OS(510)可以是在RPH(500)的底层硬件上执行的计算机程序。具体地说,OS(510)可以是负责管理底层RPH(500)硬件和可以在RPH(500)上执行的其它逻辑/软件组件的计算机程序。此外,OS(510)可以包含例如以下功能:支持基本RPH(500)的功能;安排任务;分配RPH(500)资源;执行其它计算机程序和/或过程;并促进各种RPH(500) 子组件之间的过程间通信。普通技术人员将了解,OS(510)可以在不脱离本发明的范围的情况下执行其它功能。
在本发明的一个实施例中,PSA(512)可以表示一个或多个物理存储装置和/或介质的集合,在其上可以合并与恢复代理(508)执行的操作相关的各种形式的信息。一个或多个物理存储装置和/或介质可以是或可以不是相同类型。此外,PSA(512)中合并的信息可以通过任何存储机构(例如,文件系统、表或记录的集合等)来布置。在本发明的一个实施例中,PSA(512)可以使用永久性(即,非易失性)存储装置来实施。永久性存储装置的实例可以包含但不限于:光学存储装置、磁性存储装置、NAND闪存、NOR闪存、磁性随机存取存储器(M-RAM)、自旋力矩磁性RAM(ST-MRAM)、相变存储器(PCM),或定义为非易失性存储类存储器(SCM)的任何其它存储装置。
在本发明的一个实施例中,PSA(512)的至少一部分可以被分配用于形成数据缓存区(514)。具体地说,数据缓存区(514)可以表示PSA(512)的逻辑分区,其由恢复代理(508)用以在虚拟机恢复操作期间将数据从一个地方(即,备份存储系统(BSS)(未示出))迁移到另一个地方(即,目标VMH(544A到544N))时暂时存储数据(例如,合并为备份虚拟机磁盘的虚拟机状态)。此外,PSA(512)还可以存储主连接信息(PCI)(516)和主机连接信息(HCI)(518)。PCI(516)可以指代与CMS(542)建立连接所必需的信息,并且在下面参考图6A进一步详细描述。另一方面,HCI(518)可以指代与任何给定VMH(544A到544N)建立连接所必需的信息,并且在下面参考图6B进一步详细描述。
图6A示出了根据本发明的一个或多个实施例的主连接信息(PCI)。PCI(600)可以表示与建立连接并与中央管理服务(CMS)交互相关的信息(参见例如图1)。此外,PCI(600)可以包含CMS因特网协议(IP)地址(602)和CMS登录凭证(604)。下面描述这些信息片段中的每一个。
在本发明的一个实施例中,CMS IP地址(602)可以是在启用IP的网络中分配给CMS的标识串。CMS IP地址(602)不仅识别CMS,而且指定CMS在启用IP的网络中的位置。目前,IP地址符合IP版本4(IPv4)寻址标准(例如,“192.168.1.15/24”)或IP版本6(IPv6)寻址标准(例如,“2001:db8:0:1234:0:567:8:1”)。
在本发明的一个实施例中,CMS登录凭证(604)可以指代访问CMS和/或与CMS交互所需的认证信息。CMS登录凭证(604)可以包含但不限于CMS用户标识符(ID)(606)和对应的CMS密码(608)。CMS用户ID(604)可以是分配给恢复代理的字母数字字符串(参见例如图5),其将恢复代理识别为CMS的用户。另一方面,CMS密码(608)可以是与CMS用户ID(606)匹配的字符串(例如,字母、数字、符号等),其是认证恢复代理所必需的,从而允许恢复代理与CMS连接、访问CMS并与CMS交互。
图6B示出了根据本发明的一个或多个实施例的主机连接信息(HCI)。HCI(620)可以表示与建立连接并与给定虚拟机主机(VMH)交互相关的信息(参见例如图1)。与给定VMH相对应的每个HCI(620)可以与分配给给定VMH的VMH ID(630A到630N)相关联。此外,HCI(620)可以包含VMH因特网协议(IP)地址(622)和VMH登录凭证(624)。下面描述这些信息片段中的每一个。
在本发明的一个实施例中,VMH IP地址(622)可以是在启用IP的网络中分配给VMH的标识串。VMH IP地址(622)不仅识别VMH,而且指定VMH在启用IP的网络中的位置。目前,IP地址符合IP版本4(IPv4)寻址标准(例如,“192.168.1.15/24”)或IP版本6(IPv6)寻址标准(例如,“2001:db8:0:1234:0:567:8:1”)。
在本发明的一个实施例中,VMH登录凭证(624)可以指代访问VMH和/或与VMH交互所需的认证信息。VMH登录凭证(624)可以包含但不限于VMH 用户标识符(ID)(626)和对应的VMH密码(628)。VMH用户ID(624)可以是分配给恢复代理的字母数字字符串(参见例如图5),其将恢复代理识别为VMH的用户。另一方面,VMH密码(628)可以是与VMH用户ID(626)匹配的字符串(例如,字母、数字、符号等),其是认证恢复代理所必需的。从而允许恢复代理与VMH连接、访问VMH并与VMH交互。
图7A到7G示出了描述根据本发明的一个或多个实施例的用于恢复虚拟机的方法的流程图。下面概述的各个步骤可以由恢复代理执行(参见例如图1和5)。此外,虽然顺序地呈现和描述了流程图中的各个步骤,但是普通技术人员将了解,可以以不同顺序执行一些或所有步骤,可以组合或省略一些或所有步骤,并且可以并行地执行一些或所有步骤。
转到图7A,在步骤700中,从管理员客户端接收恢复请求(参见例如图1)。在本发明的一个实施例中,恢复请求可以针对从失效或故障状态恢复虚拟机。此外,恢复请求可以包含与待恢复虚拟机相关联的虚拟机标识符(ID)和与虚拟机主机(VMH)相关联的目标主机ID(参见例如图3),待恢复虚拟机将被恢复到所述虚拟机主机上。
在步骤702中,响应于恢复请求(在步骤700中接收到),获取主连接信息(PCI)。在本发明的一个实施例中,PCI可以表示与建立连接和与中央管理服务(CMS)交互相关的信息。此外,PCI可以包含与CMS相关联的互联网协议(IP)地址和与CMS交互所需的适当登录凭证。因此,在步骤704中,使用PCI(在步骤702中获取),与CMS建立连接。
在步骤706中,实例化并维持CMS连接(在步骤704中建立)的保活状态(KAS)。在本发明的一个实施例中,KAS可以是反映上述CMS连接的有效性状态的数据对象。也就是说,KAS可以作为关于CMS是否仍在运行的指标。此外,可以基于传输控制协议(TCP)保活分组的周期性发出来维持KAS,所述保活分组可以通过CMS连接被引导到CMS。为了避免终止CMS连接,在给定的持续时间内预计有来自CMS的响应,对保活分组的发出进行回复。如果在给定的持续时间内未接收到响应,那么认为CMS不可操作,从而导致CMS连接终止。
在步骤708中,与目标VMH建立间接连接。具体地说,在本发明的一个实施例中,可以通过CMS与目标VMH建立连接(在步骤704中已经与CMS建立了CMS连接)。此外,建立间接连接的目标VMH可以是与目标主机ID(在步骤700中接收)相关联的VMH。
在步骤710中,基于KAS(因步骤706而维持)确定CMS连接(在步骤704中建立)是否有效。在本发明的一个实施例中,如果KAS反映CMS连接仍然有效(即,CMS仍然可操作且响应积极),那么所述过程可以进行到步骤716(参见例如图7B)。另一方面,在本发明的另一个实施例中,如果KAS反映CMS连接已变得无效(即,CMS不可操作和/或无响应),那么所述过程可替代地进行到步骤746(参见例如图7D)。
转到图7B,在步骤716中,在确定(在步骤710中)CMS连接仍然有效之后,在目标VMH(在步骤708中与其建立间接连接)上创建新虚拟机。具体地说,在本发明的一个实施例中,可以操纵CMS以向驻留在目标VMH上的主机管理代理(host management agent;HMA)(参见例如图3)发出指令,其中指令可以指示HMA在目标VMH上创建新的虚拟机。此外,为了创建新虚拟机,还可以指示HMA在驻留在目标VMH上的物理存储装置内创建对应的新虚拟机磁盘(VMD)。新VMD可以被实例化为空白或未填充的VMD;然而,可以表示逻辑容器,其中要存储与待恢复虚拟机相关的待恢复虚拟机状态。
在步骤718中,基于KAS(因步骤706而维持)确定CMS连接(在步骤704中建立)是否有效。在本发明的一个实施例中,如果KAS反映CMS连接仍然有效(即,CMS仍然可操作且响应积极),那么所述过程可以进行到步骤720。另一方面,在本发明的另一个实施例中,如果KAS反映CMS连接已变得无效(即,CMS不可操作和/或无响应),那么所述过程可替代地进行到步骤756(参见例如图7E)。
在步骤720中,在确定(在步骤718中)CMS连接仍然有效之后,与备份存储系统(BSS)(参见例如图1)建立连接。具体地说,在本发明的一个实施例中,可以进一步操纵CMS以指示目标VMH上的上述HMA连接到BSS,目标VMH与BSS可操作地连接。在接收到所述指令后,HMA可以通过驻留在目标VMH上的BSS接口和/或操作系统(OS)连接到BSS(参见例如图3)。
在步骤722中,识别在BSS上合并的备份VMD。在本发明的一个实施例中,备份VMD可以表示在BSS的物理存储装置内分配的逻辑容器(参见例如图4),其中存储给定虚拟机状态的副本。此外,备份VMD以及因此给定的虚拟机状态可以与虚拟机ID(在步骤700中接收)相关联,所述虚拟机ID与待恢复虚拟机有关。给定的虚拟机状态涵盖恢复待恢复虚拟机所必需的数据文件、元数据等。
在步骤724中,开始缓存备份VMD(在步骤722中识别)。在本发明的一个实施例中,备份VMD的缓存可能需要一次复制存储在备份VMD中的虚拟机状态、块或数据块,并且将这些复制的数据块(通过目标VMH和CMS)转发到数据缓存区,其可以驻留在恢复代理主机(RPH)上(参见例如图5)。此外,数据缓存区可以用作复制的数据块可以暂时驻留的存储装置。
在本发明的一个实施例中,虚拟机状态的每个数据块可以指代备份VMD中的物理上相邻的字节序列,其保留某一粒度的数据(例如,某一粒度的虚拟机状态)。此外,每个数据块可以与相应的数据块偏移量相关联,所述数据块偏移量可以指在备份VMD的开始部分与数据块的开始部分之间的表示为字节计数的距离(或位移)。也就是说,数据块偏移量可以表示备份VMD中存储相应数据块的位置,其中所述位置相对于备份VMD的开始部分。因此,当每个数据块被缓存(即,复制并存储在数据缓存区中)时,可以跟踪表示与待缓存的下一个数据块(如果有的话)相关联的数据块偏移量的读取偏移量。
转到图7C,在步骤730中,基于KAS(因步骤706而维持)确定CMS连接(在步骤704中建立)是否有效。在本发明的一个实施例中,如果KAS反映CMS连接仍然有效(即,CMS仍然可操作且响应积极),那么所述过程可以进行到步骤732。另一方面,在本发明的另一个实施例中,如果KAS反映CMS连接已变得无效(即,CMS不可操作和/或无响应),那么所述过程可替代地进行到步骤770(参见例如图7F)。
在步骤732中,在确定(在步骤730中)CMS连接仍然有效之后,继续缓存备份VMD(在步骤724中开始),并且随后完成所述缓存。也就是说,在本发明的一个实施例中,当构成存储在备份VMD中的虚拟机状态的所有数据块在通过目标VMH和CMS从BSS迁移到RPH之后已经被复制并暂时存储在数据缓存区中时,缓存完成。此后,在步骤734中,开始将复制的虚拟机状态(存储在数据缓存区中)写入新的VMD(在步骤716中在目标VMH上创建)。在本发明的一个实施例中,写入复制的虚拟机状态可能需要一次将复制的虚拟机状态、块或数据块沿着通过CMS的路径从数据缓存区(驻留在RPH上)迁移到新的VMD(驻留在目标VMH上)。此外,当每个数据块被写入新VMD时,可以跟踪写入偏移量-表示与待写入的下一个数据块(如果有的话)相关联的数据块偏移量。
在步骤736中,基于KAS(因步骤706而维持)确定CMS连接(在步骤704中建立)是否有效。在本发明的一个实施例中,如果KAS反映CMS连接仍然有效(即,CMS仍然可操作且响应积极),那么所述过程可以进行到步骤738。另一方面,在本发明的另一个实施例中,如果KAS反映CMS连接已变得无效(即,CMS不可操作和/或无响应),那么所述过程可替代地进行到步骤782(参见例如图7G)。
在步骤738中,在确定(在步骤736中)CMS连接仍然有效之后,继续写入复制的虚拟机状态(在步骤734中开始),并且随后完成所述写入。也就是说,在本发明的一个实施例中,当构成暂时存储在数据缓存区中的复制的虚拟机状态的所有数据块已经通过CMS从RPH移动到目标VMH上的新VMD时,写入完成。在步骤740中,在用复制的虚拟机状态填充新VMD之后,激活新虚拟机(在步骤716中创建),从而完成虚拟机恢复过程。
转到图7D,在步骤746中,在确定(在步骤710中)CMS连接(在步骤704中建立)变得无效之后,获取主机连接信息(HCI)。在本发明的一个实施例中,所选择的HCI可以与目标主机ID(在步骤700中接收)相关联。此外,所选择的HCI可以表示与直接与目标VMH建立连接并与之交互(即,不是间接地通过CMS连接(已经在步骤708中发生))相关的信息。此外,所选择的HCI可以包含与目标VMH相关联的IP地址和与目标VMH交互所需的适当登录凭证。因此,此后,在步骤748中,使用所选择的HCI(在步骤746中获取),与目标VMH建立直接连接。
在步骤750中,在目标VMH(在步骤746中与其建立直接连接)上创建新虚拟机。具体地说,在本发明的一个实施例中,可以向驻留在目标VMH上的主机管理代理(HMA)(参见例如图3)发出指令,其中指令可以指示HMA在目标VMH上创建新的虚拟机。此外,为了创建新虚拟机,还可以指示HMA在驻留在目标VMH上的物理存储装置内创建对应的新虚拟机磁盘(VMD)。新VMD可以被实例化为空白或未填充的VMD;然而,可以表示逻辑容器,其中要存储与待恢复虚拟机相关的待恢复虚拟机状态。在下文中,所述过程可以进行到步骤760(参见例如图7E)。
转到图7E,在步骤756中,在确定(在步骤718中)CMS连接(在步骤704中建立)变得无效之后,获取HCI。在本发明的一个实施例中,所选择的HCI可以与目标主机ID(在步骤700中接收)相关联。此外,所选择的HCI可以表示与直接与目标VMH建立连接并与之交互(即,不是间接地通过CMS 连接(已经在步骤708中发生))相关的信息。此外,所选择的HCI可以包含与目标VMH相关联的IP地址和与目标VMH交互所需的适当登录凭证。因此,此后,在步骤758中,使用所选择的HCI(在步骤756中获取),与目标VMH建立直接连接。
在步骤760中,与备份存储系统(BSS)(参见例如图1)建立连接。具体地说,在本发明的一个实施例中,可以向目标VMH上的HMA发出指令以连接到BSS,目标VMH与BSS可操作地连接。在接收到所述指令后,HMA可以通过驻留在目标VMH上的BSS接口和/或操作系统(OS)连接到BSS(参见例如图3)。
在步骤762中,识别在BSS上合并的备份VMD。在本发明的一个实施例中,备份VMD可以表示在BSS的物理存储装置内分配的逻辑容器(参见例如图4),其中存储给定虚拟机状态的副本。此外,备份VMD以及因此给定的虚拟机状态可以与虚拟机ID(在步骤700中接收)相关联,所述虚拟机ID与待恢复虚拟机有关。给定的虚拟机状态涵盖恢复待恢复虚拟机所必需的数据文件、元数据等。
在步骤764中,开始缓存备份VMD(在步骤762中识别)。在本发明的一个实施例中,备份VMD的缓存可能需要一次复制存储在备份VMD中的虚拟机状态、块或数据块,并将这些复制的数据块(通过目标VMH)转发到数据缓存区,其可以驻留在恢复代理主机(RPH)上(参见例如图5)。此外,数据缓存区可以用作复制的数据块可以暂时驻留的存储装置。
在本发明的一个实施例中,虚拟机状态的每个数据块可以指代备份VMD中物理上相邻的字节序列,其保留某一粒度的数据(例如,某一粒度的虚拟机状态)。此外,每个数据块可以与相应的数据块偏移量相关联,所述数据块偏移量可以指在备份VMD的开始部分与数据块的开始部分之间的表示为字节计数的距离(或位移)。也就是说,数据块偏移量可以表示备份VMD中存储相应数据块的位置,其中所述位置相对于备份VMD的开始部分。因此,当每个数据块被缓存(即,复制并存储在数据缓存区中)时,可以跟踪表示与待缓存的下一个数据块(如果有的话)相关联的数据块偏移量的读取偏移量。在下文中,所述过程可以进行到步骤774(参见例如图7F)。
转到图7F,在步骤770中,在确定(在步骤730中)CMS连接(在步骤704中建立)变得无效之后,获取HCI。在本发明的一个实施例中,所选择的HCI可以与目标主机ID(在步骤700中接收)相关联。此外,所选择的HCI可以表示与直接与目标VMH建立连接并与之交互(即,不是间接地通过CMS连接(已经在步骤708中发生))相关的信息。此外,所选择的HCI可以包含与目标VMH相关联的IP地址和与目标VMH交互所需的适当登录凭证。因此,此后,在步骤772中,使用所选择的HCI(在步骤770中获取),与目标VMH建立直接连接。
在步骤774中,备份VMD的缓存(在步骤724中开始,然而,由于在步骤730中确定的CMS连接的无效而中断)继续并且随后完成。也就是说,在本发明的一个实施例中,备份VMD的缓存的中断可以在已经跟踪缓存操作的进展的读取偏移量处继续。在维持读取偏移量时,备份VMD的缓存可能不需要从备份VMD的开始部分重新开始,而是从待缓存的虚拟机状态的下一个数据块的位置(由读取偏移量指示)继续。随后,当构成存储在备份VMD中的虚拟机状态的所有数据块在通过目标VMH从BSS迁移到RPH之后已被复制并暂时存储在数据缓存区中时,备份VMD的缓存完成。
在步骤776中,开始将复制的虚拟机状态(存储在数据缓存区中)写入新的VMD(在步骤716中在目标VMH上创建)。在本发明的一个实施例中,写入复制的虚拟机状态可能需要一次将复制的虚拟机状态、块或数据块从数据缓存区(驻留在RPH上)迁移到新的VMD(驻留在目标VMH上)而无需通过CMS。此外,当每个数据块被写入新VMD时,可以跟踪写入偏移量-表示与待写入的下一个数据块(如果有的话)相关联的数据块偏移量。在下文中,所述过程可以进行到步骤786(参见例如图7G)。
转到图7G,在步骤782中,在确定(在步骤736中)CMS连接(在步骤704中建立)变得无效之后,获取HCI。在本发明的一个实施例中,所选择的HCI可以与目标主机ID(在步骤700中接收)相关联。此外,所选择的HCI可以表示与直接与目标VMH建立连接并与之交互(即,不是间接地通过CMS连接(已经在步骤708中发生))相关的信息。此外,所选择的HCI可以包含与目标VMH相关联的IP地址和与目标VMH交互所需的适当登录凭证。因此,此后,在步骤784中,使用所选择的HCI(在步骤782中获取),与目标VMH建立直接连接。
在步骤786中,复制的虚拟机状态的写入(在步骤734中开始,然而,由于在步骤736中确定的CMS连接的无效而中断)继续并且随后完成。也就是说,在本发明的一个实施例中,复制的虚拟机状态的写入的中断可以在已经跟踪写入操作的进展的写入偏移量处继续。在维持写入偏移量时,可以不需要从开始部分重新开始复制虚拟机状态的写入,而是从待写入的虚拟机状态的下一个数据块的位置(由写入偏移量指示)继续。随后,当构成暂时存储在数据缓存区中的虚拟机状态的所有数据块已经从RPH移动到目标VMH上的新VMD时,完成复制虚拟机状态的写入。在步骤788中,在用复制的虚拟机状态填充新VMD之后,激活新虚拟机(在步骤716中创建),从而完成虚拟机恢复过程。
图8示出了根据本发明的一个或多个实施例的计算系统。计算装置(800)可包含一个或多个计算机处理器(802);非永久性存储装置(804)(例如,易失性存储器,例如随机存取存储器(RAM)、高速缓存存储器);永久性存储装置(806)(例如,硬盘、例如压缩光盘(CD)驱动器或数字通用光盘(DVD)驱动器的光学驱动器、闪存等);通信接口(812)(例如,蓝牙接口、红外线接口、网络接口、光学接口等);输入装置(810);输出装置(808)和众多其它元件(未示出)和功能性。以下描述这些组件中的每一个。
在本发明的一个实施例中,(多个)计算机处理器(802)可为用于处理指令的集成电路。举例来说,(多个)计算机处理器可为处理器的一个或多个核心或微核心。计算系统(800)还可包含一个或多个输入装置(810),例如,触摸屏、键盘、鼠标、麦克风、触控板、电子笔或任何其它类型的输入装置。另外,通信接口(812)可包含集成电路,其用于将计算系统(800)连接到网络(未示出)(例如,局域网(LAN)、例如因特网的广域网(WAN)、移动网络或任何其它类型的网络)和/或连接到另一装置(例如,另一计算装置)。
在本发明的一个实施例中,计算系统(800)可包含一个或多个输出装置(808),例如,屏幕(例如,液晶显示器(LCD)、等离子显示器、触摸屏、阴极射线管(CRT)监视器、投影仪或其它显示装置)、打印机、外部存储装置或任何其它输出装置。输出装置中的一个或多个可与(多个)输入装置相同或不同。(多个)输入和输出装置可本地或远程连接到(多个)计算机处理器(802)、非永久性存储装置(804)和永久性存储装置(806)。存在许多不同类型的计算系统,且前述(多个)输入和输出装置可采取其它形式。
用于执行本发明的实施例的计算机可读程序代码形式的软件指令可以全部或部分地暂时或永久地存储在例如CD、DVD、存储装置、磁盘、磁带、闪存、物理存储器或任何其它计算机可读存储介质的非暂时性计算机可读介质上。具体地说,软件指令可以对应于计算机可读程序代码,当由(多个)处理器执行时,所述计算机可读程序代码被配置成执行本发明的一个或多个实施例。
虽然上文已关于有限数目个实施例描述了本发明,但具有本公开权益的本领域技术人员将了解,可设计不脱离如本文中所公开的本发明的范围的其它实施例。因此,本发明的范围应仅受随附权利要求书限制。

Claims (20)

1.一种用于恢复虚拟机的方法,其包括:
从管理员客户端接收包括虚拟机标识符(ID)和目标主机ID的恢复请求;
响应于接收到所述恢复请求:
获取主连接信息(PCI);
使用所述PCI与中央管理服务(CMS)建立第一连接;
维持描述所述第一连接的有效性状态的保活状态(KAS);和
基于所述KAS,在与所述目标主机ID相关联的目标虚拟机主机(VMH)上恢复与所述虚拟机ID相关联的虚拟机。
2.根据权利要求1所述的方法,其中所述PCI包括与所述CMS相关联的互联网协议(IP)地址和与所述CMS交互所需的登录凭证。
3.根据权利要求1所述的方法,其中基于所述KAS恢复所述虚拟机包括:
与所述目标VMH建立第二连接,其中所述第二连接是通过所述CMS建立的间接连接;
基于所述KAS确定所述第一连接已变得无效,其中所述第二连接响应于所述第一连接变得无效而不可用;
基于所述确定:
获取与所述目标主机ID相关联的主机连接信息(HCI);
使用所述HCI与所述目标VMH建立第三连接,其中所述第三连接是绕过所述CMS的直接连接;
指示所述目标VMH在其上创建新虚拟机和新虚拟机磁盘(VMD),其中所述新虚拟机将替换与所述虚拟机ID相关联的所述虚拟机;
与备份存储系统(BSS)建立第四连接,其中所述第四连接是通过所述目标VMH建立的间接连接;
在所述BSS上识别与所述虚拟机ID相关联的备份VMD;
将存储在所述备份VMD中的虚拟机状态缓存到数据缓存区中,其中所述虚拟机状态通过所述目标VMH到达所述数据缓存区;
在所述缓存完成后,将所述虚拟机状态从所述数据缓存区写入到所述新VMD中;并且
在所述写入完成后,激活所述新虚拟机以恢复所述虚拟机。
4.根据权利要求3所述的方法,其中所述HCI包括与所述目标VMH相关联的互联网协议(IP)地址和与所述目标VMH交互所需的登录凭证。
5.根据权利要求1所述的方法,其中基于所述KAS恢复所述虚拟机包括:
与所述目标VMH建立第二连接,其中所述第二连接是通过所述CMS建立的间接连接;
指示所述目标VMH在其上创建新虚拟机和新虚拟机磁盘(VMD),其中所述新虚拟机将替换与所述虚拟机ID相关联的所述虚拟机;
基于所述KAS确定所述第一连接已变得无效,其中所述第二连接响应于所述第一连接变得无效而不可用;
基于所述确定:
获取与所述目标主机ID相关联的主机连接信息(HCI);
使用所述HCI与所述目标VMH建立第三连接,其中所述第三连接是绕过所述CMS的直接连接;
与备份存储系统(BSS)建立第四连接,其中所述第四连接是通过所述目标VMH建立的间接连接;
在所述BSS上识别与所述虚拟机ID相关联的备份VMD;
将存储在所述备份VMD中的虚拟机状态缓存到数据缓存区中,其中所述虚拟机状态通过所述目标VMH到达所述数据缓存区;
在所述缓存完成后,将所述虚拟机状态从所述数据缓存区写入到所述新VMD中;并且
在所述写入完成后,激活所述新虚拟机以恢复所述虚拟机。
6.根据权利要求1所述的方法,其中基于所述KAS恢复所述虚拟机包括:
与所述目标VMH建立第二连接,其中所述第二连接是通过所述CMS建立的间接连接;
指示所述目标VMH在其上创建新虚拟机和新虚拟机磁盘(VMD),其中所述新虚拟机将替换与所述虚拟机ID相关联的所述虚拟机;
与备份存储系统(BSS)建立第三连接,其中所述第三连接是通过所述目标VMH建立的间接连接;
在所述BSS上识别与所述虚拟机ID相关联的备份VMD;
将存储在所述备份VMD中的虚拟机状态缓存到数据缓存区中,同时跟踪读取偏移量,其中所述虚拟机状态通过所述目标VMH和所述CMS到达所述数据缓存区;
基于所述KAS并且在仍然缓存所述虚拟机状态的同时,确定所述第一连接已变得无效,其中所述第二连接响应于所述第一连接变得无效而不可用;
基于所述确定:
获取与所述目标主机ID相关联的主机连接信息(HCI);
使用所述HCI与所述目标VMH建立第四连接,其中所述第四连接是绕过所述CMS的直接连接;
根据所述读取偏移量在所述数据缓存区中继续所述虚拟机状态的所述缓存,其中所述虚拟机状态通过所述目标VMH到达所述数据缓存区;
在所述缓存完成后,将所述虚拟机状态从所述数据缓存区写入到所述新VMD中;并且
在所述写入完成后,激活所述新虚拟机以恢复所述虚拟机。
7.根据权利要求1所述的方法,其中基于所述KAS恢复所述虚拟机包括:
与所述目标VMH建立第二连接,其中所述第二连接是通过所述CMS建立的间接连接;
指示所述目标VMH在其上创建新虚拟机和新虚拟机磁盘(VMD),其中所述新虚拟机将替换与所述虚拟机ID相关联的所述虚拟机;
与备份存储系统(BSS)建立第三连接,其中所述第三连接是通过所述目标VMH建立的间接连接;
在所述BSS上识别与所述虚拟机ID相关联的备份VMD;
将存储在所述备份VMD中的虚拟机状态缓存到数据缓存区中,其中所述虚拟机状态通过所述目标VMH和所述CMS到达所述数据缓存区;
在所述缓存完成之后,将所述虚拟机状态从所述数据缓存区写入到所述新VMD中,同时跟踪写入偏移量,其中所述虚拟机状态通过所述CMS到达所述目标VMH上的所述新VMD;
基于所述KAS并且在仍然写入所述虚拟机状态的同时,确定所述第一连接已变得无效,其中所述第二连接响应于所述第一连接变得无效而不可用;
基于所述确定:
获取与所述目标主机ID相关联的主机连接信息(HCI);
使用所述HCI与所述目标VMH建立第四连接,其中所述第四连接是绕过所述CMS的直接连接;
根据所述写入偏移量在所述新VMD中继续所述虚拟机状态的所述写入;并且
在所述写入完成后,激活所述新虚拟机以恢复所述虚拟机。
8.根据权利要求1所述的方法,其中基于所述KAS恢复所述虚拟机包括:
与所述目标VMH建立第二连接,其中所述第二连接是通过所述CMS建立的间接连接;
指示所述目标VMH在其上创建新虚拟机和新虚拟机磁盘(VMD),其中所述新虚拟机将替换与所述虚拟机ID相关联的所述虚拟机;
与备份存储系统(BSS)建立第三连接,其中所述第三连接是通过所述目标VMH建立的间接连接;
在所述BSS上识别与所述虚拟机ID相关联的备份VMD;
将存储在所述备份VMD中的虚拟机状态缓存到数据缓存区中,其中所述虚拟机状态通过所述目标VMH和所述CMS到达所述数据缓存区;
在所述缓存完成之后,将所述虚拟机状态从所述数据缓存区写入到所述新VMD中,其中所述虚拟机状态通过所述CMS到达所述目标VMH上的所述新VMD;并且
在所述写入完成之后,激活所述新虚拟机以恢复所述虚拟机。
9.一种系统,其包括:
管理员客户端;
可操作地连接到所述管理员客户端的计算机处理器;
中央管理服务(CMS)和可操作地彼此连接且连接到所述计算机处理器的多个虚拟机主机(VMH);和
在所述计算机处理器上执行的恢复代理,其中所述恢复代理被编程为:
从所述管理员客户端接收包括虚拟机标识符(ID)和目标主机ID的恢复请求;
响应于接收到所述恢复请求:
获取主连接信息(PCI);
使用所述PCI与所述CMS建立第一连接;
维持描述所述第一连接的有效性状态的保活状态(KAS);并且
基于所述KAS,在所述多个VMH中的与所述目标主机ID相关联的目标VMH上恢复与所述虚拟机ID相关联的虚拟机。
10.根据权利要求9所述的系统,其中所述多个VMH中的VMH包括所述计算机处理器,其中所述VMH不是所述目标VMH。
11.根据权利要求9所述的系统,其进一步包括:
恢复代理主机(RPH),其包括所述计算机处理器,并且可操作地连接到所述管理员客户端、所述CMS和所述多个VMH。
12.根据权利要求9所述的系统,其进一步包括:
备份存储系统(BSS),其可操作地连接到所述多个VMH。
13.一种非暂时性计算机可读介质(CRM),其包括计算机可读程序代码,所述代码在由计算机处理器执行时使所述计算机处理器能够:
从管理员客户端接收包括虚拟机标识符(ID)和目标主机ID的恢复请求;
响应于接收到所述恢复请求:
获取主连接信息(PCI);
使用所述PCI与中央管理服务(CMS)建立第一连接;
维持描述所述第一连接的有效性状态的保活状态(KAS);并且
基于所述KAS,在与所述目标主机ID相关联的目标虚拟机主机(VMH)上恢复与所述虚拟机ID相关联的虚拟机。
14.根据权利要求13所述的非暂时性CRM,其中所述PCI包括与所述CMS相关联的互联网协议(IP)地址和与所述CMS交互所需的登录凭证。
15.根据权利要求13所述的非暂时性CRM,其中基于所述KAS恢复所述虚拟机包括:
与所述目标VMH建立第二连接,其中所述第二连接是通过所述CMS建立的间接连接;
基于所述KAS确定所述第一连接已变得无效,其中所述第二连接响应于所述第一连接变得无效而不可用;
基于所述确定:
获取与所述目标主机ID相关联的主机连接信息(HCI);
使用所述HCI与所述目标VMH建立第三连接,其中所述第三连接是绕过所述CMS的直接连接;
指示所述目标VMH在其上创建新虚拟机和新虚拟机磁盘(VMD),其中所述新虚拟机将替换与所述虚拟机ID相关联的所述虚拟机;
与备份存储系统(BSS)建立第四连接,其中所述第四连接是通过所述目标VMH建立的间接连接;
在所述BSS上识别与所述虚拟机ID相关联的备份VMD;
将存储在所述备份VMD中的虚拟机状态缓存到数据缓存区中,其中所述虚拟机状态通过所述目标VMH到达所述数据缓存区;
在所述缓存完成后,将所述虚拟机状态从所述数据缓存区写入到所述新VMD中;并且
在所述写入完成后,激活所述新虚拟机以恢复所述虚拟机。
16.根据权利要求15所述的非暂时性CRM,其中所述HCI包括与所述目标VMH相关联的互联网协议(IP)地址和与所述目标VMH交互所需的登录凭证。
17.根据权利要求13所述的非暂时性CRM,其中基于所述KAS恢复所述虚拟机包括:
与所述目标VMH建立第二连接,其中所述第二连接是通过所述CMS建立的间接连接;
指示所述目标VMH在其上创建新虚拟机和新虚拟机磁盘(VMD),其中所述新虚拟机将替换与所述虚拟机ID相关联的所述虚拟机;
基于所述KAS确定所述第一连接已变得无效,其中所述第二连接响应于所述第一连接变得无效而不可用;
基于所述确定:
获取与所述目标主机ID相关联的主机连接信息(HCI);
使用所述HCI与所述目标VMH建立第三连接,其中所述第三连接是绕过所述CMS的直接连接;
与备份存储系统(BSS)建立第四连接,其中所述第四连接是通过所述目标VMH建立的间接连接;
在所述BSS上识别与所述虚拟机ID相关联的备份VMD;
将存储在所述备份VMD中的虚拟机状态缓存到数据缓存区中,其中所述虚拟机状态通过所述目标VMH到达所述数据缓存区;
在所述缓存完成后,将所述虚拟机状态从所述数据缓存区写入到所述新VMD中;并且
在所述写入完成后,激活所述新虚拟机以恢复所述虚拟机。
18.根据权利要求13所述的非暂时性CRM,其中基于所述KAS恢复所述虚拟机包括:
与所述目标VMH建立第二连接,其中所述第二连接是通过所述CMS建立的间接连接;
指示所述目标VMH在其上创建新虚拟机和新虚拟机磁盘(VMD),其中所述新虚拟机将替换与所述虚拟机ID相关联的所述虚拟机;
与备份存储系统(BSS)建立第三连接,其中所述第三连接是通过所述目标VMH建立的间接连接;
在所述BSS上识别与所述虚拟机ID相关联的备份VMD;
将存储在所述备份VMD中的虚拟机状态缓存到数据缓存区中,同时跟踪读取偏移量,其中所述虚拟机状态通过所述目标VMH和所述CMS到达所述数据缓存区;
基于所述KAS并且在仍然缓存所述虚拟机状态的同时,确定所述第一连接已变得无效,其中所述第二连接响应于所述第一连接变得无效而不可用;
基于所述确定:
获取与所述目标主机ID相关联的主机连接信息(HCI);
使用所述HCI与所述目标VMH建立第四连接,其中所述第四连接是绕过所述CMS的直接连接;
根据所述读取偏移量在所述数据缓存区中继续所述虚拟机状态的所述缓存,其中所述虚拟机状态通过所述目标VMH到达所述数据缓存区;
在所述缓存完成后,将所述虚拟机状态从所述数据缓存区写入到所述新VMD中;并且
在所述写入完成后,激活所述新虚拟机以恢复所述虚拟机。
19.根据权利要求13所述的非暂时性CRM,其中基于所述KAS恢复所述虚拟机包括:
与所述目标VMH建立第二连接,其中所述第二连接是通过所述CMS建立的间接连接;
指示所述目标VMH在其上创建新虚拟机和新虚拟机磁盘(VMD),其中所述新虚拟机将替换与所述虚拟机ID相关联的所述虚拟机;
与备份存储系统(BSS)建立第三连接,其中所述第三连接是通过所述目标VMH建立的间接连接;
在所述BSS上识别与所述虚拟机ID相关联的备份VMD;
将存储在所述备份VMD中的虚拟机状态缓存到数据缓存区中,其中所述虚拟机状态通过所述目标VMH和所述CMS到达所述数据缓存区;
在所述缓存完成之后,将所述虚拟机状态从所述数据缓存区写入到所述新VMD中,同时跟踪写入偏移量,其中所述虚拟机状态通过所述CMS到达所述目标VMH上的所述新VMD;
基于所述KAS并且在仍然写入所述虚拟机状态的同时,确定所述第一连接已变得无效,其中所述第二连接响应于所述第一连接变得无效而不可用;
基于所述确定:
获取与所述目标主机ID相关联的主机连接信息(HCI);
使用所述HCI与所述目标VMH建立第四连接,其中所述第四连接是绕过所述CMS的直接连接;
根据所述写入偏移量在所述新VMD中继续所述虚拟机状态的所述写入;并且
在所述写入完成后,激活所述新虚拟机以恢复所述虚拟机。
20.根据权利要求13所述的非暂时性CRM,其中基于所述KAS恢复所述虚拟机包括:
与所述目标VMH建立第二连接,其中所述第二连接是通过所述CMS建立的间接连接;
指示所述目标VMH在其上创建新虚拟机和新虚拟机磁盘(VMD),其中所述新虚拟机将替换与所述虚拟机ID相关联的所述虚拟机;
与备份存储系统(BSS)建立第三连接,其中所述第三连接是通过所述目标VMH建立的间接连接;
在所述BSS上识别与所述虚拟机ID相关联的备份VMD;
将存储在所述备份VMD中的虚拟机状态缓存到数据缓存区中,其中所述虚拟机状态通过所述目标VMH和所述CMS到达所述数据缓存区;
在所述缓存完成之后,将所述虚拟机状态从所述数据缓存区写入到所述新VMD中,其中所述虚拟机状态通过所述CMS到达所述目标VMH上的所述新VMD;并且
在所述写入完成后,激活所述新虚拟机以恢复所述虚拟机。
CN201910879290.4A 2018-09-27 2019-09-18 用于可靠地恢复虚拟机的方法和系统 Active CN110955489B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/144,838 2018-09-27
US16/144,838 US10929250B2 (en) 2018-09-27 2018-09-27 Method and system for reliably restoring virtual machines

Publications (2)

Publication Number Publication Date
CN110955489A true CN110955489A (zh) 2020-04-03
CN110955489B CN110955489B (zh) 2024-03-29

Family

ID=68062807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910879290.4A Active CN110955489B (zh) 2018-09-27 2019-09-18 用于可靠地恢复虚拟机的方法和系统

Country Status (3)

Country Link
US (1) US10929250B2 (zh)
EP (1) EP3629180B1 (zh)
CN (1) CN110955489B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130227567A1 (en) * 2012-02-23 2013-08-29 Nec Corporation Thin client system, connection management server, connection management method and connection management program
US20150113531A1 (en) * 2013-10-18 2015-04-23 Power-All Networks Limited System for migrating virtual machine and method thereof
US9329944B2 (en) * 2012-03-26 2016-05-03 Fujitsu Limited Storage system, storage apparatus, and data restoration method
CN105630632A (zh) * 2015-12-25 2016-06-01 华为技术有限公司 一种虚拟机恢复的方法及虚拟机管理设备
CN107077403A (zh) * 2014-08-21 2017-08-18 安东·戈斯德夫 用于来自图像级备份的文件级恢复的用户授权

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0112781D0 (en) * 2001-05-25 2001-07-18 Global Continuity Plc Method for rapid recovery from a network file server failure
US8417796B2 (en) * 2006-01-17 2013-04-09 Leostream Corporation System and method for transferring a computing environment between computers of dissimilar configurations
US8117495B2 (en) * 2007-11-26 2012-02-14 Stratus Technologies Bermuda Ltd Systems and methods of high availability cluster environment failover protection
US8261282B1 (en) * 2008-09-30 2012-09-04 Netapp, Inc. System and method for virtual machine host load protection
CN101414277B (zh) * 2008-11-06 2010-06-09 清华大学 一种基于虚拟机的按需增量恢复容灾系统及方法
JP5477047B2 (ja) * 2010-02-25 2014-04-23 富士通株式会社 情報処理装置、仮想計算機接続方法、プログラム及び記録媒体
US8356120B2 (en) * 2011-01-07 2013-01-15 Red Hat Israel, Ltd. Mechanism for memory state restoration of virtual machine (VM)-controlled peripherals at a destination host machine during migration of the VM
US9176829B2 (en) * 2011-07-01 2015-11-03 Microsoft Technology Licensing, Llc Managing recovery virtual machines in clustered environment
US10417027B1 (en) * 2012-03-30 2019-09-17 EMC IP Holding Company LLC Virtual machine proxy server for hyper-V image backup and recovery
US8966318B1 (en) * 2012-04-27 2015-02-24 Symantec Corporation Method to validate availability of applications within a backup image
US9354907B1 (en) * 2012-10-26 2016-05-31 Veritas Technologies Llc Optimized restore of virtual machine and virtual disk data
US9286110B2 (en) * 2013-01-14 2016-03-15 Commvault Systems, Inc. Seamless virtual machine recall in a data storage system
US9280428B2 (en) * 2013-04-23 2016-03-08 Neftali Ripoll Method for designing a hyper-visor cluster that does not require a shared storage device
US9424056B1 (en) * 2013-06-28 2016-08-23 Emc Corporation Cross site recovery of a VM
US9354908B2 (en) * 2013-07-17 2016-05-31 Veritas Technologies, LLC Instantly restoring virtual machines by providing read/write access to virtual disk before the virtual disk is completely restored
US9641389B2 (en) * 2013-09-09 2017-05-02 Vmware, Inc. Method and system for recovering from network disconnects by cloning a virtual port
KR102102168B1 (ko) * 2013-10-21 2020-04-21 한국전자통신연구원 가상 데스크탑 서비스 장치 및 방법
US9336103B1 (en) * 2014-04-02 2016-05-10 Veritas Us Ip Holdings Llc Using a network bubble across multiple hosts on a disaster recovery site for fire drill testing of a multi-tiered application
US9396071B1 (en) * 2014-06-11 2016-07-19 Emc Corporation System and method for presenting virtual machine (VM) backup information from multiple backup servers
US9971660B2 (en) * 2014-09-12 2018-05-15 Vmware, Inc. Virtual machine network loss detection and recovery for high availability
US9417968B2 (en) * 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9727429B1 (en) * 2015-03-31 2017-08-08 EMC IP Holding Company LLC Method and system for immediate recovery of replicated virtual machines
US9639286B2 (en) 2015-05-14 2017-05-02 Commvault Systems, Inc. Restore of secondary data using thread pooling
US10114706B1 (en) * 2015-09-22 2018-10-30 EMC IP Holding Company LLC Backup and recovery of raw disks [RDM] in virtual environment using snapshot technology
US9940293B1 (en) * 2015-12-22 2018-04-10 Emc Corporation Method for efficient storage and backup of data via SCSI transport
CN105681077B (zh) * 2015-12-31 2019-04-05 华为技术有限公司 故障处理方法、装置及系统
US10608908B2 (en) * 2016-02-10 2020-03-31 Nicira, Inc. On-demand connection ping
US10417102B2 (en) * 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
US11537419B2 (en) * 2016-12-30 2022-12-27 Intel Corporation Virtual machine migration while maintaining live network links
US10642790B1 (en) * 2017-09-22 2020-05-05 EMC IP Holding Company LLC Agentless virtual disk metadata indexing
US11372729B2 (en) * 2017-11-29 2022-06-28 Rubrik, Inc. In-place cloud instance restore
US10733064B2 (en) * 2018-07-23 2020-08-04 EMC IP Holding Company LLC Efficient restore of synthetic full backup based virtual machines that include user checkpoints

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130227567A1 (en) * 2012-02-23 2013-08-29 Nec Corporation Thin client system, connection management server, connection management method and connection management program
US9329944B2 (en) * 2012-03-26 2016-05-03 Fujitsu Limited Storage system, storage apparatus, and data restoration method
US20150113531A1 (en) * 2013-10-18 2015-04-23 Power-All Networks Limited System for migrating virtual machine and method thereof
CN107077403A (zh) * 2014-08-21 2017-08-18 安东·戈斯德夫 用于来自图像级备份的文件级恢复的用户授权
CN105630632A (zh) * 2015-12-25 2016-06-01 华为技术有限公司 一种虚拟机恢复的方法及虚拟机管理设备

Also Published As

Publication number Publication date
CN110955489B (zh) 2024-03-29
US20200104218A1 (en) 2020-04-02
US10929250B2 (en) 2021-02-23
EP3629180A1 (en) 2020-04-01
EP3629180B1 (en) 2022-08-24

Similar Documents

Publication Publication Date Title
US11467755B2 (en) Method and system for enabling agentless backup and restore operations on a container orchestration platform
CN114341792B (zh) 存储集群之间的数据分区切换
US20190332435A1 (en) Monitoring and automatic scaling of data volumes
US10169068B2 (en) Live migration for virtual computing resources utilizing network-based storage
US9021314B1 (en) Methods and apparatus for remote gateway monitoring and diagnostics
EP2727002B1 (en) Methods and apparatus for remotely updating executing processes
US9639432B2 (en) Live rollback for a computing environment
RU2595482C2 (ru) Обеспечение прозрачной отработки отказа в файловой системе
US9652326B1 (en) Instance migration for rapid recovery from correlated failures
US8166264B2 (en) Method and apparatus for logical volume management
US9354907B1 (en) Optimized restore of virtual machine and virtual disk data
US11226870B2 (en) Systems and methods for marking application-consistent points-in-time
US10126969B1 (en) Mechanism for non-disruptive virtual tape libraries removal and reconfiguration
US20200326956A1 (en) Computing nodes performing automatic remote boot operations
US11281550B2 (en) Disaster recovery specific configurations, management, and application
EP3731099B1 (en) System and method for accelerating application service restoration
CN110955489B (zh) 用于可靠地恢复虚拟机的方法和系统
EP3647953B1 (en) System and method for data backup in mixed disk environment
US8065561B1 (en) Method and apparatus for automating device recovery using device configuration information
US11080190B2 (en) Detecting and correcting cache memory leaks
US11474850B2 (en) Method and system for efficient virtual machine operation while recovering data
US10860434B2 (en) Method and system for enabling data backups for virtual machines reliant on raw device mapping disks
US20240176676A1 (en) Performing pre-migration and post-migration connection checks
US11288137B2 (en) Restorations of virtual machines in virtual systems using a restoration policy
US10318155B1 (en) Mechanism for non-disruptive virtual tape drives removal and reconfiguration

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