一种用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统和方法
【专利摘要】本发明涉及一种用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统和方法。系统包括:用于冻结源图像当前状态的装置,用于创建代理的装置,用于重定向对所述源图像做的更改到所述代理的日志的装置,用于读取所述源图像的装置,用于写入所述日志的装置,用于将所述源图像转换到目标图像的装置,用于将所述日志重新附加到目标图像的装置,和用于在目标图像重播日志的装置。
【专利说明】一种用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统和方法
【技术领域】
[0001]本专利申请总的涉及到信息技术,具体涉及到用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统和方法。
【背景技术】
[0002]现行的虚拟映像转换通常使用厂商提供的工具。该工具是专有性质的并只能将其他格式转换成厂商指定的格式。这是单向转换,转换后的映像被配置为运行在厂商的虚拟化平台,但反之则不行。这种转换只在私有云环境下是充分的,因为它主要是单个厂商的云虚拟环境。然而,随着具有多厂商的异种平台的混合云基础设施的出现,考虑到混合云基础设施的基础资源效率和故障恢复,上述私有云基础设施与之相比不再是一个有吸引力的和有效的选择。
[0003]在一个不断发展的混合云环境中,出于性能优化、运营管理和服务可用性的考虑,跨不同管理程序的映像转换和在不同云基础设施之间的映像移动被认为是必需的和重要的。
【发明内容】
[0004]本专利申请提出了一种用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统。在一方面,系统包括:用于冻结源映像当前状态的装置,用于创建代理的装置,用于重定向对源映像做的更改到代理的日志的装置,用于读取源映像的装置,用于写入日志的装置,用于将源映像转换到目标映像的装置,用于将日志重新附加到目标映像的装置,和用于在目标映像重播日志的装置。
[0005]系统还可包括:用于生成目标容器的装置,用于将源映像的所有数据同步到目标容器的装置,和用于存储对代理里的源映像所做的进程更新和状态信息的装置。
[0006]代理可包括:被配置来处理通信和数据交换的通信服务,被配置来跟踪进程状态和活动信息的日志记录器,被配置来执行数据同步的日志播放器,和被配置来将源映像的格式转换成目标映像的格式的平台适配器。
[0007]代理包括可以被系统的操作系统直接访问的数据存储库。
[0008]源映像在被转换时是处于在线状态或离线状态的。
[0009]系统还包括用于管理和监控相关的系统工作任务的装置。
[0010]系统还包括用于存储和跟踪进程活动和状态参数的装置。
[0011]系统进一步包括:用于与所述代理连接、进行必要的映像转换和同步以包括任何数据变化,并通过存储适配器移动所述目标映像到目标映像库的装置。
[0012]系统进一步包括:用于在目标映像重播日志后停止运行源映像的装置。
[0013]在另一方面,本专利申请提供了一种用于在管理程序之间进行虚拟机映像和状态信息的动态转换和移动的系统包括控制器,控制器被配置用于创建代理、冻结和截取源映像、重定向源映像到代理的代理容器,转换源映像到目标映像,通过在目标映像上重播记录在代理里的源映像所做的所有更改以更新目标映像,移动更新的目标映像到目标映像库,销毁源映像,其中代理被配置为在读取请求时从源映像获取数据,在写请求时记录对源映像所做的所有更改。
[0014]控制器还被配置来创建目标容器,以将源映像中的所有数据同步到目标容器、存储状态信息和对代理里的源映像所做的进程更新。
[0015]代理包括:被配置为处理通信和数据交换的通信服务,被配置来跟踪进程状态和活动信息的日志记录器,被配置以执行数据同步的日志播放器,和被配置为将源映像的格式转换成目标映像的格式的平台适配器。
[0016]代理容器是可以由系统的操作系统直接访问的数据存储库。
[0017]控制器包括作业管理器、作业调度器,作业管理器与作业调度器密切合作来管理和监控相关的系统作业任务。
[0018]控制器还包括作业数据库,作业数据库被配置来存储和跟踪进程活动和状态参数。
[0019]控制器还包括作业操作器,作业操作器被配置与代理连接,执行必要的映像转换和同步以包含数据变化、并通过存储适配器将更新后的目标映像移动到目标映像库。
[0020]还根据本专利申请的另一个方面,一种用于在管理程序之间进行虚拟机映像和状态信息的动态转换和移动的方法包括:冻结源映像的当前状态,创建代理,重定向源映像所作的任何更改到代理的日志,从源映像读取,写入日志,将源映像转换到的目标映像,和在目标映像重播日志。
[0021]方法进一步包括:创建目标容器,同步源映像的所有数据到目标容器;存储状态信息和对代理里的源映像所做的进程更新。
[0022]代理包括:被配置为处理通信和数据交换的通信服务,被配置来跟踪进程状态和活动信息的日志记录器,被配置以执行数据同步的日志播放器,和被配置为将源映像的格式转换成目标映像的格式的平台适配器。
[0023]方法进一步包括管理和监控相关的系统工作任务,存储和跟踪进程活动和状态参数,与代理连接,进行必要的映像转换和同步以包括任何数据变化,并通过存储适配器移动目标映像到目标映像库。
【专利附图】
【附图说明】
[0024]图1是根据本专利申请一个实施例、用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统框图。
[0025]图2是根据本专利申请另一个实施例、用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的方法的流程图。
[0026]图3是根据本专利申请另一个实施例、用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统的框图。
[0027]图4是图3所示的系统的控制器的框图。
[0028]图5是图3所示的系统中的代理的框图。
[0029]图6是图3所示系统中的数据流的示意图。
[0030]图7是图3所示的系统执行的映像转换和移动进程的进程流的示意图。
【具体实施方式】
[0031]现在将参照详细的优选实施例描述本专利申请公开的用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统和方法,在以下的描述中也提供了本专利申请的例子。在本专利申请中公开的用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统和方法的示范实施例也被详细描述,但是对本【技术领域】的普通技术人员来说,为了简洁起见,对于理解该用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统和方法来说不是特别重要的某些特征没有被示出。
[0032]此外,应该理解,本专利申请公开的用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统和方法并不限于以下描述的具体实施例,本【技术领域】的人员在不脱离保护的精神或范围的情况下可以对其做出各种改变和修改。例如,不同示例性实施例的元件和/或特征可以在公开的范围内彼此合并和/或彼此替换。
[0033]图1是根据本专利申请一个实施例、用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动活动的系统框图。如图1所示,系统被配置以实现以下进程:冻结源映像101的当前状态;创建代理和重新定向数据(所有对源映像101做的更改)到代理的日志103 ;从源映像101进行读取并写入日志103 ;将源映像101转换成目标映像105 ;将日志103重新附加到目标映像105 ;在目标映像105重播日志103。另外,代理被创建后,当有读取请求时,读取请求首先会在日志尝试,如果数据不在日志里,读取请求将被传递给源映像。可以理解的是,源映像和目标映像可以是不同的格式。
[0034]如图1所示,系统包括系统控制器(以下也称为控制器)、用于控制和管理映像转换和移动活动的作业管理器107。映像转换过程是通过作业操作器109处理。当源映像101被转换时,代理执行以保持源映像101的状态信息。相关活动在云平台通过存储适配器集成和自动化以连接、转换和移动映像。与新数据和日志103的日志记录器捕获的相关活动的映像同步是通过附加和重播活动完成的。因此,通过实施例提供的系统,各种进程活动更好的协调、在混合云环境的作业负载可以更有效且高效地管理,以达到更高的系统可用性和更好的系统性能。
[0035]图2是根据本专利申请另一个实施例、用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的方法的流程图。如图2所示,这个方法是由客户发起的,它可以是手动发起活动或系统发起活动(步骤41)。系统控制器将在映像转换和移动开始前为源映像创建代理(步骤42)。控制器冻结源映像然后重定向所有数据流到代理(步骤43)。系统控制器创建用于映像处理和移动的目标容器(步骤44)。源映像的所有数据由系统控制器同步到目标容器,从而创建一个目标映像。而在转换过程中,状态信息与其他对源映像所做的进程更新都存储在代理(步骤45)。系统控制器然后重新附加代理到目标映像(步骤46)。在转换过程中所有存储在代理的更改都被交给目标映像(即在目标映像重播日志)(步骤47)。最后,系统控制器退出运行源映像(步骤48)。
[0036]图3是根据本专利申请另一个实施例、用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统的框图。如图3所示,客户11控制控制器20通过从源映像库12读取映像(即源映像)启动进程、并最终将映像写到目标映像库13(即创建目标映像)。映像转换过程中任何更新或工作负载移动临时存储在代理30、并在之后在目标映像库13同步到目标映像,以反映对源映像所做的任何改变和恢复映像到以前的状态和维护数据完整性。应该了解的是,控制器20在这个实施例中支持超过一种类型的源和目标系统,该源和目标系统可以相同或不同。当源映像被转换时,源系统(或源映像)可以是在线(接电)状态或离线(断电)状态。
[0037]图4是图3所示系统的控制器的框图。如图4所示,在转换周期,控制器20通过通信服务22与管理程序平台或用于在动态模式进行映像转换和移动的API的服务接口 21来交换数据和进程参数。除了通信服务22,控制器20还包括作业管理器23、作业数据库24、作业调度器25、作业操作器26和存储适配器27。作业管理器23与作业调度器25密切合作来管理和监控相关的系统作业任务。而作业数据库24存储和跟踪进程活动和状态参数。作业操作器26与代理30连接,执行必要的映像转换和同步以包含在转换过程中任何数据变化,从而维持数据的完整性,并最终在该进程完成之后将目标映像通过存储适配器27移动到目标机(映像库)28。
[0038]图5是图3所示的系统的代理的框图。如图5所示,代理30包括四个系统组件,即通信服务31、日志记录器32、日志播放器33和平台适配器34。通信服务31被配置来处理与控制器20进行通信和数据交换。日志记录器32被配置来跟踪进程状态和活动信息。日志播放器33被配置来执行数据同步,以确保数据完整性。平台适配器34被配置为通过使用厂商所提供的虚拟化平台35所提供的服务,将源映像的格式转换为目标映像的格式,以适应目标系统。请注意,在这个实施例,代理30包含可以由系统的操作系统直接访问的数据存储库,并包括以下至少一种存储介质:固态磁盘、复杂闪存盘、本地连接硬盘、外置硬盘、USB磁盘、软盘、远程磁盘和内存空间等。
[0039]图6是图3所示系统中的数据流的示意图。如图6所示,数据流从客户发起请求到控制器开始,它可以是手工或系统生成的动作(流501)。控制器然后创建一个代理(流502),冻结和截取源映像(流503),重新定向源映像到代理的代理容器(流504)以进行映像转换。请注意,代理容器是一个数据存储库,可以直接由系统的操作系统访问。
[0040]每当在映像转换和移动进程中做出了读取请求(流505),代理从源(即源映像)读取数据(流506),从源映像获取数据(流507),并最终将数据返回到外部代理(流508)。
[0041]对于在映像转换和移动进程中的写请求(流509),代理跟踪进程活动和相关数据(即记录所有对源映像的更改),并返回一个成功信号到外部代理用于确认流程的完成(流510)。
[0042]图7是图3所示的系统执行的映像转换和移动进程中的进程流的示意图。如图7所示,该进程始于客户向控制器发起请求,该请求是手工或系统生成(流601)。接收到请求后,控制器执行一系列活动,即创建代理(流602),冻结和截取源映像(流603),将源映像重新定向到代理容器(流604),启动映像转换和移动进程。
[0043]对于读操作,控制器直接从源读取数据(流605)。对于写操作,控制器写数据到代理(流606)。这将同步数据与转换的映像。
[0044]源映像转换到目标映像后,控制器启动调用回放指令(流607)(即通过重放所有记录在目标映像的代理里的源映像的改变以更新目标映像),移动更新后的目标映像到目标映像库(即目标系统)(流608),并在移动后销毁源容器中的源映像(流609)。最后发出成功信号通知客户进程完成(流610)。
[0045]根据本专利申请的另一个实施例的,用于在管理程序之间进行虚拟机映像和状态信息的动态转换和移动的系统包括:用于冻结源映像当前状态的装置,用于创建代理的装置,用于重定向对源映像做的更改到代理的日志的装置用于读取源映像的装置,用于写入日志的装置,用于将源映像转换到目标映像的装置,用于将日志重新附加到目标映像的装置,和用于在目标映像重播日志的装置。
[0046]根据本专利申请的又一实施例,用于在管理程序之间进行虚拟机映像和状态信息的动态转换和移动的系统包括控制器,控制器被配置用于创建代理、冻结和截取源映像、重定向源映像到代理的代理容器,转换源映像到目标映像,通过在目标映像上重播记录在代理里的源映像所做的所有更改以更新目标映像,移动更新的目标映像到目标映像库,销毁源映像。代理被配置为在读取请求时从源映像获取数据,在写请求时记录对源映像所做的所有更改。
[0047]根据本专利申请的另一个实施例,一种用于在管理程序之间进行虚拟机映像和状态信息的动态转换和移动的方法包括冻结源映像的当前状态,创建代理,重定向源映像所作的任何更改到代理的日志,从源映像读取,写入日志,将源映像转换到的目标映像,在目标映像重播日志。
[0048]上述实施例解决了混合云环境中在线映像转换和工作负载移动的问题。实施例集成了进程活动,并通过存储适配器作为连接点简化和自动化整个进程流程,从而一体化和自动化整个进程。实施例提供的系统允许通过启用系统控制器内作业调度器、作业数据库和作业操作器,管理活动和跟踪相关的活动和状态信息以动态操作。系统进行映像转换、启用代理和日志来确保数据的完整性和进程的同步性。通过实施例提供的方法,相关的多级活动更无缝地集成在一起,并自动化成简单、单一的进程。
[0049]上述实施例中,在混合云设施下,不同格式的映像可以在不同管理程序间创建,从源机器有效且高效地移动到目标机器,而不会有系统停机或中断。在其他技术中,如果没有额外的硬件或定制软件下是无法实现的。实施例提供了通过更协调和更合乎逻辑方式的更加一体化的方法来管理映像转换和工作负载移动这两个相互关联的进程,从而简化了操作管理,实现更好的可用性和系统性能。
[0050]上述实施例通过简化混合云基础设施的运营管理,允许故障恢复和工作负载移动以更具凝聚力和有效率的方式进行,并允许一次性行动以解决故障恢复和性能优化。这在其他技术中则需通过具有分离的硬件和软件组件的不同的独立系统模块以解决。
[0051]虽然特别参照了几个实施例示出和描述了本专利申请,但是应注意到可以做出各种其他改变或修改,而不脱离本发明的范围。
【权利要求】
1.一种用于在管理程序之间进行虚拟机映像和状态信息的动态转换和移动的系统包括: 用于冻结源映像当前状态的装置, 用于创建代理的装置, 用于重定向对所述源映像做的更改到所述代理的日志的装置, 用于读取所述源映像的装置, 用于写入所述日志的装置, 用于将所述源映像转换到目标映像的装置, 用于将所述日志重新附加到目标映像的装置,和 用于在目标映像重播日志的装置。
2.根据权利要求1所述的系统,其特征在于还包括:用于生成目标容器的装置,用于将所述源映像的所有数据同步到所述目标容器的装置,和用于存储对所述代理里的源映像所做的进程更新和状态信息的装置;所述代理包括:被配置来处理通信和数据交换的通信服务,被配置来跟踪所述进程状态和活动信息的日志记录器,被配置来执行数据同步的日志播放器,和被配置来将所述源映像的格式转换成所述目标映像的格式的平台适配器。
3.根据权利要求1所述的系统,其特征在于所述代理包括可以被系统的操作系统直接访问的数据存储库;所述源映像在被转换时是处于在线状态或离线状态的。
4.根据权利要求1所述的系统,其特征在于还包括用于管理和监控相关的系统工作任务的装置;还包括用于存储和跟踪进程活动和状态参数的装置;进一步包括:用于与所述代理连接、进行必要的映像转换和同步以包括任何数据变化,并通过存储适配器移动所述目标映像到目标映像库的装置;进一步包括:用于在所述目标映像重播日志后停止运行所述源映像的装置。
5.一种用于在管理程序之间进行虚拟机映像和状态信息的动态转换和移动的系统包括控制器,所述控制器被配置用于创建代理、冻结和截取源映像、重定向所述源映像到所述代理的代理容器,转换所述源映像到目标映像,通过在所述目标映像上重播记录在所述代理里的所述源映像所做的所有更改以更新所述目标映像,移动所述更新的目标映像到目标映像库,销毁所述源映像,其中所述代理被配置为在读取请求时从所述源映像获取数据,在写请求时记录对源映像所做的所有更改。
6.根据权利要求5所述的系统,其特征在于所述控制器还被配置来创建目标容器,以将所述源映像中的所有数据同步到目标容器、存储状态信息和对所述代理里的源映像所做的进程更新;所述代理包括:被配置为处理通信和数据交换的通信服务,被配置来跟踪进程状态和活动信息的日志记录器,被配置以执行数据同步的日志播放器,和被配置为将所述源映像的格式转换成所述目标映像的格式的平台适配器;代理容器是可以由所述系统的操作系统直接访问的数据存储库。
7.根据权利要求6所述的系统,其特征在于所述控制器包括作业管理器、作业调度器,所述作业管理器与作业调度器密切合作来管理和监控相关的系统作业任务;所述控制器还包括作业数据库,所述作业数据库被配置来存储和跟踪进程活动和状态参数;所述控制器还包括作业操作器,所述作业操作器被配置与所述代理连接,执行必要的映像转换和同步以包含数据变化、并通过存储适配器将更新后的目标映像移动到所述目标映像库。
8.一种用于在管理程序之间进行虚拟机映像和状态信息的动态转换和移动的方法包括: 冻结源映像的当前状态, 创建代理, 重定向所述源映像所作的任何更改到所述代理的日志, 从所述源映像读取, 写入日志, 将所述源映像转换到的目标映像,和 在所述目标映像重播日志。
9.根据权利要求8所述的方法,其特征在于进一步包括: 创建目标容器, 同步所述源映像的所有数据到目标容器; 存储状态信息和对所述代理里的源映像所做的进程更新。
10.根据权利要求8所述的方法,其特征在于所述代理包括:被配置为处理通信和数据交换的通信服务,被配置来跟踪所述进程状态和活动信息的日志记录器,被配置以执行数据同步的日志播放器,和被配置为将所述源映像的格式转换成所述目标映像的格式的平台适配器;所述方法进一步包括管理和监控相关的系统工作任务,存储和跟踪进程活动和状态参数,与所述代理连接,进行必要的映像转换和同步以包括任何数据变化,并通过存储适配器移动所述目标映像到目标映像库。
【文档编号】G06F11/30GK104252376SQ201310339837
【公开日】2014年12月31日 申请日期:2013年8月6日 优先权日:2013年6月25日
【发明者】陈冠学, 梁兴邦 申请人:云计算科研有限公司