CN103221921B - 利用流技术的软件映像的直接迁移 - Google Patents
利用流技术的软件映像的直接迁移 Download PDFInfo
- Publication number
- CN103221921B CN103221921B CN201180056182.9A CN201180056182A CN103221921B CN 103221921 B CN103221921 B CN 103221921B CN 201180056182 A CN201180056182 A CN 201180056182A CN 103221921 B CN103221921 B CN 103221921B
- Authority
- CN
- China
- Prior art keywords
- data processing
- processing entities
- target data
- source
- memory block
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提出一种用于将安装在源数据处理实体上的软件映像迁移到目标数据处理实体的方案。相应的迁移方法(A310-A310;A410-A410;A510-A510;A610-A610)包括:从提供独立预备操作系统的预备引导程序引导(A306;A406;A506;A606)目标数据处理实体;在目标数据处理实体上将软件映像安装(A307;A407;A507;A607)为远程大容量存储器;将软件映像的主引导程序复制(A308;A408;A508;A608)到目标数据处理实体的本地大容量存储器上,主引导程序包括适于将软件映像迁移到目标数据处理实体的流功能;从本地大容量存储器上的主引导程序重新引导(A309;A409;A509;A609)目标数据处理实体,由此加载流功能;以及由流功能服务(A310;A410;A510;A610)每个访问目标数据处理实体上的存储器块的请求,流功能响应于在本地大容量存储器中缺少该存储器块,从软件映像下载(718-730)该存储器块并将该存储器块存储到本地大容量存储器中,否则,从本地大容量存储器中检索(733)该存储器块。
Description
技术领域
根据本发明的一个或更多个实施例的方案涉及数据处理领域。更特别地,本方案涉及软件映像的迁移。
背景技术
软件映像的迁移是包括大量计算机的大型数据处理系统中的关键活动。一般而言,软件映像是包括驻留于计算机上的软件模块的结构——要么是物理类型的要么通过虚拟机被仿真(例如,其操作系统、应用程序和/或数据)。
迁移软件映像的过程(或者简称为迁移过程)可以是分段类型或者直接类型。在分段迁移过程中,主计算机的主软件映像被捕获并被存储于中心仓库中;服务器计算机然后控制主软件映像向任何希望的目标客户机的部署。相反,在向目标客户机直接传送一个或更多个源客户机的软件映像的直接迁移过程中,直接迁移过程更快且更简单(原因是,可以在不需要任何中心仓库的情况下直接从源客户机进行,从而具有在多个源客户机上分布相应的工作负载的可能性)。
特别地,关于直接迁移过程,在现有技术中提出了不同的方法。
特别地,在冷类型的迁移过程中,源客户机被停止以捕获其软件映像(以确保软件映像反映源客户机的一致状态(consistentstate))。冷迁移过程可在具有同构平台或异构平台的源客户机与目标客户机之间工作;但是,由于源客户机和目标客户机都不可用于迁移全部软件映像所需要的全部的时间(为小时的量级),因此,冷迁移过程非常慢。相反,在热类型的迁移过程中,源客户机仅在捕获其一致状态所需要的时间内被暂停(而软件映像向目标客户机的实际传送对于可正常工作的源客户机是透明地进行的)。热迁移过程在源客户机上较快(原因是,它仅在捕获其状态所需要的时间内不可用,为分钟的量级);但是,热迁移过程仅适用于在同构平台上运行的虚拟机之间。类似地,在实时类型(livetype)的迁移过程中,源客户机仅在将其状态封入共享文件中所需要的时间内被暂停。实时迁移过程在源客户机上非常快(因为其不可用性为秒的量级);但是,实时迁移过程也仅适用于在同构平台上运行的虚拟机之间。在任何情况下,在热迁移过程和实时迁移过程中,目标客户机都仅在向其传送了整个软件映像之后才可用(即,从开始迁移过程几个小时之后)。
并且,US-B-7512833(在这里加入其整个公开作为参考)公开了将操作系统克隆到具有不同的硬件配置的计算机的方法。出于此目的,操作系统的主映像通过捕获事先已安装了该操作系统的主计算机的盘的内容来创建;然后,主映像的文件、驱动程序和注册设置被剥离至去除软件和硬件不兼容性的最小基本水平,以使得主映像可在不同的计算机上引导。
US-A-2008/0301425(在这里加入其整个公开作为参考)公开了用于支持主机的远程引导的方法。出于此目的,主机的管理控制器包括将初始操作系统映像的核从远程访问目标加载到主机中的远程访问启动器;核然后使用其自身的远程访问启动器来加载来自远程访问目标的另一操作系统映像。这允许甚至在没有主板LAN(LOM)设备的情况下远程引导主机。
US-A-2006/0031547(在这里加入其整个公开作为参考)公开了用于操作系统和应用程序的集成的按需随时(ondemand)传输的方法。出于该目的,操作系统从流服务器上的相应映像被流式传输到客户机——即,当需要时从网络下载其多个块(进一步的块被预取,而已接收的块被使用);从而可能添加本地高速缓存功能;应用程序类似地从多个单独的映像被流式传输。操作系统的管理是特定于计算机的,而应用程序的管理是特定于用户的——以避免对于每个用户构建组合的操作系统和应用程序映像的需要。
US-A-2010/0174894(在这里加入其整个公开作为参考)公开了用于配置无盘类型的目标计算机的操作系统的方法。出于该目的,施主计算机的配置映像被复制到虚拟盘上,然后根据目标计算机的硬件配置修改它——以允许它下一次从虚拟盘引导。
发明内容
一般而言,根据本发明的一个或更多个实施例的方案基于利用流技术迁移软件映像的思想。
特别地,在独立权利要求中阐述根据本发明的具体实施例的方案的一个或更多个方面,在从属权利要求中阐述同一方案的有利特征,这里逐字加入其文字作为参考(具有参照根据本发明的实施例的方案的具体方面提供的任何有利特征,经过适当的修改也适用其每个其它方面)。
更具体地,根据本发明的实施例的方案的一个方面提供一种用于将安装在源数据处理实体(例如,源计算机或源虚拟机)上的软件映像迁移到目标数据处理实体(例如,目标计算机或目标虚拟机)的迁移方法。该迁移方法包括以下的步骤。从提供独立预备操作系统的预备引导程序(例如,从网络引导程序或临时引导虚拟盘)引导目标数据处理实体。然后在目标数据处理实体上安装软件映像作为远程大容量存储器(例如,通过作为远程访问启动器)。将软件映像的主引导程序复制到目标数据处理实体的本地大容量存储器上(例如,通过在复制访问模式(access-on-copymode)中安装软件映像);主引导程序包括适于将软件映像迁移到目标数据处理实体的流功能。从本地大容量存储器上的主引导程序重新引导目标数据处理实体,由此加载流功能。然后由流功能服务每个访问目标数据处理实体上的存储器块的请求;流功能响应于在本地大容量存储器中缺少该存储器块,从软件映像下载该存储器块并将其存储到本地大容量存储器中;否则,流功能从本地大容量存储器中检索该存储器块。
根据本发明的实施例的方案的另一方面提供一种计算机程序,该计算机程序包括用于当在数据处理系统上执行该计算机程序时使数据处理系统执行该迁移方法的步骤的代码装置;根据本发明的实施例的方案的又一方面提供一种包括体现计算机程序的非暂时计算机可读介质的计算机程序产品,该计算机程序包括可直接加载到数据处理系统的工作存储器中的代码装置,由此配置数据处理系统以执行所述迁移方法。
根据本发明的实施例的方案的另一方面提供一种系统,包括用于执行所述迁移方法的步骤的装置。
附图说明
结合附图参照以下的纯粹作为非限制性表示给出的详细描述,可以最好地理解根据本发明的一个或更多个实施例的方案及其进一步的特征和优点(其中,为了简化,相应的要素由相同或类似的附图标记表示,并且,不重复它们的解释,并且,各实体的名称一般被用于表示其类型及其属性——诸如其值、内容和表示)。具体而言:
图1表示根据本发明的实施例的方案适用于其中的数据处理系统的示意性框图;
图2A~2H表示根据本发明的实施例的迁移过程的概念表示;
图3~6表示根据本发明的相应实施例的方案的不同的示例性实现;
图7表示描述与根据本发明的实施例的方案的实现有关的活动的流程的活动图。
具体实施方式
具体参照图1,示出根据本发明的实施例的方案适用于其中的数据处理系统(或者简称为系统)100的示意性框图。系统100具有分布式架构,该分布式结构基于网络105——例如,局域网(LAN)。多个计算机通过网络105相互连接。特别地,服务器计算机110控制直接类型的迁移过程,其中,软件映像在不同的客户机计算机115(为了简化,图中仅示出两个)之间被直接传送;每个软件映像是包括一个或更多个软件模块(例如,操作系统、应用程序和/或数据)的结构。在每个迁移过程中,源客户机(由(物理)计算机115或在其上面运行的虚拟机组成)提供已安装于其上的相应的软件映像;目标客户机(也由(物理)计算机115或在其上面运行的虚拟机组成)从源客户机下载并安装软件映像。在这一点上,应当指出,术语源客户机和目标客户机仅仅是标识动态角色,这些动态角色可在不同的迁移过程中随时间改变(例如,迁移过程的源客户机可在下一迁移过程中用作目标客户机,或者,迁移过程的目标客户机在下一迁移过程中可用作源客户机);并且,任何数量的源客户机和/或目标客户机可同时是活动的(甚至单个源客户机同时服务多个目标客户机)。
系统100的一般(服务器或客户机)计算机由并行连接到系统总线120的若干个单元形成(其结构根据系统中的计算机的实际功能被适当地缩放)。详细地说,一个或更多个微处理器(μP)125控制计算机的操作,RAM130被微处理器125直接用作工作存储器,并且,ROM135存储计算机的基本代码。若干个外设单元在局部总线140周围(通过各自的接口)群集。特别地,大容量存储器由一个或更多个硬盘145和用于读取光盘155(例如,DVD或CD)的驱动器150组成。并且,计算机包括输入单元160(例如,键盘和鼠标)和输出单元165(例如,监视器和打印机)。适配器170被用于连接计算机与网络105。桥接单元175将系统总线120与局部总线140接口。每个微处理器125和桥接单元175可操作作为请求访问系统总线120以发送信息的主代理。仲裁器180以互斥方式管理对访问系统总线120的准许。
在图2A~2H中示出根据本发明的实施例的迁移过程的概念表示。
从图2A开始,迁移过程是从源客户机215s到目标客户机215t。出于这种目的,源客户机215s的源盘245s被准备好,以便以一致状态提供其软件映像,供目标客户机215t对其远程访问(例如,通过在安全模式中引导相应的物理计算机,或者,通过关闭相应的虚拟机)。然后,从提供独立的预备(preliminary)操作系统(或最小操作系统)(其仅提供其基本功能)的(外部)预备引导程序来引导目标客户机215t(例如,通过从网络引导程序引导相应的物理计算机或者通过从临时性引导虚拟盘来引导相应的虚拟机);以这种方式,目标客户机215t的引导在其任何条件下都总是可能的,即,即使当没有(起作用的)操作系统可用时。
移动到图2B,源盘245s以远程方式被安装于目标客户机215t上;包含于源盘245s中的主引导程序250s然后被复制到目标客户机215t的目标盘245t上,以获得相应的主引导程序250t(例如,通过以访问复制模式(copy-on-accessmode)安装源盘245s)。
此时,如图2C所示,正常情况下从目标盘245t上的主引导程序250t重新引导目标客户机215t(以便提供可提供所有其功能的完整操作系统)。目标客户机215t的引导程序导致包含于主引导程序250s中的流驱动器255t的加载(这优先于其标准文件系统驱动器)。
现在参照图2D,由此通过流驱动器255t来服务在其操作期间访问目标客户机215t上的存储器块的每个请求;存储器块可以包括必须被目标客户机215t访问的任何种类的信息(例如,与操作系统或应用程序有关的一个或更多个扇区、文件、库、目录、它们的组合或部分)。
当在目标盘245t上缺少所请求的存储器块时,如图2E的情况那样,流驱动器255t从源映像245s下载存储器块并然后将其存储于目标盘245t中。
相反,当所请求的存储器块已在目标盘245t中可用时,如图2F的情况那样,流驱动器255t直接从目标盘245t检索存储器块。
移动到图2G,如果存储器块必须被写入到目标客户机215t上,那么仅对存储于目标盘245t中的存储器块施加更新——该存储器块在其中总是可用的,因为它应当在其写入之前已经被读取。因此,即使当迁移过程仍在进行中时,目标盘245s也可被正常地更新(因为它已完全被传送到目标客户机215t)。
最后参照图2H,最终,源盘245s的所有存储器块都被存储于目标盘245t上。此时,迁移过程完成(由于整个源盘245s已从源客户机215s被传送到目标客户机215t,同时添加了可能的本地更新)。目标客户机215t的操作现在完全与源客户机215s无关(流功能255t可被禁用,以便直接从目标盘245t访问存储器块)。
上述的方案提供非常快的直接迁移过程(直接从源客户机215s进行,不需要任何中心仓库,使得可能在多个源客户机上分布工作负载),原因是源客户机215s仅仅在准备源盘245s以供目标客户机215t远程访问所需的短时间内保持不可用。并且,在这种情况下,目标客户机215t也在短时间后就可用。事实上,就在主引导程序250s被复制到目标盘245s上之后(即使迁移过程仍在进行中),目标客户机215t现在可立即使用。从而,与源盘245s的其它存储器块在目标盘245t中的可用性无关(当它访问尚待从源盘245s下载的存储器块时,目标客户机215t的性能仅有轻微的劣化),目标客户机215t的操作是完全正常的;但是,一旦完成了源盘245s到目标盘245t上的传送,目标客户机215t就自主工作(完全不需要源客户机215s),如同已经执行了常规的迁移过程。
在这一方面,应当注意,上述的流功能与在现有技术中已知的用于按需随时提供操作系统和/或应用程序映像的流技术无关。事实上,在已知的流技术中,操作系统和/或应用程序映像的块仅仅是为了它们被立即使用而被下载到目标客户机上。但是,这些块不被持久存储于目标客户机上(即,在它们被使用之后,以及,只要在目标客户机被关闭之后,它们就消失),使得目标客户机再也不能从服务器计算机断开。事实上,即使在块被预取时,它们也仅在它们的(可能的)下一次使用之前保持在目标客户机上;类似地,即使当实施了用于存储器块的本地高速缓存时,也只有很少的存储器块保持在本地高速缓存中以便它们的重新使用(无论如何,为了存储新的存储器块,最终会驱逐本地高速缓存中的最早使用的存储器块)。相反,在本发明的流功能中,源盘245s的所有存储器块总是存储到目标盘245t上(一旦已从源客户机215s下载了它们);事实上,在这种情况下,迁移过程旨在在目标客户机215t上创建源盘245s的完整拷贝以便于其独立操作。
并且,在最小操作系统中的目标客户机215t的初始引导允许将源盘245s迁移到任何类型的目标客户机215t(假定该最小操作系统与源客户机215s之一兼容——即,它支持其文件系统);因此,即使在具有异构平台的源客户机与目标客户机(例如,在不同的管理程序(hypervisor)上运行的虚拟机(无论如何,基于相同的硬件架构――例如,x86))之间,现在也可能获得非常快的迁移过程。
上述的迁移过程提供支持物理计算机和虚拟机(任意组合)二者的单一机制;特别地,其用于物理计算机的实现方式也立即适用于虚拟机(对于其进入市场时间具有有益的影响)。
在图3~6中示出根据本发明的相应的实施例的方案的不同的示例性实现。对于此目的,每个图提供表示可用于实现相应迁移过程的主要软件部件的角色的协作图。特别地,附图描述了系统的静态结构(通过相应的部件)及其动态行为(通过一系列的交换的消息,每条消息代表相应的动作,由前面带符号“A”的渐进序号表示)。信息(程序和数据)一般存储于硬盘上,并在程序运行时(至少部分地)被加载到各计算机的工作存储器中。一开始,程序例如从DVD被安装到硬盘上。
从图3开始,示出物理到物理(P2P)类型的迁移过程的示例性实现,其中,源客户机和目标客户机均是(物理)计算机。可用于实现该迁移过程的软件部件作为整体用附图标记300表示。
特别地,服务器计算机110运行部署管理器305,例如,IBM公司的IBMTivoliProvisioningManagerforOSDeployment(或TPMforOSD)的IBMTivoliProvisioningManagerforImages(或TPMfI)(IBM和Tivoli是IBM公司的商标);部署管理器305被用于将操作系统和/或应用程序从服务器计算机110自动地远程部署到系统的客户机计算机上。出于该目的,部署管理器305管理软件映像310的仓库。浏览器312被操作者313使用,以与部署管理器305交互。
通常,选择的软件映像310在部署管理器305的控制下被部署到源计算机315s上(动作“A310.部署”)。
此时,在根据本发明的实施例的方案中,安装在源计算机315s上的操作系统和/或应用程序可直接迁移到目标计算机315t。出于该目的,操作者313(在部署管理器305上)选择用于迁移过程的源计算机315s和目标计算机315t(动作“A302.迁移”)。作为其响应,部署管理器305关闭(如果必要的话)并然后通过强制其在网络上引导而接通源计算机315s(例如,通过LAN唤醒(WakeonLAN,WoL)服务)(动作“A301.网络引导”)。出于该目的,源计算机315s运行网络引导加载器——例如,嵌入在其网络适配器中的预启动执行环境(PXE)。网络引导加载器利用动态地址服务——例如,基于动态主机配置协议(DHCP)——以获得源计算机315s的动态地址;特别地,网络引导加载器广播由服务器计算机110(用作DHCP服务器)服务的相应请求。网络引导加载器然后广播引导请求,该引导请求再次被服务器计算机110服务,返回网络引导程序的地址;网络引导加载器例如通过琐碎文件传输协议(TFTP)将网络引导程序下载到RAM盘(即,作为大容量存储器的工作存储器的一部分)中,并然后运行它。网络引导程序——例如,Windows预安装环境(WinPE),Windows是MicrosoftCorporation的商标——提供用于源计算机315s的最小操作系统325s(即,不安装任何盘);因此,源计算机315s在完全安全的模式下操作,在该模式下,不能向大容量存储器中的其状态施加变化。最小操作系统325s包括用于允许(例如,基于因特网小型计算机系统接口(iSCSI)协议)远程访问数据的远程访问服务器330s和用于与部署管理器305交互的部署代理335s。此时,部署代理335s准备客户机计算机315s的软件映像的源盘345s以用于通过远程访问服务器330s进行远程访问——在讨论的例子中,简单地将其定义为iSCSI目标;特别地,源映像345s包括相应的引导程序350s。,部署代理335s现在可正常地关闭并然后接通源计算机315s以允许其常规操作(动作“A304.准备”)。
此时,部署代理335s通过向部署管理器305发送相应的消息触发针对目标计算机315t的传送动作(动作“A305.触发”)。作为其响应,通过强制目标计算机315t在网络上引导,部署管理器305关闭(如果必要的话)并然后接通目标计算机315t(动作“A306.网络引导”)。如上所述,目标计算机315t运行网络引导加载器(例如,PXE),该网络引导加载器利用动态地址服务(例如DHCP)以(从服务器计算机110)获得目标计算机315t的动态地址,并然后从服务器计算机110下载网络引导程序并运行它。网络引导程序(例如,WinPE)为目标计算机315t提供最小操作系统325t。最小操作系统325t包括用于与部署管理器305交互的部署代理335t。部署代理335t将源盘345s安装为远程盘(即,在讨论的例子中,通过用作iSCSI启动器),以便通过远程访问服务器330s远程访问它(动作“A307.安装”);源盘345s在复制访问模式(access-on-copymode)中被安装,使得被目标计算机315t访问的源盘345s的任何存储器块被自动复制到其目标盘345t中。特别地,部署代理355t访问源盘345s的引导程序350s(包括相应的部署代理);引导程序350s还包括用于流式传送源盘345s的剩余部分的流驱动器。由于源盘345s已在复制访问模式中被安装,因此,这导致引导程序350s作为相应的引导程序350t被复制到目标盘345t(动作“A308.复制”)。
此时,部署代理325t正常地关闭并然后接通目标计算机315t。因此,存储于目标计算机315t的固件中并且在其接通时被执行的引导加载器——例如,基本输入/输出系统(BIOS)——现在在目标盘345t中找到引导程序350t,使得它在本地从引导程序350t引导(动作“A309.本地引导”)。以这种方式,引导程序350t现在为目标计算机315t提供完整操作系统。特别地,该完整操作系统包括服务每个用于访问任何存储器块的请求的流驱动器,并且以流方式提供存储器块——如以下详细描述的那样(动作“A310.流”)。
移动到图4,示出虚拟到虚拟(V2V)类型的迁移过程的示例性实现。可用于实现该迁移过程的软件部件作为整体由附图标记400表示。特别地,源计算机和目标计算机现在分别运行管理程序405s和管理程序405t(例如,由VMWare的VMWareESX——VMWare是VMWareInc.的商标);每个管理程序405s、405t实现虚拟化层,该虚拟化层模拟分别由给出物理计算机(由虚拟机唯一控制)的表现的抽象环境组成的虚拟机。在这种情况下,迁移过程是从在管理程序405s上运行的源虚拟机415s到在管理程序405t上运行的目标虚拟机415t。出于该目的,管理程序405s运行远程访问服务器430s(例如,基于iSCSI协议)和部署代理435s(用于与部署管理器305交互);类似地,管理程序405t运行部署代理435t(用于与部署管理器305交互)。
如上所述,服务器计算机110运行部署管理器305(其管理软件映像310的仓库),其中操作者313使用的浏览器312与部署管理器305交互作用。通常,所选择的软件映像310在部署管理器305的控制下被部署到源虚拟机415上(动作“A401.部署”)。
此时,在根据本发明的实施例的方案中,操作者313(在部署管理器305上)选择用于迁移过程的源虚拟机415s和目标虚拟机415t(动作“A402.迁移”)。作为其响应,部署管理器305指示部署代理435s关闭(如果必要的话)源虚拟机415s。部署代理435s准备源虚拟机415s的软件映像的源虚拟盘445s,以允许通过远程访问服务器430s对其远程访问(在讨论的例子中,通过简单地将其定义为iSCSI目标)。部署代理435s现在可接通源虚拟机415s,以允许其常规操作(动作“A404.准备”)。
此时,部署代理435s通过向部署管理器305发送相应的消息触发针对目标虚拟机415t的传送动作(动作“A405.触发”)。作为其响应,部署管理器305指示部署代理435t下载网络引导盘(例如,以ISO格式),该网络引导盘被存储到引导虚拟盘437中。部署代理435t然后关闭(如果必要的话)目标虚拟机415t。此时,目标虚拟机415t的目标虚拟盘445s的引导扇区(例如,主引导记录(MBR))——即,通过引导加载器加载的其第一扇区(例如,BIOS)——被部署代理435t改变以指向引导虚拟盘437。部署代理435t然后接通目标虚拟机415t;因此,将目标虚拟盘445t识别为可引导设备并加载其引导扇区的目标虚拟机415t的引导加载器现在重定向到引导虚拟盘437,由此导致目标虚拟机415t从它引导。这涉及运行存储于网络引导盘437上的引导程序(例如,WinPE),该引导程序提供用于目标虚拟机415t的最小操作系统425t;特别地,最小操作系统425t包括另一部署代理435tv,用于与部署管理器305交互(动作“A406.网络引导”)。部署代理435tv在复制访问模式中将源虚拟盘445s安装为远程盘(即,在讨论的例子中,通过用作iSCSI启动器),以便通过远程访问服务器430s远程访问它(动作“A407.安装”)。部署代理455tv访问源虚拟盘445s的引导程序450s(包括相应的部署代理和流驱动器),以使得它作为相应的引导程序450t复制到目标虚拟盘445t上——因此优先于引导扇区(动作“A408.复制”)。
此时,部署代理435t可删除网络引导盘437。部署代理435t关闭并然后接通目标虚拟机415t。因此,其引导加载器现在在目标虚拟盘445中找到引导程序450t,使得目标虚拟机415t从它本地引导(动作“A409.本地引导”)。以这种方式,引导程序450t现在为目标虚拟机415t提供完整操作系统。特别地,该完整操作系统包括服务每个用于访问任何存储器块的请求的流驱动器,并且以流方式提供存储器块——如以下详细描述的那样(动作“A410.流”)。
现在参照图5,示出物理到虚拟(P2V)类型的迁移过程的示例性实现。可用于实现该迁移过程的软件部件作为整体由附图标记500表示。在这种情况下,迁移过程是从源计算机315s到目标虚拟机415t(在管理程序405t上运行,该管理程序405t又运行部署代理435t)。
如上所述,服务器计算机110运行部署管理器305(其管理软件映像310的仓库),其中操作者313使用的浏览器312与其交互。通常,选择的软件映像310在部署管理器305的控制下被部署到源计算机315上(动作“A501.部署”)。
此时,在根据本发明的实施例的方案中,操作者313(在部署管理器305上)选择用于迁移过程的源计算机315s和目标虚拟机415t(动作“A502.迁移”)。作为其响应,部署管理器305关闭(如果必要的话)并然后通过强制其在网络上启动而接通源计算机315s(动作“A503.网络引导”),以提供包括远程访问服务器330s和部署代理335s的最小操作系统325s。部署代理335s准备源盘345s以允许通过远程访问服务器330s对其远程访问(即,在讨论的例子中,作为iSCSI目标)。部署代理335s现在可正常地关闭并然后接通源计算机315s以允许其常规操作(动作“A504.准备”)。
此时,部署代理335s通过向部署管理器305发送相应的消息触发针对目标虚拟机415t的传送动作(动作“A505.触发”)。作为其响应,部署管理器305指示部署代理435t下载引导虚拟盘437。部署代理435t然后关闭(如必要的话)目标虚拟机415t,并且改变目标虚拟盘445t的引导扇区(例如,MBR)以指向网络引导盘437。部署代理435t然后接通目标虚拟机415t,由此使得目标虚拟机115t从网络引导盘437引导——以便提供包括部署代理435tv的最小操作系统425t(动作“A506.网络引导”)。部署代理435tv在复制访问模式中将源虚拟盘445s安装为远程盘(即,在讨论的例子中,通过用作iSCSI启动器),以便通过远程访问服务器430s远程访问它(动作“A507.安装”)。部署代理455tv访问源虚拟盘445s的引导程序450s(包括相应的部署代理和流驱动器),以使得它复制到目标虚拟盘445t上作为相应的引导程序450t(动作“A508.复制”)。
此时,部署代理435t可删除网络引导盘437。部署代理435t关闭并然后接通目标虚拟机415t,以从目标虚拟盘445t本地引导它(动作“A509.本地引导”)。这样提供的目标虚拟机415t的完整操作系统包括服务每个用于访问任何存储器块的请求的流驱动器,并且,以流方式提供存储器块——如以下详细描述的那样(动作“A510.流”)。
最后,在图6中,示出虚拟到物理(V2P)类型的迁移过程的示例性实现。可用于实现该迁移过程的软件部件作为整体由附图标记600表示。在这种情况下,迁移过程是从源虚拟机415s(在管理程序405s上运行,该管理程序405s又运行远程访问服务器430s和部署代理435s)到目标计算机315s。
如上所述,服务器计算机110运行部署管理器305(其管理软件映像310的仓库),其中操作者313使用的浏览器312与其交互。通常,选择的软件映像310在部署管理器305的控制下被部署到源虚拟机315上(动作“A601.部署”)。
此时,在根据本发明的实施例的方案中,操作者313(在部署管理器305上)选择用于迁移过程的源虚拟机415s和目标计算机315t(动作“A602.迁移”)。作为其响应,部署管理器305指示部署代理435s关闭(如果必要的话)源虚拟机415s。部署代理435s准备源虚拟盘440s以允许通过远程访问服务器430s对其远程访问(即,在讨论的例子中,通过将其定义为iSCSI目标)。部署代理435s现在可接通源虚拟机415s,以允许其常规操作(动作“A604.准备”)。
此时,部署代理435s通过向部署管理器305发送相应的消息触发针对目标计算机315t的传送动作(动作“A605.触发”)。作为其响应,部署管理器305关闭目标计算机315t(如果必要的话)并然后通过强制目标计算机315t在网络上引导而接通目标计算机315t(动作“A606.网络引导”),以提供包括部署代理335t的最小操作系统325t。部署代理435s在复制访问模式中将源盘345s安装为远程盘(即,在讨论的例子中,通过用作iSCSI启动器),以通过远程访问服务器430s对其远程访问(动作“A607.安装”)。部署代理335t访问源盘345s的引导程序350s(包括相应的部署代理和流驱动器),以使其复制到目标盘345s作为相应的引导程序350t(动作“A608.复制”)。
此时,部署代理335s正常地关闭并然后接通目标计算机315t,以从目标盘345t本地引导它(动作“A609.本地引导”)。这样提供的目标计算机315t的完整操作系统包括流驱动器,该流驱动器服务每个用于访问任何存储器块的请求,并且以流方式提供存储器块——如后面详细描述的那样(动作“A610.流”)。
为了解释上述的流过程,现在参照图7,该图示出与根据本发明的实施例的方案的实现有关的活动流程的活动图;特别地,该活动图理由方法700来表示示例性流过程。
方法700从目标客户机(即,目标计算机或目标虚拟机)的文件系统驱动器一栏中的黑色起点圆703开始,并然后一旦接收到访问(即,读取)存储器块的请求(例如,来自应用程序)就前进到块706。作为其响应,文件系统驱动器在块709将请求传递给流驱动器。
移动到流驱动器这一栏,在块712进行验证,以确定所请求的存储器块是否在目标(物理或虚拟)盘上可用;出于该目的,流驱动器访问存储该信息的位置地图(例如,在为每个(例如512字节的)存储器块包括一个指示其可用性的位的位图中)。活动流程然后根据该验证的结果在块715处分支。如果存储器块在目标盘中不可用(即,其在位置地图中的位被解除断言(deassert)),那么流驱动器在块718中向远程访问驱动器(在讨论的例子中,用作iSCSI启动器)要求存储器块。转到块721,远程访问驱动器向源客户机(即,源计算机或源虚拟机)的远程访问服务器提交相应的下载请求——在讨论的例子中,提供源(物理或虚拟)盘作为iSCSI目标。作为其响应,远程访问服务器在块724将所要求的存储器块返回目标客户机的远程访问驱动器。远程访问驱动器然后在块727将这样下载的存储器块返回给流驱动器。现在参照块730,流驱动器将该存储器块存储到目标盘中,并相应地更新位置地图以指示其可用性(即,通过断言相应的位)。重新参照块715,如果存储器块在目标盘中已可用(即,它的位被断言),那么方法700前进到块733,其中,直接从目标盘检索存储器块。在任一情况下,活动的流程在块736处汇合(从块730或块733);在该阶段中,流驱动器将存储器块返回给文件系统驱动器。随之,文件系统驱动器在块739将存储器块返回给发出请求的应用程序。同时,在流驱动器这一栏中,在块742进行测试,以验证是否源盘中的所有存储器块(具有与其大小相对应的预定数量)都在目标盘中可用(即,位置地图中的相应的位被断言)。如果是,那么流驱动器在块745被禁用,使得用于读取每个存储器块的所有接下来的请求将如通常情况那样直接由文件系统驱动器服务;否则,不执行动作。返回文件系统驱动器这一栏,如果存储器块还被请求用于写入,那么该请求在块748由文件系统驱动器直接服务;特别地,文件系统驱动器现在将存储器块写入到目标盘上(这里,在其读取之后它总是可用的)。
以完全异步的方式,流驱动器在块751中周期性地验证(例如,每10~100ms)目标客户机、源客户机和/或网络的工作负载;如果工作负载低于预定的阈值(表示相应的资源在此时被轻度利用——例如,由于不在目标客户机上和/或源客户机上执行动作,并且网络中的流量较低),那么活动的流程转到块754。在该阶段,流驱动器通过重复上面描述的相同操作来下载目标盘中仍不可用的存储器块(例如,其在位置地图中的位被解除断言的第一个存储器块)。简言之,相应的请求被提交给远程访问驱动器,该远程访问驱动器在块757将其传递给源客户机的远程访问服务器。源客户机的远程访问服务器在块760将请求的存储器块返回给目标客户机的远程访问驱动器,该远程访问驱动器又在块763将该存储器块返回给流驱动器。现在参照块766,流驱动器将该存储器块存储于目标盘中,并且相应地更新位置地图以指示其可用性。现在在块769中进行测试,以验证是否源盘的所有存储器块都已存储于目标盘中。如果是,那么流驱动器在块772被禁用,否则,不执行动作。在两种情况下,方法700都是然后在同心的黑/白停止圆751处结束(从块772或块769)。
自然,为了满足本地和特定的要求,本领域技术人员可将许多的逻辑和/或物理修改和变更应用于上述的方案。具体而言,虽然参照其一个或更多个实施例在一定程度上具体描述了该方案,但应理解,各种形式和细节的省略、替代和变化以及其它的实施例是可能的(例如,关于过程参数)。特别地,甚至可在没有在前面的描述中为了提供更彻底的理解而阐述的具体细节(诸如数值示例)的情况下实践本发明的不同的实施例;反过来,为了不使不必要的细节混淆了描述,可能省略或者简化了公知的特征。并且,明确指出的是,关于公开的方案的任何实施例所描述的特定的要素和/或方法步骤可作为一般设计选择被加入任何其它的实施例中。
例如,如果通过等同的方法实现相同的方案,那么类似的考虑适用(使用与更多步骤或其一部分具有相同功能的类似步骤,去除非必需的一些步骤,或者添加另外的任选步骤);并且,可以(至少部分地)以不同的次序、同时或者以交错的方式执行各个步骤。
并且,要迁移的源盘可包含任何软件程序(例如,仅仅操作系统而没有任何应用程序)。在任何情况下,迁移过程与软件映像是如何部署(例如,手动)到源客户机上的完全无关;更一般地,也可通过部署管理器在没有任何服务器计算机的简化系统中实现迁移过程。类似地,能够以任何其它的方式将主引导程序从源盘复制到目标盘(当不在复制访问模式中安装源盘时,甚至通过专用的操作)。自然,要下载的源盘的存储器块可包含任何其它的信息,并且/或者可具有任何其它的尺寸;另外,还能够实现存储器块的预取(在其可能的使用之前,将它们下载和存储于目标盘上)。可以使用任何等同的结构以提供流功能并管理目标盘中的存储器块的可用性(例如,通过将位置地图分成区块,以允许在目标计算机的工作存储器中加载它们)。
上述的方案仅是解释性的,并且,它们不应以限制性方式被解释;例如,迁移过程可以在运行在任何其它管理程序(甚至是相互不同的管理程序(例如,ESX和KVM))上的虚拟机之间进行。
作为替代方案,也能够由流驱动器管理存储器块向目标盘上的写入。
可以设想不同的条件来禁用流驱动器(例如,当目标盘的预定区域已被写入时);但是,没有什么会妨碍保持流驱动器总是活动的(例如,以便响应于位置地图中的相应位的重置,下载存储器块的最新版本)。
可以按任何其它的频率或者仅在特定的时段中(例如,在夜晚)监视工作负载;如果仅针对源客户机、目标客户机、网络或者它们的任何组合监视工作负载,那么类似的考虑适用。并且,可以以任何其它的方式限定工作负载的阈值(例如,通过用不同的权重加权其贡献)。如果在工作负载低于阈值时同时下载两个或更多个存储器块,那么类似的考虑也适用。在任何情况下,该特征仅是任选的,并且可在简化的实现中被省略。
可通过从任何等同的预备引导程序(例如,BartPE)引导目标计算机来提供用于目标计算机的最小操作系统。并且,也可通过不同的网络引导过程(例如,基于RIPL、gPXE和PXELinux等)或者甚至以另一方式(例如,通过从网络引导CD手动引导目标计算机),来实现希望的结果。
类似的考虑适用于目标虚拟机的引导;在任何情况下,也能够将用于提供用于目标计算机的最小操作系统(即,通过网络来引导)的相同技术应用于目标虚拟机。
在任何情况下,什么也不妨碍以另一不同方式提供引导虚拟盘(例如,通过从可移除存储设备加载它)。
类似地,可通过从任何等同的预备引导程序(例如,BartPE)引导源计算机来提供用于源计算机的最小操作系统——源盘可由包含于其中的任何其它模块来准备。
并且,也可通过不同的网络引导过程(例如,基于RIPL、gPXE和PXELinux等)或者甚至以另一方式(例如,通过从网络引导CD手动引导源计算机),来实现希望的结果。
作为替代方案,可以由在源计算机的管理程序上运行的任何其它模块来准备源盘;在任何情况下,也能够将用于准备源计算机的源盘(即,基于其通过最小操作系统的引导)的相同技术应用于源虚拟机。
如果以不同的方式构建程序(可被用于实现本发明的各实施例),或者,如果提供附加的模块或功能,那么类似的考虑适用;类似地,存储器结构可以为其它的类型,或者可被等同的实体(未必由物理存储介质构成)替代。程序可采取适于被任何数据处理系统使用或者与其结合使用(例如,在虚拟机内)的任何形式;特别地,程序可以是外部或者驻留软件、固件或者微代码(例如,要被编译或者解释的目标代码或者源代码)的形式。并且,能够作为在任何计算机可用介质上实现的制造物品提供程序;介质可以为适于包含、存储、通信、传播或传送程序的任何元件。例如,介质可以为电子、磁、光学、电磁、红外或半导体类型;这种介质的例子是固定盘(这里,程序可被预先加载)、可移动盘、磁带、卡、导线、光纤、无线连接、网络和广播波等。在任何情况下,根据本发明的实施例的方案适于甚至通过硬件结构(例如,集成于半导体材料的芯片中)或者另外配置的适当地在其上面编程的软件和硬件的组合被实现。
作为替代方案,系统具有不同的结构,或者包含等同的部件,或者,它具有其它的操作特性。在任何情况下,其每个部件可被分成更多的元件,或者,两个或更多部件可被组合成单个元件;并且,各部件可被复制以支持并行地执行相应的操作。还应指出,不同的部件之间的任何交互一般不需要是连续的(除非特别规定),并且,它可以是直接的,或者通过一个或更多个中间阶段而是间接的。特别地,也可在基于不同架构(例如,广域、全球、蜂窝或卫星网络)并利用任何连接类型(有线和/或无线)的系统上实施迁移过程。在任何情况下,每个计算机可具有另一种结构或者可包含类似的元件(诸如临时存储程序或其部分的高速缓存存储器);并且,能够用任何代码执行实体(诸如PDA、移动电话等)或者用多个实体的组合替代计算机。
Claims (12)
1.一种用于将安装在源数据处理实体上的软件映像迁移到目标数据处理实体的迁移方法(A310-A310;A410-A410;A510-A510;A610-A610),该迁移方法包括以下的步骤:
从提供独立预备操作系统的预备引导程序引导(A306;A406;A506;A606)目标数据处理实体;
在目标数据处理实体上将所述安装在源数据处理实体上的软件映像的源盘安装(A307;A407;A507;A607)为远程大容量存储器;
将所述安装在源数据处理实体上的软件映像的主引导程序复制(A308;A408;A508;A608)到目标数据处理实体的本地大容量存储器上,所述目标数据处理实体的本地大容量存储器上的主引导程序包括适于将所述安装在源数据处理实体上的软件映像迁移到目标数据处理实体的流功能;
从所述目标数据处理实体的本地大容量存储器上的主引导程序重新引导(A309;A409;A509;A609)目标数据处理实体,由此加载流功能;以及
由流功能服务(A310;A410;A510;A610)每个访问目标数据处理实体上的存储器块的请求,所述流功能响应于在所述目标数据处理实体的本地大容量存储器中缺少该存储器块,从所述安装在源数据处理实体上的软件映像下载(718-730)该存储器块并将该存储器块存储到所述目标数据处理实体的本地大容量存储器中,否则,从所述目标数据处理实体的本地大容量存储器中检索(733)该存储器块。
2.根据权利要求1所述的迁移方法(A310-A310;A410-A410;A510-A510;A610-A610),其中,对于在更新模式下访问存储器块的每个请求,该方法还包括以下的步骤:
更新(748)所述目标数据处理实体的本地大容量存储器中的存储器块。
3.根据权利要求1或2所述的迁移方法(A310-A310;A410-A410;A510-A510;A610-A610),还包括以下的步骤:
响应于在所述目标数据处理实体的本地大容量存储器中存储了与软件映像的尺寸相对应的一定数量的存储器块,禁用(742-745、769-772)用于从所述目标数据处理实体的本地大容量存储器直接检索每个存储器块的流功能。
4.根据权利要求1或2所述的迁移方法(A310-A310;A410-A410;A510-A510;A610-A610),还包括以下的步骤:
监视(751)目标数据处理实体和/或源数据处理实体的工作负载;和
响应于工作负载低于阈值,从所述安装在源数据处理实体上的软件映像下载(754-766)未存储在所述目标数据处理实体的本地大容量存储器中的一组选择的存储器块,并将选择的存储器块存储到所述目标数据处理实体的本地大容量存储器中。
5.根据权利要求1或2所述的迁移方法(A310-A310;A510-A510),其中,目标数据处理实体是目标物理计算机,从预备引导程序引导(A306;A506)目标数据处理实体的步骤包括:
从网络引导程序引导(A306;A506)目标物理计算机。
6.根据权利要求1或2所述的迁移方法(A410-A410;A610-A610),其中,目标数据处理实体是在目标管理程序上运行的目标虚拟机,从预备引导程序引导(A406;A606)目标数据处理实体的步骤包括:
从目标虚拟机外部的引导虚拟盘引导(A406;A606)目标虚拟机。
7.根据权利要求6所述的迁移方法(A410-A410;A610-A610),其中,从引导虚拟盘引导(A406;A606)目标虚拟机的步骤包括:
由目标管理程序下载(A406;A606)引导虚拟盘。
8.根据权利要求7所述的迁移方法(A410-A410;A610-A610),其中,从引导虚拟盘引导(A406;A606)目标虚拟机的步骤包括:
将目标虚拟机的引导扇区改变(A406;A606)为指向引导虚拟盘。
9.根据权利要求1-2、7-8中任一项所述的迁移方法(A310-A310;A510-A510),其中,源数据处理实体是源物理计算机,迁移方法还包括以下的步骤:
在不安装软件映像的情况下从提供另一独立预备操作系统的另一预备引导程序引导(A303;A503)源物理计算机;和
所述源数据处理实体准备(A304;A504)处于一致状态的软件映像以用于由目标数据处理实体对其远程访问。
10.根据权利要求9所述的迁移方法(A310-A310;A510-A510),其中,从另一预备引导程序引导(A303;A503)源物理计算机的步骤包括:
从另一网络引导程序引导(A303;A503)源物理计算机。
11.根据权利要求1-2、7-8中任一项所述的迁移方法(A410-A410;A610-A610),其中,源数据处理实体是在源管理程序上运行的源虚拟机,迁移方法还包括以下的步骤:
所述源数据处理实体准备(A404;A604)处于一致状态的软件映像以用于由目标数据处理实体对其远程访问,该软件映像是在源虚拟机处于关闭状态的情况下被准备的。
12.一种用于将安装在源数据处理实体上的软件映像迁移到目标数据处理实体的迁移系统(100),包括用于执行根据权利要求1-11中任一项所述的方法(A310-A310;A410-A410;A510-A510;A610-A610)的步骤的装置(300;400;500;600)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10192219 | 2010-11-23 | ||
EP10192219.3 | 2010-11-23 | ||
PCT/EP2011/069306 WO2012069297A1 (en) | 2010-11-23 | 2011-11-03 | Direct migration of software images with streaming technique |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103221921A CN103221921A (zh) | 2013-07-24 |
CN103221921B true CN103221921B (zh) | 2016-06-22 |
Family
ID=44906118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180056182.9A Active CN103221921B (zh) | 2010-11-23 | 2011-11-03 | 利用流技术的软件映像的直接迁移 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9086892B2 (zh) |
JP (1) | JP5907983B2 (zh) |
CN (1) | CN103221921B (zh) |
DE (1) | DE112011103880T5 (zh) |
GB (1) | GB2499956B (zh) |
WO (1) | WO2012069297A1 (zh) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996667B2 (en) | 2010-04-27 | 2015-03-31 | International Business Machines Corporation | Deploying an operating system |
GB2499956B (en) | 2010-11-23 | 2018-02-14 | Servicenow Inc | Direct migration of software images with streaming technique |
WO2012076266A1 (en) | 2010-12-09 | 2012-06-14 | International Business Machines Corporation | Computer-readable storage mediums for encrypting and decrypting a virtual disc |
JP5911504B2 (ja) | 2010-12-13 | 2016-05-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ストリーミング技術に基づくソフトウェア・イメージのアップグレード |
JP5767565B2 (ja) | 2010-12-14 | 2015-08-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理) |
CN103988181B (zh) * | 2011-12-08 | 2017-08-25 | 国际商业机器公司 | 用于给虚拟映像打补丁的方法和系统 |
US9110604B2 (en) | 2012-09-28 | 2015-08-18 | Emc Corporation | System and method for full virtual machine backup using storage system functionality |
US9104331B2 (en) | 2012-09-28 | 2015-08-11 | Emc Corporation | System and method for incremental virtual machine backup using storage system functionality |
US9384094B2 (en) * | 2013-01-08 | 2016-07-05 | Veritas Us Ip Holdings Llc | Method and system for instant restore of system volume from a backup image |
US9130836B2 (en) | 2013-02-04 | 2015-09-08 | Cisco Technology, Inc. | Provisoning of a new node joining an existing cluster in a data center environment |
US9286047B1 (en) * | 2013-02-13 | 2016-03-15 | Cisco Technology, Inc. | Deployment and upgrade of network devices in a network environment |
CN104378396B (zh) * | 2013-08-15 | 2018-05-15 | 上海七牛信息技术有限公司 | 数据管理装置及方法 |
US9639384B2 (en) * | 2013-08-20 | 2017-05-02 | Vmware, Inc. | Method and system for fast provisioning of virtual desktop |
US10372463B1 (en) * | 2013-11-27 | 2019-08-06 | EMC IP Holding Company LLC | Provisioning a computerized device with an operating system |
US10983831B2 (en) | 2014-12-10 | 2021-04-20 | Hewlett Packard Enterprise Development Lp | Firmware-based provisioning of operating system resources |
US10067795B2 (en) * | 2014-12-10 | 2018-09-04 | Hewlett Packard Enterprise Development Lp | Firmware-based provisioning of operating system resources |
US10162827B2 (en) | 2015-04-08 | 2018-12-25 | Honeywell International Inc. | Method and system for distributed control system (DCS) process data cloning and migration through secured file system |
US10409270B2 (en) | 2015-04-09 | 2019-09-10 | Honeywell International Inc. | Methods for on-process migration from one type of process control device to different type of process control device |
US10374904B2 (en) | 2015-05-15 | 2019-08-06 | Cisco Technology, Inc. | Diagnostic network visualization |
US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US10142353B2 (en) | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
US9967158B2 (en) | 2015-06-05 | 2018-05-08 | Cisco Technology, Inc. | Interactive hierarchical network chord diagram for application dependency mapping |
CN105549913B (zh) * | 2015-12-22 | 2019-02-12 | 内蒙古农业大学 | 一种异构混合云环境下提高映像管理效率的方法 |
US10133593B1 (en) | 2016-03-31 | 2018-11-20 | Amazon Technologies, Inc. | Virtual machine migration |
US10019252B1 (en) * | 2016-04-07 | 2018-07-10 | Nutanix, Inc. | Virtualizing installers |
US10289438B2 (en) | 2016-06-16 | 2019-05-14 | Cisco Technology, Inc. | Techniques for coordination of application components deployed on distributed virtual machines |
US10708183B2 (en) | 2016-07-21 | 2020-07-07 | Cisco Technology, Inc. | System and method of providing segment routing as a service |
US10972388B2 (en) | 2016-11-22 | 2021-04-06 | Cisco Technology, Inc. | Federated microburst detection |
US10318166B1 (en) * | 2016-12-28 | 2019-06-11 | EMC IP Holding Company LLC | Preserving locality of storage accesses by virtual machine copies in hyper-converged infrastructure appliances |
CN108255570B (zh) * | 2016-12-28 | 2021-06-15 | 华为技术有限公司 | 异构虚拟机监视器平台间的虚拟机迁移方法、装置和系统 |
CN106953893A (zh) * | 2017-02-15 | 2017-07-14 | 北京百度网讯科技有限公司 | 云存储系统间的数据迁移 |
US10708152B2 (en) | 2017-03-23 | 2020-07-07 | Cisco Technology, Inc. | Predicting application and network performance |
US10523512B2 (en) | 2017-03-24 | 2019-12-31 | Cisco Technology, Inc. | Network agent for generating platform specific network policies |
US10764141B2 (en) | 2017-03-27 | 2020-09-01 | Cisco Technology, Inc. | Network agent for reporting to a network policy system |
US10594560B2 (en) | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
US10250446B2 (en) | 2017-03-27 | 2019-04-02 | Cisco Technology, Inc. | Distributed policy store |
US10873794B2 (en) | 2017-03-28 | 2020-12-22 | Cisco Technology, Inc. | Flowlet resolution for application performance monitoring and management |
US10680887B2 (en) | 2017-07-21 | 2020-06-09 | Cisco Technology, Inc. | Remote device status audit and recovery |
US10554501B2 (en) | 2017-10-23 | 2020-02-04 | Cisco Technology, Inc. | Network migration assistant |
US10523541B2 (en) | 2017-10-25 | 2019-12-31 | Cisco Technology, Inc. | Federated network and application data analytics platform |
US10594542B2 (en) | 2017-10-27 | 2020-03-17 | Cisco Technology, Inc. | System and method for network root cause analysis |
US11233821B2 (en) | 2018-01-04 | 2022-01-25 | Cisco Technology, Inc. | Network intrusion counter-intelligence |
US10826803B2 (en) | 2018-01-25 | 2020-11-03 | Cisco Technology, Inc. | Mechanism for facilitating efficient policy updates |
US10999149B2 (en) | 2018-01-25 | 2021-05-04 | Cisco Technology, Inc. | Automatic configuration discovery based on traffic flow data |
US10798015B2 (en) | 2018-01-25 | 2020-10-06 | Cisco Technology, Inc. | Discovery of middleboxes using traffic flow stitching |
US10574575B2 (en) | 2018-01-25 | 2020-02-25 | Cisco Technology, Inc. | Network flow stitching using middle box flow stitching |
US11128700B2 (en) | 2018-01-26 | 2021-09-21 | Cisco Technology, Inc. | Load balancing configuration based on traffic flow telemetry |
US10972347B2 (en) * | 2019-01-16 | 2021-04-06 | Hewlett Packard Enterprise Development Lp | Converting a first cloud network to second cloud network in a multi-cloud environment |
US20210247993A1 (en) * | 2020-02-06 | 2021-08-12 | EMC IP Holding Company LLC | True zero rto eliminating os and app load times |
CN111597145B (zh) * | 2020-05-20 | 2024-01-23 | 上海英方软件股份有限公司 | 一种Windows操作系统迁移的方法、装置及系统 |
US11620254B2 (en) | 2020-06-03 | 2023-04-04 | International Business Machines Corporation | Remote direct memory access for container-enabled networks |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101166116A (zh) * | 2006-07-25 | 2008-04-23 | 辉达公司 | 用于无磁盘计算平台上的操作系统安装的系统和方法 |
CN101399696A (zh) * | 2007-09-24 | 2009-04-01 | 国际商业机器公司 | 通过网络为客户机安装软件的方法、系统及相应的客户机 |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6075858A (en) | 1995-10-27 | 2000-06-13 | Scm Microsystems (U.S.) Inc. | Encryption key system and method |
US5991876A (en) | 1996-04-01 | 1999-11-23 | Copyright Clearance Center, Inc. | Electronic rights management and authorization system |
US6098158A (en) | 1997-12-18 | 2000-08-01 | International Business Machines Corporation | Software-enabled fast boot |
US6567774B1 (en) | 1998-01-30 | 2003-05-20 | Compaq Computer Corporation | Method and system for configuring and updating networked client stations using a virtual disk and a snapshot disk |
US6973447B1 (en) | 2000-03-23 | 2005-12-06 | International Business Machines Corporation | System apparatus and method for supporting multiple partitions including multiple systems in boot code |
US8140683B2 (en) | 2000-12-07 | 2012-03-20 | International Business Machines Corporation | Method and system for selecting an operating system at user login on a target device |
US6920555B1 (en) | 2001-03-10 | 2005-07-19 | Powerquest Corporation | Method for deploying an image into other partition on a computer system by using an imaging tool and coordinating migration of user profile to the imaged computer system |
US7428636B1 (en) | 2001-04-26 | 2008-09-23 | Vmware, Inc. | Selective encryption system and method for I/O operations |
FR2824646B1 (fr) | 2001-05-09 | 2003-08-15 | Canal Plus Technologies | Procede de selection d'une image de logiciel executable |
US7103747B2 (en) | 2001-06-28 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Memory table and memory manager for use in managing memory |
US20030126242A1 (en) | 2001-12-28 | 2003-07-03 | Chang Albert H. | Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image |
US7505889B2 (en) | 2002-02-25 | 2009-03-17 | Zoran Corporation | Transcoding media system |
US7379982B2 (en) | 2002-04-15 | 2008-05-27 | Bassam Tabbara | System and method for custom installation of an operating system on a remote client |
JP2003316595A (ja) | 2002-04-23 | 2003-11-07 | Casio Comput Co Ltd | インストール方法、ファイル更新方法、プログラム及びコンピュータシステム |
US7313793B2 (en) | 2002-07-11 | 2007-12-25 | Microsoft Corporation | Method for forking or migrating a virtual machine |
US7107385B2 (en) | 2002-08-09 | 2006-09-12 | Network Appliance, Inc. | Storage virtualization by layering virtual disk objects on a file system |
US7062517B2 (en) | 2002-08-14 | 2006-06-13 | Hitachi, Ltd. | Method and apparatus for centralized computer management |
US6857011B2 (en) | 2002-10-31 | 2005-02-15 | Paragon Development Systems, Inc. | Method of remote imaging |
US6857069B1 (en) | 2003-03-24 | 2005-02-15 | Cisco Technology, Inc. | Modified operating system boot sequence for iSCSI device support |
US7360072B1 (en) | 2003-03-28 | 2008-04-15 | Cisco Technology, Inc. | iSCSI system OS boot configuration modification |
US6925533B2 (en) | 2003-05-07 | 2005-08-02 | International Business Machines Corporation | Virtual disk image system with local cache disk for iSCSI communications |
US7281247B2 (en) | 2003-06-24 | 2007-10-09 | Microsoft Corporation | Software image creation in a distributed build environment |
JP2007510979A (ja) | 2003-11-06 | 2007-04-26 | インテュウェーブ リミテッド | 無線モバイル機器のための迅速なソフトウエアアプリケーション開発の方法 |
US20050160150A1 (en) | 2004-01-20 | 2005-07-21 | Su-Hwa Kao | Apparatus and method for managing and transporting virtual disks over a network to networked stations |
JP4900760B2 (ja) | 2004-03-31 | 2012-03-21 | 株式会社日立製作所 | Osイメージのデプロイメントマシン及び方法 |
US8230095B2 (en) | 2004-05-07 | 2012-07-24 | Wyse Technology, Inc. | System and method for integrated on-demand delivery of operating system and applications |
US7424601B2 (en) | 2004-07-07 | 2008-09-09 | Yongyong Xu | Methods and systems for running multiple operating systems in a single mobile device |
US7664834B2 (en) | 2004-07-09 | 2010-02-16 | Maxsp Corporation | Distributed operating system management |
US7269722B1 (en) | 2004-07-26 | 2007-09-11 | Sun Microsystems, Inc. | Preview of UNIX boot process from multi-user level |
US8346886B2 (en) | 2004-09-08 | 2013-01-01 | Red Hat, Inc. | System, method, and medium for configuring client computers to operate disconnected from a server computer while using a master instance of the operating system |
JP2006085209A (ja) * | 2004-09-14 | 2006-03-30 | Hitachi Ltd | 計算機システムのデプロイメント方式 |
US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
US7509530B2 (en) | 2005-01-19 | 2009-03-24 | Sonic Solutions | Method and system for use in restoring an active partition |
US7512833B1 (en) | 2005-05-09 | 2009-03-31 | Adam C. Murphy | Universal imaging utility program |
US7536541B2 (en) | 2006-03-07 | 2009-05-19 | Novell Inc. | Parallelizing multiple boot images with virtual machines |
US7653794B2 (en) | 2006-05-08 | 2010-01-26 | Microsoft Corporation | Converting physical machines to virtual machines |
JP2007310508A (ja) * | 2006-05-16 | 2007-11-29 | Nippon Telegraph & Telephone East Corp | シンクライアントシステムおよびシンクライアント端末用プログラム |
US8234359B2 (en) | 2006-05-24 | 2012-07-31 | Absolute Software Corp. | System and method for remotely re-imaging a computer system |
JP4725798B2 (ja) | 2006-06-21 | 2011-07-13 | 日本電気株式会社 | コンピュータシステム、ネットワークブートシステム、osイメージ切替方法、osイメージ切替プログラム |
US7809919B2 (en) | 2006-07-26 | 2010-10-05 | Hewlett-Packard Development Company, L.P. | Automatic data block misalignment detection and correction in a computer system utilizing a hard disk subsystem |
JP4366698B2 (ja) * | 2006-07-27 | 2009-11-18 | 日本電気株式会社 | 計算機、計算機システム、及びディスクイメージ配布方法 |
US8387038B2 (en) * | 2006-08-14 | 2013-02-26 | Caterpillar Inc. | Method and system for automatic computer and user migration |
US9086917B1 (en) | 2006-10-17 | 2015-07-21 | Manageiq, Inc. | Registering and accessing virtual systems for use in a managed system |
US8032351B2 (en) | 2006-11-30 | 2011-10-04 | Symantec Corporation | Running a virtual machine directly from a physical machine using snapshots |
US20080141015A1 (en) | 2006-12-06 | 2008-06-12 | Glen Edmond Chalemin | System and method for operating system deployment in a peer-to-peer computing environment |
US8312115B2 (en) * | 2006-12-21 | 2012-11-13 | 1E Limited | Network booting apparatus and method |
US20100107163A1 (en) | 2007-03-20 | 2010-04-29 | Sanggyu Lee | Movable virtual machine image |
US8331366B2 (en) | 2007-04-11 | 2012-12-11 | Dell Products L.P. | System and method for deployment of a software image to a plurality of target devices |
US8245022B2 (en) | 2007-06-01 | 2012-08-14 | Dell Products L.P. | Method and system to support ISCSI boot through management controllers |
US20090049160A1 (en) | 2007-08-14 | 2009-02-19 | Dell Products L.P. | System and Method for Deployment of a Software Image |
US8782637B2 (en) | 2007-11-03 | 2014-07-15 | ATM Shafiqul Khalid | Mini-cloud system for enabling user subscription to cloud service in residential environment |
JP2009176213A (ja) * | 2008-01-28 | 2009-08-06 | Hitachi Software Eng Co Ltd | ネットワークブート方式 |
US7953833B2 (en) * | 2008-01-31 | 2011-05-31 | Wanova Technologies Ltd. | Desktop delivery for a distributed enterprise |
CN100578461C (zh) | 2008-03-12 | 2010-01-06 | 中兴通讯股份有限公司 | 一种引导程序的备份方法及其备份装置 |
US20090240953A1 (en) | 2008-03-19 | 2009-09-24 | Safenet, Inc. | On-disk software image encryption |
US8359593B2 (en) * | 2008-04-21 | 2013-01-22 | Vmware, Inc. | Computer machine migration of file system images using a redo-log file |
SG158757A1 (en) | 2008-07-10 | 2010-02-26 | Fast And Safe Technology Pte L | Method and apparatus for protecting data in computers |
US8434093B2 (en) | 2008-08-07 | 2013-04-30 | Code Systems Corporation | Method and system for virtualization of software applications |
US8510352B2 (en) | 2008-10-24 | 2013-08-13 | Microsoft Corporation | Virtualized boot block with discovery volume |
US8701106B2 (en) | 2008-11-30 | 2014-04-15 | Red Hat Israel, Ltd. | Hashing storage images of a virtual machine |
US20100174894A1 (en) | 2009-01-07 | 2010-07-08 | Lenovo (Singapore) Pte, Ltd. | Method, Apparatus, and System for Configuring an Operating System on a Target Computer |
US8429639B2 (en) | 2009-02-10 | 2013-04-23 | Microsoft Corporation | Image-based software update |
JP5220675B2 (ja) * | 2009-04-07 | 2013-06-26 | 株式会社日立製作所 | シンクライアントマスタの書換システム、シンクライアントマスタの書換方法、およびシンクライアント |
US8301874B1 (en) | 2009-10-20 | 2012-10-30 | Wanova Technologies, Ltd. | Atomic switching of images in desktop streaming over wide area networks |
US9130912B2 (en) | 2010-03-05 | 2015-09-08 | International Business Machines Corporation | System and method for assisting virtual machine instantiation and migration |
US8996667B2 (en) | 2010-04-27 | 2015-03-31 | International Business Machines Corporation | Deploying an operating system |
US8407662B2 (en) | 2010-06-25 | 2013-03-26 | Wyse Technology Inc. | Apparatus and method for network driver injection into target image |
US8560825B2 (en) * | 2010-06-30 | 2013-10-15 | International Business Machines Corporation | Streaming virtual machine boot services over a network |
US8490088B2 (en) * | 2010-09-10 | 2013-07-16 | International Business Machines Corporation | On demand virtual machine image streaming |
GB2499956B (en) | 2010-11-23 | 2018-02-14 | Servicenow Inc | Direct migration of software images with streaming technique |
WO2012076266A1 (en) | 2010-12-09 | 2012-06-14 | International Business Machines Corporation | Computer-readable storage mediums for encrypting and decrypting a virtual disc |
JP5911504B2 (ja) | 2010-12-13 | 2016-05-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ストリーミング技術に基づくソフトウェア・イメージのアップグレード |
JP5767565B2 (ja) | 2010-12-14 | 2015-08-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理) |
CN102567042B (zh) | 2010-12-14 | 2015-04-15 | 国际商业机器公司 | 利用引导块重定位来管理多个软件镜像的方法和系统 |
-
2011
- 2011-11-03 GB GB1310938.4A patent/GB2499956B/en active Active
- 2011-11-03 DE DE112011103880T patent/DE112011103880T5/de active Pending
- 2011-11-03 US US13/882,247 patent/US9086892B2/en active Active
- 2011-11-03 WO PCT/EP2011/069306 patent/WO2012069297A1/en active Application Filing
- 2011-11-03 JP JP2013539195A patent/JP5907983B2/ja active Active
- 2011-11-03 CN CN201180056182.9A patent/CN103221921B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101166116A (zh) * | 2006-07-25 | 2008-04-23 | 辉达公司 | 用于无磁盘计算平台上的操作系统安装的系统和方法 |
CN101399696A (zh) * | 2007-09-24 | 2009-04-01 | 国际商业机器公司 | 通过网络为客户机安装软件的方法、系统及相应的客户机 |
Also Published As
Publication number | Publication date |
---|---|
WO2012069297A1 (en) | 2012-05-31 |
US9086892B2 (en) | 2015-07-21 |
JP5907983B2 (ja) | 2016-05-11 |
GB201310938D0 (en) | 2013-07-31 |
GB2499956A (en) | 2013-09-04 |
US20130219161A1 (en) | 2013-08-22 |
CN103221921A (zh) | 2013-07-24 |
JP2013543192A (ja) | 2013-11-28 |
DE112011103880T5 (de) | 2013-08-22 |
GB2499956B (en) | 2018-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103221921B (zh) | 利用流技术的软件映像的直接迁移 | |
US8527728B2 (en) | Management of multiple software images with relocation of boot blocks | |
US9910656B2 (en) | Updating software products on virtual machines with software images of new levels | |
CN104011677B (zh) | 利用流技术在多个目标上部署软件映像的方法及系统 | |
CN102591675B (zh) | 使用共享存储块管理多软件镜像的方法和系统 | |
US20190294448A1 (en) | Customizing program logic for booting a system | |
US7703091B1 (en) | Methods and apparatus for installing agents in a managed network | |
KR100911953B1 (ko) | 디스크 없는 연산 플랫폼에서의 운영체제 설치를 위한시스템 및 방법 | |
JP5911504B2 (ja) | ストリーミング技術に基づくソフトウェア・イメージのアップグレード | |
KR20170022028A (ko) | 컨테이너 이미지 보안 검사 방법 및 그 장치 | |
CN102387197A (zh) | 从服务器到主机的流虚拟机技术 | |
US11579893B2 (en) | Systems and methods for separate storage and use of system BIOS components | |
CN101206581A (zh) | 用于使用外部存储设备引导的系统和方法 | |
JP2009110505A (ja) | コンピュータプログラムにパッチを当てるシステム及び方法 | |
JP2011118873A (ja) | 自動化されたモジュール型のセキュアな起動ファームウェアの更新 | |
EP4100829A1 (en) | Firmware update patch | |
CN103988181A (zh) | 用于给虚拟映像打补丁的方法和系统 | |
CN114741233A (zh) | 快速启动方法 | |
CN115248721A (zh) | 容器应用的启动方法、镜像管理方法及相关设备 | |
US9471295B2 (en) | Method, device and computer program for the automatic installation or uninstallation of software modules on equipment on board an aircraft | |
TWI581187B (zh) | 傳送用以安裝作業系統之資料影像的技術 | |
US20170060598A1 (en) | Managed boot process system | |
CN106528114B (zh) | 一种安卓固件应用装置和安卓固件升级方法 | |
US11972265B2 (en) | Parallel booting operating system | |
US10210004B2 (en) | Method of providing at least one data carrier for a computer system and computer system including service processor independently operable from a main processor of the computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |