虚拟化解决方案的自动化配置和安装的制作方法

文档序号:6353655阅读:251来源:国知局
专利名称:虚拟化解决方案的自动化配置和安装的制作方法
技术领域
本发明涉及虚拟化解决方案。
背景技术
安装复杂的软件系统即使对于有经验的信息技术专业人士也可能是冗长且令人 沮丧的过程。某些复杂的软件系统可以在多个硬件或软件平台上操作以便在单个解决方案 中递送多个应用程序。例如,商业企业可使用多个应用程序来管理该企业并且向雇员和顾客提供计算服 务。这些应用程序可包括电子邮件应用程序、恶意软件检测服务、文件服务以及底层服务, 诸如认证、网络管理、设备管理和其他服务。在该示例中,‘解决方案’可以是应用程序、服务 以及其他使企业能够有效运转的其他组件中的许多个。在许多企业中,计算机基础结构可包括递送总体解决方案的各部分的多个设备。 可为冗余以及负载平衡或分割使用多个设备。冗余对于提供诸如认证服务等广泛使用的服 务的某些设备而言是有用的,其中甚至短暂的停机也可导致不想要的延迟。负载平衡或负 载分割在一个应用程序或服务消耗单个设备的大多数处理或其他带宽时是有用的,以使得 使不同的服务器具有不同的应用程序不会使一个或多个服务器过载。

发明内容
一种用于多个设备、多个应用程序解决方案的安装系统可包括用于安装这些设备 中的一个或多个并将其配置成虚拟机的选项。该安装系统可以从裸硬件启动,安装虚拟机 主机,并将一个或多个设备配置成虚拟机。该安装系统可提供管理员可从中选择的一组预 定义配置,并且某些实施例可提供用于基于预期用途或其他因素来选择适当的配置的各种 算法或优化例程。可以定制这些配置以创建可以在安装过程期间消费以自动化许多配置操 作的一个或多个安装设置集合。提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定 所要求保护的主题的范围。


在附图中图1是示出可用于创建安装设置集合的设备的实施例的图示。图2是示出其中可实现多设备解决方案的网络环境的实施例的图示。图3是示出安装过程期间的设备的实施例的图示。图4是示出虚拟机安装过程的第一阶段期间的设备的实施例的图示。图5是示出虚拟机安装过程的第二状态期间的设备的实施例的图示。图6是示出用于安装设备的方法的实施例的流程图。
具体实施例方式一种安装系统可确定可用于自动安装包括作为虚拟机的某些设备在内的若干设 备的安装设置。这些设备可执行各种功能,并且可配置有相同或不同的应用程序和服务。在 许多情况下,这些设备可被配置成彼此协同操作以递送包括多个应用程序和服务的解决方案。该安装系统可安装并配置操作系统、虚拟机主机、虚拟机客机以及应用程序和服 务。该安装过程可通过生成可由脚本、应用程序或执行安装和配置的其他自动化系统来消 费的安装设置集合来高度自动化。该解决方案可以安装在各种硬件拓扑结构上。例如,三设备解决方案可以安装在 单个硬件平台上且每一个设备都作为虚拟机,或者相同的解决方案可以安装在两个硬件平 台上且一个设备本机地安装在一个硬件平台上并且两个设备被安装为虚拟设备。安装可以 在对于其未安装操作系统的裸硬件上执行,或者在可包括虚拟机主机的现有硬件平台上执 行。安装系统可具有用于确定硬件拓扑结构的若干机制,包括通过对话框的用户输入 或其他交互,以及可以从现有设备收集硬件和软件信息的自动化勘测器(mapper)。本说明书通篇中,在所有附图的描述中,相同的附图标记表示相同的元素。在将元素称为“连接”或“耦合”的时候,这些元素可以直接连接或耦合在一起,或 者也可以存在一个或多个中间元素。相反,在将元素称为“直接连接”或“直接耦合”的时 候,不存在中间元素。本发明可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本发明的部 分或全部能以硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。 此外,本发明可以采用其上包含(嵌入)有供指令执行系统使用或结合其使用的计算机可 使用或计算机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品 的形式。在本文的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、传递、传 播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、 或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可以包括计算 机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其 他数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介 质。计算机存储介质包括,但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数 字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用 于存储所需信息且可以由指令执行系统访问的任何其他介质。注意,计算机可使用或计算 机可读介质可以是其上打印有程序的纸张或其他合适的介质,因为程序可以经由例如对纸 张或其他介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其他合适的方式 处理,并随后存储在计算机存储器中。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读 指令、数据结构、程序模块或其他数据,并包括任一信息传送介质。术语“已调制数据信号”可以被定义为其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示 例而非限制,通信设备介质包括有线介质,如有线网络或直接线连接,以及诸如声学、射频 (RF)、红外线及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介 质的范围内。当本发明在计算机可执行指令的一般上下文中具体化时,该实施例可以包括由一 个或多个系统、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任 务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功 能可以在各个实施例中按需进行组合或分布。图1是示出用于创建安装设置的系统的实施例100的图示。实施例100是可创建 安装设置的设备的简化示例,这些安装设置可用于安装和配置包括各种硬件平台上的多个 设备的解决方案。图1的示图示出系统的各个功能组件。在某些情况下,组件可以是硬件组件、软件 组件、或硬件和软件的组合。某些组件可以是应用层软件,而其他组件可以是操作系统层组 件。在某些情况下,一个组件到另一个组件的连接可以是紧密连接,其中两个或更多个组件 在单个硬件平台上操作。在其他情况下,连接可以通过跨长距离的网络连接来进行。各实 施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的功能。实施例100是可以准备好安装多个设备以及那些设备上的应用程序的系统的示 例。在许多情况下,该多个设备和应用程序可提供解决复杂的商业目标,诸如为企业单位提 供信息技术基础结构的‘解决方案’。准备好安装可涉及确定各种设备的适当配置以及用于在这些设备上操作的应用 程序的各种选项和其他配置参数。可使用用户界面来收集关于设备、将要在这些设备上执 行的应用程序以及这些设备可在其上操作的硬件拓扑结构的信息。安装设置可定义特定任务、配置设置以及可用于高度自动化安装和配置过程的其 他信息。这些设置可由安装管理器用来对安装进行正确地定序、配置操作系统和应用程序 以及使设备准备好操作。在某些情况下,这些设备可被安装为虚拟机。虚拟机是模拟硬件设备并允许应用 程序、服务和其他软件就像该设备是普通的物理设备那样操作的软件构造。在许多实施例 中,虚拟机可以是真实机器的隔离副本。虚拟机主机通常是具有操作系统的物理机器。虚拟机主机可具有虚拟机客机可在 其中操作的虚拟环境。虚拟机客机可具有其自己的专用操作系统,该操作系统可以与或不 与在虚拟机主机上执行的操作系统相同。在许多情况下,虚拟机客机可以具有与主机的操 作系统不同的操作系统。贯穿本说明书和权利要求书,‘设备’可以指在硬件平台上操作的操作系统和应用 程序。在某些情况下,‘设备’可以是虚拟机,其中操作系统和应用程序被虚拟化并且可以与 其他虚拟机一起在单个硬件平台上操作。在某些参考文献中,术语‘设备’可包括硬件平台 和软件平台两者,但在虚拟机客机中,‘设备’可以只是软件实现而不具有硬件组件,并且虚 拟机客机可以在虚拟机主机所提供的硬件平台上操作。设备102被示为具有硬件平台104和若干软件组件106的常规计算设备。设备 102可以是台式计算机、服务器计算机、膝上型计算机或任何其他计算设备。在某些实施例中,设备102可以是手持式计算设备,诸如移动电话或个人数字助理。硬件平台104可以包括处理器108以及随机存取存储器110和非易失性存储112。 硬件平台104还可以包括网络适配器114和用户接口 116。软件组件106被示为单独的组件,但在某些实施例中可构成单个应用程序。在一 典型的实施例中,软件组件106可以在操作系统环境中操作。配置管理器118可创建可用于安装、配置和部署多个设备的安装设置120,这些设 备中的每一个都可以操作一个或多个应用程序。在许多情况下,这些设备可具有依靠其他 应用程序或与其他应用程序一起工作以形成解决方案的应用程序。安装设置120可以在安装过程期间用来定义安装顺序以及配置已安装或将安装 的组件。安装设置120可以在操作系统安装期间、应用程序安装期间或在安装之后消费以 便将设备配置成执行预期功能。配置管理器118可具有用户界面121,该用户界面可用于向用户请求信息以确定 可以如何安装、配置和部署解决方案。用户可以选择要部署的应用程序,确定在其上安装设 备以执行应用程序的硬件拓扑结构并确定各种配置设置和参数。安装设置120可定义可如何安装和部署各个设备中的每一个。这些设备可作为虚 拟机客机安装或作为非虚拟机直接安装在硬件平台上。在许多情况下,某些设备可以比其他设备更好地适于虚拟部署。例如,在局域网和 广域网之间执行网关功能的设备可以更好地适于直接部署在物理硬件平台上。这一设备可 执行恶意软件扫描、隔离或可以更好地适于单独的硬件平台的其他功能。虚拟或非虚拟设备的部署可随着可用硬件平台而变化。在某些情况下,两个服务 器平台可用,但可以安装三个或更多设备。在这些情况下,可以在单个硬件平台上虚拟化至 少两个设备。某些设备可以在可预期大量增长或管理员希望在硬件平台中具有灵活性时被部 署为虚拟设备。当可轻度使用两个或更多设备时,这些设备可以在单个硬件平台上虚拟化 和合并。当需求增加时,虚拟设备可被移至单独的硬件平台。虚拟设备还可允许在不重新 安装和配置虚拟设备的情况下更新和修改硬件平台。配置管理器118可使用勘测器IM或其他机制来确定硬件拓扑结构。硬件拓扑结 构可标识其中可安装各种设备的硬件平台,并且可包括设备的性能或其他能力。勘测器IM可以是用于查询硬件设备以确定该设备的特性以及可以配置的参数 的自动化机制。在某些情况下,勘测器1 可用于查询现有虚拟机主机的硬件和软件能力, 以及虚拟机主机用来配置虚拟机客机的设置。在某些实施例中,用户界面121可用于收集硬件拓扑结构信息。在其中新服务器 或新硬件平台可用于安装设备的实施例中,新硬件平台可以不安装操作系统并且勘测器 124可能无法检测到和查询这一硬件平台。用户界面121可包括诸如向导、对话框等交互组件,或用于收集关于硬件平台的 配置信息的其他机制。在某些实施例中,可以收集硬件平台的各种性能特性,诸如处理器速 度、随机存取存储器的量和速度、非易失性存储的量和速度、网络接口适配器、外围设备、用 户接口设备以及其他信息。硬件拓扑结构可由配置管理器118用来确定各种设备的优化布置,以及可优化特定应用程序在那些硬件平台上的执行的特定设备的配置设置。配置管理器118可帮助用户以若干方式为虚拟和非虚拟设备选择适当的配置。配 置管理器118可使用可定义建议的或可能的配置的一组预定义配置122。这些配置可标识 哪些设备可被部署为非虚拟设备以及哪些设备可以被虚拟化并且在某些情况下与单个虚 拟机主机上的其他虚拟设备组合。在许多实施例中,配置管理器118可确定硬件拓扑结构并且然后标识预定义配置 122中的哪一些可以适用于当前硬件拓扑结构,并且呈现预定义配置122的子集以供用户 选择。某些实施例可使用优化器128。优化器1 可确定给定硬件拓扑结构上的设备的 优化配置。优化器1 可以按若干不同的方式操作以确定优化布置,并且可至少部分地使 用软件在每一个设备中的性能特性来确定该设备布置。在许多情况下,每一个设备可具有拥有性能特性126的应用程序。性能特性可定 义给定应用程序如何基于特定硬件配置来执行。例如,某些软件应用程序可使用大量随机 存取存储器并且应用程序的性能可以在存在少量存储器时显著地恶化。其他软件应用程序 可受限于对非易失性存储器的存取。这些应用程序只可根据附连的硬盘驱动器的带宽和速 度来执行。还有一些其他应用程序可受限于处理器速度、能力和并行性。这些应用程序可 以在例如多个处理器核可用时快速操作。优化器1 可以评估要安装的各种设备并且可将设备与可以在其上安装该设备 的硬件平台进行匹配。在一个实施例中,优化器1 可使用试探法或规则来选择优化配置。 在这一实施例中,优化器1 可将具有受存储器限制的应用程序的设备分配给具有大量随 机存取存储器的硬件平台。在另一示例中,优化器1 可将具有较大盘存储使用量的设备 分配给具有足够存储容量的硬件平台。在某些实施例中,优化器1 可创建多种情形并且然后可评估这些情形以选择经 优化的情形。在这一实施例中,优化器1 可标识设备在硬件平台上的分配的许多不同的 情形,并且然后基于用于对各种情形进行打分或排名的性能特性126来对每一种情形进行 排名。在许多这样的实施例中,优化器1 可标识数十或数百种设备布置情形以选择经优 化的情形。优化器128可以考虑非同质硬件平台以及各设备中的应用程序的许多不同的性 能特性以选择优化的解决方案。在某些情况下,优化机制可标识可以不同于简单试探或公 式化选择过程的经优化的解决方案。优化器1 可以考虑其中设备可被安装为虚拟机的各种情形。在这些情形中,一 个、两个或更多设备可作为虚拟机客机被部署在一个或多个虚拟机主机上。优化器1 可以在选择经优化的情形时考虑用户偏好、公司策略和其他因素。例 如,管理员或公司策略可以优化应用程序性能。这一策略可以偏好在硬件平台上直接具有 高性能应用程序而不虚拟化。在不同的实施例中,公司策略可以是优化灵活性和增长,这可 以偏好虚拟化更多设备以使得这些设备可以在硬件平台之间移动。性能特性1 可以是预定义规则、最佳实践或软件组件的其他特性。这些性能特 性可以基于由例如软件制造商提供的通用实现或方针。在某些实施例中,性能特性1 可以部分地基于可以在硬件环境中操作的现有应用程序。例如,假设要安装的一个或多个设备提供电子邮件和其他消息收发服务。性能特 性1 可以部分地通过可以在该组织中操作的现有消息收发服务的特性来填充。在该示例 中,现有消息收发服务所消耗的盘空间可用作选择其上可安装具有新消息收发服务的设备 的硬件平台的基准。可以基于例如现有消息收发数据库而选择具有足够盘空间的新硬件平台。验证器130可验证所选情形满足最低资格。某些实施例可允许用户通过用户界面 121与配置管理器118交互以选择配置。在这些实施例中,用户可以与用户界面121交互以 修改设置,将不同的设备分配给不同的硬件平台。当用户作出对所提议的设置的改变时,验 证器130可确定是否准许该改变或者该改变是否导致较差的性能。在某些实施例中,验证器130可以结合优化器1 用来筛选出不满足最低能力或 配置的情形。在这些实施例中,验证器130可以从优化器128的考虑中移除许多可能的情 形并且减少优化器128的处理时间。定序器132可确定设备的安装次序。在某些实施例中,特定设备对其他设备可具 有依赖。更具体而言,某些设备上的特定应用程序或服务对其他设备上的应用程序或服务 可具有依赖。基于这些依赖,可以定义安装顺序。某些依赖可以是双向依赖,其中两个设备各自可以依赖另一设备上的服务或应用 程序。在这样的情况下,可以首先安装并部分地配置一个设备,然后可以安装并配置另一设 备,然后可以进一步配置第一个设备。安装设置120可包括可由安装指示器134用来使安装执行的所有信息。安装指示 器134可以是使安装执行的应用程序,并且可以配置操作系统、虚拟机客机、虚拟机主机、 应用程序、服务和其他组件。在某些实施例中,安装指示器134可以从设备102中操作以使 得在另一设备上执行安装。例如,安装指示器134可使得在虚拟机主机上创建虚拟机客机 并将设备安装为虚拟机客机。图2是示出具有多设备解决方案的网络实施例的实施例200的图示。实施例200 是其中可以安装多个设备以递送解决方案并且其中某些设备可以是虚拟设备的网络环境 的简化示例。图2的示图示出系统的各个功能组件。在某些情况下,组件可以是硬件组件、软件 组件、或硬件和软件的组合。某些组件可以是应用层软件,而其他组件可以是操作系统层组 件。在某些情况下,一个组件到另一个组件的连接可以是紧密连接,其中两个或更多个组件 在单个硬件平台上操作。在其他情况下,连接可以通过跨长距离的网络连接来进行。各实 施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的功能。实施例200可以是可以在小型企业或其他组织中找到的网络环境的简化示例。一 对服务器设备可以为各种客户机设备提供各种服务。在一典型的实施例中,服务器设备可 提供网关连接、防火墙和过滤服务,以及文件管理和消息收发服务。可以部署在实施例200中的解决方案可以是三个或更多设备,但该解决方案可以 部署在两个硬件平台的硬件拓扑结构上。网络202可以附连有多个设备。设备204和206可以是其上使用配置管理器所创 建的安装设置来安装应用程序和服务的硬件平台。设备242可以类似于具有配置管理器应 用程序的设备102,并且可创建可用于安装和配置设备204和206的安装设置M4。
设备204被安装为其上安装操作系统210的硬件平台208。应用程序212和服务 214可以在操作系统210上操作。硬件平台208可以是能够执行所示软件组件的任何硬件平台。这一硬件平台的一 个示例可以是实施例100所示的硬件平台104。在公司网络的实施例200的示例中,硬件平 台208可以是例如服务器计算机。设备204可以是以非虚拟方式安装的设备。有时这一安装可被称为直接或本机安 装。这一安装的示例在本说明书稍后呈现的实施例300中示出和讨论。设备206可以是包含虚拟机主机和若干虚拟机客机的设备。设备206可具有硬件 平台216和操作系统218。虚拟机主机220可以在操作系统218中与虚拟设备管理器222 一起执行。虚拟机主机220可创建一个或多个虚拟机客机2 可在其上操作的虚拟环境 224。每一个虚拟机都可具有虚拟设备230。虚拟设备230可以是模拟硬件平台的软件 构造。在许多情况下,如同硬件平台那样,虚拟设备230可配置有特定量的随机存取存储 器、存储存储器、网络连接和其他组件。因为虚拟设备230可以用软件来配置,所以可以不同地配置每一个虚拟设备230。 例如,某些虚拟设备可以配置有比其他虚拟设备多的随机存取存储器或存储存储器。在某 些实施例中,实际硬件组件可被分配给虚拟设备230。例如,可以向每一个虚拟设备230分 配包含在硬件平台216中的存储器的一部分。在某些实施例中,分配给虚拟机的存储器的 总量可以小于硬件平台上的存储器的总量。每一个虚拟设备230可具有其自己的操作系统231,应用程序232和服务234可在 其上执行。在某些实施例中,不同的虚拟机客机2 可具有不同的操作系统231。虚拟机管理器222可以是管理各个虚拟机客机2 的应用程序。在许多实施例中, 虚拟机管理器222可用于启动、停止和管理虚拟机客机的操作。某些虚拟机管理器还能够 创建新虚拟机客机、配置虚拟设备和执行其他动作。设备204和206可提供构成可由各个客户机设备236访问的解决方案的应用程序 和服务。在小型企业的示例中,解决方案可以向多个设备提供认证服务、文件服务、电子邮 件应用程序和其他功能。在某些解决方案中可以使用管理界面238来管理解决方案的各种组件。管理界面 238可以是可用来查看、配置和操作解决方案的各种组件的高级界面。图3是示出非虚拟安装期间的设备的实施例300的图示。实施例300是可使用安 装设置来安装和配置操作系统、应用程序和服务的安装过程的简化示例。实施例300可以 是可用于安装例如实施例200的设备204的安装过程的示例。设备302可以是其上可安装操作系统和各种应用程序和服务的任何类型的设备。 在计算机网络中,这些设备可以是服务器计算机、台式计算机、膝上型计算机和其他计算设 备。在某些情况下,设备302可以是路由器、交换机、或其他网络管理设备。在还有一些其他 情况下,设备302可以是手持式计算设备,诸如移动电话、个人数字助理或其他计算设备。在安装过程期间,硬件平台304可以是其上未执行其他安装的硬件平台。硬件平 台304可以使用可包括安装指示器308的可引导安装环境306来引导。安装指示器308可 使得使用安装设置310来创建盘映像312。一旦创建盘映像312,就可使用盘映像312来引导硬件平台304。盘映像312可包含操作系统314以及应用程序318和服务322。在某些实施例中, 安装指示器308能够在引导硬件平台304和执行操作系统314之前创建盘映像312并设置 各种操作系统配置设置316、应用程序配置设置320和服务配置设置324。在某些实施例中,可以创建具有操作系统314的盘映像312。该盘映像可用于引导 硬件平台304以使得操作系统314在没有可引导安装环境的情况下直接在硬件平台304上 执行,并且然后可安装和配置应用程序318和服务322。配置应用程序3 可被安装在盘映像312中并且可以在使用盘映像312来引导之 后执行。配置应用程序3 可使用安装设置3 来完成操作系统314、应用程序318和服 务322的配置。在某些实施例中,配置应用程序3 可安装应用程序318和服务322中的 部分或全部。应用程序318可以是被设计成执行特定动作或功能的可执行代码组。在许多情况 下,应用程序318可以是复杂的,诸如管理电子邮箱、路由消息和执行其他消息收发功能。 服务322可以是可以在被应用程序或其他机制调用时操作的后台操作。在许多情况下,服 务322可具有可用来访问服务的应用程序编程接口(API)或其他机制。在许多情况下,应 用程序和服务的安装和配置是非常相似的。设备302的安装可涉及向硬件平台304提供用于可引导安装环境306的可执行代 码。硬件平台可具有可从中引导该平台的多个设备。例如,硬件平台能够通过网络连接、通 过数字多功能盘(DVD)读取器、通过通用串行总线(USB)设备以及附连到该设备的硬盘来 引导。在典型的使用中,包含可执行可引导安装环境306以及用于创建盘映像312的信 息中的部分或全部的DVD可被装入DVD读取器。硬件平台304可以启动并且可以读取和执 行可引导安装环境306以开始安装。在安装期间,可以在第二存储器存储设备上提供安装设置310。例如,可以在USB 闪速存储器设备、DVD盘或其他存储设备上提供安装设置310。安装设置310可以是实施例 100的安装设置120。在某些实施例中,安装设置310可包括用于安装在解决方案中的所有设备的所有 安装设置。在其他实施例中,安装设置310可包括用于所有设备的安装设置的子集。安装设置3 可以是单独的安装设置集合,或者可以是可用于引导盘映像312之 后的配置的安装设置310的子集。例如,USB闪存驱动器可以附连到包含安装设置310和 安装设置3 两者的硬件平台304。图4是示出虚拟安装的第一阶段期间的设备的实施例400的图示。实施例400是 可使用安装设置来安装和配置操作系统以主存虚拟机客机的安装过程的简化示例。实施例 400可以是可用于安装例如实施例200的设备206的安装过程的示例。实施例400类似于实施例300,但安装过程可以分两步进行。在实施例400所示的 第一步骤中,可以创建用于虚拟机主机的盘映像。在实施例500中所示的第二步骤中,可以 安装虚拟机客机。安装虚拟机主机的过程和机制可以类似于如实施例300所示的安装应用程序和 服务的过程和机制。
设备402可以是能够主存虚拟设备的计算设备。在许多计算环境中,这些设备可 以是强大的服务器计算机,但其他系统也可主存虚拟设备,诸如台式计算机、膝上型计算机 和其他计算设备。硬件平台404可使用具有安装指示器408的可引导安装环境406来引导并且可使 用安装设置410。硬件平台404、安装指示器408和安装设置410可以类似于实施例300所 示的相应组件。安装指示器408可使得构造包括包含虚拟设备主机418和虚拟设备管理器422的 操作系统414的盘映像412。操作系统414可具有配置设置416,并且虚拟设备主机418可 具有可由安装指示器408使用安装设置410来配置的配置设置420。一旦创建盘映像412,硬件平台404就可使用盘映像412来引导并且安装操作可以 进展到如实施例500所示的阶段。图5是示出虚拟安装的第二阶段期间的设备的实施例500的图示,并且可以是实 施例400中开始的安装的继续。实施例500是可使用安装设置来安装和配置操作系统以主 存虚拟机客机的安装过程的简化示例。实施例500可以是可用于安装例如实施例200的设 备206的安装过程中的第二步骤的示例。实施例500示出了在虚拟机主机可操作之后且在安装虚拟机期间的实施例400的 设备402。硬件平台404、操作系统414、虚拟机主机418和虚拟设备管理器422被示为可在 设备402上操作。虚拟机主机418可创建虚拟机4 和432可在其中操作的虚拟环境424。虚拟环境4M可具有可连接虚拟环境中的各个虚拟机客机的虚拟网络426。在许 多实施例中,虚拟网络4 可以按许多不同的方式配置。例如,可以创建用于将各个虚拟机 链接在一起的单个虚拟网络。这一网络可包括到物理网络以及连接到该物理网络的其他设 备的连接。在某些情况下,可以创建两个或更多虚拟网络以使得不同的虚拟机加入不同的 物理网络。虚拟机4 可被示为已被安装且可操作。虚拟机4 可包括虚拟设备430、操作系 统432和应用程序434。虚拟机432可被示为处于安装过程中。虚拟设备434可用于具有安装指示器438 和安装设置440的可引导安装环境436。在许多实施例中,可引导安装环境436、安装指示 器438和安装设置440可以是可用于直接安装到物理硬件上的相同的可执行软件,诸如实 施例200的相同的组件。安装指示器438可创建盘映像412,盘映像412可包含操作系统446、应用程序 454、服务458和配置应用程序450。安装指示器438可使用安装设置440来分别修改操作 系统446、应用程序妨4和服务458的配置设置448、456和460。在许多实施例中,可以在使用盘映像412来引导虚拟设备434时安装并执行配置 应用程序450。配置应用程序450可使用安装设置452来对操作系统446、应用程序妨4和 服务458执行附加配置任务。对实施例400和500的说明示出了用于将设备安装和配置为虚拟设备的过程的一 个示例。这些设备可具有安装设置,安装指示器或配置应用程序可使用这些安装设置来配 置设备的各个部分,包括配置虚拟设备、配置虚拟网络、安装和配置操作系统以及应用程序和服务。图6是示出用于安装设备的方法的实施例600的流程图。实施例600是可用于生 成安装设置并使用那些安装设置来将设备直接安装在物理硬件上或作为虚拟机客机安装 在虚拟机主机中的示例过程。其他实施例可以使用不同的序列、更多或更少的步骤、以及不同的命名或术语,来 完成相似功能。在一些实施例中,各种操作或操作集合可以或是以同步方式或是以异步方 式与其他操作并行执行。此处所选的步骤是为了以简化的形式示出一些操作原理来选择 的。实施例600可示出用于执行安装过程的简化方法。该安装过程涉及创建安装设 置,这可包括确定哪些设备被虚拟地实现并且然后使用那些安装设置来安装和配置这些设 备。在框602,可确定要安装的设备。在可包括多个设备、多个应用程序和多个硬件平 台的大型解决方案中,用户能够标识那些设备中要安装的子集。在许多情况下,框602的 标识还可包括确定性能特性、最小硬件参数以及可用于确定设备布置和设备配置的其他信 肩、ο在框604中,可以确定硬件拓扑结构。硬件拓扑结构可包括标识哪些硬件平台可 用。硬件拓扑结构还可包括硬件平台的性能描述,包括任何外围设备、对网络的连接、存储 器容量、存储容量、处理器容量。在某些情况下,硬件拓扑结构可包括标识诸如操作系统、服 务或应用程序等任何预先安装的软件。在框606中,可确定设备布置和配置,包括确定哪些硬件平台将主存哪些设备以 及那些设备是否将被主存为虚拟机。框606的操作可包括优化、验证和其他选择操作,如在 实施例100中针对优化器128、验证器130和定序器132所描述的。在框608中对于每一个设备,可以在框610中生成该设备的安装设置。安装设置 可以是参数、脚本、顺序或可由安装指示器或配置应用程序消费的其他信息。安装设置可包 括在可引导安装环境或操作系统环境中使用的设置。在框612中,可以分发安装设置。在设备被安装在裸硬件平台上的情况下,安装设 置可以在USB闪存设备、DVD或其他介质上变得可用。在某些情况下,安装设置可以在安装 和配置过程期间通过网络分发给硬件平台。在框614中,对于根据顺序的每一个设备,可进行安装。实施例600所示的安装包 括每一个设备的完全安装。其他实施例可包括其中两个或更多设备可以彼此具有依赖的多 遍安装系统。这一安装系统可以部分地安装一个设备,然后安装另一设备,然后第一个设备 可以完成安装。该安装过程可以开始于在框616中用安装设置来执行安装指示器。在框618中, 如果安装不是虚拟安装,则在框620中可以安装操作系统并且在框622中配置该操作系统。 可以在框624中安装应用程序并在框626中配置应用程序。在某些实施例中,安装指示器可创建可由硬件平台或虚拟设备引导的盘映像。某 些这样的实施例可以在引导相应的硬件平台或虚拟设备之前创建具有经配置的操作系统 和应用程序的盘映像。其他实施例可使用安装指示器来安装操作系统并且在某些情况下部分地配置操作系统。这些实施例可引导设备并且用可以在操作系统环境中执行的配置应用程序来执行 附加配置和安装活动。如果在框618中设备将被安装为虚拟机客机,并且在框拟8中虚拟机主机不存在, 则可以在框630中安装虚拟机主机并在框632中配置虚拟机主机。当在框6 或632中虚拟主机存在并且已被配置时,可以在框634中创建虚拟设 备并在框636中配置虚拟设备。一旦虚拟设备已被配置并且可操作,安装就可对框620继续。以上对本发明的描述是出于说明和描述的目的而提出的。它不旨在穷举本主题或 将本主题限于所公开的精确形式,且鉴于以上教导其他修改和变型都是可能的。选择并描 述实施例来最好地解释本发明的原理及其实践应用,从而使本领域的其他技术人员能够在 各种实施例和各种适于所构想的特定用途的修改中最好地利用本发明的技术。所附权利要 求书旨在包括除受现有技术所限的范围之外的其他替换实施例。
权利要求
1.一种系统,包括 用户接口设备;存储设备;处理器,其被配置成执行一种包括以下动作的方法 标识要安装的多个设备,所述设备中的每一个包括操作系统和软件集; 确定要在其上安装所述多个设备的硬件拓扑结构,所述硬件拓扑结构定义至少一个硬 件平台;标识所述设备中要作为虚拟机客机安装在虚拟机主机上的至少一个设备; 通过为所述设备中的每一个确定所述硬件拓扑结构中的位置并且为所述设备中的每 一个确定可配置设置,来为所述多个设备确定安装设置;通过将所述安装设置与所述设备中的每一个的一组预定义最低配置进行比较来确认 所述安装设置;以及以至少部分地可由用于所述设备中的每一个的安装管理器消费的格式保存所述安装设置。
2.如权利要求1所述的系统,其特征在于,所述安装设置还包括标识所述多个设备中 要被安装为非虚拟机的第二设备。
3.如权利要求1所述的系统,其特征在于,所述安装管理器被配置成 安装虚拟机主机;使用所述安装设置来配置所述虚拟机主机; 将所述第一设备作为虚拟机客机安装在所述虚拟机主机上;以及 使用所述安装设置来配置所述虚拟机客机。
4.如权利要求3所述的系统,其特征在于,所述安装管理器还被配置成 将一第二设备作为第二虚拟机客机安装在所述虚拟机主机上。
5.如权利要求1所述的系统,其特征在于,所述安装设置还包括用于配置预先安装的 虚拟机主机并将所述第一设备安装在所述预先安装的虚拟机主机上的设置。
6.如权利要求1所述的系统,其特征在于,所述确定硬件拓扑结构通过在所述用户界 面上呈现用户输入机制来至少部分地执行。
7.如权利要求1所述的系统,其特征在于,所述确定硬件拓扑结构由被配置成确定所 述硬件拓扑结构的硬件勘测器来至少部分地执行。
8.如权利要求1所述的系统,其特征在于,所述安装设置定义第一数量的硬件平台,所 述第一数量少于所述多个设备的第二数量。
9.如权利要求1所述的系统,其特征在于,所述安装设置用XML来定义。
10.一种方法,包括标识要安装的多个设备,所述设备中的每一个包括操作系统和软件集; 确定要在其上安装所述多个设备的硬件拓扑结构,所述硬件拓扑结构定义至少一个硬 件平台;标识所述设备中要作为虚拟机客机安装在虚拟机主机上的至少一个设备; 通过为所述设备中的每一个确定所述硬件拓扑结构中的位置并且为所述设备中的每 一个确定可配置设置,来为所述多个设备确定安装设置;通过将所述安装设置与所述设备中的每一个的一组预定义最低配置进行比较来确认 所述安装设置;以及以至少部分地可由用于所述设备中的每一个的安装管理器消费的格式保存所述安装设置。
11.如权利要求10所述的方法,其特征在于,还包括 使用可引导安装环境来启动第一硬件设备;使用所述可引导安装环境来安装第一操作系统;以及 使用所述安装设置的至少一部分来配置所述操作系统。
12.如权利要求11所述的方法,其特征在于,还包括 将虚拟机环境安装在所述第一硬件设备上;创建第一虚拟机;使用可引导安装环境来启动所述第一虚拟机;使用所述可引导安装环境来将第二操作系统安装在所述第一虚拟机上;以及 使用所述安装设置的至少一部分来配置所述第二操作系统。
13.如权利要求12所述的方法,其特征在于,还包括 将第一应用程序安装在所述第一虚拟机上; 将配置应用程序安装在所述第一虚拟机上;以及执行所述配置应用程序以便使用所述安装设置的至少一部分来配置所述第一应用程序。
14.如权利要求12所述的方法,其特征在于,还包括使用所述安装设置的至少一部分来在所述第一硬件设备上配置虚拟网络。
15.如权利要求12所述的方法,其特征在于,所述安装设置被存储在可移动存储设备上。
16.一种计算机可读介质,包括被配置成安装操作系统的操作系统安装映像,所述操作系统包括虚拟机主机配置和虚 拟机客机配置;多个设备配置定义,其定义多个预定义设备的操作系统设置; 对于所述预定义设备中的每一个,被配置成安装应用程序的至少一个应用程序安装映 像,以及被配置成接收安装设置并且为所述应用程序更新至少一个设置的配置应用程序;安装指示器,其被配置成使得根据所述设备配置定义来安装所述操作系统和所述应用 程序,所述设备中的至少一个是虚拟设备;配置管理器,其可以在处理器上执行并被配置成执行一种包括以下动作的方法 标识要安装的多个设备,所述设备中的每一个包括操作系统和软件集; 确定要在其上安装所述多个设备的硬件拓扑结构,所述硬件拓扑结构定义至少一个硬 件平台;标识所述设备中要作为虚拟机客机安装在虚拟机主机上的至少一个设备; 通过为所述设备中的每一个确定所述硬件拓扑结构中的位置并且为所述设备中的每 一个确定可配置设置,来为所述多个设备确定安装设置;通过将所述安装设置与所述设备中的每一个的一组预定义最低配置进行比较来确认所述安装设置;以及以至少部分地可由用于所述设备中的每一个的安装管理器消费的格式保存所述安装设置。
17.如权利要求16所述的计算机可读介质,其特征在于,所述计算机可读介质具体化 为用于所述设备中的每一个的单独介质。
18.如权利要求16所述的计算机可读介质,其特征在于,还包括 用于存储所述安装设置的单独介质。
19.如权利要求16所述的计算机可读介质,其特征在于,所述配置管理器被配置成至 少部分地通过用户输入来确定所述硬件拓扑结构。
20.如权利要求16所述的计算机可读介质,其特征在于,还包括被配置成确定附连到网络的硬件设备的硬件参数的硬件拓扑结构勘测器。
全文摘要
本发明提供虚拟化解决方案的自动化配置和安装。一种用于多个设备、多个应用程序解决方案的安装系统可包括用于将这些设备中的一个或多个安装并配置为虚拟机的选项。该安装系统可以从裸硬件启动,安装虚拟机主机,并将一个或多个设备配置为虚拟机。该安装系统可提供管理员可从中选择的一组预定义配置,并且某些实施例可提供用于基于预期用途或其他因素来选择适当的配置的各种算法或优化例程。可以定制这些配置以创建可以在安装过程期间消费以自动化许多配置设置的一个或多个文档。
文档编号G06F9/445GK102122274SQ20111002655
公开日2011年7月13日 申请日期2011年1月10日 优先权日2010年1月10日
发明者S·伯恩 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1