CN104216793A - 应用程序备份、恢复的方法及设备 - Google Patents

应用程序备份、恢复的方法及设备 Download PDF

Info

Publication number
CN104216793A
CN104216793A CN201310215104.XA CN201310215104A CN104216793A CN 104216793 A CN104216793 A CN 104216793A CN 201310215104 A CN201310215104 A CN 201310215104A CN 104216793 A CN104216793 A CN 104216793A
Authority
CN
China
Prior art keywords
virtual machine
application program
script
backup
group
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
CN201310215104.XA
Other languages
English (en)
Other versions
CN104216793B (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201310215104.XA priority Critical patent/CN104216793B/zh
Priority to JP2016515617A priority patent/JP6516730B2/ja
Priority to DE112014002051.6T priority patent/DE112014002051T5/de
Priority to US14/893,250 priority patent/US10067692B2/en
Priority to GB1520851.5A priority patent/GB2529117B/en
Priority to PCT/CN2014/075177 priority patent/WO2014190806A1/en
Publication of CN104216793A publication Critical patent/CN104216793A/zh
Application granted granted Critical
Publication of CN104216793B publication Critical patent/CN104216793B/zh
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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • 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/45562Creating, deleting, cloning 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45583Memory management, e.g. access or allocation
    • 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)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种方法和装置。所述方法包括:一种应用程序进行备份方法,所述应用程序跨多个虚拟机运行,该方法包括:响应于需要对所述应用程序进行备份,执行第一组脚本,所述第一组脚本用于在备份前协调所述多个虚拟机进入准备状态;响应于所述第一组脚本执行完毕,触发管理所述多个虚拟机的至少一个备份代理的备份操作,所述备份操作包括所述备份代理分别在其所管理的虚拟机上定位该应用程序相关的数据并进行备份;响应于所述备份操作结束,执行第二组脚本,所述第二组脚本用于恢复所述多个虚拟机的运行。利用本发明实施例的方法和装置,可以对跨虚拟机的用程序进行备份和恢复。

Description

应用程序备份、恢复的方法及设备
技术领域
本发明是涉及应用程序的备份与恢复,更具体而言,涉及一种对跨虚拟机的应用程序进行备份、恢复的方法和设备。
背景技术
现有技术中存在操作***、虚拟机级别的备份与恢复方案,然而,在对跨虚拟机的应用程序进行备份时,并不能直接应用现有的针对单个虚拟机、或单个操作***的备份及恢复方案。对于跨多个虚拟机的应用来说,该应用的不同部分运行在不同的虚拟机之上,例如,应用程序的数据库部分、应用服务部分会运行在不同的虚拟机上。因此,在对跨虚拟机的应用程序进行备份时,需要保证该应用程序所在的多个虚拟机之间数据的协调性。
此外,现有技术对每个应用程序需要设计特定于该应用程序的备份方案,由于应用程序各不相同的,因此,现有方式并不是一种通用的解决方案,这也使得应用程序备份、恢复的效率也很低。
由上可见,现有技术仍然存在着改进的空间,需要提供一种通用的对跨虚拟机的应用程序进行备份及恢复的技术方案。
发明内容
根据本发明的一个第方面,提供了一种应用程序进行备份方法,所述应用程序跨多个虚拟机运行,该方法包括:响应于需要对所述应用程序进行备份,执行第一组脚本,所述第一组脚本用于在备份前协调所述多个虚拟机进入准备状态;响应于所述第一组脚本执行完毕,触发管理所述多个虚拟机的至少一个备份代理的备份操作,所述备份操作包括所述备份代理分别在其所管理的虚拟机上定位该应用程序相关的数据并进行备份;响应于所述备份操作结束,执行第二组脚本,所述第二组脚本用于恢复所述多个虚拟机的运行。
根据本发明一第二个方面,还提供了一种对应用程序进行恢复的方法,所述应用程序跨多个虚拟机运行,该方法包括:响应于接收到对所述用程序进行恢复的指令,调用并执行第一组恢复脚本,所述第一组恢复脚本用于进入恢复准备状态;响应于所述第一组恢复脚本执行完毕,触发至少一个恢复代理执行恢复操作,所述恢复操作包括恢复代理在其所管理的虚拟机上拷贝回该应用程序相关的备份数据;响应于所述备份操作结束,调用并执行第二组恢复脚本,所述第二组恢复脚本用于恢复所述多个虚拟机的运行。
根据本发明的第三个方面,提供了一种一种应用程序的备份设备,所述应用程序跨多个虚拟机运行,该设备包括:第一脚本执行装置,配置为响应于需要对所述应用程序进行备份,执行第一组脚本,所述第一组脚本用于在备份前协调所述多个虚拟机进入准备状态;备份装置,配置为响应于所述第一组脚本执行完毕,触发管理所述多个虚拟机的至少一个备份代理的备份操作,所述备份操作包括所述备份代理分别在其所管理的虚拟机上定位该应用程序相关的数据并进行备份;第一脚本执行装置,配置为响应于所述备份操作结束,执行第二组脚本,所述第二组脚本用于恢复所述多个虚拟机的运行。
根据本发明的第四个方面,提供了一种一种对应用程序进行恢复的设备,所述应用程序跨多个虚拟机运行,该设备包括:第一组恢复脚本运行装置,配置为响应于接收到对所述用程序进行恢复的指令,调用并执行第一组恢复脚本,所述第一组恢复脚本用于进入恢复准备状态;恢复装置,配置为响应于所述第一组恢复脚本执行完毕,触发至少一个恢复代理执行恢复操作,所述恢复操作包括恢复代理在其所管理的虚拟机上拷贝回该应用程序相关的备份数据;第二组恢复脚本运行装置,配置为响应于所述备份操作结束,调用并执行第二组恢复脚本,所述第二组恢复脚本用于恢复所述多个虚拟机的运行。
采用本发明的方法和装置,能够提供一种通用的对跨虚拟机的应用程序进行备份及恢复的技术方案。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机***/服务器12的框图;
图2示出根据本发明一个实施例的对应用程序进行备份的方法流程图。
图3A示出了根据本发明一个实施例的备份代理位于物理节点的示意图。
图3B示出了根据本发明一个实施例的备份代理位于虚拟机之中的示意图。
图4示出根据本发明一个实施例的对应用程序进行恢复的方法流程图.
图5示出根据本发明一个实施例的对应用程序进行备份的设备示意图。
图6示出根据本发明一个实施例的对应用程序进行恢复的设备示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为***、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“***”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一一但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机***/服务器12的框图。图1显示的计算机***/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机***/服务器12以通用计算设备的形式表现。计算机***/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机***/服务器12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机***/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机***/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机***/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机***/服务器12交互的设备通信,和/或与使得该计算机***/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机***/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机***/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机***/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
现在参看图2,其示出根据本发明一个实施例的备份方法流程图,用于对跨多个虚拟机的用程序进行备份。其中,该应用程序所跨的多个虚拟机既可以位于同一个物理节点上,也可以位于多个物理节点上。如图2所示,该方法至少包括步骤201,步骤202以及步骤203三个步骤。
在步骤201中,响应于需要对所述应用程序进行备份,执行第一组脚本,所述第一组脚本用于在备份前协调所述多个虚拟机使其进入准备状态。
该第一组脚本以及第二组脚本可以是预先存储在备份/恢复服务器之上,由用户提前上传至服务器,藉此,步骤201、202以及203中所应用的脚本就可从备份/恢复服务器中获取。该第一组脚本以及第二组脚本通常是由应用的开发者提供,供用户在对用程序进行备份时执行。
在一个实施例中,还可在备份/恢复服务器上提供备份管理入口,供用户进行各种备份的管理操作。应用程序部署完成后,用户可以通过备份管理入口设定备份策略(备份时间、备份数量等),以及SLA等等。
根据所接收的备份指令来确定是否需要对所述应用程序进行备份,该备份指令可以是按照备份策略中预先设定的时刻发出,也可以是由用户通过备份管理入口临时发出。
在一个实施例中,当所述应用程序包括数据库时,所述第一组脚本包括使得该应用的数据库进入备份状态的脚本;所述第二组脚本包括使得该应用的数据库恢复运行的脚本。举例而言,所述第一组脚本可以执行以下操作中的至少一种:停止所述数据库,设置该数据库为写挂起状态;设置数据库为内存写状态(写操作不flush到持久存储)。相对应的,所述第二组脚本可以执行与所述第一组脚本相反的操作:启动数据库,将该数据库从写挂起状态恢复到正常运行;将该数据库从内存写状态恢复到正常运行。
在一个实施例中,当所述应用程序包括应用服务器时,所述第一组脚本包括使得该应用的应用服务器进入备份状态的脚本;所述第二组脚本包括使得该应用的应用服务器恢复运行的脚本。举例而言,所述第一组脚本可执行以下操作:停止应用服务器,设置应用服务器只接受读请求。相对应的,所述第二组脚本则执行与第一组脚本相反的操作,例如,恢复应用服务器的运行,设置该应用服务器能够接受读请求。
在一个实施例中,所述第一组脚本包括使得该应用进入备份状态的脚本;所述第二组脚本包括使得该应用恢复运行的脚本。举例而言,所述第一组脚本可用于完成对当前正在处理的请求,设置为不再接受新的写请求,或者设置为不再接任何受新的请求。相对应的,所述第二组脚本则执行与第一组脚本相反的操作,例如,设置为可以接受新的请求。
当然,本领域技术人员也可以采用其它类型的脚本,只要该脚本可以用于在备份时协调多个虚拟机即可,例如,在另一些实施例中,所述第一脚本还包括用于消息队列服务器的停止,相关存储空间的清理、准备。
在一个实施例中,执行第一组脚本包括:分发所述第一组脚本;在所述多个虚拟机上执行所述第一组脚本。按照一种实施方式,可将第一组脚本分别分发至该应用所在的各个虚拟机上,然后由各个虚拟机执行在所接受到的第一组脚本中执行与该虚拟机相关的脚本。按照另一种实施方式,还可以将该第一组脚本中所包括的脚本按照脚本类型分发至所相应的虚拟机之上,例如,将该组脚本中与数据库相关的脚本分发至该应用数据库所在的虚拟机之上,将该组脚本中与应用服务器相关的脚本分发至该应用的应用服务器所在的虚拟机之上,然后由各个虚拟机执行所接受到的脚本。
在步骤202中,响应于所述第一组脚本执行完毕,触发管理所述多个虚拟机的至少一个备份代理的备份操作,所述备份操作包括所述备份代理分别在其所管理的虚拟机上定位该应用程序相关的数据并进行备份。
在一个实施例中,备份代理分别在其所管理的虚拟机上定位该应用程序相关的数据并进行备份包括:对该应用程序相关的数据执行快照操作。因此,集合所有备份代理通过快照操作所分别获取的快照后,就可得到该应用程序在多个虚拟机上所有待备份数据的快照。进一步的,所述备份操作还包括从快照中将备份数据拷贝至外部存储器的步骤,现有技术中有多种从快照中拷贝备份数据的方式,例如,基于现有的Rsync方式进行备份数据的拷贝,由于该部分属于现有技术,不再进行赘述。
图3A示出了根据本发明一个实施例的备份代理位于物理节点的示意图,在这个实施例中,备份代理管理其所在的物理节点上的与该应用程序相关的所有虚拟机。采用该种实施方式时,需要用户对物理节点具有操作权限,能够直接在该物理节点上安装备份代理,并且该备份代理也有权限对运行于该物理节点上的虚拟机进行备份操作。如图3A所示,其中物理节点1、物理节点2上分别创建有两个虚拟机,因此,物理节点1上的备份恢复代理(B/R代理)能够对虚拟机A(图3A中所示的VMA)、虚拟机(图3A中所示的VMB)执行备份操作,物理节点2上的备份代理能够对虚拟机C(图3A中所示的VMC)、虚拟机D(图3A中所示的VMD)执行备份操作。
图3B示出了根据本发明一个实施例的备份代理位于虚拟机之中的示意图,在这个实施例中,备份代理被设置于应用程序所在的各个虚拟机之中。该实施例是更为常见,因为在很多情形下,用户并不能直接拥有物理节点的操作权限,故需要在虚拟机内部植入备份代理,从而能够通过触发备份代理对虚拟机内部的该应用程序相关的数据执行备份操作。如图3B所示,在物理节点1上创建虚拟机A(VMA),在物理节点2上创建虚拟B(VMB)。而备份/恢复代理分别位于各个虚拟机之中,因此,各个备份/恢复代理在虚拟机内部拥有对应用程序相关的数据进行备份操作的权限,例如,VMA中的备份/恢复代理拥有对逻辑卷A(LVA)中的应用程序相关的数据D1进行备份的权限。
在该实施例中,为了使得备份代理位于虚拟机之中并管理该备份代理所位于的虚拟机,需要提供经过定制的基础镜像(image),作为部署应用时创建虚拟机的基础镜像。可对该基础镜像进行如下定制:将备份代理烧制入基础镜像中;如果需要支持快照功能,可在基础镜像中安装支持快照功能的文件***管理软件,例如LVM。
关于定位应用程序相关的数据,也可以采用多种实现方式。在一个实施例中,可在备份指令中提供该应用数据所在的虚拟机识别ID、以及在该虚拟机中的逻辑卷标,因此,备份代理可以直接按照这些识别信息定位到相应的数据以进行备份操作。在另一个实施例中,备份指令中可以不包含这些标识信息,当备份代理接收到备份操作时,可在其所在的虚拟机中收集所有的数据信息,然后将这些信息反馈给备份/恢复服务器,然后再由备份/恢复服务器告知其中哪些数据或虚拟机是与该应用程序相关的数据。
如果需要支持快照功能,那么在基于前述定制过的基础镜像安装则应用程序时,需要将其安装在一个或多个由支持快照功能的文件***管理的逻辑卷内,并将应用程序安装卷标信息注册到备份/恢复***中。
可以在应用程序在部署时,将该应用所在的虚拟机ID注册到备份和恢复***中,作为替换的方式,也可在应用部署完成后获取,以云环境为例,可以由备份/恢复***从云的IaaS或PaaS接口读取。
在运行时,可以在备份/恢复***中维护以下数据结构:
在根据备份策略触发备份代理进行备份时,根据备份代理所管理的虚拟机ID,将相应的备份内容列表以及备份策略发送给该备份代理;该备份代理获取该备份内容列表以及备份策略后,就可根据上述信息进行备份,例如可以是基于快照的备份。
综上,根据虚拟机的不同设置方式,每个备份代理所管理的虚拟机的数量可能不同。举例而言,当备份代理位于物理节点时,则该备份代理可以管理该物理节点上所有的虚拟机,而当备份代理位于虚拟机中时,则该备份代理则只能管理其所在的虚拟机。因此,备份代理的数量并不一定与该应用所在的虚拟机的数目相同,但只要能够管理该应用所在的多个虚拟机即可。
在步骤203中,响应于所述备份操作结束,调用并执行第二组脚本,所述第二组脚本用于恢复所述多个虚拟机的运行。执行第二组脚本的过程与执行第一组脚本的方式相同,在此不对其进行赘述。
按照本申请的一个实施例,所述备份代理分别在其所管理的虚拟机上定位该应用程序相关的数据并进行备份时执行快照操作。快照技术,在存储***中被广泛采用,最早被应用到阵列和主机中,通常都是基于卷,在块(block)级别进行处理。采用快照操作能够明显的提高备份的速度,原因在于,快照其实是指向保存在存储设备中的数据的引用标记或指针,记载数据在某一时刻的状况,例如,通过建立一个指针列表来指示读取数据的地址,从而提供一个瞬时数据的影像。由于快照创建的过程中通常不会有数据的物理拷贝,因此快照的创建几乎是实时的,通常小于1秒。快照的原理属于现有技术,申请人在此不再赘述,但需要说明的是,现有技术中的快照操通常是用于单个***,从来没有被应用于跨多个虚拟机运行的应用程序的备份中,特别是通过备份代理对应用程序所跨的多个虚拟机中该应用程序相关的数据协调执行快照操作。
按照本申请的一个实施例,为了支持快照操作,应用程序被部署在基于逻辑卷管理(LVM)的多个虚拟机中,或者,该多个虚拟机位于支持LVM的物理节点中。逻辑卷管理(LVM)是公知的支持快照操作的磁盘管理方式,具体可参看http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29,申请人不再作过多的陈述。此外,本领域技术人员了解,现有的主机OS上的VxVM,或者Windows***的VSS也都是支持快照的存储管理***,都可以应用与本申请的技术方案之中。
图4示出根据本发明一个实施例的对应用程序进行恢复的方法流程图,所述应用程序跨多个虚拟机运行,该方法包括:
在步骤401中,响应于接收到对所述用程序进行恢复的指令,调用并执行第一组恢复脚本,所述第一组恢复脚本用于在多个新创建的虚拟机上重新部署所述应用程序并进入恢复准备状态。
在一个实施例中,所述第一组恢复脚本用于:删除该应用实例所运行的原有虚拟机;在多个新创建的虚拟机上重新部署应用程序时不启动所述重新部署的应用程序。如果该应用在部署后自动启动,则需要停止该应用。在一个实施例中,用于部署新的应用实例的多个虚拟机是基于定制镜像所创建的虚拟机,该定制镜像中包括恢复代理功能。
在步骤402中,响应于所述第一组恢复脚本执行完毕,触发至少一个恢复代理执行恢复操作,所述恢复操作包括获取该应用程序相关的备份数据并将所述备份数据拷贝至该恢复代理所管理的新虚拟机中。
在一个实施例中,所述恢复代理的恢复操作包括:删除所述多个新创建的虚拟机上与备份数据相对应的内容,例如虚拟机VM01上的逻辑卷LV01和逻辑卷LV02中的所有内容;根据用户指定的恢复策略拷贝备份数据到相应的位置。
在步骤403中,响应于所述备份操作结束,调用并执行第二组恢复脚本,所述第二组恢复脚本用于恢复所述重新部署的应用程序的运行。
在一个实施例中,所述第二组恢复脚本中包括:根据新虚拟机环境修改所述重新部署的应用程序的应用配置,如根据新的IP地址,主机名等更改数据库链接;启动所述重新部署的应用程序,包括启动数据库,应用服务器等。
图5示出根据本发明一个实施例的对应用程序进行备份的设备示意图,所述应用程序跨多个虚拟机运行,该设备包括:
第一脚本执行装置501,配置为响应于需要对所述应用程序进行备份,执行第一组脚本,所述第一组脚本用于在备份前协调所述多个虚拟机进入准备状态。
备份装置502,配置为响应于所述第一组脚本执行完毕,触发管理所述多个虚拟机的至少一个备份代理的备份操作,所述备份操作包括所述备份代理分别在其所管理的虚拟机上定位该应用程序相关的数据并进行备份。
第一脚本执行装置503,配置为响应于所述备份操作结束,执行第二组脚本,所述第二组脚本用于恢复所述多个虚拟机的运行。
在一个实施例中,在部署所述应用程序时提供所述第一组脚本以及所述第二组脚本。
在一个实施例中,所述备份代理分别在其所管理的虚拟机上定位该应用程序相关的数据并进行备份包括:对该应用程序相关的数据执行快照操作。
在一个实施例中,所述备份代理位于物理节点中并管理位于该物理节点中的虚拟机。在另一个实施例中,所述备份代理位于所述虚拟机中并管理该备份代理所位于的虚拟机。
在一个实施例中,还包括:配置为在部署所述应用程序时,根据包括所述备份代理的基础镜像创建该应用程序所在的所述多个虚拟机使得所述备份代理位于所述虚拟机之中并管理该备份代理所位于的虚拟机的装置。在一个实施例中,所述基础镜像中还包括支持快照功能的文件***管理软件。
图6示出根据本发明一个实施例的对应用程序进行恢复的设备示意图,所述应用程序跨多个虚拟机运行,该设备包括:
第一组恢复脚本运行装置601,配置为响应于接收到对所述用程序进行恢复的指令,调用并执行第一组恢复脚本,所述第一组恢复脚本用于在多个新创建的虚拟机上重新部署所述应用程序并进入恢复准备状态。
恢复装置602,配置为响应于所述第一组恢复脚本执行完毕,触发至少一个恢复代理执行恢复操作,所述恢复操作包括获取该应用程序相关的备份数据并将所述备份数据拷贝至该恢复代理所管理的新虚拟机中。
第二组恢复脚本运行装置603,配置为响应于所述备份操作结束,调用并执行第二组恢复脚本,所述第二组恢复脚本用于恢复所述重新部署的应用程序的运行。
在一个实施例中,所述第一组恢复脚本用于:删除该应用程序所在的所述多个原有虚拟机;在所述多个新创建的虚拟机上重新部署所述应用程序时不启动所述重新部署的应用程序。
在一个实施例中,所述恢复代理的恢复操作包括:删除所述多个新创建的虚拟机上所述备份数据相应位置处的内容;根据用户指定的恢复策略拷贝所述备份数据到所述相应位置。
在一个实施例中,所述第二组恢复脚本中包括:根据所述多个新创建的虚拟机环境修改所述重新部署的应用程序的应用配置;启动所述重新部署的应用程序。
采用本申请的技术方案,只需要物理机或虚拟机支持通常意义上的备份操作(可以是文件备份,块存储备份以及虚拟机整机备份的任何一种或几种的组合),这个要求对于现今云计算环境中的宿主机和虚拟机,不管其使用的是Linux还是Windows操作***,都是成立的,因此,本申请的技术方案能够同时支持Linux和Windows操作***,具有通用性。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (20)

1.一种应用程序的备份方法,所述应用程序跨多个虚拟机运行,该方法包括:
响应于需要对所述应用程序进行备份,执行第一组脚本,所述第一组脚本用于在备份前协调所述多个虚拟机进入准备状态;
响应于所述第一组脚本执行完毕,触发管理所述多个虚拟机的至少一个备份代理的备份操作,所述备份操作包括所述备份代理分别在其所管理的虚拟机上定位该应用程序相关的数据并进行备份;
响应于所述备份操作结束,执行第二组脚本,所述第二组脚本用于恢复所述多个虚拟机的运行。
2.根据权利要求1所述的方法,其中,所述备份代理分别在其所管理的虚拟机上定位该应用程序相关的数据并进行备份包括:
对该应用程序相关的数据执行快照操作。
3.根据权利要求1所述的方法,其中,
所述备份代理位于物理节点中并管理位于该物理节点中的虚拟机。
4.根据权利要求1所述的方法,其中,
所述备份代理位于所述虚拟机之中并管理该备份代理所位于的虚拟机。
5.根据权利要求5所述的方法,还包括:
在部署所述应用程序时,根据包括所述备份代理的基础镜像创建该应用程序所在的所述多个虚拟机使得所述备份代理位于所述虚拟机之中并管理该备份代理所位于的虚拟机。
6.根据权利要求6所述的方法,其中,所述基础镜像中还包括支持快照功能的文件***管理软件。
7.一种对应用程序进行恢复的方法,所述应用程序跨多个原有虚拟机运行,该方法包括:
响应于接收到对所述应用程序进行恢复的指令,调用并执行第一组恢复脚本,所述第一组恢复脚本用于在多个新创建的虚拟机上重新部署所述应用程序并进入恢复准备状态;
响应于所述第一组恢复脚本执行完毕,触发至少一个恢复代理执行恢复操作,所述恢复操作包括获取该应用程序相关的备份数据并将所述备份数据拷贝至该恢复代理所管理的新虚拟机中;
响应于所述备份操作结束,调用并执行第二组恢复脚本,所述第二组恢复脚本用于恢复所述重新部署的应用程序的运行。
8.根据权利要求7所述的方法,其中,所述第一组恢复脚本用于:
删除该应用程序所在的所述多个原有虚拟机;
在所述多个新创建的虚拟机上重新部署所述应用程序时不启动所述重新部署的应用程序。
9.根据权利要求7所述的方法,其中,所述恢复代理的恢复操作包括:
删除所述多个新创建的虚拟机上所述备份数据相应位置处的内容;
根据用户指定的恢复策略拷贝所述备份数据到所述相应位置。
10.根据权利要求7所述的方法,其中,所述第二组恢复脚本中包括:
根据所述多个新创建的虚拟机环境修改所述重新部署的应用程序的应用配置;
启动所述重新部署的应用程序。
11.一种应用程序的备份设备,所述应用程序跨多个虚拟机运行,该设备包括:
第一脚本执行装置,配置为响应于需要对所述应用程序进行备份,执行第一组脚本,所述第一组脚本用于在备份前协调所述多个虚拟机进入准备状态;
备份装置,配置为响应于所述第一组脚本执行完毕,触发管理所述多个虚拟机的至少一个备份代理的备份操作,所述备份操作包括所述备份代理分别在其所管理的虚拟机上定位该应用程序相关的数据并进行备份;
第一脚本执行装置,配置为响应于所述备份操作结束,执行第二组脚本,所述第二组脚本用于恢复所述多个虚拟机的运行。
12.根据权利要求11所述的设备,其中,所述备份代理分别在其所管理的虚拟机上定位该应用程序相关的数据并进行备份包括:对该应用程序相关的数据执行快照操作。
13.根据权利要求11所述的设备,其中,所述备份代理位于物理节点中并管理位于该物理节点中的虚拟机。
14.根据权利要求11所述的设备,其中,所述备份代理位于所述虚拟机中并管理该备份代理所位于的虚拟机。
15.根据权利要求14所述的设备,还包括:
配置为在部署所述应用程序时,根据包括所述备份代理的基础镜像创建该应用程序所在的所述多个虚拟机使得所述备份代理位于所述虚拟机之中并管理该备份代理所位于的虚拟机的装置。
16.根据权利要求15所述的设备,其中,所述基础镜像中还包括支持快照功能的文件***管理软件。
17.一种对应用程序进行恢复的设备,所述应用程序跨多个虚拟机运行,该设备包括:
第一组恢复脚本运行装置,配置为响应于接收到对所述应用程序进行恢复的指令,调用并执行第一组恢复脚本,所述第一组恢复脚本用于在多个新创建的虚拟机上重新部署所述应用程序并进入恢复准备状态;
恢复装置,配置为响应于所述第一组恢复脚本执行完毕,触发至少一个恢复代理执行恢复操作,所述恢复操作包括获取该应用程序相关的备份数据并将所述备份数据拷贝至该恢复代理所管理的新虚拟机中;
第二组恢复脚本运行装置,配置为响应于所述备份操作结束,调用并执行第二组恢复脚本,所述第二组恢复脚本用于恢复所述重新部署的应用程序的运行。
18.根据权利要求17所述的设备,其中,所述第一组恢复脚本用于:
删除该应用程序所在的所述多个原有虚拟机;
在所述多个新创建的虚拟机上重新部署所述应用程序时不启动所述重新部署的应用程序。
19.根据权利要求17所述的设备,其中,所述恢复代理的恢复操作包括:
删除所述多个新创建的虚拟机上所述备份数据相应位置处的内容;
根据用户指定的恢复策略拷贝所述备份数据到所述相应位置。
20.根据权利要求17所述的设备,其中,所述第二组恢复脚本中包括:
根据所述多个新创建的虚拟机环境修改所述重新部署的应用程序的应用配置;
启动所述重新部署的应用程序。
CN201310215104.XA 2013-05-31 2013-05-31 应用程序备份、恢复的方法及设备 Active CN104216793B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201310215104.XA CN104216793B (zh) 2013-05-31 2013-05-31 应用程序备份、恢复的方法及设备
JP2016515617A JP6516730B2 (ja) 2013-05-31 2014-04-11 アプリケーションをバックアップ及び復元するための方法及び装置
DE112014002051.6T DE112014002051T5 (de) 2013-05-31 2014-04-11 Sichern und Wiederherstellen einer Anwendung
US14/893,250 US10067692B2 (en) 2013-05-31 2014-04-11 Method and apparatus for backing up and restoring cross-virtual machine application
GB1520851.5A GB2529117B (en) 2013-05-31 2014-04-11 Application Backup and restore
PCT/CN2014/075177 WO2014190806A1 (en) 2013-05-31 2014-04-11 Application backup and restore

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310215104.XA CN104216793B (zh) 2013-05-31 2013-05-31 应用程序备份、恢复的方法及设备

Publications (2)

Publication Number Publication Date
CN104216793A true CN104216793A (zh) 2014-12-17
CN104216793B CN104216793B (zh) 2017-10-17

Family

ID=51987964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310215104.XA Active CN104216793B (zh) 2013-05-31 2013-05-31 应用程序备份、恢复的方法及设备

Country Status (6)

Country Link
US (1) US10067692B2 (zh)
JP (1) JP6516730B2 (zh)
CN (1) CN104216793B (zh)
DE (1) DE112014002051T5 (zh)
GB (1) GB2529117B (zh)
WO (1) WO2014190806A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506258A (zh) * 2016-06-14 2017-12-22 伊姆西公司 用于数据备份的方法和设备
CN108536549A (zh) * 2017-03-02 2018-09-14 慧与发展有限责任合伙企业 用于计算***的恢复服务
CN109726038A (zh) * 2017-10-27 2019-05-07 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法和设备
CN109947499A (zh) * 2019-01-31 2019-06-28 维沃移动通信有限公司 一种设备配置方法、终端设备及服务器
CN110741350A (zh) * 2017-05-05 2020-01-31 皮沃塔尔软件公司 用于分布式计算***的备份和还原架构
CN110955559A (zh) * 2018-09-26 2020-04-03 Emc知识产权控股有限公司 用于虚拟机资源标记的***和方法
CN111104199A (zh) * 2019-11-19 2020-05-05 杭州海康威视***技术有限公司 虚拟机高可用的方法及装置
CN111949441A (zh) * 2019-05-14 2020-11-17 Emc知识产权控股有限公司 用于可扩展备份搜索的***和方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10394538B2 (en) 2017-02-09 2019-08-27 International Business Machines Corporation Optimizing service deployment in a distributed computing environment
US20190278669A1 (en) * 2018-03-06 2019-09-12 International Business Machines Corporation Method for restore and backup of application containers in a shared file system
US11108859B2 (en) * 2018-07-02 2021-08-31 Accenture Global Solutions Limited Intelligent backup and recovery of cloud computing environment
US10936443B2 (en) 2018-09-26 2021-03-02 EMC IP Holding Company LLC System and method for tag based backup infrastructure
CN111090544A (zh) * 2018-10-24 2020-05-01 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法、设备和计算机程序产品
US11573863B2 (en) 2019-04-08 2023-02-07 Kyndryl, Inc. Virtual machine backup and restore coordinator
JP2022051236A (ja) 2020-09-18 2022-03-31 富士通株式会社 バックアップ管理装置、バックアップ管理方法及び情報処理システム
US12019748B2 (en) * 2021-05-17 2024-06-25 Rubrik, Inc. Application migration for cloud data management and ransomware recovery

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321377B2 (en) 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US7461223B2 (en) * 2006-05-29 2008-12-02 Microsoft Corporation Retaining shadow copy data during replication
US7689859B2 (en) 2006-12-20 2010-03-30 Symantec Operating Corporation Backup system and method
US8577845B2 (en) * 2008-06-13 2013-11-05 Symantec Operating Corporation Remote, granular restore from full virtual machine backup
US8060476B1 (en) * 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
US8046550B2 (en) 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
US8495316B2 (en) * 2008-08-25 2013-07-23 Symantec Operating Corporation Efficient management of archival images of virtual machines having incremental snapshots
US8307177B2 (en) * 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US8682862B2 (en) * 2009-04-10 2014-03-25 Phd Virtual Technologies Inc. Virtual machine file-level restoration
JP5227887B2 (ja) * 2009-05-21 2013-07-03 株式会社日立製作所 バックアップ管理方法
US8407190B2 (en) 2009-06-30 2013-03-26 Commvault Systems, Inc. Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer
US9501365B2 (en) 2009-12-28 2016-11-22 Netapp, Inc. Cloud-based disaster recovery of backup data and metadata
US20110185129A1 (en) 2010-01-22 2011-07-28 Sun Microsystems, Inc. Secondary java heaps in shared memory
JP5419802B2 (ja) * 2010-06-02 2014-02-19 三菱電機株式会社 仮想計算機制御システム
US20120072685A1 (en) 2010-09-16 2012-03-22 Hitachi, Ltd. Method and apparatus for backup of virtual machine data
US8650165B2 (en) * 2010-11-03 2014-02-11 Netapp, Inc. System and method for managing data policies on application objects
US8677355B2 (en) * 2010-12-17 2014-03-18 Microsoft Corporation Virtual machine branching and parallel execution
US8676763B2 (en) 2011-02-08 2014-03-18 International Business Machines Corporation Remote data protection in a networked storage computing environment
US8819471B2 (en) * 2011-06-03 2014-08-26 Apple Inc. Methods and apparatus for power state based backup
US8775376B2 (en) 2011-06-30 2014-07-08 International Business Machines Corporation Hybrid data backup in a networked computing environment
CN102541686B (zh) * 2011-11-29 2015-07-01 中标软件有限公司 一种使用虚拟机来实现***的备份以及灾难恢复的方法
CN102521083B (zh) 2011-12-13 2015-04-29 广州杰赛科技股份有限公司 一种云计算***中虚拟机备份方法和***
CN103092674A (zh) * 2012-12-14 2013-05-08 北京伸得纬科技有限公司 一种虚拟机***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WHITEBEARD: "Powershell Script to Shutdown, Startup, Backup Virtual Machines", 《HTTPS://COMMUNITY.SPICEWORKS.COM/HOW_TO/1793-POWERSHELL-SCRIPT-TO-SHUTDOWN-STARTUP-BACKUP-VIRTUAL-MACHINES》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506258A (zh) * 2016-06-14 2017-12-22 伊姆西公司 用于数据备份的方法和设备
CN107506258B (zh) * 2016-06-14 2021-11-12 伊姆西Ip控股有限责任公司 用于数据备份的方法和设备
US11243845B2 (en) 2016-06-14 2022-02-08 EMC IP Holding Company LLC Method and device for data backup
CN108536549A (zh) * 2017-03-02 2018-09-14 慧与发展有限责任合伙企业 用于计算***的恢复服务
CN108536549B (zh) * 2017-03-02 2022-04-15 慧与发展有限责任合伙企业 计算***、恢复服务以及机器可读介质
CN110741350A (zh) * 2017-05-05 2020-01-31 皮沃塔尔软件公司 用于分布式计算***的备份和还原架构
CN110741350B (zh) * 2017-05-05 2023-12-22 皮沃塔尔软件公司 用于分布式计算***的备份和还原架构
CN109726038B (zh) * 2017-10-27 2023-12-15 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法和设备
CN109726038A (zh) * 2017-10-27 2019-05-07 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法和设备
CN110955559A (zh) * 2018-09-26 2020-04-03 Emc知识产权控股有限公司 用于虚拟机资源标记的***和方法
CN110955559B (zh) * 2018-09-26 2024-04-05 Emc知识产权控股有限公司 用于虚拟机资源标记的***和方法
CN109947499A (zh) * 2019-01-31 2019-06-28 维沃移动通信有限公司 一种设备配置方法、终端设备及服务器
CN111949441A (zh) * 2019-05-14 2020-11-17 Emc知识产权控股有限公司 用于可扩展备份搜索的***和方法
CN111104199A (zh) * 2019-11-19 2020-05-05 杭州海康威视***技术有限公司 虚拟机高可用的方法及装置

Also Published As

Publication number Publication date
JP6516730B2 (ja) 2019-05-22
WO2014190806A1 (en) 2014-12-04
GB2529117A (en) 2016-02-10
GB201520851D0 (en) 2016-01-13
US10067692B2 (en) 2018-09-04
US20160202923A1 (en) 2016-07-14
GB2529117B (en) 2017-11-15
DE112014002051T5 (de) 2016-03-03
JP2016524752A (ja) 2016-08-18
CN104216793B (zh) 2017-10-17

Similar Documents

Publication Publication Date Title
CN104216793A (zh) 应用程序备份、恢复的方法及设备
US10073747B2 (en) Reducing recovery time in disaster recovery/replication setup with multitier backend storage
US11397648B2 (en) Virtual machine recovery method and virtual machine management device
CN103164254B (zh) 用于维持镜像虚拟环境中存储装置的一致性的方法和***
AU2012347883B2 (en) System and method for restoring application data
CN105446826A (zh) 虚拟机备份、恢复的方法及设备
EP2652599B1 (en) System reset
US20170286234A1 (en) System and method for live virtual incremental restoring of data from cloud storage
US9354907B1 (en) Optimized restore of virtual machine and virtual disk data
CN104461687B (zh) 一种虚拟机配置信息的存储方法及装置
EP2856317B1 (en) System and method for disaster recovery of multi-tier applications
US9524215B1 (en) Systems and methods for managing virtual machine backups
US10452502B2 (en) Handling node failure in multi-node data storage systems
CN107133132B (zh) 数据发送方法、数据接收方法和存储设备
CN103973470A (zh) 用于无共享集群的集群管理方法和设备
US9003139B1 (en) Systems and methods for recovering virtual machines after disaster scenarios
CN112416527A (zh) 一种数据恢复方法、装置、设备及存储介质
CN110806952B (zh) 虚拟存储保护方法及***
CN111858175A (zh) 一种基于移动存储装置备份云平台数据的方法与设备
CN111857944A (zh) 虚拟机热迁移的方法、装置、***和计算机可读存储介质
US20120150809A1 (en) Disaster recovery services
US9152817B1 (en) Methods and systems for performing data protection operations
US10545835B2 (en) Backup appliance replication to provide virtual machine recovery at a remote site
CN116795589A (zh) 一种数据备份方法及装置
CN113778629A (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