用于重新配置虚拟机的快照的方法和系统的制作方法

文档序号:6516379阅读:224来源:国知局
用于重新配置虚拟机的快照的方法和系统的制作方法
【专利摘要】提供了一种用于重新配置虚拟机(VM)的快照的方法。VM可以部署在计算机上运行的管理程序上。该方法包括提供VM,安装和配置操作系统以及基础程序。可以取得具有操作系统和基础程序的虚拟机的快照、以及配置数据,该配置数据在元数据描述符中定义虚拟机、操作系统和基础应用的配置。所有这些都可以存储在永久性存储中。随后可以修改元数据描述符的内容,且可以使用元数据描述符的经修改的内容回复到该快照,从而使得当部署包括操作系统和基础程序的快照时,具有操作系统和基础程序的虚拟机的快照被重新配置。
【专利说明】用于重新配置虚拟机的快照的方法和系统
【技术领域】
[0001]本发明一般上涉及重新配置虚拟机的快照。本发明进一步分别涉及快照管理器、系统或计算机系统,数据处理程序以及计算机程序产品。
【背景技术】
[0002]为了从支持更旧的操作系统环境到省电到虚拟实验室管理器的目的,虚拟机的增长的使用已经在信息技术的领域中创造了新的挑战。虚拟化大量使用的领域之一是在新软件应用的测试阶段,这得益于快速实例化(instantiating)新的虚拟系统的可能性、以及取得并回复到先前快照的可能性。
[0003]快照允许保存虚拟机的特定状态,从而允许在任何稍后的时间,开发者都能回复到早先的状态。为了使虚拟机的状态恢复到其先前的状态之一,管理程序(hypervisor)允许恢复给定的快照。这样做,虚拟机(内存和硬盘两者)的整个状态被恢复。
[0004]存在涉及虚拟机的管理的多个公开。文献US2008/0034364A1公开了用于发布、订阅或播放实况电器(live appliance)的技术。实况电器包括当前的虚拟机图像。在发布时,实况电器文件类型的代理(proxy)文件被提供给发布者。该类型被映射到实况电器播放器,从而使得当代理文件被打开时,当前的虚拟机图像被运行。播放器将虚拟机图像外部的可写的文件系统自动地绑定到该图像,从而提供从虚拟机图像中且从主机操作系统可以访问的文件存储。该播放器还创建对主机计算机上的实况电器的订阅,在当代理文件运行时没有的情况下。使用该订阅,不论何时运行实况电器,播放器都运行当前的(then-current)虚拟机图像。
[0005]文献US2009/0204961A1公开了一种一般涉及分发虚拟机的方法。该方法包括对虚拟机指定一组需求,并且基于轻量级可重复使用的简档(profile)、基于在简档中描述的该组需求实例化虚拟机。该方法还包括导入该简档到分发服务器;以及响应于请求将该简档分发给至少一个物理机器。可将软件添加到该至少一个物理机器,该至少一个物理机器可以管理物理主机的部署,如同托管虚拟图像的场所(farm)。
[0006]这些文献描述如何应用配置设置(setting)用于虚拟机的初始设定。当恢复对应于通电的虚拟机的虚拟机的状态时,因为虚拟机已经在运行,并且完全不可能钩住(hook)重新配置脚本,因此不可能将任何重新配置应用到早先取得的快照。一般而言,已知的云环境和虚拟实验室管理器环境提供在其第一次引导时、通过可以被“钩到”图像中的一组初始化脚本来重新配置虚拟机的方法。然而,这类解决方案覆盖其中新的虚拟机从图像被实例化的情况,但是并不覆盖虚拟机的状态是从快照回复的情况。
[0007]因此,有必要重新配置从虚拟机取得的快照,用于例如测试环境的更好的适应性以及软件开发者的更高的灵活性以及生产率。

【发明内容】

[0008]这种需求可以由通过根据独立权利要求的重新配置虚拟机快照、快照管理器、计算机系统、数据处理程序以及计算机程序产品的方法来解决。
[0009]根据一个实施例,可以提供一种用于虚拟机的快照的重新配置方法。该虚拟机可以部署在管理程序上,该管理程序可以运行在计算系统上。该方法包括在管理程序上提供虚拟机,在虚拟机上安装和配置操作系统,以及在操作系统上安装和配置基础程序。该方法还可以包括取得具有操作系统和基础程序的虚拟机的快照以及配置数据,该配置数据在元数据描述符中定义虚拟机的配置、操作系统的配置和基础程序的配置,以及将快照和元数据描述符的内容一起存储。此外,该方法可以包括修改元数据描述符的内容,以及使用元数据描述符的经修改的内容来回复到快照,从而使得当部署包括操作系统和基础程序的快照时,具有操作系统和基础程序的虚拟机的快照被重新配置。
[0010]此外,可以提供了一种用于重新配置虚拟机的快照的快照管理器。该虚拟机部署在管理程序上,该管理程序运行在计算系统上。该快照管理器可以包括
[0011 ]-提供单元,其可以适于在管理程序上提供虚拟机,
[0012]-安装单元,其可以适于在虚拟机上安装和配置操作系统,其中安装单元还可以适于在操作系统上安装和配置基础程序,
[0013]-快照单元,其可以适于取得具有操作系统和基础程序的虚拟机的快照以及配置数据,该配置数据在元数据描述符中定义虚拟机的配置、操作系统的配置和基础程序的配置,以及将快照和有关的元数据描述符的内容一起存储,
[0014]-修改单元,其可以适于修改元数据描述符的内容,以及
[0015]-退后单元,其适于使用元数据描述符的经修改的内容来回复到快照,从而使得当部署包括操作系统和基础程序的快照时,具有操作系统和基础程序的虚拟机的快照被重新配置。
[0016]可以注意到,回复可以被解释为退后到先前的状态,特别地,到虚拟机的先前的状态。还要指出的是,多于一个基础程序一因此多个基础程序一可以安装在虚拟机的操作系统上。此外,管理程序可以是用于多于一个虚拟机的可操作的基础。
具体实施例
[0017]具体地,单个或多个基础程序可以是像数据库、存储系统、网络程序、网络服务器和/或技术人员将会识别为中间件的其它服务的任何程序。此外,任何其它程序可以被算作为基础程序。任何基础程序可以是第二程序适当地操作的先决条件。在件开发环境,则第二程序可以是测试中的程序。
[0018]在该描述的上下文中,可以使用以下的约定、术语和/或表达:
[0019]术语“计算系统”可以表示物理计算机。其可以被看作与虚拟机相反。虚拟机(VM)可以是可以像是物理机器一样执行程序的硬件机器(即,计算机)的软件实施方式,但可以完全在软件中实施。
[0020]术语“快照”可以表示在特定的时间点的系统的状态的可存储图像。在本应用的上下文中,快照可以涉及虚拟机的状态及其所有有关的数据。虚拟机的操作及其程序可以在快照时的特定时间点冻住。
[0021]术语“重新配置”可以表示对于例如虚拟机和/或有关的操作系统的配置参数、和/或一个或多个基础程序的配置参数的内容的修改。配置参数的内容可以被显示并可以由用户编辑。然而,也可以由脚本或另一程序自动进行该修改。
[0022]术语“管理程序”,也被称作虚拟机管理器,可以表示允许多个称为客户机的操作系统同时运行在物理主机计算机上的硬件虚拟化技术。管理程序可以向客户机操作系统或仅操作系统呈现虚拟操作平台,并且可以管理客户机操作系统的执行。各种操作系统的多个实例(instance)可以共享虚拟的硬件资源。典型地,管理程序可以安装在服务器硬件上,具有运行客户机操作系统的功能,自身充当服务器。
[0023]术语“操作系统”可以表示一组软件组件,其可以管理计算系统,即系统资源,并且其可以为应用程序提供一般服务。操作系统可以是计算系统中的系统软件的至关重要的组件。应用程序或简称应用可能需要操作系统运行。系统资源可以被部署(deploy)为物理资源或虚拟资源。
[0024]术语“配置”可以表示设置参数,即定义数据段的值,其定义配置。这类配置值可以影响特定程序的特征或行为,该特定程序例如是基础程序。配置数据不可以和程序的数据混淆。
[0025]术语“基础程序”可以表示可以安装在操作系统上的任何程序或程序组。
[0026]术语“元数据描述符”可以表示包括有关虚拟机、操作系统和基础程序的配置设置的信息的数据结构。通过改变元数据描述符的内容,可以改变有关程序的行为。
[0027]术语“修改”可以表示改变一个或多个数据段。可以在其被再次存储之前显示并随后编辑数据段。
[0028]术语“回复”或“回复回到”可以表示退回到先前的时间点。回复回到早先的快照可以表示重新-初始化或重新-加载之前对其进行其快照的虚拟机。这还可以包括与已经是快照一部分的程序有关的数据。
[0029]术语“第二程序”可以表示可以不是一组基础程序的部分的程序。然而,其可以是任何类型的任何程序,如数据库、应用程序等。
[0030]用于重新配置虚拟机的快照的建议方法可以提供几个优点:
[0031]典型地,回复到之前取得的快照可以被理解为时间上完全的退后。一切事物可以如之前被安装。虚拟机可以就从快照的时间点向前继续其操作。然而,在软件开发和测试环境中,可能需要回复到关于全部设定,即底层的VM、基础操作系统设置以及安装的中间件程序的时间点。为了节省时间,其可以是影响中间件组件的配置设定从而测试类似但不同条件下的新程序的需求。这将会使开发者自由地一次次设定完整的测试环境并且用不同的配置设定一次次安装中间件组件。反而,使用这里呈现的理念,开发者可以重复使用其设定VM和安装的中间件程序的先前工作从而仅改变一些配置参数并再次重新开始新开发的软件的测试,例如新的版本。这会节省时间和金钱并减少测试中的新程序的错误率。
[0032]根据本方法的一个实施例,其还可以包括安装第二程序,特别是测试中的软件/程序。这可以在取得虚拟机的快照并存储配置数据之后进行。以这种方式,初始的配置将会继续可用于回复到该配置,且将可能修改配置设置。
[0033]根据本方法的一个实施例,其还可以包括提供用户界面用于元数据描述符的内容的修改。这可以是命令行界面或如技术人员将会知道的具有下拉菜单和弹出窗口的图形用户界面。然而,该用户界面可以便于元数据描述符的内容的修改。可以改变简单的数据段,如多个可用的缓冲器、缓冲器的大小等。另一方面,取代原始的配置文件,可以命名其它准备的配置文件。这将意味着在元数据描述符中可以仅执行指向配置文件的指针,且该文件的名称可以被交换为可选的配置文件的另一文件名称。
[0034]也可选地,具有每个快照的可访问的多个元数据描述符。使用该技术,VM的相同的快照可以与不同的配置文件结合。在退回或回复期间,可以测试不同的配置文件以定义用于测试中的程序的环境从而在给定的时间框架(timeframe)中运行尽可能多的测试。
[0035]根据本方法的一个特定的实施例,快照的取得可以包括在取得快照时确定虚拟机、操作系统和基础程序的配置数据。这将会意味着测试环境的动态可改变的配置设置也可以被捕获,且不仅是在VM的初始实例化期间已经定义的那些。这给本领域中已知的技术添加了多得多的灵活性。
[0036]根据本方法的又一个实施例,可以存储并且控制在不同的时间点取得的多于一个版本的配置数据。因此,如以上已经提到的,能够使用不同组的配置设置来回复到相同的快照。
[0037]在又一个本方法的可选实施例中,基础程序可以是安装和操作第二程序的先决条件。如早先解释的,基础程序可以实际上是运行第二程序或测试下的程序所需的一组基础程序。这可以意味着没有基础程序或基础程序组的第二程序可能无法适当地操作。
[0038]根据本方法的又一个实施例,可以以XML格式存储元数据描述符的内容。这具有的优势在于,标准的编辑器可能习惯于在元数据描述符中编辑这些设置。且开发者习惯于XML语法从而基本上可以无需额外的培训精力。
[0039]在本方法的加强的实施例中,与该一个基础程序或多个基础程序有关的应用数据也可以是可修改的。这可以甚至更加加强该新呈现的概念的灵活性。在测试中的交易程序的情况下,可以在改变的配置设置以及改变的程序或应用数据之下完成新的测试。可以
由中心点--决照管理器控制所有改变。这将意味着开发者可以不被强迫一次次改变其工
具。可以注意到可以独立地修改配置数据和应用数据。用户界面还可被用于快照管理器提供的所有其它任务和功能,例如不同版本的快照以及不同版本的元数据描述符的管理。
[0040]根据快照管理器的一个加强的实施例,有关的修改单元可以包括适于元数据描述符的内容的交互式修改的用户界面。如以上提到的,这可以包括用于执行配置数据和/或还有程序数据或应用程序数据的修改的命令行界面或图形用户界面。
[0041]快照管理器还可以适于控制快照的存储和/或有关的元数据描述符的内容的存储。其还可以控制元数据描述符的内容的不同版本的存储。
[0042]通过快照管理器具有对所有这些操作的控制,可以建立中央控制点,从而减少开发者在开发过程中处理不同系统的负担。
[0043]在另一个加强的实施例中,元数据管理器还可以适于修改元数据描述符的结构。例如,可以添加额外的配置段。如果有对快照的取消(revocation),则当重新开始在快照中存储的VM时也可以反映这些额外的配置参数。在当已经在取得快照的处理期间产生元数据描述符时、 配置参数可能还未被定义情况下,有关的软件可能已经假定了缺省参数。然而,一旦元数据可以被定义,其可以被使用,而取代缺省值。
[0044]此外,实施例可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,该介质提供用于由计算机或任何指令执行系统使用或与其结合使用的程序代码。为了本说明的目的,计算机可用或计算机可读介质可以是可以包含用于存储、通信、传播或传输用于由指令操作系统、装置或设备使用或与其结合使用的程序的装置。
[0045]该介质可以是电、磁、光、电磁、红外线的或用于传播介质的半导体系统。计算机可读介质的例子可以包括半导体或固态存储器、磁带、可移除计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、固态硬盘和光盘。光盘当前的例子包括紧凑磁盘只读存储器(CD-ROM)、紧凑磁盘读/写(CD-R/W)、DVD和蓝光盘。
[0046]还应当注意已经参照不同的主题描述了本发明的实施例。特别地,已经参照方法权利要求描述了一些实施例,而已经参照装置类型权利要求描述了其它实施例。然而,本领域的技术人员将从以上和以下的描述推断出,除非另外通知,除了属于主题的一种类型的特征的组合,在有关不同主题的特征之间的组合,特别是方法类型权利要求的特征和装置类型权利要求的特征之间的组合也被认为在在本文献范围内公开。
[0047]以上定义的方面和本发明的进一步方便从以下将要描述的实施例的例子中是显而易见的,并且参照实施例的例子解释,但是本发明不限于实施例的例子。
【专利附图】

【附图说明】
[0048]现在将描述本发明优选的实施例,通过仅是示例的方式,并且参照以下的附图:
[0049]图1示出用于重新配置虚拟机的快照的发明的方法的实施例的框图。
[0050]图2示出上下文中的快照管理器的框图。
[0051]图3示出元数据描述符的实施例的框图。
[0052]图4示出快照管理器的实施例。
[0053]图5示出包括发明的快照管理器的计算系统的实施例。
【具体实施方式】。
[0054]以下,将给出附图的详细描述。附图中的所有指示都是示意的。首先,给出用于重新配置虚拟机快照的发明的方法的实施例的框图。之后,将描述快照管理器的其它实施例。
[0055]图1示出用于重新配置虚拟机的快照的发明的计算机实现方法100的实施例的示例性框图。虚拟机可以部署在管理程序上,该管理程序可以操作在计算系统上。该方法可以具有至少以下的活动(activity):在管理程序上提供102虚拟机,在虚拟机上安装并且配置104操作系统,以及安装和配置106基础程序。特别地,如以上提到的,可以有可以在操作系统上操作的多个基础程序。该方法还可以包括取得108具有操作系统和基础程序的虚拟机的快照。另外,在元数据描述符中定义虚拟机的配置、操作系统的配置以及基础程序的配置的配置数据可以和快照一起但独立于快照而存储。这些配置设置可以存储在元数据描述符中。
[0056]此外,该方法可以包括修改110元数据描述符的内容、以及使用元数据描述符的经修改的内容来回复112到快照的活动,从而使得可以在部署包括操作系统和基础程序的快照时,重新配置具有操作系统以及基础程序的虚拟机的快照。实际上,其还可以被看作回复到先前的状态,区别在于取代于原始的配置设置,可以使用经修改或不同组的配置设置。
[0057]图2示出当前应用的上下文中的快照管理器222的框图200。可以在物理硬件服务器202上安装管理程序204以控制虚拟机VM-1206和虚拟机VM_m208的操作。显而易见地,可以由管理程序204控制更多的虚拟机。VM-1206可以运行操作系统210、基础程序212或基础应用212以及额外地第二程序214,其可以被称作为“测试中的程序”。可以对VM-m208进行类似的描述。这里,可以安装操作系统216、基础应用218以及一个或多个第二应用220。
[0058]在任何时间点,可以取得包括操作系统216和基础应用/程序218的虚拟机VM-m208的快照。对于这样的快照的较好时间点可以是在包括操作系统、基础应用和所有必要的配置的VM-m已经被设定之后的时间。快照管理器222可以如箭头252所指示地触发这类产生。这类快照,例如快照-1236可以存储在物理硬件服务器202的存储系统上。并行地,元数据描述符MDD-1238可以和快照-1、236 —起存储在在虚拟容器_1、240上。虚拟容器240可以指示在快照1、236和元数据描述符MDD-1、238之间存在关系。快照管理器222还可以触发如快照-n、230和元数据描述符MDD-n、232所指示的额外的快照和额外的元数据描述符的产生。两者可通过虚拟容器_n、234的方式链接。每个元数据描述符可以包含虚拟机在快照的时间点的配置参数的值。因此,如果可以回复到被快照的VM,则可以使用这些配置参数。
[0059]然而,如箭头242和244所示,快照管理器222可以访问元数据描述符238和232。元数据描述符232和238的内容、即配置参数的值可以通过可以是快照管理器222的一部分的用户界面224的方式被修改。在那时,可以不需要评估并潜在地改变多于一个元数据描述符内容。这通过使用快照管理器222也可以是可行的。快照管理器还可以允许通过元数据描述符的多个版本浏览,即显示该内容。一旦元数据描述符的内容、例如MDD-1、238已经被修改,快照管理器222可以控制退后250到VM-n208的经修改的状态。经修改的状态可以不同于当快照1、236已经通过使用快照管理器222进行的修改而取得时定义的原始状态。
[0060]作为用户界面224的功能的一部分,元数据描述符238的所有可修改的数据可以如本领域技术人员所知可显示且可编辑。然而,不但元数据描述符的内容的个别(individual)段可以被修改,而且可以由文件名引用的完全的配置设置也可以被修改。完全的配置设置可以存储在具有该文件名的单个(separate)的文件中。可以使用用户界面224定义新的文件名。可以经由网络226,例如从因特网上的任何资源来访问该文件。使用这个技术,新应用程序、测试中的程序、第二程序或第二应用程序214、220的开发者可以在常规条件下从测试经理的典型工作流程转移:
[0061]首先,他可以创建新VM并安装基础操作系统。其次,他可以安装任何先决条件的一个软件系统或多个系统。第三,他可以根据特定的测试需要来配置环境,并且最后,他可以在安装测试中的程序之前取得VM的快照。
[0062]一旦新的“构造”(“built”)、即测试中的程序的新版本可以可用,传统地,测试执行人员或测试者可以一次次执行以下的步骤:
[0063]首先,他可以回复到VM的状态到安装先前的构造之前取得的快照。其次,他可以应用测试中的程序的当前构造需要的任何配置。再次,他可以安装将要被测试的程序的新版本的新构造,并且最后,他可以测试该程序的新版本。
[0064]使用新建议的方法,为了创建测试环境,测试者的工作流可以如下:
[0065]首先,他可以如以上指示地,取得VM,即还产生包括所有相关配置设置的元数据描述符。下面,测试者可以浏览由快照管理器222的用户界面224显示的可用快照。并行地,对于每个取得的快照,测试者可以检查(review)以与给定快照相关联的元数据描述符的这些版本中存储的元数据。由快照管理器222和有关的用户界面224引导,测试者可以选择要回复到的存储的快照。在进行回复操作之前,快照管理器可以允许测试者编辑或重写与有关的快照相关联的元数据描述符中指定的任何信息。例如,如果元数据描述符可以包含对要从特定URL (统一资源定位器)下载的文件的引用,则测试者可以有指定不同的URL的选择。一旦测试者可能已经提供了需求的输入,则快照管理器可以通过调用适当的管理程序应用编程界面(管理程序API)来开始快照回复操作。
[0066]在回复操作期间,快照管理器可以启动虚拟机就好像其已经在断电状态一样。一旦虚拟机启动且运行,快照管理器可以执行由与快照相关联的元数据描述符的内容所定义的该快照的任意重新配置。特别地,对于每个配置设置文件,快照管理器222可以从特定的URL,或从内部的数据存储来检索文件或其部分,并且可以将其拷贝到特定位置处的虚拟机从而使得其会被解释为配置参数。此外,对于每个“执行命令”操作,快照管理器222可以通过有关的管理程序API (图2,箭头254)调用虚拟机中的指定的命令。当所有的重新配置操作可能已经完成时,虚拟机可以准备好使测试者的又一测试。因此,测试者将不需要使用传统的方法,执行如上所述的设定、安装以及配置过程。他可以仅编辑元数据描述符的内容并且让快照管理器222回复到VM但是使用新的配置设置。
[0067]快照管理器还可以适于虚拟机快照的删除。在这种情况下,可以使用快照管理器222的用户界面224以及通过删除命令的方式标识特定的快照,可以使用适合的管理程序API将快照和元数据描述符一起删除。
[0068]图3示出元数据描述符238的实施例的高级框图。在头302和尾310之间,可以存储基础应用1、304的配置数据。然而,元数据描述符可以没有固定的数据结构。可以足够灵活地还保持其它基础应用或基础程序的配置数据,例如基础应用2、306直到基础应用n、308o
[0069]对于元数据描述符的XML语言的例子可以容易地被技术人员理解,并且可以例如
定义如下:
[0070]<?xml version="1.0n encoding="UTF-8 n ?>
<header>
〈property name="name" value="My Snapshot configuration" />
〈property name="versionIT value=" 1.0" />
〈property name="stopOnError" value=”true” />
</header>
<files>
<file name="MyProj_confn type=”text”source=11 Wrepos.rome.it.com\C$\myproj \config"target=”C:\myprojInstDir\conf"/>
<file name="MyProj_exe" type="bin"source=nhttp://myhttpserver.romelab.it.com/myproj/MyProj.exe"target="C:\myproj工nstDir\bin\MyProj.exe"/>
</files>
<c〇mmands>
〈command name=nuninstallMyProj ncmd="C:\myproj工nstDir\fc?in\MyPr〇j.exe" parameters="uninst"/><comxnand name="instalIMyProj "
Cind=nC: \myproj 工nstDir\bin\MyPro j.exe" parameters^"installC:\myprojInstDir\conf"/>
[0071]
</commands〉
[0072]如所示,元数据描述符包括标识配置的版本的头部分,标识配置设置文件的地址的“文件部分”,以及包括用于管理程序的命令的“命令部分”。
[0073]图4示出用于重新配置虚拟机的快照的快照管理器222的示例性实施例。虚拟机可以安装在管理程序上,该管理程序可以如以上所指示(参见图2)运行在计算机系统上。该方法可以包括适于在管理程序上提供虚拟机的提供单元402,以及适于在该虚拟机上安装和配置操作系统的安装单元404,其中安装单元404还可以适于在操作系统上安装和配置基础程序。
[0074]此外,快照单元406还可以适于取得具有操作系统和基础程序的虚拟机的快照以及配置数据,该配置数据在元数据描述符中定义在可以取得快照的时间点的虚拟机的特定配置、操作系统的配置以及基础程序的配置。快照单元406还可以适于将快照和有关的元数据描述符的内容一起存储在永久存储器中。修改单元408—如图4中所示一可以适于使用用户界面来修改元数据描述符的内容。该用户界面可以允许配置文件的所有参数的所有值的显示以及随后的修改和存储。该用户界面还可以被使能以执行如上所指示的快照管理器的所有其它任务。
[0075]最后,退后单元410可以适于使用元数据描述符的经修改的内容回复到该快照,从而使得当部署包括操作系统和基础程序的快照时,具有操作系统以及基础程序的虚拟机的快照被重新配置。
[0076]本发明的实施例可以虚拟地与任何类型的计算机一起实现,而不管适于存储和/或执行程序代码的平台如何。例如,如图5所示,计算系统500可以包括具有每个处理器有一个或多个核的一个或多个处理器502、相关联的存储器兀件504、内部存储设备506 (例如,硬盘、诸如紧凑盘驱动或数字视频盘(DVD)驱动的光盘、闪存棒、固态盘等)、以及当今计算机的典型的很多其它元件和功能(未示出)。存储器元件504可以包括在程序代码的实际执行期间采用的主存储器、例如随机存取存储器(RAM)、以及高速缓存存储器,其可以提供对至少一些程序代码和/或数据的临时存储,从而减少为了执行必须从长期存储介质或外部大容量存储616中取出代码和/或数据的次数。计算机500中的元件可以通过总线系统518的方式与对应的适配器链接在一起。此外,快照管理器222可以附接到总线系统518以执行如上所述的操作。
[0077]计算系统500还可以包括诸如键盘508的可选的输入装置、诸如鼠标510的指向设备、或麦克风(未示出)。可选地,计算系统可以配备有触摸感应屏作为主输入设备。此外,计算机500可以包括输出装置诸如显示器或屏幕512(例如,液晶显示器(IXD)、等离子显示器、发光二极管(LED)或阴极射线管(CRT)监视器)。计算机系统500可以经由网络接口连接514连接到网络(例如,局域网(LAN),广域网(WAN),诸如因特网或包括无线网络的其它相似类型的网络)。这可以允许耦接到其它计算机系统或存储网络或磁带驱动。本领域技术人员将会理解存在很多不同类型的计算机系统,并且以上提到的输入和输出装置可以采取其它的形式。一般来说,计算机系统500可以包括实施本发明实施例所需的至少最小限度的处理、输入和/或输出装置。
[0078]尽管已经关于有限数量的实施例描述了本发明,本领域的技术人员在已经受益于本公开的情况下,将可以理解在不偏离这里公开的本发明的范围内可以设计出其它实施例。因此,本发明的范围仅应由所附的权利要求定义。此外,可以组合与不同实施例关联地描述的元件。还应注意到权利要求中的参考标记不应被解释为限制元件。
[0079]所属【技术领域】的技术人员知道,本公开的各个方面可以实现为系统、方法或计算机程序产品。因此,本公开的各个方面可以采取以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本公开的各个方面还可以采取在实现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0080]可以利用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文献的上下文中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0081]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。[0082]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0083]可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0084]参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置执行时,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0085]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)0
[0086]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
[0087]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0088]这里使用的术语仅仅是为了描述特定实施例的目的并且不旨在限制本发明。如这里使用的,单数形式“一个”(“a”和“an”)和“该”(“the”)旨在也包括复数形式,除非上下文明确地指出相反。还应理解的是,术语“包括”(“comprises”)和/或包括(“comprising”),当用在本说明书中时,指明所述特征、整体、步骤、操作、元件和/或组件的存在,但并不排除存在或增加一个或多个其它特征、整体、步骤、操作、元件、组件和/或上述的组。
[0089]以下权利要求中所有装置或步骤加功能元素的对应的结构、物质、行为以及等价物旨在包括用于执行与如特别需求保护的其它需求保护的元素相结合的功能的任何结构、物质或行为。已经出于说明和描述的目的呈现了对本发明的描述,但该描述不旨在是穷举的或将本发明限制为公开的形式。在不偏离本发明的范围和精神的情况下,诸多修改和变化对本领域的技术人员而言是显而易见的。选择和描述实施例以最好地解释本发明的原理以及实际的应用,并且使得其他普通技术人员能够理解具有适合于设想的特定应用的各种修改的各种实施例。
【权利要求】
1.一种用于重新配置虚拟机(206、208)的快照(230、236)的计算机实现的方法(100),该虚拟机(206、208)部署在管理程序(204)上,该管理程序运行在计算系统上,该方法包括 -在管理程序(204)上提供(102)虚拟机(206、208), -在虚拟机(206、208)上安装和配置(104)操作系统(210、216), -在操作系统(210、216)上安装和配置(106)基础程序(212、218), -取得(108)具有操作系统(210、216)和基础程序(212、218)的虚拟机(206、208)的快照以及配置数据(304、306、308),其中,该配置数据(304、306、308)在元数据描述符(232、238)中定义虚拟机(206、208)的配置、操作系统(210、216)的配置和基础程序(212、218)的配置,以及将快照(230、236 )和元数据描述符(232、238 )的内容一起存储, -修改(I 10)元数据描述符(232、238)的内容,以及 -使用元数据描述符(232、238)的经修改的内容来回复(112)到快照(230、236),从而使得当部署包括操作系统(210、216)和基础程序(212、218)的快照(230、236)时,具有操作系统(210、216)和基础程序(212、218)的虚拟机(206、208)的快照(230、236)被重新配置。
2.根据权利要求1所述的方法(100),还包括在取得虚拟机(206、208)的快照(230、236)以及存储配置数据(304、306、308)的步骤(108)之后安装第二程序(214、220)。
3.根据权利要求1或2所述的方法(100),还包括提供用户界面(224)用于元数据描述符(232、238)的内容的修改。
4.根据任一之前权利要求所述的方法(100),其中取得(108)快照(230、236)包括在取得快照(230、236)时,确定虚拟机(206、208)、操作系统(210、216)以及基础程序(212、218)的配置数据。
5.根据之前任一权利要求所述的方法(100),其中存储在不同时间点取得的多于一个版本的配置数据(232、238)。
6.根据权利要求2所述的方法(100),其中基础程序(212、218)是用于安装和操作第二程序(214、220)的先决条件。
7.根据之前任一权利要求所述的方法(100),其中以XML格式存储元数据描述符(232、238)的内容。
8.根据之前任一权利要求所述的方法(100),其中该方法(100)还包括改变与基础程序(212,218)有关的应用数据。
9.一种用于重新配置虚拟机(206、208)的快照(230、236)的快照管理器,该虚拟机(206,208)部署在管理程序(204)上,该管理程序运行在计算系统202上,该快照管理器(222)包括 -提供单元(402),其适于在管理程序(204)上提供虚拟机(206、208), -安装单元(404),其适于在虚拟机(206、208)上安装和配置操作系统(210、216),其中安装单元(404)还适于在操作系统(210、216)上安装和配置基础程序(212、218), -快照单元(404),其适于取得具有操作系统(210、216)和基础程序(212、218)的虚拟机(206、208)的快照(230、236)以及配置数据,其中,该配置数据在元数据描述符(232、238)中定义虚拟机(206、208)的配置、操作系统(210、216)的配置和基础程序(212、218)的配置,以及将快照(230、236)和有关的元数据描述符(232、238)的内容一起存储, -修改单元(408),其适于修改元数据描述符(232、238)的内容,以及-退后单元(410),其适于使用元数据描述符(232、238)的经修改的内容回复(112)到快照(230、236),从而使得当部署包括操作系统(210、216)和基础程序(212、218)的快照(230,236)时,具有操作系统(210、216)和基础程序(212、218)的虚拟机(206、208)的快照(230、236)被重新配置。
10.根据权利要求8所述的快照管理器(222),其中所述修改单元包括用户界面(224),其适于元数据描述符(232、238)的内容的交互式修改。
11.根据权利要求8或9所述的快照管理器(222),其中快照管理器(222)还适于包含以下的组中的任何行为:存储快照(230、236 )和有关的元数据描述符(232、238 )的内容,控制元数据描述符(232、238)的内容的不同版本的存储。
12.根据权利要求8至10中任一权利要求所述的快照管理器(222),其中快照管理器还适于修改元数据描述符(232、238)的结构。
13.包括根 据权利要求9至12中任一权利要求的快照管理器(222)的计算机系统(500)。
【文档编号】G06F9/455GK103778178SQ201310503154
【公开日】2014年5月7日 申请日期:2013年10月23日 优先权日:2012年10月23日
【发明者】M.马蒂亚, M.阿奇斯, S.西多蒂 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1