虚拟机快照和损坏抑制的制作方法

文档序号:6601411阅读:286来源:国知局
专利名称:虚拟机快照和损坏抑制的制作方法
技术领域
本发明的实施例涉及用于管理虚拟机的执行的技术。更具体地,本发明的实施例 涉及用于使用快照和损坏抑制技术来管理虚拟机的执行的方法和系统。
背景技术
虚拟化可以用于在单个物理机器上运行多个操作系统实例。例如,虚拟化可以允 许多种类型的操作系统在单个服务器上的虚拟机内运行并且共享该服务器的物理资源。因 此,计算系统中的虚拟化提供了众多优点,诸如提高了资源利用率、减少了成本、实现服务 器统一、以及/或者回避了互操作性限制。然而,虚拟化的环境可能存在着与本地环境一样的安全性和完整性风险。具 体地,物理机器内的每个虚拟机可能容易受到来自各种各样的源的入侵和攻击。而且, 在单个计算系统上执行多种类型的操作系统可能会使得用于计算系统的安全测量的实 现变得复杂,因为需要该安全测量解决计算系统上的每种类型的操作系统的安全漏洞 (vulnerability)。因此,对单个物理机器内的虚拟机的攻击可能很难被检测、分析和/或 管理。因此,需要有助于检测、分析和管理虚拟机上的攻击和漏洞(exploit)的机制。

发明内容
某些实施例提供一种管理虚拟机的执行的系统。在操作期间,该系统获取虚拟机 的执行期间的一系列虚拟机快照。如果检测到虚拟机的异常操作,则系统从所述一系列快 照中的一个快照中产生一组快照实例,其中每个快照实例在一组限制条件中的一个限制条 件下执行。接下来,该系统使用那些快照实例中的没有表现出异常操作的快照实例来确定 异常操作的源。最后,该系统使用所述快照实例更新虚拟机的状态。在某些实施例中,使用快照实例更新虚拟机的状态包括加速快照实例的执行以达 到虚拟机的当前状态以及用快照实例替换虚拟机。在某些实施例中,加快快照实例的执行包括缓存与虚拟机关联的输入事件以及使 用缓存的输入事件按加快的速率执行快照实例。在某些实施例中,该系统还从一系列快照中选择一个快照以作为一组快照实例来 执行。如果不能从该快照确定异常操作的源,则系统从该系列快照中选择更早的快照以作 为一组快照实例来执行。在某些实施例中,这些快照取自虚拟机的执行期间的周期性的间隔处。
在某些实施例中,所述限制条件中的每个限制条件被用来阻断异常操作的一个潜 在源。在某些实施例中,异常操作的潜在源对应于端口和地址中的至少之一。


图1示出根据一个实施例的计算系统。图2示出根据一个实施例的虚拟机的受管理的执行。图3示出说明根据一个实施例的管理虚拟机的执行的处理的流程图。在这些图中,相同的参考标号指示相同的附图单元。
具体实施例方式给出以下描述以使本领域的任何普通技术人员能够实现并使用这些实施例,并且 其是在具体应用及其需求的背景下被提供的。对所公开的实施例的各种修改对于本领域的 普通技术人员而言是显而易见的,并且这里所定义的一般原则在不偏离本公开的精神和范 围的条件下可以应用到其它实施例和应用。因此,本发明不局限于所示实施例,而是符合这 里所公开的原则和特征相一致的最广范围。在该具体实施方式
中描述的数据结构和代码通常被存储在计算机可读存储介质 上,该计算机可读存储介质可以是能够存储供计算机系统使用的代码和/或数据的任何设 备或介质。计算机可读存储介质包括,但不限于,易失性存储器、非易失性存储器,诸如盘驱 动器、磁带、CD (致密盘)、DVD(数字多功能盘或数字视频盘)之类的磁的或者光的存储设 备,或者现在已知或以后开发出的能够存储计算机可读介质的其它介质。在该具体实施方式
章节中描述的这些方法和处理可以被具体实现成代码和/或 数据,其可以被存储在如上所述的计算机可读存储介质中。当计算机系统读取和执行存储 在计算机可读存储介质上的代码和/或数据时,计算机系统执行被具体实现成数据结构和 代码并被存储在计算机可读存储介质内的这些方法和处理。 此外,下面所描述的这些方法和处理可以被包括在硬件模块中。例如,硬件模块可 包括,但不限于,专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、以及现在所公知的 或以后开发的其它可编程逻辑器件。当硬件模块被激活时,这些硬件模块执行包括在硬件 模块内的这些方法和处理。这些实施例提供了一种用于执行虚拟机的方法和系统。该虚拟机可与许多其它虚 拟机一起运行在一个物理计算系统上。另外,该虚拟机可执行一种操作系统或应用,所述操 作系统或应用通过该计算系统上的管理程序来获得对该计算系统上的物理资源的使用。更为特别地,这些实施例提供一种用于管理该虚拟机的执行的方法和系统。为了 便于管理虚拟机的执行,可以在该虚拟机的执行期间获取该虚拟机的一系列快照。另外,可 以监视虚拟机的执行中的异常操作。如果检测到异常操作,则可以从这些快照之一产生一 组快照实例。每个快照实例可以在一组限制条件下执行,该组限制条件允许异常操作的源 被识别。具体地,每个限制条件可以阻断异常操作的一个潜在源。因此,没有展现出异常行 为的快照实例可能包括阻断异常行为的源的限制条件。此外,该快照实例可用于管理异常 操作和/或可通过替换虚拟机来对异常操作做出响应。
图1示出根据一个实施例的计算系统102。计算系统102包括硬件104、管理程序 106、控制域108、一组服务域110-112、以及一组访客域114-116。下面将更为详细地描述这 些部件中的每个部件。计算系统102可对应于给用户提供一种或多种服务或功能的电子计算设备。例 如,计算系统102可操作作为个人计算机、膝上型计算机、服务器和/或工作站。此外,计算 系统102的功能可以通过在计算系统102中的诸如处理器、存储器、输入/输出(I/O)设备、 和/或网络接口卡之类的硬件104部件上执行软件来提供。例如,计算系统102可包括协 调对计算系统102上的硬件104和软件资源的使用的一个操作系统,以及一个或多个执行 针对用户的特殊任务的应用。更为具体地,诸如计算系统102上的操作系统和应用之类的软件可在一个或多个 虚拟机内执行。每个虚拟机可对应于针对在硬件104上执行的物理机器(例如计算系统 102)的基于软件的虚拟环境。每个虚拟机还可被配置成独立于计算系统102上的其它虚拟 机来执行各种应用、进程和/或操作系统。换言之,多个虚拟机在单组硬件104资源上的独 立执行可以提供计算系统102的多功能性、资源利用率和/或安全性。在一个或多个实施例中,计算系统102用作服务器,诸如应用服务器、web服 务器和/或电子邮件服务器。因此,计算系统102可被配置成处理来自多个用户的输 入事件和/或向用户提供各种各样的服务。为了增加基于服务器的功能性和性能,计 算系统102可在虚拟机内执行各种操作系统实例。例如,计算系统102可包括分别运 行 Linux、Solaris (Solaris 是 Sun Microsystem 公司的注册商标)以及 Microsoft Windows (Microsoft Windows 是Microsoft公司的注册商标)的三个虚拟机。特定于一 个操作系统的应用和/或进程因此可以运行在计算机系统102上包含该操作系统的虚拟机 内。此外,一个操作系统的安全漏洞可以被限制在包含该操作系统的虚拟机内,并且可以不 影响计算系统102中的其它虚拟机上的其它操作系统的执行。在一个或多个实施例中,计算系统102上的虚拟机可以执行为访客域(例如访客 域114-116)。计算系统102还可包括其它域,诸如控制域108和服务域110-112。每个域 可对应于计算系统102内的一个软件、资源和/或标识的逻辑分组,其不同于其它域的逻辑 分组。例如,每个域可包括一个操作系统内核、多个内核补丁以及内核的调整参数;一组用 户账号和/或管理员;一组磁盘;和/或一组网络接口和地址。另外,对计算系统102上的 域的控制和执行可以由管理程序106来开启。管理程序106可对应于计算系统102上的固件层,其操作为针对这些域的硬件控 制。换言之,管理程序106可通过控制从每个域对硬件104资源的访问以及维护这些域之 间的隔离来管理这些域的执行。例如,管理程序106可向一个给定的域分配计算系统102 上的处理器、存储器和/或1/0资源的子集。因此,管理程序106可支持计算系统102上多 个操作系统的同时执行,其中每个操作系统各在一个访客域中。可选地,管理程序106可对 应于一个托管管理程序(hosted hypervisor),其运行在计算系统102上的一个本地操作 系统内并且通过该本地操作系统获取用于这些域的资源。在一个或多个实施例中,计算系统102中的这些域的管理是通过控制域108来执 行的。更为特别地,在控制域108内执行域管理器118可包括通过管理程序106获得的功 能,以创建并管理这些域以及向这些域分配资源。换言之,域管理器118可对应于控制域108内的软件部件,其将管理程序106的能力暴露给控制域108的用户。来自用户的用于 管理这些域的命令可以通过域管理器118发送给管理程序106,管理程序106可通过与硬 件104进行接口来实现这些命令。例如,在这些域之间的资源分配的改变可以通过域管理 器118从用户处获得,并且该改变可以被发送给管理程序106以便更新与这些域相关联的 硬件104资源划分。服务域110-112可向计算系统102的其它域提供虚拟设备服务122-124。例如,服 务域110-112可向其他域提供虚拟化的设备,诸如虚拟的开关、磁盘服务器和/或网络接口 卡。所述其它域还可以用它们与物理设备交互的相同形式来与这些虚拟设备进行交互。本领域的普通技术人员将明白操作系统126-128可能包括安全漏洞。尽管安全 漏洞可能仅仅影响包括该安全漏洞的操作系统,但是这种漏洞可能使受影响的操作系统所 提供的功能和服务失效或对其造成不良影响。此外,因为在从中执行操作系统的虚拟环境 (例如访客域114-116)与该虚拟环境外的监视机制之间的语义差距,所述漏洞可能难以被 检测或分析。为了解决与虚拟机相关的安全性考虑,操作系统102上的虚拟机的执行可以通过 使用快照和损坏抑制技术来进行管理,其可允许检测、隔离和管理虚拟机的漏洞。具体地, 在执行期间可以通过控制域108或其它域中的自查模块(例如自查模块120)来监视每个 虚拟机的异常操作。每个自查模块可对应于基于期望的虚拟机的基础操作对虚拟机进行完整性检查 的软件部件。此外,每个自查模块与虚拟机之间的语义差距可以跨越(bridge),因为自查模 块的操作是基于用于虚拟机的代码的。在与本申请的发明人相同并且与本申请在同日提交 的、名称为“Facilitated Virtual Machine Introspection”、序列号待定、申请日待定的 (代理号为No. SUN090100)、共同未决的非临时申请中对自查模块进行了更具体的描述。另外,虚拟机的一系列快照可以由域管理器118在虚拟机的执行期间来获取。这 些快照可以被周期性地获取,诸如以五分钟为间隔。虚拟机的输入事件还可以通过域管理 器118和/或计算系统102上的另一部件来缓存,供以后在分析、检测和/或管理虚拟机的 潜在漏洞时使用。输入事件可以包括例如网络流量、硬件事件、输入/输出(I/O)事件、和 /或与虚拟机相关联的其它事件。每个输入事件还可包括时间戳和/或其它定时信息。例 如,输入事件可包括开始时间戳、停止时间戳和/或持续时间。定时信息可被包括在与输入 事件相关联的数据中(例如网络分组中的传输控制协议(TCP)时间戳)、或者定时信息可 以由域管理器118、管理程序106和/或计算系统102上的另一部件来确定。例如,管理程 序106可注明硬件中断发生的时间,并将硬件中断和发生时间发送给计算系统102上的负 责缓存输入事件的部件。虚拟机可以持续执行,直到自查模块120检测到虚拟机的异常操作为止。异常操 作可对应于由自查模块120所评估的与虚拟机的预期操作的偏差。此外,异常操作可指示 存在导致虚拟机的操作发生改变的漏洞。为了能够分析该异常操作,域管理器118可从获取自虚拟机的一个快照产生一组 快照实例。每个快照实例接着可以在不同的限制条件下执行,所述每个限制条件阻断了异 常操作的一个潜在源。具体地,每个限制条件可对应于一个可作为虚拟机上的异常操作的 潜在源的端口、地址、盘输入、键盘输入、和/或远程外壳程序(remoteshell)。另外,每个快照实例可以通过使用缓存的从快照被获取开始已发生的输入事件,以加快的速率来执行。 每个快照实例的加速执行可以继续由自查模块120监视异常操作。因为多个快照实例同时并行地处理多个输入事件,所以可能会向自查模块120表 明未表现出异常操作的快照实例上的被阻断的端口或地址是异常操作的源。因为异常操作 的源在该快照实例中被阻断,所以该快照实例不处理来自异常操作的源的输入事件,并且 可以保持不受导致异常操作的漏洞的影响。另一方面,其它快照实例可能在处理了执行该 漏洞的输入事件之后开始表现出异常操作。然而,如果每个快照实例均表现出异常操作,则该快照可能已经包含了漏洞,并且 对从该快照所产生的快照实例的自查在确定异常操作的源时可能不起作用。相反,域管理 器118可以从虚拟机的更早的快照来产生一组新的快照实例,并且自查模块120可以尝试 根据该组新的快照实例来找出异常操作的源。可以继续递增地选择更旧的快照并且从更旧 的快照中产生快照实例,直到可以根据不包含该漏洞的快照确定异常操作的源为止。可选地,域管理器118可以使用分治(divide and conquer)方法来执行快照实 例。具体地,域管理器118可以在多个限制条件下而不是单个限制条件来产生每个快照实 例。未表现出异常操作的快照实例接着被用于产生该快照实例的限制条件被划分到其中的 另一组快照实例。因此,持续地用具有不断增长的限制条件特征来产生快照实例可以继续 进行,直到在一个快照实例中发现异常操作的特定源为止。此外,尽管具有增加的特定限制 条件的多组快照实例的顺序执行可能比执行每个快照实例仅包含一个限制条件的大得多 的一组快照实例需要更多的时间,但是计算系统102可能并不包括足够的资源用于同时执 行该大得多的一组快照实例。换言之,分治方法可允许识别和抑制具有有限资源和/或多 个执行虚拟机的机器中的漏洞。例如,虚拟机可能包括异常操作的60个潜在的源。当检测虚拟机中的异常操作 时,域管理器118可产生第一组四个快照实例,其中每个快照实例包含15个限制条件,其阻 断了异常操作的15种不同的潜在的源。在从该第一组中找到没有表现出异常操作的那个 快照实例之后,域管理器118可以产生第二组五个快照实例,其中每个快照实例都包含在 该快照实例中所使用的15个限制条件中的三个限制条件。域管理器118接着通过使用该 第二组中的未表现出异常操作的那个快照实例来产生第三组三个快照实例。该第三组中的 每个快照实例可以仅仅包含在在该第二组中的那个快照实例中所找到的三个限制条件中 的一个。结果,异常操作的特定源可以在该第三组中的没有表现出异常操作的那个快照实 例中找到。因此,快照实例可以被自查模块120用作用于确定虚拟机中的异常操作的源的工 具。快照实例还可以被域管理器118用在对导致异常操作的漏洞进行响应的损坏抑制机制 中。更为特别地,域管理器118可使用没有表现出异常操作的快照实例,通过使用该快照实 例更新虚拟机的状态来对攻击做出响应。为了使用该快照实例更新虚拟机的状态,域管理 器118可加速快照实例的执行以达到虚拟机的当前状态并且接着用该快照实例来替换虚 拟机。为了达到虚拟机的当前状态,域管理器118可以通过使用所缓存的虚拟机的输入 事件,以加快的速率来执行快照实例。如上所述,虚拟机的输入事件在虚拟机的执行期间可 以被缓存。在虚拟机中检测到异常操作之后,输入事件可以继续被缓存。使用缓存的输入事件对快照实例的加速执行可以允许快照实例通过处理剩余的缓存的输入事件以达到虚 拟机的当前状态。接着,该快照实例可以通过处理虚拟机的实时输入事件,来接管虚拟机的 执行。另外,快照实例在替换虚拟机之后可以通过继续阻断来自异常操作的源的输入事件, 从而避免漏洞的再次出现。图2示出根据一个实施例的虚拟机208 (例如图1中的访客域114-116)的受管理 的执行。如图2中所示,在虚拟机208在时间200上被执行时,周期性地获取虚拟机208的 一系列快照202-206。如上所述,还可以监控虚拟机208的执行中的异常操作,并且虚拟机 208的输入事件可以被缓存。虚拟机116可以持续执行,直到检测到异常操作为止。一旦检测到异常操作,则可以通过选择在检测到异常操作之前获取的快照204以 及从快照204中产生一组快照实例210-212来促进对异常操作的分析。可以基于与异常操 作相关联的试探来选择快照204。例如,可以基于可能导致虚拟机208中所观察到的那种类 型的异常操作的漏洞的典型的检测时间来选择快照204。可选地,可以通过使用更简单的试 探(诸如虚拟机208的第二最近的快照)来选择快照204。每个快照实例210-212包括不同的限制条件214-216,其阻断了异常操作的潜在 源。例如,限制条件214-216可阻断快照实例210-212上的不同的端口、地址、用户输入和 /或远程外壳程序。另外,每个限制条件214-216可以是基于规则的或试探式的。例如,限 制条件214可以阻断快照实例210上的网际协议(IP)地址,因为该IP地址可能频繁地被 识别为漏洞的源。在每个快照实例210-212的执行期间,缓存的虚拟机的输入事件被发送给快照实 例以便进行处理。缓存的输入事件可以包括网络流量、硬件事件、输入/输出(I/O)事件、 和/或输入事件的定时信息(例如时间戳)。另外,快照实例210-212可以以加快的速率 来执行以迅速地找到异常操作的源。因为缓存的输入事件可能包含触发异常操作的输入事 件,所以异常操作的源可以根据在处理了缓存的输入事件之后未表现出异常操作的快照实 例(例如快照实例210)来确定。作为替代,如果所有快照实例210-212都表现出异常操作, 则可以选择更早的快照(例如快照202)并将其用于产生快照实例,直到从一个快照实例中 确定异常操作的源为止。如上所述,每个快照实例210-212可以包括一组限制条件而不是单个限制条件。 在每个快照实例210-212中使用多个限制条件可以允许在有限的机器资源上同时运行较 少的快照实例。此外,尽管同时执行比虚拟机208中的异常操作的潜在源的数目少的快照 实例,但是使用上面参考图1所描述的分治方法可以实现对异常操作的源的有效识别。例 如,可以通过顺序地执行三组五个快照实例,从125个潜在的源中确定虚拟机208中的异常 操作的源,其中每个后续组中的限制条件的数目是前一组中的限制条件和/或虚拟机208 的限制条件的五分之一。快照实例210接着可被用于更新虚拟机的状态。具体地,快照实例210的加速执 行可以继续,直到快照实例210达到虚拟机116的当前状态218为止。当达到当前状态218 时,快照实例210可能已经处理了除被限制条件214所阻断的那些输入事件之外的所有缓 存的输入事件。快照实例210接着可以替换虚拟机208并且替代虚拟机208来处理实时输 入事件。图3示出说明根据一个实施例的管理虚拟机的执行的处理的流程图。在一个或多个实施例中,一个或多个步骤可以省略、重复和/或以不同的次序来执行。因此,图3中所 示步骤的具体安排不应该被理解成限制这些实施例的范围。最初,监视虚拟机的执行中的异常操作(步骤302)。异常操作可对应于虚拟机的 预期行为之外的操作。监视虚拟机还可进一步包括缓存虚拟机的输入事件。另外,在虚拟 机的执行期间,周期性地获得虚拟机的快照(操作304)。虚拟机的异常操作还可以被检测(操作306)。异常操作可能指示虚拟机的潜在漏 洞。如果没有检测到任何异常操作,则虚拟机在执行期间可以继续被监视和获取快照(步 骤302-304)。然而,如果检测到异常操作,则虚拟机的一个快照被选择(步骤308)并且从 该快照中产生一组快照实例(步骤310)。此外,快照实例是通过使用不同的限制条件来执 行的(操作312),所述限制条件阻断诸如端口或地址之类的异常操作的潜在源。结果,每个 快照实例可以通过处理除由施加在该快照实例上的限制条件所阻断的输入事件之外的缓 存的虚拟机的输入事件来执行。异常操作的源可以根据没有表现出异常行为的快照实例来确定(操作314)。然 而,如果所有快照实例都表现出异常行为,则选择更早的快照(步骤308),从该更早的快照 中产生快照实例(操作310),并且使用一组限制条件来执行所述快照实例(操作312),直 到从不包含漏洞的快照中确定异常操作的源为止。一旦异常操作的源被确定,则加速没有表现出异常操作的快照实例的执行以达到 虚拟机的当前状态(操作316)。具体地,该快照实例可以继续以加快的速率处理缓存的虚 拟机的输入事件,直到该快照实例已经处理了所有缓存的输入事件并且可以处理被发送给 虚拟机的实时输入事件为止。接着,虚拟机可以用快照实例来替换(操作318)。通过监视虚拟机的执行并周期性地获取虚拟机的快照(操作302-304),新的虚拟 机(例如快照实例)的执行可能继续(操作320),直到异常操作被检测到为止(操作306)。 接着,可以通过来自所选择的虚拟机的快照的快照实例的执行(操作308-312)以及基于快 照实例的限制条件确定异常操作的源(操作314)来分析异常操作。最后,可以通过用没有 表现出异常操作的快照实例替换虚拟机,克服异常操作(操作316-318)。因此,通过使用快 照实例和限制条件,虚拟机中的漏洞可以被检测、分析和管理,直到虚拟机不再被执行。仅仅是出于图示和说明的目的给出了上述对各种实施例的描述。它们不是旨在进 行穷举或将本发明的实施例限制到所公开的形式。因此,许多修改和各种变体对于本领域 的普通技术人员而言是显而易见。另外,上面的公开不是旨在限制本发明的实施例。
权利要求
一种计算机实现的用于管理虚拟机的执行的方法,包括在所述虚拟机的执行期间获取所述虚拟机的一系列快照;如果检测到所述虚拟机的异常操作,则从所述一系列的快照中的一个快照中产生一组快照实例,其中所述快照实例中的每个使用一组限制条件中的一个限制条件来执行;通过使用所述快照实例中的没有表现出所述异常操作的快照实例,确定所述异常操作的源;以及通过使用所述快照实例来更新所述虚拟机的状态。
2.根据权利要求1所述的计算机实现的方法,其中所述使用所述快照实例来更新所述 虚拟机的状态包括加速所述快照实例的执行以达到所述虚拟机的当前状态;以及 用所述快照实例来替换所述虚拟机。
3.根据权利要求2所述的计算机实现的方法,其中所述加速所述快照实例的执行包括对与所述虚拟机相关联的输入事件进行缓存;以及 使用所述缓存的输入事件来以加快的速率执行所述快照实例。
4.根据权利要求1所述的计算机实现的方法,还包括从所述一系列快照实例中选择一个快照以作为一组快照实例来执行;以及 如果不能从所述快照中确定所述异常操作的源,则从所述一系列快照中选择一个更早 的快照以作为一组快照实例来执行。
5.根据权利要求1所述的计算机实现的方法,其中所述快照是在所述虚拟机的执行期 间以周期性的间隔获取的。
6.根据权利要求1所述的计算机实现的方法,其中所述限制条件中的每个都被用于阻 断所述异常操作的一个潜在源。
7.根据权利要求6所述的计算机实现的方法,其中所述异常操作的潜在源对应于端口 和地址中的至少一个。
8.一种用于管理虚拟机的执行的系统,包括自查模块,配置成监视所述虚拟机的执行中的异常操作;以及域管理器,配置成在所述虚拟机的执行期间获取所述虚拟机的一系列快照,其中如果检测到所述虚拟机的异常操作,则所述域管理器还被配置成从所述一系列快照中的一个快照中产生一组快照实例,其中 所述快照实例中的每个使用一组限制条件中的一个限制条件来执行;以及所述自查模块还被配置成使用所述快照实例中的没有表现出所述异常操作的快照实 例,确定所述异常操作的源。
9.根据权利要求8所述的系统,其中所述域管理器还被配置成使用所述快照实例来更 新所述虚拟机的状态。
10.根据权利要求9所述的系统,其中所述使用所述快照实例来更新所述虚拟机的状 态包括加速所述快照实例的执行以达到所述虚拟机的当前状态;以及用所述快照实例来替换所述虚拟机。
11.根据权利要求10所述的系统,其中所述加速所述快照实例的执行包括 对与所述虚拟机相关联的输入事件进行缓存;以及通过使用所述缓存的输入事件来以加快的速率执行所述快照实例。
12.根据权利要求8所述的系统,其中所述域管理器还被配置成 从所述一系列快照中选择一个快照以作为一组快照实例来执行;以及如果不能从所述快照中确定所述异常操作的源,则从所述一系列快照中选择一个更早 的快照以作为一组快照实例来执行。
13.根据权利要求8所述的系统,其中所述快照实例是在所述虚拟机的执行期间以周 期性的间隔获取的。
14.根据权利要求8所述的系统,其中所述限制条件中的每个都被用于阻断所述异常 操作的一个潜在源。
15.根据权利要求14所述的系统,其中所述异常操作的潜在源对应于端口和地址中的 至少一个。
16.一种存储指令的计算机可读存储介质,所述指令当被计算机执行时使得所述计算 机执行一种用于管理虚拟机的执行的方法,所述方法包括在所述虚拟机的执行期间获取所述虚拟机的一系列快照; 如果检测到所述虚拟机的异常操作,则从所述一系列的快照中的一个快照中产生一组快照实例,其中所述快照实例中的每个 使用一组限制条件中的一个限制条件来执行;通过使用所述快照实例中的没有表现出所述异常操作的快照实例,确定所述异常操作 的源;以及通过使用所述快照实例来更新所述虚拟机的状态。
17.根据权利要求16所述的计算机可读存储介质,其中所述使用所述快照实例来更新 所述虚拟机的状态包括加速所述快照实例的执行以达到所述虚拟机的当前状态;以及 用所述快照实例来替换所述虚拟机。
18.根据权利要求17所述的计算机可读存储介质,其中所述加速所述快照实例的执行 包括对与所述虚拟机相关联的输入事件进行缓存;以及 使用所述缓存的输入事件来以加快的速率执行所述快照实例。
19.根据权利要求16所述的计算机可读存储介质,所述方法还包括 从所述一系列快照实例中选择一个快照以作为一组快照实例来执行;以及如果不能从所述快照中确定所述异常操作的源,则从所述一系列快照中选择一个更早 的快照以作为一组快照实例来执行。
20.根据权利要求16所述的计算机可读存储介质,其中所述限制条件中的每个都被用 于阻断所述异常操作的一个潜在源。
全文摘要
本发明涉及虚拟机快照和损坏抑制。某些实施例提供一种管理虚拟机的执行的系统。在操作期间,该系统获取虚拟机的执行期间的一系列虚拟机快照。如果检测到虚拟机的异常操作,则系统从所述一系列快照中的一个快照中产生一组快照实例,其中每个快照实例在一组限制条件的一个限制条件下执行。接下来,该系统使用来自那些没有表现出异常操作的快照实例中的快照实例来确定异常操作的源。最后,该系统使用所述快照实例更新虚拟机的状态。
文档编号G06F9/455GK101853346SQ20101015829
公开日2010年10月6日 申请日期2010年3月30日 优先权日2009年3月31日
发明者C·L·舒巴, T·P·玛斯兰德 申请人:甲骨文美国公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1