讨论用于分析虚拟机镜像的技术。在一个实施例中,从一个或多个虚拟机镜像中提取设置的子集,虚拟机镜像在其中存储设置的值。设置由在虚拟机镜像的虚拟机上执行的软件来分别使用。各虚拟机镜像的一个目标虚拟机镜像被选择,并且设置的目标值从该目标虚拟机镜像中获得。设置的样本值从多个虚拟机镜像中获得。通过标识值在虚拟机镜像间的相似性和差异来形成子集。
【技术实现步骤摘要】
【国外来华专利技术】虚拟机镜像分析背景在管理虚拟机上的软件的领域中,虚拟机客操作系统中的大量变量可导致一个人难以在相对于某任意目的而言有关或意义重大的软件设置间进行区分。例如,用(虚拟机的)客操作系统的配置设置和/或其上安装的应用软件进行实验的人可能,例如直接通过手动编辑、作为诸如安装或卸载软件的副作用等,来随时间作出许多配置改变。由于这些配置或设置改变积累,可能难以回溯一个人的步骤,并标识可能是什么导致了虚拟机开始在期望的或不期望的状态运行。不仅难以在虚拟机的许多改变状态参数中标识那些具有含义或意义的,也难以在虚拟机上的可变值的不同类型或类别间进行区分。有些可能是真实的配置参数,客操作系统或应用软件可读取它们以确定如何运行。其它的可能包含由客操作系统输出的操作数据,诸如性能度量、时戳、使用计数等。即便是在这些中,可能很难为了评估虚拟机的目的,来确定与虚拟机的期望或不期望的当前状态相关的操作数据和实际上独立于虚拟机的状态的操作数据。以下讨论与使用同伴压力类型算法来分析虚拟机镜像相关的技术。概述以下概述仅是为了介绍在以下详细描述中讨论的某些概念而被包括的。本概述并不是全面的,并且不旨在描绘所要求保护的主题的范围,该范围由所附的权利要求书来阐明。讨论用于分析虚拟机镜像的技术。在一个实施例中,从一个或多个虚拟机镜像中提取设置的子集,虚拟机镜像在其中存储设置的值。设置由在虚拟机镜像的虚拟机上执行的软件来分别使用。各虚拟机镜像的一个目标虚拟机镜像被选择,并且设置的目标值从该目标虚拟机镜像中获得。设置的样本值从多个虚拟机镜像中获得。通过标识值在虚拟机镜像间的相似性和差异来形成子集。可例如使用贝叶斯估计来在统计上分析相似性和差异。许多附带特征将参考以下的详细描述并结合附图考虑以在下文解释。【附图说明】根据附图阅读以下详细描述,将更好地理解本专利技术,其中在所附描述中使用相同的附图标记来指代相同的部分。图1示出示例虚拟化层。图2示出关于虚拟机和虚拟机映像的虚拟化层的过程和交互。图3示出可如何捕捉执行中的虚拟机的快照。图4示出了普通同伴压力算法。图5示出了获得设置的不同途径。图6示出了虚拟机镜像中的示例设置。图7示出了设置和值的示例数据库。图8示出了使用同伴压力组件的系统和示例输出。详细描述下面讨论的各实施例涉及分析虚拟机镜像。如在背景中所述,对于用户而言难以筛选虚拟机上的许多可观察的值,以标识哪些值用于感兴趣的设置或参数而哪些是没兴趣的。为了从虚拟机上可呈现的许多中标识有意义的设置,基于贝叶斯的同伴压力技术被用来对虚拟机的参数或设置进行等级划分或分类。以机器虚拟化总览进行讨论,接着是同伴压力算法的讨论,接着是如何将同伴压力算法应用到从虚拟机镜像中提取的数据上的解释。图1示出示例虚拟化层100。计算机102具有硬件104,该硬件104包括中央处理单元(CPU) 106、存储器108、网络接口 110、非易失性存储112以及没有示出的其他组件,诸如总线、显示适配器等。虚拟化层100管理和促进虚拟机114的执行。尽管图1中未示出,每个虚拟机114通常具有相关联的虚拟盘镜像和客操作系统。为简明起见,虚拟机114的操作系统和可能的应用软件有时会被称作访客,访客存储在与虚拟机114相关联的虚拟盘镜像中并且从与虚拟机114相关联的虚拟盘镜像中执行。虚拟化层100可以是任何各种已知或未来的实现,诸如Hyper-V服务器(TM)、VMWare ESX服务器(TM)、Xen、Oracle VM (TM)等。虚拟化层的体系结构可以是带有在主机操作系统上运行的虚拟机监视器(VMM)的托管类型,或者是带有直接在计算机102的硬件104上运行的系统管理程序等的裸金属类型。如本文中所使用的,术语虚拟机摂是指模拟任何特定的硬件架构(例如,x86)(该硬件架构能够运行用于该硬件架构的本机代码)的系统型虚拟机;对于访客而言,几乎无法把虚拟机与硬件机器区分开。在本文中所讨论的虚拟机不是诸如Java虚拟机等抽象或进程型的虚拟机。虚拟化层100执行管理虚拟机114以及由其本身和虚拟机114 二者共享硬件104的基本功能。可以使用各种技术中的任何一种把虚拟机114和硬件104隔离开。在一个实施例中,虚拟化层可以提供对应于虚拟机114的不同的隔离开的环境中(即,分区或域)。虚拟化层100的一些,诸如共享虚拟设备驱动程序、虚拟机间通信设施以及虚拟机管理API (应用编程接口),可以运行在一个特殊的特权分区或域中,从而允许紧凑且高效的系统管理程序。在其他实施例中,用于虚拟机管理和对硬件104的一致共享的功能可以驻留在单片金属上(on-the-metal)系统管理程序中。图2示出关于虚拟机114和虚拟机映像140的虚拟化层100的过程和交互。虚拟化层100可能根据相应的虚拟机配置参数执行启动并执行虚拟机114的过程142。当虚拟机(VM) 114被启动时,虚拟化层标识相关联的虚拟机镜像140。在实践中,任何虚拟机114可以使用任何虚拟机镜像140。虚拟机镜像140可以是虚拟化层100的文件系统141上的特殊格式的文件(如,VHD) ο虚拟化层100加载所标识的虚拟机映像140。启动的虚拟机114也许通过寻求主引导记录或其他引导信息来安装和读取虚拟机镜像140,并且引导开始执行的客操作系统。虚拟化层100管理虚拟机114的执行,处理对访客的内核的特定调用、超级调用等,以及协调虚拟机114对底层硬件104的访问。随着访客及其软件运行,虚拟化层100可以维护虚拟盘镜像140上的访客的状态;当访客或由访客运行的应用向“盘”写数据时,虚拟化层100将该数据转换成虚拟盘镜像140的格式并写入到该镜像。虚拟化层100可以执行用于关闭虚拟机114的过程144。当接收到停止虚拟机114的指令时,虚拟机114及其访客的状态被保存到虚拟盘镜像140,并且正在执行的虚拟机114过程(或分区)被删除。可以保留虚拟机114的规范以用于虚拟机114的稍后重启。图3示出可如何捕捉执行中的虚拟机114的快照。虚拟机114具有在其上使用硬件104来执行的客操作系统180。运行中的虚拟机113提供存储客操作系统180和安装在客操作系统180上的任何应用或其它软件的虚拟盘存储。访客操作系统180和应用的总状态182可以物理存在于由虚拟化层100管理的整个硬件104。总之,几乎任何已知的物理机器的硬件或软件的特征都可在虚拟机114上具有等同物。虚拟化层100包括执行过程186以捕捉快照188的快照组件184。当虚拟机114正在运行时,接收捕捉虚拟机114的快照的指令。例如,虚拟化管理系统可以跨网络传送被虚拟化层100接收到的指令。在一些虚拟化实现中,在捕捉快照之前可能需要进行一些初步的准备。例如缓存可能需要刷新,文件系统或存储系统可能需要被停顿,客操作系统180的存储器页面可能需要被存储,等等。可以用已知的技术或现有的虚拟化实现技术来执行捕捉快照188。值得注意的是,快照188可以包括在等同的运行中物理机器上可用的任何信息。例如,快照188可以包括虚拟机113的存储器的副本,该副本可以包括执行中过程190、内核数据结构192或虚拟机113的虚拟化物理存储器中的任何信息。此外,快照188可以包括从虚拟机113使用的物理本文档来自技高网...
【技术保护点】
一种用于选择提取自一个或多个虚拟机镜像的设置的子集的方法,所述虚拟机镜像中存储了所述设置的值,所述设置分别由在所述虚拟机镜像的虚拟机上执行的软件来使用,所述方法包括:选择所述虚拟机镜像的一个目标虚拟机镜像,并从所述目标虚拟机镜像中获得所述设置的目标值;访问所述设置的样本值,所述样本值已经从多个虚拟机镜像中被获取;以及通过标识所述值在所述虚拟机镜像间的相似性和差异来形成所述子集。
【技术特征摘要】
【国外来华专利技术】2011.06.28 US 13/171,3661.一种用于选择提取自一个或多个虚拟机镜像的设置的子集的方法,所述虚拟机镜像中存储了所述设置的值,所述设置分别由在所述虚拟机镜像的虚拟机上执行的软件来使用,所述方法包括: 选择所述虚拟机镜像的一个目标虚拟机镜像,并从所述目标虚拟机镜像中获得所述设置的目标值; 访问所述设置的样本值,所述样本值已经从多个虚拟机镜像中被获取;以及 通过标识所述值在所述虚拟机镜像间的相似性和差异来形成所述子集。2.如权利要求1所述的方法,其特征在于,还包括执行包括操作于所述相似性和差异的计数的贝叶斯统计函数的同伴压力算法。3.如权利要求1所述的方法,其特征在于,所述目标虚拟机镜像包括用户选择的虚拟机镜像,并且所述多个虚拟机镜像相互相关且与所述目标虚拟机镜像相关。4.如权利要求3所述的方法,其特征在于,所述多个虚拟机镜像和所述目标虚拟机镜像作为同一虚拟机镜像在不同时间点的副本而相关。5.如权利要求3所述的方法,其特征在于,所述多个虚拟机镜像和所述目标虚拟机镜像作为最初曾是同一虚拟机镜像的副本而相关。6.如权利要求5所述的方法,其特征在于,所述多个虚拟机镜像已作为虚拟机执行,并且所述值的至少一些在所述虚拟机镜像正...
【专利技术属性】
技术研发人员:R·弗莱尔斯,S·帕塔萨拉蒂,G·亨特,
申请(专利权)人:微软公司,
类型:
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。