一种异构云平台间的虚拟机自动迁移系统及方法与流程

文档序号:12463489阅读:499来源:国知局
一种异构云平台间的虚拟机自动迁移系统及方法与流程

本发明涉及云平台技术领域,特别是涉及一种异构云平台间的虚拟机自动迁移系统及方法。



背景技术:

云平台(Cloud platforms):云平台提供基于“云”的服务,供开发者创建应用时采用。本发明所提的云平台特指IaaS云平台,IaaS云平台中的云计算基础设施软件厂商有很多种,例如VMware、微软、IBM、OpenStack等。虚拟化技术是云平台的核心技术。

虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整系统。虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实系统完全一样的功能,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会降低电脑的性能。

在具体实施中,两个异构云平台之间经常需要虚拟机的迁移,云平台中的虚拟机包括单个磁盘或者多个磁盘。现有技术中,对于单磁盘虚拟机的迁移,需要执行手动配置。因目标云平台操作系统与源云平台磁盘文件格式不完全一致。首先需要收集环境参数,根据目标云平台的方式对磁盘文件格式进行转换。然后检查被迁移的虚拟机是否匹配目标云平台的磁盘驱动,迁移过程中需要解决接口驱动兼容性的问题。最后把虚拟机磁盘文件导入目标云平台,并生成虚拟机。对于多磁盘虚拟机在异构云平台的迁移,多磁盘虚拟机迁移不仅存在单磁盘虚拟机迁移的问题,还需解决如何多磁盘挂载的问题。由于云平台的异构性,有些云平台只支持单磁盘虚拟机的导入,无法支持多磁盘虚拟机的导入。目前唯一解决方案就是在新平台上重新搭建虚拟机并安装所有所需的运行环境及软件。

基于上述论述,现有技术中,对于虚拟机的迁移需要人工操作,操作过程非常繁琐。由此可见,如何减轻人工操作带来的繁琐工作是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种异构云平台间的虚拟机自动迁移系统及方法,用于减轻人工操作带来的繁琐工作。

为解决上述技术问题,本发明提供一种异构云平台间的虚拟机自动迁移系统,包括:

判断单元,用于判断源云平台中的源虚拟机的磁盘文件的格式与目标云平台所支持的格式是否匹配;

第一导入单元,用于在所述磁盘文件的格式与所述目标云平台所支持的格式匹配的情况下,将所述磁盘文件导入所述目标云平台;

格式转换单元,用于在所述磁盘文件的格式与所述目标云平台所支持的格式不匹配的情况下,将所述磁盘文件的格式转换为所述目标云平台所支持的格式;

操作系统匹配单元,用于分别针对所述源虚拟机包含单个磁盘或多个磁盘的情况确定所述目标云平台的操作系统的更新状态以及所述源虚拟机的磁盘接口驱动的更新状态;

第二导入单元,用于根据所述目标云平台的操作系统的更新状态以及所述源虚拟机的磁盘接口驱动的更新状态,将修改后的所述磁盘文件导入所述目标云平台。

优选地,所述判断单元具体包括:

获取模块,用于获取所述磁盘文件的格式与所述目标云平台所支持的格式;

确认模块,用于判断所述磁盘文件的格式与所述目标云平台所支持的格式是否匹配。

优选地,所述操作系统匹配单元具体包括:

第一判断模块,用于判断所述源虚拟机是否占用多块磁盘;

第二判断模块,用于在所述源虚拟机占用多块磁盘的情况下,判断所述源虚拟机的操作系统的内核是否支持在所述目标云平台中多块磁盘运行;

更新模块,用于所述源虚拟机的操作系统的内核不支持在所述目标云平台中多块磁盘运行的情况下,以所述目标云平台支持的磁盘接口驱动为基础,挂载所述源虚拟机的操作系统所占用的磁盘,并更新所述目标云平台的操作系统的内核;

第三判断模块,用于在所述源虚拟机占用单块磁盘、或所述源虚拟机占用多块磁盘且所述源虚拟机的操作系统支持在所述目标云平台中多块磁盘运行、或所述目标云平台的操作系统的内核得到更新的情况下,判断所述源虚拟机的操作系统的磁盘接口驱动是否支持所述目标云平台所需的磁盘接口驱动:其中,如果是,则触发所述第二导入单元;

驱动安装模块,用于在所述源虚拟机的操作系统的磁盘接口驱动不支持所述目标云平台所需的磁盘接口驱动的情况下,向所述源虚拟机的操作系统注入所述目标云平台所需的磁盘接口驱动。

优选地,还包括:生成单元,用于在接收到所述第一导入单元导入的所述磁盘文件或所述第二导入单元导入的修改后的所述磁盘文件后在所述目标云平台上生成新的虚拟机。

优选地,所述源虚拟机的磁盘文件的格式包括vmdk格式、qcow2格式、raw格式、cow格式、vdi格式、vhd格式、voa格式或ovf格式。

为解决上述技术问题,本发明提供一种异构云平台间的虚拟机自动迁移方法,包括:

S10:判断源云平台中的源虚拟机的磁盘文件的格式与目标云平台所支持的格式是否匹配;其中,如果是进入S11,否则进入S12;

S11:将所述磁盘文件导入所述目标云平台;

S12:将所述磁盘文件的格式转换为所述目标云平台所支持的格式;

S13:分别针对所述源虚拟机包含单个磁盘或多个磁盘的情况确定所述目标云平台的操作系统的更新状态以及所述源虚拟机的磁盘接口驱动的更新状态;

S14:根据所述目标云平台的操作系统的更新状态以及所述源虚拟机的磁盘接口驱动的更新状态,将修改后的所述磁盘文件导入所述目标云平台。

优选地,所述S11具体包括:

S110:获取所述磁盘文件的格式与所述目标云平台所支持的格式;

S111:判断所述磁盘文件的格式与所述目标云平台所支持的格式是否匹配。

优选地,所述S13具体包括:

S130:判断所述源虚拟机是否占用多块磁盘;如果是,进入S131,否则进入S133;

S131:判断所述源虚拟机的操作系统的内核是否支持在所述目标云平台中多块磁盘运行;如果是,进入S133,否则进入S132;

S132:以所述目标云平台支持的磁盘接口驱动为基础,挂载所述源虚拟机的操作系统所占用的磁盘,并更新所述目标云平台的操作系统的内核;进入S133;

S133:判断所述源虚拟机的操作系统的磁盘接口驱动是否支持所述目标云平台所需的磁盘接口驱动:其中,如果是,则进入S14,否则进入S134;

S134:向所述源虚拟机的操作系统注入所述目标云平台所需的磁盘接口驱动;进入S14。

优选地,还包括:

S15:在接收到导入的所述磁盘文件或导入的修改后的所述磁盘文件后在所述目标云平台上生成新的虚拟机。

优选地,所述源虚拟机的磁盘文件的格式包括vmdk格式、qcow2格式、raw格式、cow格式、vdi格式、vhd格式、voa格式或ovf格式。

本发明所提供的异构云平台间的虚拟机自动迁移系统及方法,系统包括判断单元,用于判断源虚拟机的磁盘文件的格式与目标云平台所支持的格式是否匹配;第一导入单元和第二导入单元,分别用于将磁盘文件或修改后的磁盘文件导入目标云平台;格式转换单元,用于将磁盘文件的格式转换;操作系统匹配单元,用于根据源虚拟机中包含的磁盘的数量确定目标云平台的操作系统以及源虚拟机的磁盘接口驱动的更新状态。本系统能够实现虚拟机的自动迁移,极大的减少了人工操作的工作量,并且能够根据源虚拟机中包含的磁盘的数量确定目标云平台的操作系统的更新状态以及源虚拟机的磁盘接口驱动的更新状态,因此能够实现包含单个磁盘或多个磁盘的虚拟机的迁移。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种异构云平台间的虚拟机自动迁移系统的结构图;

图2为本发明实施例提供的另一种异构云平台间的虚拟机自动迁移系统的结构图;

图3为本发明实施例提供的一种异构云平台间的虚拟机自动迁移方法的流程图;

图4为本发明实施例提供的另一种异构云平台间的虚拟机自动迁移方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种异构云平台间的虚拟机自动迁移系统及方法,用于减轻人工操作带来的繁琐工作。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例提供的一种异构云平台间的虚拟机自动迁移系统的结构图。如图1所示,异构云平台间的虚拟机自动迁移系统包括:

判断单元10,用于判断源云平台中的源虚拟机的磁盘文件的格式与目标云平台所支持的格式是否匹配。

在具体实施中,判断单元10具体包括:获取模块100,用于获取磁盘文件的格式与目标云平台所支持的格式;确认模块101,用于判断磁盘文件的格式与目标云平台所支持的格式是否匹配。可以理解的是,获取磁盘文件的格式是根据磁盘文件的后缀名得到的。

第一导入单元11,用于在磁盘文件的格式与目标云平台所支持的格式匹配的情况下,将磁盘文件导入目标云平台。

格式转换单元12,用于在磁盘文件的格式与目标云平台所支持的格式不匹配的情况下,将磁盘文件的格式转换为目标云平台所支持的格式。

如果源虚拟机的磁盘文件的格式与目标云平台所支持的格式不匹配的话,则需要修改源虚拟机的磁盘文件的格式,否则直接将磁盘文件导入目标云平台即可。在具体实施中,如果源虚拟机的磁盘文件的格式与目标云平台所支持的格式不匹配的话,则不仅要修改磁盘文件的格式,还需要对目标云平台的操作系统以及源虚拟机的磁盘接口驱动进行更新,具体参见下文的描述。

操作系统匹配单元13,分别针对所述源虚拟机包含单个磁盘或多个磁盘的情况确定所述目标云平台的操作系统的更新状态以及所述源虚拟机的磁盘接口驱动的更新状态。

在具体实施中,操作系统匹配单元13具体包括:

第一判断模块130,用于判断源虚拟机是否占用多块磁盘。

第二判断模块131,用于在源虚拟机占用多块磁盘的情况下,判断源虚拟机的操作系统的内核是否支持在目标云平台中多块磁盘运行;

更新模块132,用于源虚拟机的操作系统的内核不支持在目标云平台中多块磁盘运行的情况下,以目标云平台支持的磁盘接口驱动为基础,挂载源虚拟机的操作系统所占用的磁盘,并更新目标云平台的操作系统的内核;

第三判断模块133,用于在源虚拟机占用单块磁盘、或源虚拟机占用多块磁盘且源虚拟机的操作系统支持在目标云平台中多块磁盘运行、或目标云平台的操作系统的内核得到更新的情况下,判断源虚拟机的操作系统的磁盘接口驱动是否支持目标云平台所需的磁盘接口驱动:其中,如果是,则触发第二导入单元14;

驱动安装模块134,用于在源虚拟机的操作系统的磁盘接口驱动不支持目标云平台所需的磁盘接口驱动的情况下,向源虚拟机的操作系统注入目标云平台所需的磁盘接口驱动。

可以理解的是,当源虚拟机的磁盘文件与目标云平台所支持的磁盘文件格式不匹配而进行修改后,需要对二者的操作系统和对应的磁盘接口驱动进行相应的检测和判断。首先,源虚拟机可能占用单块磁盘也可以是占用多块磁盘,而第一判断模块130的判断结果是占用单块硬盘的话,则不需要进行目标云平台的操作系统的更新,直接第三判断模块133判断即可。如果第一判断模块130的判断结果是占用多块硬盘的话,需要第二判断模块131进一步判断源虚拟机的操作系统的内核是否支持在目标云平台中多块磁盘运行。

可以理解的是,如果源虚拟机的操作系统的内核不支持在目标云平台中多块磁盘运行的话,即使将修改过的磁盘文件导入目标云操作系统,则目标云操作系统也不能够运行。由于目标云平台中有多个磁盘,但是有可能只有一个磁盘是处于运行状态的,本实施例中,如果源虚拟机的操作系统的内核不支持在目标云平台中多块磁盘运行,则更新模块132,以目标云平台支持的磁盘接口驱动为基础,挂载源虚拟机的操作系统所占用的磁盘,并更新目标云平台的操作系统的内核。换句话说,就是在目标云平台中查找各磁盘接口驱动,在众多磁盘接口驱动中选择合适的磁盘接口驱动实现磁盘的挂载,经过挂载之后,目标云平台就能够识别新的磁盘,即能够支持源虚拟机的操作系统的内核的多块磁盘运行,然后更新模块132更新目标云平台的操作系统的内核。

可以理解的是,本实施例中源虚拟机的磁盘文件的格式包括vmdk格式、qcow2格式、raw格式、cow格式、vdi格式、vhd格式、voa格式或ovf格式等;磁盘接口驱动中的接口包括IDE接口、SATA接口、SCSI接口、SAS接口、ISCSI接口或VIRTIO接口等。

第二导入单元14,用于根据目标云平台的操作系统的更新状态以及源虚拟机的磁盘接口驱动的更新状态,将修改后的磁盘文件导入目标云平台。

可以理解的是,本实施例中的异构云平台间的虚拟机自动迁移系统可以作为一个单独的系统进行运行,也可以设置在源云平台侧,或者也可以设置在目标云平台侧。本实施例中所述的多个磁盘是指除了单个磁盘以外的全部情况,即包括两个磁盘及两个磁盘以上。

本实施例提供的异构云平台间的虚拟机自动迁移系统,利用判断单元第一导入单元、格式转换单元、操作系统匹配单元以及第二导入单元实现了虚拟机的自动迁移,极大的较少了人工操作的工作量,并且能够根据源虚拟机中包含的磁盘的数量确定目标云平台的操作系统的更新状态以及源虚拟机的磁盘接口驱动的更新状态,因此能够实现包含单个磁盘或多个磁盘的虚拟机的迁移。

图2为本发明实施例提供的另一种异构云平台间的虚拟机自动迁移系统的结构图。如图2所示,在上述实施例的基础上,还包括:生成单元15,用于在接收到第一导入单元11导入的磁盘文件或第二导入单元导入14的修改后的磁盘文件后在目标云平台上生成新的虚拟机。

图3为本发明实施例提供的另一种异构云平台间的虚拟机自动迁移方法的流程图。如图3所示,一种异构云平台间的虚拟机自动迁移方法,包括:

S10:判断源云平台中的源虚拟机的磁盘文件的格式与目标云平台所支持的格式是否匹配;其中,如果是进入S11,否则进入S12;

S11:将磁盘文件导入目标云平台;

S12:将磁盘文件的格式转换为目标云平台所支持的格式;

S13:根据源虚拟机中包含的磁盘的数量确定目标云平台的操作系统的更新状态以及源虚拟机的磁盘接口驱动的更新状态;

S14:根据目标云平台的操作系统的更新状态以及源虚拟机的磁盘接口驱动的更新状态,将修改后的磁盘文件导入目标云平台。

本实施例提供的异构云平台间的虚拟机自动迁移方法,通过上述步骤实现了虚拟机的自动迁移,极大的减少了人工操作的工作量,并且能够根据源虚拟机中包含的磁盘的数量确定目标云平台的操作系统的更新状态以及源虚拟机的磁盘接口驱动的更新状态,因此能够实现包含单个磁盘或多个磁盘的虚拟机的迁移。

图4为本发明实施例提供的另一种异构云平台间的虚拟机自动迁移方法的流程图。作为优选地实施方式,S11具体包括:

S110:获取磁盘文件的格式与目标云平台所支持的格式;

S111:判断磁盘文件的格式与目标云平台所支持的格式是否匹配。

作为优选地实施方式,S13具体包括:

S130:判断源虚拟机是否占用多块磁盘;如果是,进入S131,否则进入S133;

S131:判断源虚拟机的操作系统的内核是否支持在目标云平台中多块磁盘运行;如果是,进入S133,否则进入S132;

S132:以目标云平台支持的磁盘接口驱动为基础,挂载源虚拟机的操作系统所占用的磁盘,并更新目标云平台的操作系统的内核;进入S133;

S133:判断源虚拟机的操作系统的磁盘接口驱动是否支持目标云平台所需的磁盘接口驱动:其中,如果是,则进入S14,否则进入S134;

S134:向源虚拟机的操作系统注入目标云平台所需的磁盘接口驱动;进入S14。

作为优选地实施方式,还包括:

S15:在接收到导入的磁盘文件或导入的修改后的磁盘文件后在目标云平台上生成新的虚拟机。

作为优选地实施方式,源虚拟机的磁盘文件的格式包括vmdk格式、qcow2格式、raw格式、cow格式、vdi格式、vhd格式、voa格式或ovf格式。

由于方法部分的实施例与系统方法部分的实施例相互对应,因此方法部分的实施例请参见系统部分的实施例的描述,这里暂不赘述。

以上对本发明所提供的异构云平台间的虚拟机自动迁移系统及方法进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1