管理更新以创建虚拟机复制品的制作方法

文档序号:6478696阅读:179来源:国知局
专利名称:管理更新以创建虚拟机复制品的制作方法
管理更新以创建虚拟机复制品背景物理和虚拟机在它们的寿命中使其操作系统和应用程序通过安装补丁和更新而被周期性地升级。此类补丁和更新的示例包括但不限于服务包、热修补、用于安全问题的修 补、以及用于软件的已安装版本中的隐错的修补。此类更新有时影响了在创建物理机器的 虚拟机复制品期间需要替换的已定义集合中的文件。从而,标识影响已定义文件集合中的 每一文件的更新以定位对应替换文件的正确版本可能是关键的。一旦标识了相关的更新集合,即需要从更新储存库下载更新并检查这些更新以定 位替换文件。需要将合适的替换文件复制到虚拟机复制品上。此类下载和替换过程需要在 每一虚拟机复制品创建期间执行。当前对替换问题的解决方案通常通过使用标识并下载相关更新的手动过程、并通 过构建在复制品中寻找并替换受影响的文件的定制脚本来解决替换问题。此类过程需要试 错法以及用户干预来随着用于操作系统和应用程序的新更新被发布来保持脚本是最新的。 这可能是麻烦且重复的任务,因为可能频繁地发布新的更新。改变替换脚本通常施加了确 保他们继续正确操作的额外测试负担。概述可采用现有的更新技术以在复制品创建之前自动标识安装在物理机器上的更新、 定位来自更新服务器的更新包、并将其下载到执行该复制品创建的机器。此类更新技术的 使用允许对影响需要替换的已定义文件集合的精确标识,并且因此可最小化需要下载的更 新的数量。此外,可提取并高速缓存所需的替换文件集合以允许其在使用相同或不同物理 或虚拟机作为源的后续复制品创建期间的重用。下载最小更新集合并高速缓存它们以供重 用可消除更新的冗余下载并可导致较短的复制品创建时间。附图简述

图1是用于创建虚拟机复制品的过程的流程图。图2示出示例更新管理器系统。图3是用于使用更新技术来确定是否需要在复制品创建期间替换安装在源机器 上的更新或补丁的过程的流程图。图4是用于将所提取的替换文件存储在高速缓存中以便在将来的复制品创建期 间重用的过程的流程图。图5是在其中可以实现各示例实施例和方面的示例计算环境的框图。详细描述图1是用于创建虚拟机复制品的过程10的流程图。虚拟机复制品可从“源”创建, “源”可以是物理机器、当前正在运行的虚拟机、或预先存在的映像(例如,不是当前正在运 行的虚拟机或机器的备份)。在12,可检查源以查明其硬件和软件简档。如此处所使用的,术语“简档”可表示 一组硬件和/或软件特征。例如,可检查该源以确定安装在其上的操作系统的版本,以及安 装在其上的任何系统或应用程序的版本。可检查该源以标识可能已安装的任何软件补丁或更新。可检查源硬件以确定该源具有多少存储器和处理能力(也被称为,“CPU”)、其具有 多少网卡、其可连接到哪些网络、其具有的盘的数量、类型和大小等。如果源是预先存在的映像,则该源可由数据存储介质上的文件而不是运行的机器 来表示。因此,可检查虚拟机配置以查明硬件和软件简档。如果该源是物理机器或当前正在运行的虚拟机,则可检查该物理机器来查明其硬 件和软件简档。作为检查源的一部分,在12,可采用更新技术来检测当前可能被安装在正为 其创建复制品的物理或虚拟机上的更新。如此处所使用的,术语“更新”包括软件补丁。术 语“更新技术”指的是使用“更新管理器”来对特定“受管”软件组件进行版本控制。图2示出示例更新管理器系统20。更新客户端21访问机器22,该机器22包括受 管软件23,即,更新管理器20努力将其版本保持最新的软件。通常,更新客户端21将在其 上安装了受管软件23的机器22上驻留并运行。更新服务器24跟踪任何数量的受管软件组件25的最新版本。 更新服务器24通 常远离受管软件23驻留在其上的机器22 ( g卩,客户机器)。更新服务器24和客户机器22 通常经由诸如因特网等网络26来互连。此类更新服务器的示例可包括Windows更新服务 器(WSUS)或微软系统管理服务器(SMS)。图3示出作为检查源(图1中12处)的一部分的用于使用更新技术来检测更新 的方法30。如图3所示,可采用更新客户端来检查源以确定该源包括特定受管组件的哪些 版本。为了可“知晓”哪些组件是受管组件,该更新客户端可在31维护受管组件的列表。驻 留在源上的软件组件中的任何一个或全部可以是受管组件。在32,更新客户端可检查该源以确定该源当前包括每一受管组件的哪一版本。在 33,更新客户端可存储(例如,在源机器上的存储器中)受管组件的列表和与每一受管组件 相关联的版本。在34,更新客户端可检查该源来确定是否将任何更新应用到了受管组件中的任何 一个。如果是,在35,则更新客户端可存储与该更新和该更新被应用到的受管组件相关联的 更新标识符(例如,版本号)。因此,可采用更新客户端来检查该源以标识被安装在该源上的特定受管软件组件 的最新版本,包括可被安装在该源上的任何更新(包括补丁)的最新版本。如下文将描述 的,使用更新技术来标识当前被安装在源上的更新可减少需要被下载以使所捕捉的映像可 引导的文件的数量。现在再次参考图1来继续用于创建虚拟机复制品的过程的描述。在12检查了源 之后,可“映像化”该源。如何将该源映像化可取决于该源本身是否是映像。“映像”可被认 为是复制物理机器的内容(例如,硬件和软件简档)的一组文件。如果在14确定了源是映像,则在22可通过读取形成该映像的一组文件,并转换任 何此类文件的格式(如果有必要的话)以生成使用所需文件格式的一组文件,来映像化该 源。如果在14确定了源并非仅仅是映像,且因此该源或者是物理机器或者是当前正 在运行的虚拟机,则在16可映像化该物理机器。在此情况下,在要映像化的机器是正在运 行的虚拟机的情况下,术语“要映像化的物理机器”可以指的是该虚拟机所仿真的物理机 器。用于映像化物理机器的技术是公知的。此类技术的示例在2006年5月8日提交的美国专利申请号11/430,676中描述并要求保护,该申请的公开内容通过引用结合于此。在18,可使得所捕捉的映像“可引导”。即,可使得在14或22捕捉的映像与由将 用于“运行”复制品的虚拟服务器软件所仿真的配置兼容。图4是用于使得所捕捉的映像可引导的示例过程40的流程图。在41,可从更新服 务器将最小更新列表(在图1中的12标识出)下载到执行复制品创建过程的机器。更新 技术可用于查询、定位、并下载更新列表。可在42检查这些更新以提取用于需要被替换或添加的文件中的每一个的合适替 换文件。这些文件随后可被用来执行替换并使得虚拟机复制品可操作。当然,应该理解,可 替换现有文件,或可添加/安装新文件(例如,用于所仿真的设备的驱动程序)。在43,可 将所提取的替换文件存储在执行复制品创建过程的机器上的高速缓存中以供在将来的复 制品创建期间重用。这是往往确保每一更新仅被下载一次的优化。一旦将所有所需更新添 加到了高速缓存中,即可在不需要任何下载的情况下处理将来的复制品创建。
再次参考图1,可在20创建并配置虚拟机。即,可在逻辑上组装由形成所捕捉的映 像的文件集合所定义的硬盘来形成虚拟机。这些硬盘可在逻辑上彼此连接,且虚拟机可开 始运行。因此,软件和操作系统更新技术可用于创建现有物理或虚拟机的虚拟机复制品的 过程。示例性计算装置图5示出了在其中可实现各示例实施例和各方面的示例性计算环境。计算系统环 境100只是合适计算环境的一个示例,并非旨在对使用范围或功能提出任何限制。也不应 该将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性 或要求。可以使用多种其它通用或专用计算系统环境或配置。适合与本发明一起使用的公 知的计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持式或 膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、 微型计算机、大型计算机、嵌入式系统、包括任何以上系统或设备的分布式计算环境等等。可以使用诸如程序模块等可由计算机执行的计算机可执行指令。一般而言,程序 模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。也 可使用其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境。在分布式计 算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。参考图5,示例性系统包括计算机110形式的通用计算设备。计算机110的组件可 以包括,但不限于,处理单元120、系统存储器130和将包括系统存储器在内的各种系统组 件耦合至处理单元120的系统总线121。处理单元120可表示诸如多线程处理器上支持的 多个逻辑处理单元。系统总线121可以是几种类型的总线结构中的任何一种,包括存储器 总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。作为示 例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA) 总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连 (PCI)总线(也称为夹层(Mezzanine)总线)。系统总线121也可被实现为点对点连接、交 换光纤等通信设备。计算机110通常包括各种计算机可读介质。计算机可读介质可以是能由计算机110访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为 示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括 以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技 术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、 ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、 磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问 的任一其它介质。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算 机可读指令、数据结构、程序模块或其它数据,并包括任意信息传送介质。术语“已调制数据 信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示 例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声 学、RF、红外线和其他无线介质。以上的任何组合也应包括在计算机可读介质的范围内。系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只 读存储器(ROM) 131和随机存取存储器(RAM) 132。基本输入/输出系统133 (BIOS)包括如 在启动时帮助在计算机110内的元件之间传输信息的基本例程,它通常储存在ROM 131中。 RAM 132通常包含处理单元120可以立即访问和/或目前正在操作的数据和/或程序模块。 作为示例而非限制,图5示出了操作系统134、应用程序135、其它程序模块136和程序数据 137。计算机110也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介 质。仅作为示例,图5示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器140,对可 移动、非易失性磁盘151进行读写的磁盘驱动器152,以及对诸如CD ROM或其它光学介质等 可移动、非易失性光盘156进行读写的光盘驱动器155。可以在该示例性操作环境中使用 的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存 卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器141通常由不可移动 存储器接口,诸如接口 140连接至系统总线121,磁盘驱动器151和光盘驱动器155通常由 可移动存储器接口,诸如接口 150连接至系统总线121。以上讨论并在图5中示出的驱动器及其相关联的计算机存储介质为计算机110提 供了对计算机可读指令、数据结构、程序模块和其它数据的存储。在图5中,例如,硬盘驱动 器141被示为存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意, 这些组件可以与操作系统134、应用程序135、其他程序模块136和程序数据137相同,也可 以与它们不同。操作系统144、应用程序145、其它程序模块146和程序数据147在这里被 标注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘 162和定点设备161 (通常指的是鼠标、跟踪球或触摸垫)向计算机20输入命令和信息。其 它输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些 和其他输入设备通常通过耦合至系统总线的用户输入接口 160连接至处理单元120,但也 可以由其他接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。监视器 191或其他类型的显示设备也经由接口,诸如视频接口 190连接至系统总线121。除监视器 以外,计算机还可以包括其它外围输出设备,诸如扬声器197和打印机196,它们可以通过 输出外围接口 195连接。计算机110可使用至一个或多个远程计算机,如远程计算机180的逻辑连接在联网环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其 他常见的网络节点,并且通常包括以上相对于计算机110所描述的许多或所有元件,但在 图5中仅示出了存储器存储设备181。图5中所示的逻辑连接包括局域网(LAN) 171和广域 网(WAN) 173,但也可以包括其它网络。这样的联网环境在办公室、企业范围计算机网络、内 联网和因特网中是常见的。当在LAN联网环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN联网环境中使用时,计算机110通常包括调制解调器172或用于通过诸如因 特网等WAN 173建立通信的其他装置。调制解调器172可以是内置或外置的,它可以经由 用户输入接口 160或其它适当的机制连接至系统总线121。在联网环境中,相对于计算机 110所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非限制, 图5示出远程应用程序185驻留在存储器设备181上。可以理解,所示的网络连接是示例 性的,且可以 使用在计算机之间建立通信链路的其它手段。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权 利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为 实现权利要求的示例形式公开的。
权利要求
一种用于创建源机器的虚拟复制品的方法,所述方法包括检查所述源机器以查明与所述源机器相关联的一组软件特征,其中所述一组软件特征包括被安装在所述源机器上的软件组件的标识;确定所述软件组件的已安装版本,其中所述软件组件的已安装版本是当前被安装在所述源机器上的;从更新服务器确定所述软件组件的已安装版本是否是所述软件组件的最新版本;以及形成包括所述软件组件的最新版本的所述源机器的映像。
2.如权利要求1所述的方法,其特征在于,还包括标识对所述软件组件的更新,其中所述更新是当前被安装在所述源机器上的; 确定所述更新的已安装版本,其中所述更新的已安装版本是当前被安装在所述源机器 上的;从所述更新服务器确定所述更新的已安装版本是否是所述更新的最新版本;以及 将所述更新的最新版本包括在所述源机器的映像中。
3.如权利要求1所述的方法,其特征在于,还包括使得所述源机器的映像在物理机器 上可引导。
4.如权利要求3所述的方法,其特征在于,还包括在所述物理机器上创建虚拟机。
5.如权利要求4所述的方法,其特征在于,创建所述虚拟机包括组装多个虚拟硬盘,其 中所述虚拟硬盘中的每一个是由相应的文件集合所定义的,且所述硬盘中的至少一个是由 与所述软件组件的最新版本相关联的至少一个文件所定义的。
6.如权利要求5所述的方法,其特征在于,组装所述硬盘包括在逻辑上互连形成所述 虚拟硬盘的文件。
7.如权利要求4所述的方法,其特征在于,还包括在所述物理机器上运行所述虚拟机。
8.如权利要求2所述的方法,其特征在于,将所述更新的最新版本包括在所述源机器 的映像中包括检查第一文件集合以确定所述第一集合中的文件中的任何一个是否受所述更新影响, 其中所述第一文件集合形成所述源机器的软件简档;以及形成包括至少一个替换文件的第二文件集合,所述替换文件对应于来自所述第一集合 的、受所述更新影响的文件。
9.如权利要求8所述的方法,其特征在于,还包括从更新服务器下载所述替换文件。
10.如权利要求9所述的方法,其特征在于,还包括 将所下载的替换文件存储在高速缓存中;从所述高速缓存中检索所存储的替换文件;以及形成包括从所述高速缓存中检索出的替换文件的所述物理机器的第二映像。
11.一种用于创建源机器的虚拟复制品的方法,所述方法包括 提供被安装在所述源机器上的软件组件的标识;标识对所述软件组件的更新,其中所述更新是当前被安装在所述源机器上的; 确定所述更新的已安装版本,其中所述更新的已安装版本是当前被安装在所述源机器 上的;从所述更新服务器确定所述更新的已安装版本是否是所述更新的最新版本;以及形成包括所述更新的最新版本的源机器的映像。
12.如权利要求11所述的方法,其特征在于,还包括 提供形成所述源机器的软件简档的第一文件集合;检查所述第一文件集合以确定所述第一集合中的文件中的任何一个是否受所述更新 影响;形成包括至少一个替换文件的第二文件集合,所述替换文件对应于来自所述第一集合 的受所述更新影响的文件。
13.如权利要求11所述的方法,其特征在于,还包括使得所述源机器的映像在物理机 器上可引导。
14.如权利要求13所述的方法,其特征在于,还包括在所述物理机器上创建虚拟机。
15.如权利要求14所述的方法,其特征在于,创建所述虚拟机包括组装多个虚拟硬盘, 其中所述虚拟硬盘中的每一个是由相应的文件集合所定义的,且所述硬盘中的至少一个是 由与所述软件组件的最新版本相关联的至少一个文件所定义的。
16.如权利要求15所述的方法,其特征在于,组装所述硬盘包括在逻辑上互连形成所 述虚拟硬盘的文件。
17.如权利要求14所述的方法,其特征在于,还包括在所述物理机器上运行所述虚拟机。
18.一种用于创建源机器的虚拟复制品的方法,所述方法包括从更新服务器下载与软件组件相关联的软件更新,其中所述软件组件被包括在所述源 机器的软件简档中;形成所述源机器的第一映像,其中所述软件更新形成所述源机器的第一映像的一部分;将所述软件更新存储在高速缓存中; 从所述高速缓存中检索所述软件更新;以及形成所述源机器的第二映像,其中所述源机器的第二映像包括从所述高速缓存中检索 到的软件更新。
19.如权利要求18所述的方法,其特征在于,还包括使得从所述高速缓存中检索到的 文件在物理机器上可引导。
20.如权利要求19所述的方法,其特征在于,还包括在所述物理机器上运行虚拟机,其 中运行所述虚拟机包括执行从所述高速缓存中检索到的文件。
全文摘要
公开了使用已知更新技术在复制品创建之前自动标识安装在物理机器上的更新、定位来自更新服务器的更新包、并将其下载到执行该复制品创建的机器的技术。更新技术的使用允许对影响需要替换的已定义文件集合的精确标识,并因此最小化了需要下载的更新的数量。此外,提取并高速缓存所需的替换文件集合以允许其在使用相同或不同物理或虚拟机作为源的后续复制品创建期间的重用。下载最小更新集合并高速缓存它们以供重用消除了更新的冗余下载并导致了较短的复制品创建时间。
文档编号G06F17/00GK101821727SQ200880111439
公开日2010年9月1日 申请日期2008年10月7日 优先权日2007年10月12日
发明者N·V·瓦拉瓦, R·M·弗莱尔斯, S·罗伊特, V·拉曼 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1