CN104424012A - 用于提供自定义虚拟装置的方法和设备 - Google Patents

用于提供自定义虚拟装置的方法和设备 Download PDF

Info

Publication number
CN104424012A
CN104424012A CN201310364810.0A CN201310364810A CN104424012A CN 104424012 A CN104424012 A CN 104424012A CN 201310364810 A CN201310364810 A CN 201310364810A CN 104424012 A CN104424012 A CN 104424012A
Authority
CN
China
Prior art keywords
virtual bench
virtual
transitional information
bench
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310364810.0A
Other languages
English (en)
Other versions
CN104424012B (zh
Inventor
王夕宁
刘昕鹏
秦磊
李磊
舒剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201310364810.0A priority Critical patent/CN104424012B/zh
Priority to US14/453,114 priority patent/US9348570B2/en
Publication of CN104424012A publication Critical patent/CN104424012A/zh
Priority to US15/090,644 priority patent/US9910694B2/en
Application granted granted Critical
Publication of CN104424012B publication Critical patent/CN104424012B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Abstract

本发明涉及虚拟装置,公开了一种用于提供自定义虚拟装置的方法和系统,方法包括:根据用户需求生成自定义虚拟装置的描述文件;从所述描述文件获取自定义虚拟装置的配置元数据;利用转换信息根据所述配置元数据产生候选虚拟装置的列表,其中所述列表中的候选虚拟装置能够通过转换得到所述配置元数据对应的配置的虚拟装置。利用本发明的方法,使得用户能够自定义虚拟装置。

Description

用于提供自定义虚拟装置的方法和设备
技术领域
本发明涉及虚拟装置。更确切的,本发明涉及一种用于提供自定义虚拟装置的方法和设备。
背景技术
随着虚拟化技术的发展,虚拟机能够如同一个真实的、独立的计算机一样提供各种应用和服务。在此基础上,可以将一个或多个虚拟机封装在一起,提供一种预构建的软件环境,从而构成一个虚拟装置(virtual appliance)。例如,在一个例子中,可以利用3个虚拟机VM1,VM2和VM3构建一个虚拟装置,其中这3个虚拟机分别安装不同的软件程序,从而分别执行不同的功能。例如,虚拟机VM1可以用于执行各种应用,VM2可以用于提供数据库,VM3可以用作代理服务器。这几个“专用”的虚拟机封装在一起,共同提供一个完整的运行环境,从而形成一个虚拟装置。在这样的情况下,将构成虚拟装置的多个虚拟机作为一个整体,共同进行维护、更新和管理。
为了形成所需的虚拟装置,现有技术中提出了多种封装虚拟机的标准和方式。OVF(开放虚拟化格式)是目前较为常用的一种标准,用于封装和分布虚拟装置。利用OVF标准,可以简单灵活地跨平台进行虚拟装置的安装和部署。根据OVF标准,将多个虚拟机封装为一个OVF包。典型地,一个OVF包包括后缀为.ovf的OVF描述文件,还选择性地包含后缀为.mf的清单文件以及后缀为.cert的证书文件。OVF描述文件用于描述该OVF包中包含的各个虚拟机的配置信息。此外,OVF包中通常还包含形成虚拟装置的各个虚拟机的磁盘映像文件。这些文件以映像的形式存储虚拟磁盘中的数据。
根据用户对各种虚拟装置的需要,许多数据中心配置为根据用户需求,向用户提供例如OVF包形式的虚拟装置。特别地,在云计算环境下,尤其是基础架构即服务(IaaS)模式下,云数据中心可以向众多不同用户提供各种虚拟机和虚拟装置。由于用户对各种虚拟装置的不同需要,数据中心内置提供的虚拟装置往往不能满足用户的实际期望。特别地,在云计算环境下,来自于不同用户的需求,或者相同用户在不同上下文中的需求,往往会发生变化,这种多变性导致了提供的有限的虚拟装置不能满足需要。
发明内容
因此,希望对现有的方案进行改进,以能够提供自定义虚拟装置。
本发明的说明性实施例提供了一种用于提供自定义虚拟装置的方法,包括:根据用户需求生成自定义虚拟装置的描述文件;从所述描述文件获取自定义虚拟装置的配置元数据;利用转换信息根据所述配置元数据产生候选虚拟装置的列表,其中所述列表中的候选虚拟装置能够通过转换得到所述配置元数据对应的配置。
本发明的说明性实施例还提供了一种用于提供自定义虚拟装置的设备,包括:生成单元,配置为根据用户需求生成自定义虚拟装置的描述文件;获取单元,配置为从所述描述文件获取自定义虚拟装置的配置元数据;产生单元,配置为利用转换信息根据所述配置元数据产生候选虚拟装置的列表,其中所述列表中的候选虚拟装置能够通过转换得到所述配置元数据对应的配置。
利用说明性实施例的方法和设备,能够根据用户的需求利用数据中心内提供的虚拟装置提供自定义虚拟装置,从而更好地满足不同用户的需求。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1表示根据本发明一实施例的云计算节点;
图2表示根据本发明一实施例的云计算环境;
图3表示根据本发明一实施例的抽象模型层;
图4示出了根据本发明一个实施例的用于提供自定义虚拟装置的方法400的流程图;
图5示出了根据本发明一个实施例的用于提供自定义虚拟装置的设备500的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如系统;系统;系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如 应用服务器软件;数据库软件,例如数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及根据本发明的实施例的复杂对象的管理。
下面描述本发明实施例的具体执行方式。图4示出了根据本发明一个实施例的用于提供自定义虚拟装置的方法400的流程图。如图4所示,用于提供自定义虚拟装置的方法400从步骤402开始,包括:步骤404,根据用户需求生成自定义虚拟装置的描述文件;步骤406,从描述文件获取自定义虚拟装置的配置元数据;步骤408,利用转换信息根据配置元数据产生候选虚拟装置的列表,其中该列表中的候选虚拟装置能够通过转换得到配置元数据对应的配置。下面结合具体例子描述上述各个步骤的执行。
首先,在步骤404,根据用户需求生成自定义虚拟装置的描述文件。假设,用户需求(即用户需要的自定义虚拟装置)为:磁盘格式为XEN VHD的虚拟装置,该虚拟装置上搭载版本为11的Novell SUSE Linux Enterprise Server操作系统,操作系统上搭载版本为7.0的IBM WebSphere Application Server应用软件以及WASProfile(Standalone)实例。根据本发明的实施例的方法,根据上述用户需求生成如下自定义虚拟装置的描述文件。
上述描述文件中描述了这样的自定义虚拟装置:
磁盘格式为XEN VHD,大小为10G;操作系统为Novell SUSE LinuxEnterprise Server Ver.11;搭载的应用软件为IBM WebSphere Application ServerVer.7.0以及WASProfile(Standalone)实例。也就是说,上面的描述文件对应于用户的需求。应当理解,上面给出的例子只是出于说明的目的,不应对本发明的保护范围造成任何限制。
然后,在步骤406,从描述文件获取自定义虚拟装置的配置元数据。配置元数据对应于自定义虚拟装置的配置信息,可以通过从描述文件中抽取与配置元数据相关的标签,例如Product(产品信息)标签、Version(版本)标签等获取配置元数据的内容。仍以上面给出的例子,该自定义虚拟装置的配置元数据为:
然后,在步骤408,利用转换信息根据配置元数据产生候选虚拟装置的列表,其中该列表包括能够通过转换得到配置元数据对应的配置的虚拟装置。首先,读取转换信息,转换信息描述了虚拟装置的哪些配置可以通过转换得到。转换信息可以示例性的包括以下至少一种:软件定制转换信息,描述在同样的软件环境下哪些软件定制可以通过转换得到以及如何通过转换得到;磁盘格式转换信息,描述哪些磁盘格式可以通过转换得到以及如何通过转换得到;磁盘大小转换信息,描述如何通过转换得到所需的磁盘大小。转换描述下面示例性的给出了转换信息的例子。
通过读取上面给出的转换信息,可以知道:
1)在同样的软件环境下通过执行命令:
removeBPMStandaloneProfile.sh和CreateWASStandaloneProfile.sh
可以把BPMProfile(Standalone)实例转换成WASProfile(Standalone)实例;
2)通过执行命令:
vmdk2vhd.sh
可以把VMWare VMDK格式的磁盘转换成XEN VHD格式的磁盘;
3)对于操作系统,磁盘的最大压缩比率应该不超过30%;对于应用软件,磁盘的最大压缩比率应该不超过50%。
应该理解,上面给出的转换信息只是出于说明的目的,不应对本发明的保护范围造成任何限制,转换信息不限于上述内容和形式。
然后,根据转换信息和配置元数据产生候选虚拟装置的列表,具体地对应于不同的转换信息,执行不同的操作以产生候选虚拟装置的列表:
如果转换信息为软件定制转换信息,则根据所述自定义虚拟装置的配置元数据获取自定义虚拟装置的软件定制;对于某一虚拟装置:获取该虚拟装置的软件定制;根据软件定制转换信息判断是否能够通过将该虚拟装置进行软件定制转换使其具有自定义虚拟装置的软件定制;如果是,将该虚拟装置作为候选虚拟装置放入列表并记录所需的转换。
以上面给出的自定义虚拟装置为例,首先根据自定义虚拟装置的配置元数据获取自定义虚拟装置的软件定制,即:Linux SUSE Enterprise Server操作系统上搭载的IBM WebSphere Application Server以及WASProfile(Standalone),然后,对于某一可用虚拟装置,获取该虚拟装置的软件定制,假设得到该虚拟装置的软件定制为Linux SUSE Enterprise Server操作系统上搭载的IBM WebSphereApplication Server以及BPMProfile(Standalone),然后,根据软件定制转换信息判断是否能够通过将该虚拟装置进行软件定制转换使其具有自定义虚拟装置的软件定制,根据上面给出的软件定制转换信息,判断结果为是,因此,将该虚拟装置作为候选装置放入列表,同时记录所需的转换,即转换信息中描述的转换信息:
执行以下命令将BPMProfile(Standalone)实例转换成WASProfile(Standalone)实例:
removeBPMStandaloneProfile.sh和CreateWASStandaloneProfile.sh
如果转换信息为磁盘格式转换信息,则根据所述自定义虚拟装置的配置元数据获取自定义虚拟装置的磁盘格式;对于列表中的某一虚拟装置:获取该虚拟装置的磁盘格式;根据磁盘格式转换信息判断是否能够通过将该虚拟装置进行磁盘格式转换使其具有自定义虚拟装置的磁盘格式;如果是,将该虚拟装置作为候选虚拟装置保留在列表中并记录所需的转换;如果否,将该虚拟装置从列表移除。
以上面给出的自定义虚拟装置为例,首先根据自定义虚拟装置的配置元数据获取自定义虚拟装置的磁盘格式,即:XEN VHD,然后,对于列表中的某一虚拟装置,获取该虚拟装置的磁盘格式,假设得到该虚拟装置的磁盘格式为VMWare VMDK,然后,根据磁盘格式转换信息判断是否能够通过将该虚拟装置进行磁盘格式转换使其具有自定义虚拟装置的磁盘格式,根据上面给出的磁盘格式转换信息,判断结果为是,因此,将该虚拟装置作为候选装置保留在列表中,同时记录所需的转换,即转换信息中描述的转换信息:
通过以下执行命令将VMWare VMDK格式的磁盘转换成XEN VHD格式的磁盘:
vmdk2vhd.sh
如果转换信息为磁盘大小转换信息,则根据所述自定义虚拟装置的配置元数据获取自定义虚拟装置的磁盘大小;对于列表中的某一虚拟装置:获取该虚拟装置的磁盘大小;根据磁盘格式转换信息判断是否能够通过将该虚拟装置进行磁盘大小转换使其具有自定义虚拟装置的磁盘大小;如果是,将该虚拟装置作为候选虚拟装置保留在列表中并记录所需的转换;如果否,将该虚拟装置从列表移除。
以上面给出的自定义虚拟装置为例,首先根据自定义虚拟装置的配置元数据获取自定义虚拟装置的磁盘大小为10G,然后,对于列表中的某一虚拟装置,获取该虚拟装置的磁盘大小,然后,根据磁盘大小转换信息判断是否能够通过将该虚拟装置进行磁盘大小转换使其具有自定义虚拟装置的磁盘大小,假设根据上面给出的磁盘大小转换信息判断结果为是,则将该虚拟装置作为候选装置保留在列表中,同时记录所需的转换。假设根据上面给出的磁盘大小转换信息判断结果为否,则将该虚拟装置从列表移除。
应当理解,上面的说明只是出于示例性的目的,本领域技术人员能够在其基础上做出变动仍然落在本发明的构思内。例如,可以将根据转换信息进行判断的先后顺序做出改变,例如,首先对于某一可用虚拟装置,获取该虚拟装置的磁盘格式和/或磁盘大小;根据磁盘格式转换信息和/或磁盘大小转换信息判断是否能够通过将该虚拟装置进行磁盘格式转换和/或磁盘大小转换使其具有自定义虚拟装置的磁盘格式和/或磁盘大小;如果是,将该虚拟装置作为候选虚拟装置放入列表并记录所需的转换。然后,对于列表中的某一虚拟装置,获取该虚拟装置的软件定制;根据软件定制转换信息判断是否能够通过将该虚拟装置进行软件定制转换使其具有自定义虚拟装置的软件定制;如果是,将该虚拟装置作为候选虚拟装置保留在列表中并记录所需的转换,如果否,则将该虚拟装置从列表中移除。
根据本发明的另一个实施例,用于供自定义虚拟装置的方法还可以包括:步骤410,提供候选虚拟装置的列表,以便用户能够通过所述列表中的候选虚拟装置下载并构建所述自定义虚拟装置。如前所述,列表中的候选虚拟装置能够通过转换得到所述配置元数据对应的配置,因此,用户能够通过读取列表中记录的候选虚拟装置及其所需的转换,将候选虚拟装置进行必要的转换并下载来构建自定义虚拟装置。
图4示出了根据本发明一个实施例的用于提供自定义虚拟装置的设备500的框图。如图5所示,用于提供自定义虚拟装置的方法500包括:生成单元502,配置为根据用户需求生成自定义虚拟装置的描述文件;获取单元504,配置为从所述描述文件获取自定义虚拟装置的配置元数据;产生单元506,配置为利用转换信息根据所述配置元数据产生候选虚拟装置的列表,其中所述列表中的候选虚拟装置能够通过转换得到所述配置元数据对应的配置。
根据本发明的一个实施例,转换信息包括以下至少一种:软件定制转换信息,描述在同样的软件环境下哪些软件定制可以通过转换得到以及如何通过转换得到;磁盘格式转换信息,描述哪些磁盘格式可以通过转换得到以及如何通过转换得到;磁盘大小转换信息,描述如何通过转换得到所需的磁盘大小。
根据本发明的一个实施例,转换信息包括软件定制转换信息,产生单元506进一步配置为:根据所述自定义虚拟装置的配置元数据获取自定义虚拟装置的软件定制;对于某一可用虚拟装置:获取该虚拟装置的软件定制;根据软件定制转换信息判断是否能够通过将该虚拟装置进行软件定制转换使其具有自定义虚拟装置的软件定制;将判断结果为是的虚拟装置作为候选虚拟装置放入列表并记录所需的转换。
根据本发明的另一个实施例,转换信息还包括磁盘格式转换信息,产生单元506进一步配置为:根据所述自定义虚拟装置的配置元数据获取自定义虚拟装置的磁盘格式;对于列表中的某一虚拟装置:获取该虚拟装置的磁盘格式;根据磁盘格式转换信息判断是否能够通过将该虚拟装置进行磁盘格式转换使其具有自定义虚拟装置的磁盘格式;如果是,将该虚拟装置作为候选虚拟装置保留在列表中并记录所需的转换;如果否,将该虚拟装置从列表移除。
根据本发明的另一个实施例,转换信息还包括磁盘大小转换信息,产生单元506进一步配置为:根据所述自定义虚拟装置的配置元数据获取自定义虚拟装置的磁盘大小;对于列表中的某一虚拟装置:获取该虚拟装置的磁盘大小;根据磁盘格式转换信息判断是否能够通过将该虚拟装置进行磁盘大小转换使其具有自定义虚拟装置的磁盘大小;如果是,将该虚拟装置作为候选虚拟装置保留在列表中并记录所需的转换;如果否,将该虚拟装置从列表移除。
根据本发明的另一个实施例,用于提供自定义虚拟装置的设备500进一步包括:提供单元508,配置为提供所述列表,以便用户能够通过所述列表中的候选虚拟装置下载并构建所述自定义虚拟装置。由于列表中的候选虚拟装置能够通过转换得到所述配置元数据对应的配置,因此,用户能够通过读取列表中记录的候选虚拟装置及其所需的转换,将候选虚拟装置进行必要的转换并下载来构建自定义虚拟装置。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (12)

1.一种用于提供自定义虚拟装置的方法,包括:
根据用户需求生成自定义虚拟装置的描述文件;
从所述描述文件获取自定义虚拟装置的配置元数据;
利用转换信息根据所述配置元数据产生候选虚拟装置的列表,其中所述列表中的候选虚拟装置能够通过转换得到所述配置元数据对应的配置。
2.根据权利要求1的方法,其中所述转换信息包括以下至少一种:
软件定制转换信息、磁盘格式转换信息和磁盘大小转换信息。
3.根据权利要求2的方法,其中所述转换信息包括软件定制转换信息,所述利用转换信息根据所述配置元数据产生候选虚拟装置的列表包括:
根据所述自定义虚拟装置的配置元数据获取自定义虚拟装置的软件定制;
对于某一可用虚拟装置:
获取该虚拟装置的软件定制;
根据软件定制转换信息判断是否能够通过将该虚拟装置进行软件定制转换使其具有自定义虚拟装置的软件定制;
将判断结果为是的虚拟装置作为候选虚拟装置放入列表并记录所需的转换。
4.根据权利要求3的方法,其中所述转换信息还包括磁盘格式转换信息,所述利用转换信息根据所述配置元数据产生候选虚拟装置的列表进一步包括:
根据所述自定义虚拟装置的配置元数据获取自定义虚拟装置的磁盘格式;
对于列表中的某一虚拟装置:
获取该虚拟装置的磁盘格式;
根据磁盘格式转换信息判断是否能够通过将该虚拟装置进行磁盘格式转换使其具有自定义虚拟装置的磁盘格式;
如果是,将该虚拟装置作为候选虚拟装置保留在列表中并记录所需的转换;
如果否,将该虚拟装置从列表移除。
5.根据权利要求3的方法,其中所述转换信息还包括磁盘大小转换信息,所述利用转换信息根据所述配置元数据产生候选虚拟装置的列表进一步包括:
根据所述自定义虚拟装置的配置元数据获取自定义虚拟装置的磁盘大小;
对于列表中的某一虚拟装置:
获取该虚拟装置的磁盘大小;
根据磁盘格式转换信息判断是否能够通过将该虚拟装置进行磁盘大小转换使其具有自定义虚拟装置的磁盘大小;
如果是,将该虚拟装置作为候选虚拟装置保留在列表中并记录所需的转换;
如果否,将该虚拟装置从列表移除。
6.根据权利要求1的方法,进一步包括:
提供所述列表,以便用户能够通过所述列表中的候选虚拟装置下载并构建所述自定义虚拟装置。
7.一种用于提供自定义虚拟装置的设备,包括:
生成单元,配置为根据用户需求生成自定义虚拟装置的描述文件;
获取单元,配置为从所述描述文件获取自定义虚拟装置的配置元数据;
产生单元,配置为利用转换信息根据所述配置元数据产生候选虚拟装置的列表,其中所述列表中的候选虚拟装置能够通过转换得到所述配置元数据对应的配置。
8.根据权利要求7的设备,其中所述转换信息包括以下至少一种:
软件定制转换信息、磁盘格式转换信息和磁盘大小转换信息。
9.根据权利要求8的设备,其中所述转换信息包括软件定制转换信息,所述产生单元进一步配置为:
根据所述自定义虚拟装置的配置元数据获取自定义虚拟装置的软件定制;
对于某一可用虚拟装置:
获取该虚拟装置的软件定制;
根据软件定制转换信息判断是否能够通过将该虚拟装置进行软件定制转换使其具有自定义虚拟装置的软件定制;
将判断结果为是的虚拟装置作为候选虚拟装置放入列表并记录所需的转换。
10.根据权利要求9的设备,其中所述转换信息还包括磁盘格式转换信息,所述产生单元进一步配置为:
根据所述自定义虚拟装置的配置元数据获取自定义虚拟装置的磁盘格式;
对于列表中的某一虚拟装置:
获取该虚拟装置的磁盘格式;
根据磁盘格式转换信息判断是否能够通过将该虚拟装置进行磁盘格式转换使其具有自定义虚拟装置的磁盘格式;
如果是,将该虚拟装置作为候选虚拟装置保留在列表中并记录所需的转换;
如果否,将该虚拟装置从列表移除。
11.根据权利要求9的设备,其中所述转换信息还包括磁盘大小转换信息,所述产生单元进一步配置为:
根据所述自定义虚拟装置的配置元数据获取自定义虚拟装置的磁盘大小;
对于列表中的某一虚拟装置:
获取该虚拟装置的磁盘大小;
根据磁盘格式转换信息判断是否能够通过将该虚拟装置进行磁盘大小转换使其具有自定义虚拟装置的磁盘大小;
如果是,将该虚拟装置作为候选虚拟装置保留在列表中并记录所需的转换;
如果否,将该虚拟装置从列表移除。
12.根据权利要求7的设备,进一步包括:
提供单元,配置为提供所述列表,以便用户能够通过所述列表中的候选虚拟装置下载并构建所述自定义虚拟装置。
CN201310364810.0A 2013-08-20 2013-08-20 用于提供自定义虚拟装置的方法和设备 Active CN104424012B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310364810.0A CN104424012B (zh) 2013-08-20 2013-08-20 用于提供自定义虚拟装置的方法和设备
US14/453,114 US9348570B2 (en) 2013-08-20 2014-08-06 Providing a custom virtual appliance
US15/090,644 US9910694B2 (en) 2013-08-20 2016-04-05 Providing a custom virtual appliance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310364810.0A CN104424012B (zh) 2013-08-20 2013-08-20 用于提供自定义虚拟装置的方法和设备

Publications (2)

Publication Number Publication Date
CN104424012A true CN104424012A (zh) 2015-03-18
CN104424012B CN104424012B (zh) 2018-03-16

Family

ID=52467787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310364810.0A Active CN104424012B (zh) 2013-08-20 2013-08-20 用于提供自定义虚拟装置的方法和设备

Country Status (2)

Country Link
US (2) US9348570B2 (zh)
CN (1) CN104424012B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713500A (zh) * 2017-02-03 2017-05-24 郑州云海信息技术有限公司 一种vmware的ovf模板的存储方法
CN109118601A (zh) * 2017-06-26 2019-01-01 辽宁艾特斯智能交通技术有限公司 一种基于虚拟云与大数据分析技术的高速公路稽查系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8661120B2 (en) * 2010-09-21 2014-02-25 Amazon Technologies, Inc. Methods and systems for dynamically managing requests for computing capacity
US11599375B2 (en) * 2020-02-03 2023-03-07 EMC IP Holding Company LLC System and method virtual appliance creation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546270A (zh) * 2009-05-08 2009-09-30 阿里巴巴集团控股有限公司 一种Linux操作系统的自动安装方法、装置及系统
US20110314466A1 (en) * 2010-06-17 2011-12-22 International Business Machines Corporation Creating instances of cloud computing environments
US20130111467A1 (en) * 2011-10-27 2013-05-02 Cisco Technology, Inc. Dynamic Server Farms
CN103092650A (zh) * 2013-01-09 2013-05-08 华中科技大学 云环境下基于软件预安装的虚拟机镜像生成方法和系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198303A1 (en) * 2004-01-02 2005-09-08 Robert Knauerhase Dynamic virtual machine service provider allocation
US9280335B2 (en) * 2010-09-30 2016-03-08 International Business Machines Corporation Semantically rich composable software image bundles
US8789041B2 (en) * 2009-12-18 2014-07-22 Verizon Patent And Licensing Inc. Method and system for bulk automated virtual machine deployment
CN102207859A (zh) 2010-03-31 2011-10-05 国际商业机器公司 解决方案部署方法、设备和系统
US8839228B2 (en) 2010-04-21 2014-09-16 Ca, Inc. System and method for updating an offline virtual machine
US8910157B2 (en) * 2010-11-23 2014-12-09 International Business Machines Corporation Optimization of virtual appliance deployment
US20120266170A1 (en) 2011-04-15 2012-10-18 Roy William Zimmerman Virtual Machine Image Management System and Methods
US20130132951A1 (en) 2011-11-18 2013-05-23 Broadcom Corporation Network Port Profile Representation in Open Virtualization Format Package
US9298482B2 (en) 2011-12-12 2016-03-29 International Business Machines Corporation Plug-in based templatization framework for automating the creation of open virtualization format virtual appliances
TW201327391A (zh) * 2011-12-27 2013-07-01 Hon Hai Prec Ind Co Ltd 虛擬機應用系統及方法
US10203972B2 (en) * 2012-08-27 2019-02-12 Vmware, Inc. Framework for networking and security services in virtual networks
US9047238B2 (en) * 2012-11-28 2015-06-02 Red Hat Israel, Ltd. Creating a virtual machine from a snapshot
CN104007998A (zh) * 2013-02-25 2014-08-27 纬创资通股份有限公司 用于计算机系统的文件转换方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546270A (zh) * 2009-05-08 2009-09-30 阿里巴巴集团控股有限公司 一种Linux操作系统的自动安装方法、装置及系统
US20110314466A1 (en) * 2010-06-17 2011-12-22 International Business Machines Corporation Creating instances of cloud computing environments
US20130111467A1 (en) * 2011-10-27 2013-05-02 Cisco Technology, Inc. Dynamic Server Farms
CN103092650A (zh) * 2013-01-09 2013-05-08 华中科技大学 云环境下基于软件预安装的虚拟机镜像生成方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713500A (zh) * 2017-02-03 2017-05-24 郑州云海信息技术有限公司 一种vmware的ovf模板的存储方法
CN109118601A (zh) * 2017-06-26 2019-01-01 辽宁艾特斯智能交通技术有限公司 一种基于虚拟云与大数据分析技术的高速公路稽查系统

Also Published As

Publication number Publication date
CN104424012B (zh) 2018-03-16
US20150052527A1 (en) 2015-02-19
US9910694B2 (en) 2018-03-06
US20160217000A1 (en) 2016-07-28
US9348570B2 (en) 2016-05-24

Similar Documents

Publication Publication Date Title
US11805076B2 (en) Microservice placement in hybrid multi-cloud using graph matching
CN103368767B (zh) 用于在容许故障的因特网云上部署软件应用的方法和系统
US10261819B2 (en) Determining an optimal computing environment for running an image based on performance of similar images
CN104765620A (zh) 一种程序模块部署的方法和系统
CN104424013B (zh) 在计算环境中部署虚拟机的方法和设备
CN104731658B (zh) 供应和合并共享资源以最大化资源可用性的方法和系统
CN103365725B (zh) 在多个云之间动态分配工作负荷部署单元的方法和系统
CN104601622A (zh) 一种部署集群的方法和系统
US20120284380A1 (en) Identifying optimal virtual machine images in a networked computing environment
CN104067265A (zh) 用于支持在云中的安全应用部署的系统和方法
CN104516773A (zh) 用于物理机的数据分配方法和数据分配装置
CN102981908A (zh) 用于从预先供应的虚拟机池选择虚拟机的方法和系统
CN104660669A (zh) 针对应用模式组件从多个主机选择一个主机的方法和系统
CN103927216B (zh) 用于管理虚拟装置的方法和系统
CN105100127A (zh) 用于验证在云计算环境中的应用部署拓扑的设备和方法
CN105359088A (zh) 使用动态生成的虚拟磁盘内容优化供应时间的方法
CN103716347A (zh) 建立虚拟机的方法、装置和云服务器
CN104516730A (zh) 一种数据处理方法和装置
CN104216662A (zh) 用于跨远程复制关系的卷布置的方法和系统
US8874513B2 (en) Transitioning application replication configurations in a networked computing environment
CN104424012A (zh) 用于提供自定义虚拟装置的方法和设备
US9342527B2 (en) Sharing electronic file metadata in a networked computing environment
CN105224301B (zh) 一种应用实例组装的方法和系统
CN104021027B (zh) 提供虚拟装置的方法和设备
CN104519096B (zh) 用于在云计算系统中部署服务的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant