CN103975306A - 用于创建虚拟设备的方法和系统 - Google Patents

用于创建虚拟设备的方法和系统 Download PDF

Info

Publication number
CN103975306A
CN103975306A CN201280060071.XA CN201280060071A CN103975306A CN 103975306 A CN103975306 A CN 103975306A CN 201280060071 A CN201280060071 A CN 201280060071A CN 103975306 A CN103975306 A CN 103975306A
Authority
CN
China
Prior art keywords
virtual unit
object module
revised
operating system
virtual
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
CN201280060071.XA
Other languages
English (en)
Other versions
CN103975306B (zh
Inventor
C·马里内利
J·方迪格尼耶
R·E·维伦伯格
P-A·奎洛兹
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
Publication of CN103975306A publication Critical patent/CN103975306A/zh
Application granted granted Critical
Publication of CN103975306B publication Critical patent/CN103975306B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • 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/4401Bootstrapping
    • 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

Abstract

一种用于创建虚拟设备(22)的改进方法包括:输入未修改的虚拟设备(12)和目标模型的列表(14);基于所述输入来创建具有ISO文件和转换工具(30)的已修改的虚拟设备(22)以及已验证的目标模型的列表(24);其中,所述已修改的虚拟设备(22)被配置成在所述ISO文件上启动,所述ISO文件包含在所有已验证的目标模型上工作的迷你操作系统;其中,如果触发所述已修改的虚拟设备(22)在目标模型(50)上的部署,则在所述对应目标模型(50)上启动所述迷你操作系统;其中,所述迷你操作系统确定正供运行所述迷你操作系统的所述当前目标模型(50)的模型(52、54),且如果所述当前目标模型(50)是已验证的目标模型,则所述迷你操作系统根据所述当前目标模型(50)而应用对所述虚拟设备(22)的操作系统的修改以使所述虚拟设备(22)成为可移植的,从而在所述目标模型(50)上运行。

Description

用于创建虚拟设备的方法和系统
技术领域
本发明一般地涉及虚拟化的领域,具体而言涉及用于创建虚拟设备(virtual appliance)的方法和用于创建虚拟设备的系统。更具体而言,本发明涉及用于创建虚拟设备的数据处理程序和计算机程序产品。
背景技术
虽然虚拟化在资源利用优化方面带来大量优点,但其亦引入新挑战。新问题之一是如何保证虚拟系统镜像在各种超管理器与其相关联管理工具之间的可移植性(portability)。迄今,此情形在市场上已受到相对微小关注,这是因为大多数“云端计算”解决方案似乎充分利用用于下层基础结构的单个厂商。此情形已对企业数据中心中的项目适用且对充分利用比如亚马逊弹性云端计算(Elastic ComputeCloud at Amazon)的服务的纯云端解决方案适用。在此内容背景中,一些解决方案非常类似于其检视应用程序可移植性来看待镜像可移植性:有最好但并非必需的,只要云端厂商维持对旧式部署的支持即可。近来,我们已看到开始发生潜在移位。越来越多的“云端即服务(cloudas a service)”厂商想要在云端供应私用数据中心基础结构的某部分或横越混合式云端服务供应更具挑战性的移动虚拟镜像。
现有镜像构建和合成工具(例如,ICON及CohesiveFT)能够创建虚拟镜像,但这些镜像限于一种单镜像格式(例如,VMDK),且目前,归因于镜像可移植性问题而不存在用以使这些镜像在其他超管理器或实体机器上工作的容易方式。迄今,用以在不同目标平台上移动虚拟设备的最常见方式是在重现构建和合成原始镜像所需要的相同步骤的新基础结构上重新构建镜像。此情形将引起在目标机器上选择并构建操作系统(OS)镜像。接着,安装操作系统(OS)镜像且将软件配套安装于基础操作系统(OS)镜像上。最后,捕获目标机器。
以上方法需要额外努力来构建和/或合成虚拟设备,从而使目标平台变化。此外,需要额外测试来认证新的已合成镜像。另外,镜像的镜像蔓延和/或扩散可改变目标平台类型及虚拟或实体目标机器模型,且必须内省源镜像以理解中间软件和/或软件堆栈。
举例而言,Yan等人的专利申请公开案US2011/0197053A1“SIMPLIFYING MANAGEMENT OF PHYSICAL AND VIRTUALDEPLOYMENTS”中描述用以横越异质平台来移动工作负荷的传统方式。该公开专利申请案公开一种通过使用附接至目标系统的预安装环境而将虚拟镜像部署至目标实体机器的方法,其中,启动预安装环境且经由网络而取回虚拟镜像,且在启动至预安装环境中之后提取虚拟镜像内容。此后,通过使虚拟镜像的依机器而定的数据与目标系统的硬件相关来进行修改和调整。
发明内容
成为本发明的基础的技术问题是提供一种用于创建虚拟设备的方法和一种用于创建虚拟设备的系统,该方法和该系统是与不同类型的超管理器和实体机器兼容的且能够解决用于创建虚拟设备的现有技术方法和系统的上述无效率、缺点和苦恼点。
根据本发明,通过提供一种具有权利要求1的特征的用于创建虚拟设备的方法、一种具有权利要求10的特征的用于创建虚拟设备的系统、一种具有权利要求14的特征的用于创建虚拟设备的数据处理程序以及一种具有权利要求15的特征的用于创建虚拟设备的计算机程序产品来解决此问题。从属权利要求中提及本发明的有利实施例。
因此,在本发明的实施例中,一种用于创建虚拟设备的方法包括以下步骤:输入未修改的虚拟设备和目标模型的列表;基于输入来创建具有ISO文件和转换工具的已修改的虚拟设备以及已验证的目标模型的列表;其中,已修改的虚拟设备被配置成在ISO文件上启动,ISO文件包含在所有已验证的目标模型上工作的迷你操作系统;其中,如果触发已修改的虚拟设备在目标模型上的部署,则在对应目标模型上启动迷你操作系统;其中,迷你操作系统确定正供运行迷你操作系统的当前目标模型的模型,且如果当前目标模型是已验证的目标模型,则迷你操作系统根据当前目标模型而应用对虚拟设备的操作系统的修改以使虚拟设备成为可移植的,从而在目标模型上运行。
在本发明的进一步实施例中,目标模型包括虚拟机模型和/或实体机器模型。
在本发明的进一步实施例中,未修改的虚拟设备被设法安装于目标模型的列表上的每个目标模型上,未修改的虚拟设备被成功地安装的每个目标模型被记录于已验证的目标模型的列表中,且ISO文件被创建。
在本发明的进一步实施例中,为了部署已修改的虚拟设备,创建目标模型且将已修改的虚拟设备的ISO文件绑定至在已修改的虚拟设备的ISO文件上启动的目标模型。
在本发明的进一步实施例中,预操作系统核心被从ISO文件加载,从而控制且开始检查主启动记录以确定目标模型的操作系统的类型。
在本发明的进一步实施例中,迷你操作系统执行以下操作中的至少一个:导入驱动程序,移除驱动程序,导入硬件抽象层,取代硬件抽象层,导入虚拟化工具,和重新构建初始随机存取存储器磁盘。
在本发明的进一步实施例中,在需要时,转换工具用以将已修改的虚拟设备转换成另一格式。
在本发明的进一步实施例中,转换工具通过分析已修改的虚拟设备中的驱动程序而提供有关受支持的目标模型的至少一个提示。
在本发明的进一步实施例中,转换工具提供已修改的虚拟设备是否将在给定硬件模型上工作的语句,且如果已修改的虚拟设备将不在给定硬件模型上工作则提供存在哪些问题的语句。
在本发明的另一实施例中,一种用于创建虚拟设备的系统包括:镜像构建和合成工具,将未修改的虚拟设备和目标模型的列表输出至认证平台,所述认证平台基于输入来创建具有ISO文件和转换工具的已修改的虚拟设备以及已验证的目标模型的列表;其中,认证平台将已修改的虚拟设备返回至镜像构建和合成工具;其中,已修改的虚拟设备被配置成在ISO文件上启动,ISO文件包含在所有已验证的目标模型上工作的迷你操作系统;其中,镜像构建和合成工具将已修改的虚拟设备输出至云端提供商,其中,如果在云端提供商中触发已修改的虚拟设备在目标模型上的部署,则在对应目标模型上启动迷你操作系统;其中,迷你操作系统确定正供运行迷你操作系统的当前目标模型的模型,且如果当前目标模型是已验证的目标模型,则迷你操作系统根据当前目标模型而应用对虚拟设备的操作系统的修改以使虚拟设备成为可移植的,从而在目标模型上运行。
在本发明的进一步实施例中,认证平台设法将未修改的虚拟设备安装于目标模型的列表上的每个目标模型上,将未修改的虚拟设备被成功地安装的每个目标模型记录于已验证的目标模型的列表中,且创建ISO文件。
在本发明的进一步实施例中,云端提供商创建目标模型以部署已修改的虚拟设备且将已修改的虚拟设备的ISO文件绑定至在已修改的虚拟设备的ISO文件上启动的目标模型;其中,目标模型自ISO文件加载预操作系统核心,从而控制且开始检查主启动记录以确定目标模型的操作系统的类型,且其中,迷你操作系统执行以下操作中的至少一个:导入驱动程序,移除驱动程序,导入硬件抽象层,取代硬件抽象层,导入虚拟化工具,和重新构建初始随机存取存储器磁盘。
在本发明的进一步实施例中,转换工具用以执行以下操作中的至少一个:将已修改的虚拟设备转换成另一格式,通过分析已修改的虚拟设备中的驱动程序而提供有关受支持的目标模型的至少一个提示,和提供已修改的虚拟设备是否将在给定硬件模型上工作的语句,且如果已修改的虚拟设备将不在给定硬件模型上工作则提供存在哪些问题的语句。
在本发明的另一实施例中,一种用于在数据处理系统中运行的数据处理程序包括软件代码部分,软件代码部分用于在程序运行于数据处理系统上时执行用于创建虚拟设备的方法。
在本发明的又一实施例中,一种存储于计算机可用介质上的计算机程序产品包括用于在程序运行于计算机上时使计算机执行用于创建虚拟设备的方法的计算机可读程序装置。
所介绍的本发明的主要方面是构建一种可包括将虚拟镜像移植于目标模型上所需要的所有变化的“通用(universal)”ISO。
总而言之,本发明的实施例能够提供一种用以创建可在任何类型的超管理器或实体机器上工作的通用虚拟设备的方式。代替将虚拟设备提供为单个虚拟磁盘,想法是提供具有ISO文件和转换工具的已修改设备。已修改设备经修改以总是在ISO文件上启动,ISO文件包含已知在所有目标环境上工作的迷你操作系统。当此迷你操作系统已启动时,迷你操作系统确定正供运行迷你操作系统的目标模型且将应用预期操作系统修改以使虚拟设备的操作系统在已确定的目标平台上工作。对于Windows,修改意味着驱动程序导入、硬件抽象层(HAL)取代和虚拟化工具导入;且对于Linux,修改意味着驱动程序导入、初始随机存取存储器磁盘重新构建和虚拟化工具导入。当完成此步骤时,操作系统已知与硬件兼容且可在操作系统上信赖地执行启动。在需要时,在导入虚拟设备之前,转换工具仅用以将虚拟磁盘转换成另一格式。
有利地,本发明的实施例通过分析虚拟设备中的驱动程序而提供有关受支持的目标模型的一些提示和/或建议。另外,如果用户提供硬件模型,则转换工具可提及设备是否将很可能工作,且若不工作,则提及可能存在哪些问题,比如,磁盘丢失、网络丢失或图形显示。
另外,本发明的实施例处理如何知晓与虚拟设备兼容的硬件模型的问题。为了解决此问题,已修改的虚拟设备提供认证平台,认证平台采用未修改的虚拟设备以及包括虚拟机和/或实体机器的目标模型的列表作为输入且返回具有ISO和转换工具的已修改的虚拟设备以及已验证的目标模型的列表作为输出。在该背景中,认证平台已设法将虚拟设备安装于预期硬件模型上且返回已成功的已验证的目标模型的列表。
本发明的实施例可提供的另一能力是加密和/或解密处理。举例而言,可加密虚拟设备(虚拟磁盘),且可经由可移植的ISO文件而进行解密,这可针对ISO文件进行提示。此方法的优点在于:密码由终端用户负责,而非由超管理器管理者负责。想法是:虚拟磁盘可由终端用户解密,而非由导入镜像的操作者进行解密。通常,在虚拟磁盘格式上,整个虚拟磁盘被加密;遗憾的是,这使得不可能转换虚拟磁盘,且甚至更糟的是,这迫使超管理器的操作者解密虚拟磁盘。在此流程中,终端用户并不知晓密码,而仅有操作者知晓密码。为了避免这两个问题(操作者知晓密码和虚拟磁盘转换不可能),本提案由不加密虚拟磁盘而是加密操作系统镜像组成。在此情况下,操作者可将虚拟设备(虚拟磁盘)转换成任意格式,且终端用户可经由ISO文件而解密磁盘。
本发明的以上以及额外目的、特征及优点将在以下详细书面描述中变得清楚。
附图说明
如下文详细地所描述,图式中展示本发明的较佳实施例。
图1是根据本发明的实施例的用于创建虚拟设备的系统的示意性方块图;
图2是根据本发明的实施例的用于创建虚拟设备的方法的示意性流程图;及
图3是根据本发明的第二实施例的用以修改由图2的用于创建虚拟设备的方法使用的虚拟设备的程序的示意性流程图。
具体实施方式
图1展示根据本发明的实施例的用于创建虚拟设备的系统,且图2及图3展示根据本发明的实施例的用于创建虚拟设备的方法。
参看图1,本发明的所展示实施例采用用于创建虚拟设备的如下系统,该系统包括:将未修改的虚拟设备12和目标模型的列表14输出至认证平台20的镜像构建和合成工具10。认证平台20基于输入来创建具有ISO文件和转换工具30的已修改的虚拟设备22以及已验证的目标模型的列表24,且将已修改的虚拟设备22返回至镜像构建和合成工具10。
为了创建已修改的虚拟设备22,认证平台20在背景中设法将未修改的虚拟设备12安装于目标模型的列表14上的每个目标模型50上,且将未修改的虚拟设备12被成功地安装的每个目标模型50记录于已验证的目标模型的列表24中。
换言之,认证平台20采用未修改的虚拟设备12以及包含虚拟机52和/或实体机器54的目标模型的列表14作为输入。举例而言,目标机器50可以是最新HP DL585,而源机器是不同模型,因此,虚拟设备12的操作系统不包括正确的驱动程序。在另一实例中,源机器以nic=el000和磁盘控制器=IDE装备,且目标机器以nic=AMD和磁盘控制器=LSI逻辑装备。
认证平台20将返回经修改以在ISO文件上启动且包括转换工具30的已修改的虚拟设备22以及已验证的目标模型的列表24。
因此,已修改的虚拟设备22被配置成在ISO文件上启动,该ISO文件包含在所有已验证的目标模型上工作的迷你操作系统。镜像构建和合成工具10将已修改的虚拟设备22输出至云端提供商40,其中,如果在云端提供商40中触发已修改的虚拟设备22在目标模型50上的部署,则在对应目标模型50上启动迷你操作系统。云端提供商40创建目标模型50以部署已修改的虚拟设备22且将已修改的虚拟设备22的ISO文件绑定至在已修改的虚拟设备22的ISO文件上启动的目标模型50。
举例而言,一旦操作者触发已修改的虚拟设备22的部署,就创建目标虚拟机50且将ISO文件绑定至虚拟机50。虚拟机50在ISO文件上启动,从而先前已经修改虚拟设备22以便在下一器件上启动,该器件在此状况下将是已附接的ISO文件。结果,迷你操作系统确定正供运行迷你操作系统的当前目标模型50的模型52、54。因此,自该已修改的虚拟设备22的ISO文件加载预操作系统核心,从而控制进一步处理。预操作系统核心启动且检查主启动记录(MBR)以确定目标模型50的操作系统类型,例如,Windows或Linux。如果当前目标模型50是已验证的目标模型,则根据当前目标模型50而应用对虚拟设备22的操作系统的修改。为了进行此应用,加载迷你操作系统(随机存取存储器磁盘)环境,亦即,如果操作系统是Windows,则该环境是Wipe,或者如果操作系统是Linux,则该环境是MCP,且在迷你操作系统环境上启动代理。如果操作系统为Windows,则代理确定操作系统是何种操作系统及所导入的驱动程序,且将通过导入或移除驱动程序而自动地解决ISO文件中的内建式驱动程序的问题。另外,在需要时,代理将自动地导入硬件抽象层(HAL),且在目标模型50是虚拟机52时,代理将导入虚拟化工具。如果操作系统是Linux,则代理将重新构建随机存取存储器磁盘、导入驱动程序且新增虚拟化工具。这些措施使虚拟设备22成为可移植的,从而在不同目标模型50上运行。
在所展示实施例中,在需要时,转换工具30用于将已修改的虚拟设备22转换成另一格式。另外,转换工具30通过分析已修改的虚拟设备22中的驱动程序而提供有关受支持的目标模型50的至少一个提示和/或建议。另外,转换工具30提供已修改的虚拟设备22是否将在由操作者输入的硬件模型52、54上工作的语句,且若将不在硬件模型52、54上工作则提供存在哪些问题的语句。
参看图2,本发明的所展示实施例采用用于创建虚拟设备的如下方法,该方法包括在步骤S100中输入未修改的虚拟设备12和目标模型的列表14。在步骤S200中基于输入来创建具有ISO文件和转换工具30的已修改的虚拟设备22以及已验证的目标模型的列表24,其中,已修改的虚拟设备22被配置成在ISO文件上启动,该ISO文件包含在所有已验证的目标模型上工作的迷你操作系统。如果触发已修改的虚拟设备22在目标模型50上的部署,则在步骤S300中在对应目标模型50上启动迷你操作系统。在步骤S400中,确定正供运行迷你操作系统的当前目标模型50的模型52、54,且如果当前目标模型50是已验证的目标模型,则在步骤S500中根据当前目标模型50而应用对虚拟设备22的操作系统的修改。在步骤S600中,重新启动当前目标模型50。
参看图3,用以修改由图2的用于创建虚拟设备的方法使用的虚拟设备12的所展示过程在步骤S210中设法将未修改的虚拟设备12安装于目标模型的列表14上的每个目标模型50上。在步骤S220中,将未修改的虚拟设备12被成功地安装的每个目标模型50记录于已验证的目标模型的列表24上。在步骤S230中,创建ISO文件,ISO文件包括在已验证的目标模型的列表24上的每个目标模型50上可启动的迷你操作系统。
本发明的实施例可实现为完全软件实施例,或包含硬件组件和软件组件两者的实施例。在较佳实施例中,本发明以软件实现,软件包括(但不限于)固件、常驻软件、微码等等。
此外,本发明可采用自计算机可用或计算机可读介质可访问的计算机程序产品的形式,计算机可用或计算机可读介质提供通过或结合计算机或任何指令运行系统而使用的程序代码。出于此描述的目的,计算机可用或计算机可读介质可以是可包含、存储、传送、传播或输送通过或结合指令运行系统、装置或器件而使用的程序的任何装置。
介质可以是电子、磁性、光学、电磁、红外线或半导体系统(或装置或器件)或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、可移除式计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘及光盘。光盘的当前实例包括光盘-只读存储器(CD-ROM)、光盘-读/写(CD-R/W)及DVD。适合于存储和/或运行程序代码的数据处理系统将包括直接地耦接至或经由系统总线而间接地耦接至存储器组件的至少一个处理器。存储器组件可包括在程序代码的实际运行期间所采用的本地存储器,大容量存储器,及高速缓存存储器,高速缓存存储器提供至少某些程序代码的暂时存储,以便缩减在运行期间必须自大容量存储器取回代码的次数。输入/输出或I/O器件(包括(但不限于)键盘、显示器、点选器件等等)可直接地耦接至系统或经由介入I/O控制器而耦接至系统。
网络适配器亦可耦接至系统以使数据处理系统能够经由介入的私用或公用网络而耦接至其他数据处理系统或远程打印机或存储器件。调制解调器、线缆调制解调器及以太网络卡仅仅是当前可用类型的网络适配器中的少数几种。

Claims (15)

1.一种用于创建虚拟设备的方法,包括:
输入未修改的虚拟设备(12)和目标模型的列表(14);
基于所述输入来创建具有ISO文件和转换工具(30)的已修改的虚拟设备(22)以及已验证的目标模型的列表(24);
其中,所述已修改的虚拟设备(12)被配置成在所述ISO文件上启动,所述ISO文件包含在所有已验证的目标模型上工作的迷你操作系统;
其中,如果触发所述已修改的虚拟设备(22)在目标模型(50)上的部署,则在所述对应目标模型(50)上启动所述迷你操作系统;
其中,所述迷你操作系统确定正供运行所述迷你操作系统的所述当前目标模型(50)的模型(52,54),且
如果所述当前目标模型(50)是已验证的目标模型,则所述迷你操作系统根据所述当前目标模型(50)而应用对所述虚拟设备(22)的操作系统的修改以使所述虚拟设备(22)成为可移植的,从而在所述目标模型(50)上运行。
2.根据权利要求1所述的方法,其中,所述目标模型的列表(14)上的所述目标模型(50)包括以下项中的至少一个:
虚拟机模型(52)和实体机器模型(54)。
3.根据权利要求1或2所述的方法,其中,所述未修改的虚拟设备(12)被设法安装于所述目标模型的列表(14)上的每个目标模型(50)上,所述未修改的虚拟设备(12)被成功地安装的每个目标模型(50)被记录于所述已验证的目标模型的列表(24)中,且所述ISO文件被创建。
4.根据在前权利要求1到3中的一项所述的方法,其中,为了部署所述已修改的虚拟设备(24),所述目标模型(50)被创建且所述已修改的虚拟设备(24)的所述ISO文件被绑定至在所述已修改的虚拟设备(24)的所述ISO文件上启动的所述目标模型(50)。
5.根据权利要求4所述的方法,其中,预操作系统核心被从所述ISO文件加载,从而控制且开始检查主启动记录以确定所述目标模型(50)的操作系统的类型。
6.根据权利要求5所述的方法,其中,所述迷你操作系统执行以下操作中的至少一个:导入驱动程序,移除驱动程序,导入硬件抽象层,取代硬件抽象层,导入虚拟化工具,和重新构建初始随机存取存储器磁盘。
7.根据在前权利要求1到6中的一项所述的方法,其中,在需要时,所述转换工具(30)用于将所述已修改的虚拟设备(24)转换成另一格式。
8.根据在前权利要求1到7中的一项所述的方法,其中,所述转换工具(30)通过分析所述已修改的虚拟设备(24)中的驱动程序而提供有关受支持的目标模型(50)的至少一个提示。
9.根据在前权利要求1到8中的一项所述的方法,其中,所述转换工具(30)提供所述已修改的虚拟设备(24)是否将在给定硬件模型(52、54)上工作的语句,且如果所述已修改的虚拟设备(24)将不在给定硬件模型(52、54)上工作则提供存在哪些问题的语句。
10.一种用于创建虚拟设备的系统,包括:
镜像构建和合成工具(10),将未修改的虚拟设备(12)和目标模型的列表(14)输出至认证平台(20),所述认证平台(20)基于所述输入来创建具有ISO文件和转换工具(30)的已修改的虚拟设备(22)以及已验证的目标模型的列表(24);
其中,所述认证平台(20)将所述已修改的虚拟设备(22)返回至所述镜像构建和合成工具(10);
其中,所述已修改的虚拟设备(22)被配置成在所述ISO文件上启动,所述ISO文件包含在所有已验证的目标模型上工作的迷你操作系统;
其中,所述镜像构建和合成工具(10)将所述已修改的虚拟设备(22)输出至云端提供商(40),其中,如果在所述云端提供商(40)中触发所述已修改的虚拟设备(22)在目标模型(50)上的部署,则在所述对应目标模型(50)上启动所述迷你操作系统;
其中,所述迷你操作系统确定正供运行所述迷你操作系统的所述当前目标模型(50)的模型(52、54),且
如果所述当前目标模型(50)是已验证的目标模型,则所述迷你操作系统根据所述当前目标模型(50)而应用对所述虚拟设备(22)的操作系统的修改以使所述虚拟设备(22)成为可移植的,从而在所述目标模型(50)上运行。
11.根据权利要求10所述的系统,其中,所述认证平台(20)设法将所述未修改的虚拟设备(12)安装于所述目标模型的列表(14)上的每个目标模型(50)上,将所述未修改的虚拟设备(12)被成功地安装的每个目标模型(50)记录于所述已验证的目标模型的列表(24)中,且创建所述ISO文件。
12.根据权利要求10或11所述的系统,其中,所述云端提供商(40)创建所述目标模型(50)以部署所述已修改的虚拟设备(22)且将所述已修改的虚拟设备(22)的所述ISO文件绑定至在所述已修改的虚拟设备(22)的所述ISO文件上启动的所述目标模型(50);
其中,所述目标模型(50)从所述ISO文件加载预操作系统核心,从而控制且开始检查主启动记录以确定所述目标模型(50)的操作系统的类型,且其中,所述迷你操作系统执行以下操作中的至少一个:
导入驱动程序,移除驱动程序,导入硬件抽象层,取代硬件抽象层,导入虚拟化工具,和重新构建初始随机存取存储器磁盘。
13.根据在前权利要求10或12中的一项所述的系统,其中,所述转换工具(30)用于执行以下操作中的至少一个:
将所述已修改的虚拟设备(22)转换成另一格式,通过分析所述已修改的虚拟设备(22)中的驱动程序而提供有关受支持的目标模型(50)的至少一个提示,和提供所述已修改的虚拟设备(22)是否将在给定硬件模型(52、54)上工作的语句,且如果所述已修改的虚拟设备(22)将不在给定硬件模型(52、54)上工作则提供存在哪些问题的语句。
14.一种用于在数据处理系统中运行的数据处理程序,包括软件代码部分,所述软件代码部分用于在所述程序运行于所述数据处理系统上时执行根据在前权利要求1至9中的一项所述的用于创建虚拟设备的方法。
15.一种存储于计算机可用介质上的计算机程序产品,包括用于在所述程序运行于计算机上时使所述计算机执行根据在前权利要求1至6中的一项所述的用于创建虚拟设备的方法的计算机可读程序装置。
CN201280060071.XA 2011-12-07 2012-12-04 用于创建虚拟设备的方法和系统 Active CN103975306B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11192273.8 2011-12-07
EP11192273 2011-12-07
PCT/EP2012/074323 WO2013083547A1 (en) 2011-12-07 2012-12-04 Method and system for creating a virtual appliance

Publications (2)

Publication Number Publication Date
CN103975306A true CN103975306A (zh) 2014-08-06
CN103975306B CN103975306B (zh) 2018-01-02

Family

ID=47278313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280060071.XA Active CN103975306B (zh) 2011-12-07 2012-12-04 用于创建虚拟设备的方法和系统

Country Status (5)

Country Link
US (1) US9495181B2 (zh)
CN (1) CN103975306B (zh)
DE (1) DE112012004793T5 (zh)
TW (1) TWI515658B (zh)
WO (1) WO2013083547A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107004032A (zh) * 2016-11-17 2017-08-01 华为技术有限公司 镜像文件转换方法及装置
CN108369526A (zh) * 2017-08-07 2018-08-03 深圳前海达闼云端智能科技有限公司 一种虚拟机的启动方法、装置和智能终端

Families Citing this family (7)

* 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
TWI515658B (zh) 2011-12-07 2016-01-01 萬國商業機器公司 用於創建虛擬裝置之方法及系統
WO2014180769A1 (en) * 2013-05-06 2014-11-13 Core-Software Gmbh Automated generation of an appliance for a computing machine
US9965307B2 (en) * 2014-10-06 2018-05-08 Vmware, Inc. Building virtual appliances
US9965271B2 (en) * 2015-04-28 2018-05-08 Microsoft Technology Licensing, Llc Projection of build and design-time inputs and outputs between different build environments
US10565162B2 (en) * 2017-08-02 2020-02-18 Mastercard International Incorporated Systems and methods for customized operating system conversion
TWI812307B (zh) * 2022-06-28 2023-08-11 宏碁股份有限公司 作業系統佈署裝置及作業系統佈署方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070234337A1 (en) * 2006-03-31 2007-10-04 Prowess Consulting, Llc System and method for sanitizing a computer program
EP2019358A1 (en) * 2007-07-25 2009-01-28 Deutsche Telekom AG A method and a system for the creation and deployment of a virtual machine appliance on virtualised servers
CN101594387A (zh) * 2009-06-29 2009-12-02 北京航空航天大学 虚拟集群部署方法和系统
US20110161952A1 (en) * 2009-12-31 2011-06-30 International Business Machines Corporation Porting Virtual Images Between Platforms
CN102193817A (zh) * 2010-02-09 2011-09-21 微软公司 简化物理和虚拟部署的管理

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209680B1 (en) 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
CA2486103A1 (en) 2004-10-26 2006-04-26 Platespin Ltd. System and method for autonomic optimization of physical and virtual resource use in a data center
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
JP2008287631A (ja) 2007-05-21 2008-11-27 Hitachi Ltd デプロイ対象計算機、デプロイメントシステムおよびデプロイ方法
US20090049160A1 (en) 2007-08-14 2009-02-19 Dell Products L.P. System and Method for Deployment of a Software Image
US8543998B2 (en) * 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
WO2010008707A1 (en) 2008-07-17 2010-01-21 Lsi Corporation Systems and methods for installing a bootable virtual storage appliance on a virtualized server platform
US8706836B2 (en) * 2008-12-15 2014-04-22 Shara Susznnah Vincent Live streaming media and data communication hub
US8856294B2 (en) * 2009-06-01 2014-10-07 Oracle International Corporation System and method for converting a Java application into a virtual server image for cloud deployment
US8548919B2 (en) * 2010-01-29 2013-10-01 Dell Products L.P. System and method for self-provisioning of virtual images
TWI515658B (zh) 2011-12-07 2016-01-01 萬國商業機器公司 用於創建虛擬裝置之方法及系統
CN103988177B (zh) * 2011-12-12 2017-02-22 国际商业机器公司 基于维护寄存器的离线虚拟机的维护

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070234337A1 (en) * 2006-03-31 2007-10-04 Prowess Consulting, Llc System and method for sanitizing a computer program
EP2019358A1 (en) * 2007-07-25 2009-01-28 Deutsche Telekom AG A method and a system for the creation and deployment of a virtual machine appliance on virtualised servers
CN101594387A (zh) * 2009-06-29 2009-12-02 北京航空航天大学 虚拟集群部署方法和系统
US20110161952A1 (en) * 2009-12-31 2011-06-30 International Business Machines Corporation Porting Virtual Images Between Platforms
CN102193817A (zh) * 2010-02-09 2011-09-21 微软公司 简化物理和虚拟部署的管理

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107004032A (zh) * 2016-11-17 2017-08-01 华为技术有限公司 镜像文件转换方法及装置
US11243792B2 (en) 2016-11-17 2022-02-08 Huawei Technologies Co., Ltd. Image file conversion method and apparatus
CN107004032B (zh) * 2016-11-17 2023-12-08 华为云计算技术有限公司 镜像文件转换方法及装置
CN108369526A (zh) * 2017-08-07 2018-08-03 深圳前海达闼云端智能科技有限公司 一种虚拟机的启动方法、装置和智能终端
CN108369526B (zh) * 2017-08-07 2022-03-11 深圳前海达闼云端智能科技有限公司 一种虚拟机的启动方法、装置和智能终端

Also Published As

Publication number Publication date
TW201337761A (zh) 2013-09-16
US20140359618A1 (en) 2014-12-04
WO2013083547A1 (en) 2013-06-13
US9495181B2 (en) 2016-11-15
DE112012004793T5 (de) 2014-07-31
CN103975306B (zh) 2018-01-02
TWI515658B (zh) 2016-01-01

Similar Documents

Publication Publication Date Title
CN103975306A (zh) 用于创建虚拟设备的方法和系统
CN103270518B (zh) 虚拟机验证系统及其方法
US7823023B2 (en) Test framework for testing an application
CN103795759B (zh) 一种虚拟机镜像文件的调度方法和系统
US10628187B2 (en) Container runtime support
CN109460281B (zh) 云平台的虚拟机管理方法及装置
US20120266170A1 (en) Virtual Machine Image Management System and Methods
CN107783821A (zh) 车载一体虚拟化方法和装置
CN103493012B (zh) 虚拟bios
CN103988181A (zh) 用于给虚拟映像打补丁的方法和系统
CN113761482A (zh) 一种程序代码保护方法和装置
US9652263B2 (en) Migrating servers into a secured environment
US20080144825A1 (en) Method for protecting data from unauthorised access
US20210311715A1 (en) Software and firmware updates in a combined single pane of glass interface
US9424113B2 (en) Virtual appliance deployment
CN113544675A (zh) 安全执行客户机所有者环境控制符
US20210311717A1 (en) Desired state model for managing lifecycle of virtualization software
US9501316B2 (en) Instantiating virtual appliances of a storage array
CN102959513B (zh) 虚拟机器合并方法和系统
CN110673930B (zh) 虚拟机迁移方法、虚拟化设备、存储介质及装置
JP2019153050A (ja) 起動制御装置、起動制御システム、起動制御方法、及び、起動制御プログラム
KR102411144B1 (ko) 부팅 중 통신 모듈 적용을 통한 원격 터미널 접속을 위한 방법 및 시스템
US20240004673A1 (en) Processing method and processing device
CN113867888A (zh) 一种虚拟机系统的部署方法以及相关装置
KUMAR et al. Boot Time Optimization of Android on Embedded Systems

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