一种OVA文件的导入方法及装置与流程

文档序号:12719022阅读:813来源:国知局
一种OVA文件的导入方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种OVA文件的导入方法及装置。



背景技术:

随着虚拟化技术的不断成熟,虚拟化产品的提供商越来越多。多个不同虚拟化产品提供商之间的虚拟机有互相迁移的必要。开放标准OVF(Open Virtualization Format,开放虚拟化格式)项目组定义了一套标准,称之为OVF,它的打包文件名称之为OVA(Open Virtualization Appliance,开放虚拟化设备)文件。

现有技术中,所有虚拟化产品提供商都提供一套OVA的导入导出方法,以方便其他提供商导入虚拟机。但是由于不同提供商虚拟机实现的方式不一致,磁盘驱动的方式不一致,使得OVA文件的导入并不完美。因此,如何能在导入友商的虚拟化产品时,深入到OVA磁盘文件内部,解析操作系统类型,并根据不同的操作系统,调用不同的策略导入OVA文件,是现今急需解决的问题。



技术实现要素:

本发明的目的是提供一种OVA文件的导入方法及装置,以根据OVA文件中虚拟磁盘文件的操作系统类型,选择对应的导入方法导入OVA文件,可以导入不同平台的OVA文件到用户的虚拟化产品上,提升用户体验。

为解决上述技术问题,本发明提供一种OVA文件的导入方法,包括:

解压OVA文件,获取虚拟磁盘文件;

根据所述虚拟磁盘文件获取磁盘中的操作系统类型;

根据所述操作系统类型选择对应的导入方法进行所述OVA文件的导入。

可选的,所述根据所述虚拟磁盘文件获取磁盘中的操作系统类型,包括:

通过创建的用户磁盘文件的支持文件和临时配置文件,创建临时的虚拟机;

启动所述虚拟机,查看所述虚拟磁盘文件对应的所述操作系统类型。

可选的,所述根据所述操作系统类型选择对应的导入方法进行所述OVA文件的导入,包括:

根据所述操作系统类型结合所述OVA文件的导出方法选择对应的导入方法进行所述OVA文件的导入。

可选的,所述OVA文件的导出方法的获取,包括:

解压所述OVA文件,获取虚拟机配置文件;

根据所述虚拟机配置文件获取所述OVA文件的导出方法。

可选的,根据所述操作系统类型结合所述OVA文件的导出方法选择对应的导入方法进行所述OVA文件的导入,具体为:

判断所述OVA文件的导出方法是否为XEN或VMWare;

若否,则使用qemu-img方法进行所述OVA文件的导入;

若是,则判断所述操作系统类型是否为Redhat7或Centos7;

若所述操作系统类型为Redhat7或Centos7,则使用virt-v2v方法进行所述OVA文件的导入;

若所述操作系统类型不为Redhat7或Centos7,则使用qemu-img方法进行所述OVA文件的导入。

此外,本发明还提供了一种OVA文件的导入装置,包括:

解压模块,用于解压OVA文件,获取虚拟磁盘文件;

操作系统获取模块,用于根据所述虚拟磁盘文件获取磁盘中的操作系统类型;

选择导入模块,用于根据所述操作系统类型选择对应的导入方法进行所述OVA文件的导入。

可选的,所述操作系统获取模块,包括:

虚拟机创建子模块,用于通过创建的用户磁盘文件的支持文件和临时配置文件,创建临时的虚拟机;

操作系统获取子模块,用于启动所述虚拟机,查看所述虚拟磁盘文件对应的所述操作系统类型。

可选的,所述选择导入模块,包括:

选择导入子模块,用于根据所述操作系统类型结合所述OVA文件的导出方法选择对应的导入方法进行所述OVA文件的导入。

可选的,所述解压模块,包括:

解压子模块,用于解压所述OVA文件,获取所述虚拟磁盘文件和虚拟机配置文件;

导出方法获取模块,根据所述虚拟机配置文件获取所述OVA文件的导出方法。

可选的,所述选择导入子模块,包括:

第一判断单元,用于判断所述OVA文件的导出方法是否为XEN或VMWare;若否,则向第一导入单元发送第一导入信号;若是,则向第二判断单元发送判断信号;

第一导入单元,用于接收所述第一导入信号,使用qemu-img方法进行所述OVA文件的导入;

第二判断单元,用于判断所述操作系统类型是否为Redhat7或Centos7;若是,则向第二导入单元发送第二导入信号;若否,则向第一导入单元发送所述第一导入信号;

第二导入单元,用于接收所述第二导入信号,使用virt-v2v方法进行所述OVA文件的导入。

本发明所提供的一种OVA文件的导入方法,包括:解压OVA文件,获取虚拟磁盘文件;根据所述虚拟磁盘文件获取磁盘中的操作系统类型;根据所述操作系统类型选择对应的导入方法进行所述OVA文件的导入;

可见,本发明通过解压OVA文件,可以获取OVA文件中的虚拟磁盘文件,然后根据虚拟磁盘文件获取磁盘中的操作系统类型,通过选择操作系统类型对应的导入方法对OVA文件进行所述OVA文件的导入,可以将不同虚拟化产品提供商也就是不同平台提供的OVA文件完美导入到用户的虚拟化产品上,提升了让用户体验。此外,本发明还提供了一种OVA文件的导入装置,同样具有上述有益效果。

附图说明

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

图1为本发明实施例所提供的一种OVA文件的导入方法的流程图;

图2为本发明实施例所提供的另一种OVA文件的导入方法的流程图;

图3为本发明实施例所提供的一种OVA文件的导入装置的结构图。

具体实施方式

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

请参考图1,图1为本发明实施例所提供的一种OVA文件的导入方法的流程图。该方法可以包括:

步骤101:解压OVA文件,获取虚拟磁盘文件。

可以理解的是,解压OVA文件可以获取虚拟磁盘文件和虚拟机配置文件等文件。

步骤102:根据所述虚拟磁盘文件获取磁盘中的操作系统类型。

其中,根据虚拟磁盘文件获取磁盘中的操作系统类型可以为通过创建一个临时的虚拟机,指向该虚拟磁盘文件,然后启动虚拟机,获取虚拟机的操作系统类型,也就是磁盘中的操作系统类型。

可以理解的是,根据虚拟磁盘文件获取磁盘中的操作系统类型的方式,可以通过上述创建临时的虚拟机的方式,也可以通过其他方式,只要可以获取磁盘中的操作系统类型,对于具体的获取方式,本实施例不做任何限制。

步骤103:根据所述操作系统类型选择对应的导入方法进行所述OVA文件的导入。

其中,根据操作系统类型选择对应的导入方法进行OVA文件的导入可以为通过获取的操作系统类型与预设的导入方法对应的操作系统类型进行比较,选择相同的操作类型对应的导入方法进行OVA文件的导入,如获取的操作系统类型为Redhat7,预设的导入方法virt-v2v方法对应的操作系统类型为Redhat7,预设的导入方法qemu-img方法对应的操作系统类型为其他类型,则选择virt-v2v方法进行OVA文件的导入;也可以为判断获取的操作系统类型是否属于预设的操作系统类型,然后选择对应的导入方法,如获取的操作系统类型为Redhat7,预设的操作系统类型为Redhat7或Centos7,选择的预设操作系统类型对应的virt-v2v方法进行OVA文件的导入,若获取的操作系统类型为Redhat7和Centos7之外的其他类型,则通过传统的qemu-img方法进行OVA文件的导入。本实施例对此不受任何限制。

可以理解的是,根据操作系统类型选择对应的导入方法进行OVA文件的导入还可以结合该OVA文件的导出方法,也就是该OVA文件的产品提供商的导出方法,如根据解压该OVA文件获取的虚拟机配置文件,检测该OVA文件的导出方法,然后判断该OVA文件是否由用户或设计人员预设的操作系统类型对应的产品提供商导出的,若是,则再判断操作系统类型是否属于预设的操作系统类型;若否,则直接使用传统的导入方法进行该OVA文件的导入。只要可以根据操作系统类型选择对应的导入方法进行OVA文件的导入,对于具体的判断方式,本实施例不做任何限制。

本实施例中,本发明实施例通过解压OVA文件,可以获取OVA文件中的虚拟磁盘文件,然后根据虚拟磁盘文件获取磁盘中的操作系统类型,通过选择操作系统类型对应的导入方法对OVA文件进行所述OVA文件的导入,可以将不同虚拟化产品提供商也就是不同平台提供的OVA文件完美导入到用户的虚拟化产品上,提升了让用户体验。

请参考图2,图2为本发明实施例所提供的另一种OVA文件的导入方法的流程图,该方法可以包括:

步骤201:解压OVA文件,获取虚拟磁盘文件和虚拟机配置文件。

步骤202:根据虚拟机配置文件获取OVA文件的导出方法。

需要说明的是,本步骤也可以放在步骤204和步骤205之间,只要可以保证在步骤205之前获取OVA文件的导出方法,对于本步骤的位置本实施例不做任何限制。

步骤203:通过创建的用户磁盘文件的支持文件和临时配置文件,创建临时的虚拟机。

步骤204:启动虚拟机,查看虚拟磁盘文件对应的操作系统类型。

可以理解的是,步骤203和步骤204的目的是通过创建指向该虚拟磁盘文件的临时的虚拟机,查看该虚拟磁盘文件对应的操作系统类型,对于该虚拟机具体的创建方式,本实施例不做任何限制。

步骤205:判断OVA文件的导出方法是否为XEN或VMWare;若否,则进入步骤206;若是,则进入步骤207。

其中,本步骤的目的是通过判断该OVA文件的导出方式是否属于预设的操作系统的导出方式,也就是判断导出OVA文件的虚拟产品提供商是否为预设的虚拟产品提供商;若是,则进入步骤206查看操作系统类型,是否属于预设的操作系统类型;若否,则可以使用传统的导入方法(qemu-img方法)导入OVA文件。

可以理解的是,本步骤也可以放在步骤203和步骤204之间,也就是判断该OVA文件的导出方式属于预设的操作系统的导出方式后,再对操作系统类型进行检测,否则直接使用传统的导入方法对OVA文件进行导入。本实施例对此不受任何限制。

步骤206:使用qemu-img方法进行OVA文件的导入。

其中,qemu-img方法为传统的导入方法。

步骤207:判断操作系统类型是否为Redhat7或Centos7;若是,则进入步骤208;若否,则进入步骤206。

可以理解的是,本实施例是以XEN和VMWare这两个导出方法对应的Redhat7和Centos7操作系统类型作为预设的导出方法和操作系统类型为例进行的展示,还可以加入更多的预设导出方法及操作系统类型,进行更为复杂的选择过程,本实施例对此不受任何限制。

步骤208:使用virt-v2v方法进行OVA文件的导入。

需要说明的是,virt-v2v方法可以为XEN和VMWare这两个导出方法的Redhat7和Centos7操作系统类型对应的导入方法。

本实施例中,本发明实施例通过创建临时的虚拟机,可以检测虚拟磁盘文件对应的操作系统类型,通过虚拟机配置文件额可以获取OVA文件的导出方法,通过操作系统类型结合OVA文件的导出方法选择对应的导入方法进行OVA文件的导入,可以更加完美的导入不同虚拟化产品提供商也就是不同平台提供的OVA文件到用户的虚拟化产品上,进一步提升了让用户体验。

请参考图3,图3为本发明实施例所提供的一种OVA文件的导入装置的结构图。该装置可以包括:

解压模块100,用于解压OVA文件,获取虚拟磁盘文件;

操作系统获取模块200,用于根据所述虚拟磁盘文件获取磁盘中的操作系统类型;

选择导入模块300,用于根据所述操作系统类型选择对应的导入方法进行所述OVA文件的导入。

可选的,所述操作系统获取模块200,包括:

虚拟机创建子模块,用于通过创建的用户磁盘文件的支持文件和临时配置文件,创建临时的虚拟机;

操作系统获取子模块,用于启动所述虚拟机,查看所述虚拟磁盘文件对应的所述操作系统类型。

可选的,所述选择导入模块300,包括:

选择导入子模块,用于根据所述操作系统类型结合所述OVA文件的导出方法选择对应的导入方法进行所述OVA文件的导入。

可选的,所述解压模块100,包括:

解压子模块,用于解压所述OVA文件,获取所述虚拟磁盘文件和虚拟机配置文件;

导出方法获取模块,根据所述虚拟机配置文件获取所述OVA文件的导出方法。

可选的,所述选择导入子模块,包括:

第一判断单元,用于判断所述OVA文件的导出方法是否为XEN或VMWare;若否,则向第一导入单元发送第一导入信号;若是,则向第二判断单元发送判断信号;

第一导入单元,用于接收所述第一导入信号,使用qemu-img方法进行所述OVA文件的导入;

第二判断单元,用于判断所述操作系统类型是否为Redhat7或Centos7;若是,则向第二导入单元发送第二导入信号;若否,则向第一导入单元发送所述第一导入信号;

第二导入单元,用于接收所述第二导入信号,使用virt-v2v方法进行所述OVA文件的导入。

本实施例中,本发明实施例通过解压模块100解压OVA文件,可以获取OVA文件中的虚拟磁盘文件,然后通过操作系统获取模块200根据虚拟磁盘文件获取磁盘中的操作系统类型,通过选择导入模块300选择操作系统类型对应的导入方法对OVA文件进行所述OVA文件的导入,可以将不同虚拟化产品提供商也就是不同平台提供的OVA文件完美导入到用户的虚拟化产品上,提升了让用户体验。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

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

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的OVA文件的导入方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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