首页> 中国专利> 用于供应和转换虚拟设备的基于策略的方法的方法和系统

用于供应和转换虚拟设备的基于策略的方法的方法和系统

摘要

用于供应和转换虚拟设备的基于策略的方法和系统包括从虚拟机映像文件的库中获取虚拟机映像文件。通过复制获取的虚拟机映像文件来创建目标虚拟机映像文件。增加目标虚拟机映像文件的文件大小。增加目标虚拟机映像文件的主分区的分区大小。在增加了目标虚拟机映像文件的主分区的分区大小之后,启动目标虚拟机映像文件。

著录项

  • 公开/公告号CN103294765A

    专利类型发明专利

  • 公开/公告日2013-09-11

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201310060139.0

  • 发明设计人 T·C·基耶乌;D·科恩;A·莫因德拉;

    申请日2013-02-26

  • 分类号G06F17/30;G06F9/455;

  • 代理机构北京市中咨律师事务所;

  • 代理人张亚非

  • 地址 美国纽约

  • 入库时间 2024-02-19 20:48:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-11-02

    授权

    授权

  • 2013-10-16

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130226

    实质审查的生效

  • 2013-09-11

    公开

    公开

说明书

技术领域

本公开涉及虚拟设备(virtual appliance),且更具体而言,涉及供应 和转换虚拟设备的基于策略的方法。

背景技术

虚拟机(VM)是一种构造,通过这种构造,一个或多个独立的操作 系统可以在主机上通过主机操作系统执行,从而主机的硬件资源对于所述 一个或多个独立的操作系统不是直接可用的。一个或多个“虚拟”操作系 统中的每个的运行就好像它和物理硬件直接通信,而实际上,由在主机上 运行的软件来提供物理硬件的幻象。通过这种方式,在主机上运行的软件 管理每个虚拟操作系统和实际硬件之间的交互,从而硬件资源可以在一个 或多个虚拟操作系统之间有效地分配,其中每一个虚拟操作系统可以完全 互相隔离地运行。

在主机上运行的用于管理一个或多个虚拟操作系统的软件被称为管理 程序。可以在主机上将虚拟操作系统存储为一个或多个文件,且这些文件 可以被管理程序读取。在没有被管理程序使用时,虚拟操作系统可以保持 为静止(dormant)文件。在需要使用时,管理程序可以从一个或多个文 件虚拟地启动操作系统。

目前有多种不同类型的管理程序技术可用,且很多管理程序不能解释 不同管理程序的虚拟操作系统。此外,可以从映像文件创建虚拟系统文件, 而不是从头开始将操作系统安装到虚拟环境中来创建虚拟系统文件。但是, 为了快速和容易地交付定制的虚拟操作系统,将不得不维护映像文件的大 目录来表示用户所需的所有各种排列和管理程序。该映像目录会是昂贵的 且难以创建和维护。

发明内容

一种用于定制虚拟机的方法包括从虚拟机映像文件的库中获取虚拟机 映像文件。通过复制获取的虚拟机映像文件来创建目标虚拟机映像文件。 增加目标虚拟机映像文件的文件大小。增加目标虚拟机映像文件的主分区 的分区大小。在增加了目标虚拟机映像文件的主分区的分区大小之后,启 动目标虚拟机映像文件。

虚拟机映像文件的库可以是虚拟设备映像文件的库,且目标虚拟机映 像文件可以是目标虚拟设备映像文件。可以增加目标虚拟机映像文件的主 分区的分区大小,而不启动目标虚拟机。

在增加目标虚拟机映像文件的文件大小和增加目标虚拟机映像文件的 主分区的分区大小时,可以将目标虚拟机映像文件挂载(mount)到计算 机系统作为虚拟驱动器。

在增加目标虚拟机映像文件的主分区的分区大小之后可以检查目标虚 拟机映像文件的文件系统,并在检查揭示出目标虚拟机映像文件的文件系 统中的一个或多个错误时可以修复目标虚拟机映像文件。

在增加目标虚拟机映像文件的主分区的分区大小之后可以扩大目标虚 拟机映像文件的文件系统。

在启动目标虚拟机映像文件之后,可以在目标虚拟机映像文件上执行 一个或多个额外的供应步骤。

一种用于定制虚拟机的方法包括从虚拟机映像文件的库中获取虚拟机 映像文件,获取的虚拟机映像文件被配置为在第一类型的管理程序上执行。 通过建立新的虚拟机映像文件来创建目标虚拟机映像文件,该新的虚拟机 映像文件被配置为在不同于第一类型的第二类型的管理程序上运行。将获 取的虚拟机映像文件的内容复制到创建的目标虚拟机映像文件。在将获取 的虚拟机映像文件的内容复制到目标虚拟机映像文件之后,启动目标虚拟 机映像文件。

将获取的虚拟机映像文件的内容复制到创建的目标虚拟机映像文件可 包括将获取的虚拟机映像文件的除了其启动目录之外的所有内容复制到创 建的目标虚拟机映像文件。

在将获取的虚拟机映像文件的内容复制到创建的目标虚拟机映像文件 时,可以保留文件属性。

在将获取的虚拟机映像文件的内容复制到创建的目标虚拟机映像文件 时,可以将获取的虚拟机映像文件和创建的目标虚拟机映像文件两者都挂 载到计算机系统上作为虚拟驱动器。

在将获取的虚拟机映像文件的内容复制到创建的目标虚拟机映像文件 之后,可以将获取的虚拟机映像文件从计算机系统上卸载(un-mount)。 在启动目标虚拟机映像文件之前,可以将目标虚拟机映像文件从计算机系 统上卸载。

在将获取的虚拟机映像文件的内容复制到创建的目标虚拟机映像文件 之后,可以管理管理程序特定的依赖关系。

虚拟机映像文件的库可以是虚拟设备映像文件的库,且目标虚拟机映 像文件可以是目标虚拟设备映像文件。

一种用于定制虚拟机的系统包括用户门户,其用于接收对特定的虚拟 设备的请求。一个或多个供应管理器从虚拟设备映像文件的库中选择虚拟 设备映像文件,从选择的虚拟设备映像文件生成目标虚拟设备映像文件, 并在启动目标虚拟设备映像文件之前配置目标虚拟设备映像文件。一个或 多个策略管理器维护策略,所述策略用于确定一个或多个供应管理器如何 配置目标虚拟设备映像文件。资源管理器选择可用的硬件资源以便启动所 供应的目标虚拟设备映像文件。

用户门户可以包括用户可以使用web浏览器在因特网上访问的网站。 从选择的虚拟设备映像文件生成目标虚拟设备映像文件可以包括通过复制 选择的虚拟设备映像文件来创建目标虚拟设备映像文件、增加目标虚拟设 备映像文件的文件大小、以及增加目标虚拟设备映像文件的主分区的分区 大小。

可以增加目标虚拟设备映像文件的主分区的分区大小,而不启动该目 标虚拟设备映像文件。从选择的虚拟设备映像文件生成目标虚拟设备映像 文件可以包括通过建立新的虚拟设备映像文件来创建目标虚拟设备映像文 件,该新的虚拟设备映像文件被配置为在一种类型的管理程序上执行,该 一种类型与选择的虚拟设备映像文件被配置为在该其上执行的管理程序类 型的类型不同;并将选择的虚拟设备映像文件的内容复制到创建的目标虚 拟设备映像文件。将选择的虚拟设备映像文件的内容复制到创建的目标虚 拟设备映像文件可以包括将选择的虚拟设备映像文件的除了其启动目录之 外的所有内容复制到创建的目标虚拟设备映像文件。

附图说明

通过在结合附图考虑时参考下列详细描述,可以容易地获得对本公开 和很多附加方面的更全面的理解,因为它们变得更容易理解,在附图中:

图1是示出根据本发明示例性实施例的用于供应虚拟环境的方法的流 程图;

图2是示出根据本发明实施例的用于将模板文件复制到不同管理程序 的新的虚拟环境映像文件的方法的流程图;

图3是示出根据本发明示例性实施例的用于供应虚拟环境的系统的框 图;且

图4示出了能够实现根据本公开实施例的方法和装置的计算机系统的 例子。

具体实施方式

在描述附图中示出的本公开的示例性实施例时,为了清楚起见,使用 了特定的术语。但是,本公开不是要限于这样选择的特定术语,且可以理 解,每个特定元素包含以类似方式操作的所有技术等价物。

本发明的示例性实施例试图提供一种方法,其用于定制虚拟机映像文 件而不需要启动虚拟机,从而可以维护减小的虚拟机映像文件目录,并在 以后需要时定制它。如这里所使用的,术语“虚拟设备”被理解为意味着 预加载了应用软件的虚拟机,且因此,本发明的示例性实施例可类似地提 供用于定制虚拟机映像文件的方法。

如以上所讨论的,提供者可以维护虚拟机/设备映像(“虚拟映像”) 的目录。每个虚拟映像可以为特定的管理程序来预制,且可以具有预定的 特性,例如存储磁盘大小、网络适配器的特定配置、以及特定的用户简档。 每个虚拟映像可以包括两个文件:配置文件和实际盘映像。配置文件可以 包括关于盘文件的位置、显示名称、附加网络和外围设备的元数据,以及 关于在执行虚拟映像时将被虚拟化的其他硬件元件的信息。

提供者可以选择维护较大的虚拟映像目录以更快和更容易地提供想要 的虚拟机或虚拟设备(“虚拟环境”),或者提供者可以选择维护具有较 少排列的较小的虚拟映像目录。当提供者选择维护较大的目录时,会存在 与创建和维护该目录相关的显著的成本。但是,当提供者选择维护较小的 目录时,交付给用户的虚拟环境可能不是确切想要的,并且/或者需要在第 一次启动虚拟环境时进行显著的定制。

本发明的示例性实施例提供了用于从虚拟环境映像快速和容易地定制 (供应)虚拟环境的方法,从而可以维护减小的虚拟环境映像目录,而仍 然可以为了用户利益而快速和容易地交付高度专门化的虚拟环境。

如这里所使用的,供应可以指从给定的映像模板创建虚拟设备实例, 其具有诸如分配新主机名称、IP地址、增加盘大小、改变网络适配器的配 置、以及/或定制用户简档等能力。

根据本发明的示例性实施例,供应将能够通过直接操纵虚拟环境映像 文件来改变虚拟环境的某些属性,而不需要启动特定的虚拟环境。

本发明的示例性实施例还能够将给定的虚拟设备例如模板文件从与原 始管理程序兼容转换为与不同于原始管理程序的新管理程序兼容。因此, 这样的改变在这里可被称为转换。

图1是示出根据本发明的示例性实施例的用于供应虚拟环境的方法的 流程图。首先,可以从模板文件目录中选择和获取虚拟环境模板文件(步 骤S11)。虚拟环境模板文件可以是各种虚拟环境的虚拟环境映像。可以 基于一个或多个想要的属性从目录中选择虚拟环境模板文件。但是,选择 的模板仍然可能以一种或多种方式偏离一组想要的属性。

接下来,可以通过复制选择的虚拟环境模板文件来创建新的虚拟环境 映像文件(步骤S12)。当希望新的虚拟环境映像文件与虚拟环境模板文 件属于同一管理程序时,可以通过将模板文件的精确副本创建为新文件, 来复制选择的虚拟环境模板文件。

但是,在希望新的虚拟环境映像文件与模板文件属于不同的虚拟环境 时,本发明的示例性实施例提供了用于将模板文件复制为适用于不同管理 程序的新的虚拟环境映像文件的方法。图2是示出根据本发明的示例性实 施例的用于将模板文件复制为不同管理程序的新的虚拟环境映像文件的方 法的流程图。首先,可以在目标管理程序上生成新的虚拟环境映像文件(步 骤S21)。可以使用的合适的管理程序的例子包括KVM设备、Xen设备 和VMware设备。新的虚拟环境映像文件可被生成为具有和模板文件类似 的操作系统和盘大小。接下来,可以将模板的原始(raw)映像文件和新 虚拟环境的原始映像文件挂载到共同的计算机上(步骤S22)。可以挂载 原始映像文件,而不用实际启动任何一个映像文件。例如可以通过使用回 环(loop)设备挂载原始映像的根分区,例如使用“/scr”和/或“/dest” 命令,来挂载这些映像文件。

接下来,可以进行文件复制,将模板文件中除了“/boot”目录以外的 全部内容复制到新的虚拟环境映像文件(步骤S23)。可以进行复制,从 而保留来自原始模板的文件属性,例如所有权和时间戳。例如,可以如“# cp-ax/scr/{root,bin,..etc.}/dest)”来进行复制。此后,每个模板文件可以 被卸载(步骤S24)。但是,当需要对新的虚拟映像的额外定制时,新映 像文件的卸载可以被推迟。如果需要,可以管理管理程序特定的依赖关系, 从而新的映像文件可以是全功能的虚拟环境映像,其能够使用想要的管理 程序来执行(步骤S25)。

在任一情况下,在步骤S12的复制操作完成之后,如果想要将新的虚 拟环境的存储大小从模板文件的存储大小改变,可以将新的虚拟映像文件 的文件大小增加到想要的值(步骤S13)。在执行该步骤时,例如可以通 过在文件中附加没有特定含义的0、1或其某种模式,来增加文件大小。例 如,可以使用“dd”Linux实用程序来将额外的零“/dev/xero/”添加和填 充到新的映像文件中。

接下来,可以在新的映像文件上使用分区实用程序来进行虚拟映像的 现有主盘分区的大小调整(步骤S14)。例如,可以使用“fdisk”或“parted” 实用程序。需要注意,可以进行主盘分区的这种大小调整,而不用启动新 的虚拟映像文件作为虚拟环境;而是可以在已挂载的新的虚拟映像文件上 进行虚拟映像的主盘分区的重新分区。

此后,可以对虚拟映像的主盘分区进行文件系统检查(步骤S15)。 例如,可以使用“e2fsck”实用程序来检查和修复文件系统。还可以在回 环设备挂载的虚拟映像上进行文件系统大小调整(步骤S16)。例如,可 以使用“resize2fs”实用程序来将文件系统的大小调整为想要的块大小。 然后可以执行可选的验证步骤,其中新扩展的虚拟映像被启动以检查盘。

图3是示出根据本发明的示例性实施例的用于供应虚拟环境的系统的 框图。例如可以由基于云的计算服务的提供者来使用这样示出的系统,所 述服务的客户需要可被实现为虚拟设备的专门化的解决方案。客户可以通 过用户门户31来访问提供者的服务。用户门户例如可以被实现为网站,客 户可以使用浏览器通过因特网来访问该网站。客户可以通过用户门户31 提供想要的虚拟设备的规格说明(specification),或者客户可以从可用产 品列表中选择想要的产品,且选择的产品可以具有与之相关的虚拟设备的 规格说明。

此后,一个或多个供应管理器32可以从映像的目录或库35中定位并 获取合适的映像。与可被客户获得的可用产品的完整列表相比,映像目录 35可以包括映像的有限子集。例如,映像目录35所包含的映像可以具有 有限数量的盘大小、为有限数量的管理程序设计、具有有限数量的网络适 配器、具有有限选择的用户简档等。因此,在可以创建想要的虚拟设备之 前,从映像目录35获取的映像将需要定制。

供应管理器32然后可以开始对从映像目录35获取的映像进行定制, 而不用实际启动虚拟设备映像。策略管理器36可以维护策略,所述策略确 定供应管理器32在供应之前应如何配置映像。策略管理器36可以使用策 略数据库37基于和目录中的映像相关的策略来进行确定。例如,一策略可 以规定,从会计部门的用户所请求的RedHat映像导出的所有实例都应该 禁用第二网络适配器,而另一策略可以规定,基于测试组的用户所请求的 RedHat映像的所有实例都应该启用第二网络适配器并将它配置为1Gbps 的速度。策略管理器提供了框架,以基于组织的策略来定制单独的映像。 供应管理器基于策略管理器所规定的策略来转换虚拟映像。该转换例如可 以用上面参考图1和2的方式来执行。

供应管理器32然后可以咨询资源管理器33。资源管理器可以分配托 管(hosting)虚拟设备所需的可用硬件34。供应管理器32然后可以针对 资源管理器33所分配的硬件34来启动定制的虚拟设备。在初始启动虚拟 设备时,如果需要,供应管理器32可以执行额外的供应步骤。通过这种方 式,想要的虚拟设备可被供应并托管,而不必创建和维护虚拟设备映像的 大型库。

如上所讨论的,本发明的示例性实施例可被用于通过执行映像文件中 的主机名和网络适配器的离线配置来供应虚拟设备。该供应例如可以通过 执行下列步骤来进行:

首先,可以将映像文件的启动分区挂载到文件系统的挂载点/mnt(例 如,使用命令#mount-o loop,offset=32256${imgName}/mnt)。接下来, 可以使用新的$Hostname来编辑和修改位于/mnt/etc/HOSTNAME的 HOSTNAME文件。然后可以在位于/mnt/etc/hosts的hosts文件中修改和 添加$Hostname别名、$Hostname、$IPAddr。然后可以创建或修改网络 文件。创建和修改网络文件可以包括以DEVICE=eth0"、 BOOTPROTO=static、IPADDR=$IPAddr、NETMASK=$NetMask、 Type=Ethernet和/或ONBOOT=yes来创建或修改 /mnt/etc/sysconfig/network-scripts/ifcfg-eth0。可以用NETWORKING=yes、 NETWORKING_IPV6=no、HOSTNAME=$Hostname和/或 GATEWAY=$Gateway来创建或修改位于/mnt/etc/sysconfig/network的网 络文件。可以用域名服务器$DNS和/或搜索$Domain来创建或修改位于 /mnt/etc/resolv.conf的网络文件resolv.conf文件。

在创建/修改网络文件之后,例如可以用命令#unmount/mnt来卸载映 像。

图4示出了可以实现本公开的方法和系统的计算机系统的例子。本公 开的系统和方法可以用在例如大型机、个人计算机(PC)、手持计算机、 服务器等的计算机系统上运行的软件应用的形式来实现。软件应用可被存 储在记录介质上,该介质可被计算机系统本地访问并可以通过到例如局域 网或因特网的网络的硬连线或无线连接来访问。

一般被称为系统1000的计算机系统可以包括例如中央处理单元(CPU) 1001、随机存取存储器(RAM)1004、打印机接口1010、显示单元1011、 局域网(LAN)数据传输控制器1005、LAN接口1006、网络控制器1003、 内部总线1002、以及例如键盘、鼠标等的一个或多个输入设备1009。如图 所示,可以通过链路1007将系统1000连接到数据存储设备,例如硬盘1008。

这里描述的示例性实施例是说明性的,且可以引入很多变化,而不偏 离本公开的精神或所附权利要求的范围。例如,在本公开和所附权利要求 的范围内,不同示例性实施例的元素和/或特征可以互相组合并/或互相替 换。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号