虚拟机向容器迁移的方法和装置制造方法及图纸

技术编号:17406446 阅读:29 留言:0更新日期:2018-03-07 04:29
本发明专利技术公开了一种虚拟机向容器迁移的方法和装置,涉及计算机技术领域。其中的虚拟机向容器迁移的方法包括:获取虚拟机的镜像文件;解析虚拟机的镜像文件,获取虚拟机的若干构造信息;根据构造信息的类型对应的容器镜像构造命令的语法格式,建立每个构造信息对应的构造命令;采用每个构造信息对应的构造命令形成容器的镜像构造文件;运行容器的镜像构造文件,以形成虚拟机镜像文件对应的容器的镜像文件。根据容器的镜像构造文件的语法结构,采用从虚拟机的镜像文件中获取的构造信息形成镜像构造文件,能够生成与原虚拟机具有相同环境、安装有相同应用的镜像文件,从而实现了虚拟机向容器的自动化迁移,提高了迁移效率。

A method and device for moving a virtual machine to a container

The invention discloses a method and device for the migration of a virtual machine to a container, which relates to the field of computer technology. The method includes the migration of virtual machines to the container: access to the virtual machine image file; analysis of the virtual machine image file, some structural information acquisition virtual machine; according to the container mirror image structure information of the corresponding type of command syntax structure, ordered the building of each structure information corresponding to the command structure corresponding to each structure; the information form mirror document container; mirror image file to run the container, the container to form a corresponding virtual machine image file of the image file. According to the grammatical structure of mirror image file container of the structural information obtained from the virtual machine image file in the formation of mirror image file, and can generate the original virtual machine with the same environment, have the same application file, so as to realize the virtual machine to the automatic migration container, improve transport efficiency.

【技术实现步骤摘要】
虚拟机向容器迁移的方法和装置
本专利技术涉及计算机
,特别涉及一种虚拟机向容器迁移的方法和装置。
技术介绍
容器技术由于其轻量级、高性能、快速启动和停止等优势,正逐渐替代许多虚拟机的使用场景。因此,存在将原本部署在虚机中的应用向容器迁移,以及保证迁移后与原有应用保持一致的需求。由于虚拟机和容器的架构完全不同,通过现有技术无法直接将虚拟机镜像转换成可直接运行在容器中的容器镜像。因此,需要逐一迁移虚拟机中的应用,导致迁移难度大、成本高。
技术实现思路
本专利技术实施例所要解决的一个技术问题是:提供一种高效、简便的虚拟机向容器迁移的方法。根据本专利技术实施例的一个方面,提供的一种虚拟机向容器迁移的方法,包括:获取虚拟机的镜像文件;解析虚拟机的镜像文件,获取虚拟机的若干构造信息;根据构造信息的类型对应的容器镜像构造命令的语法格式,建立每个构造信息对应的构造命令;采用每个构造信息对应的构造命令形成容器的镜像构造文件;运行容器的镜像构造文件,以形成虚拟机镜像文件对应的容器的镜像文件。在一个实施例中,解析虚拟机的镜像文件,获取虚拟机的若干构造信息包括:确定构造容器的镜像文件时所需的构造信息的类型,根据构造信息的类型对应的文件标识,从虚拟机的镜像文件中获取文件标识对应的文件中的构造信息。在一个实施例中,解析虚拟机的镜像文件,获取虚拟机的若干构造信息包括:向构造信息读取工具中输入构造信息对应的读取命令;构造信息读取工具执行构造信息读取命令并从虚拟机的镜像文件中提取的虚拟机的构造信息;获取构造信息读取工具输出的构造信息。在一个实施例中,根据构造信息的类型对应的容器镜像构造文件的语法格式,建立每个构造信息对应的构造命令包括:获取构造信息的类型对应的容器镜像构造命令的模板,模板包括指令部分和参数部分;将模板中的参数部分替换为构造信息,从而形成构造信息对应的构造命令。在一个实施例中,采用每个构造信息对应的构造命令形成容器的镜像构造文件包括:获取容器的镜像构造文件中构造命令的排列顺序;按照排列顺序依次将构造命令写入容器的镜像构造文件。在一个实施例中,构造信息包括虚拟机的操作系统版本、虚拟机的内核版本、虚拟机的驱动类型、虚拟机的磁盘文件系统目录、虚拟机安装的应用列表、虚拟机安装的应用的环境变量、虚拟机应用的配置文件路径中的至少一个。根据本专利技术实施例的第二个方面,提供一种虚拟机向容器迁移的装置,包括:虚拟机镜像文件获取模块,用于获取虚拟机的镜像文件;构造信息获取模块,用于解析虚拟机的镜像文件,获取虚拟机的若干构造信息;构造命令建立模块,用于根据构造信息的类型对应的容器镜像构造命令的语法格式,建立每个构造信息对应的构造命令;镜像构造文件形成模块,用于采用每个构造信息对应的构造命令形成容器的镜像构造文件;容器镜像文件形成模块,用于运行容器的镜像构造文件,以形成虚拟机镜像文件对应的容器的镜像文件。在一个实施例中,构造信息获取模块用于确定构造容器的镜像文件时所需的构造信息的类型,根据构造信息的类型对应的文件标识,从虚拟机的镜像文件中获取文件标识对应的文件中的构造信息。在一个实施例中,构造信息获取模块包括:读取命令输入单元,用于向构造信息读取工具中输入构造信息对应的读取命令;读取命令执行单元,用于执行构造信息读取命令并从虚拟机的镜像文件中提取的虚拟机的构造信息;构造信息获取单元,用于获取读取命令执行单元输出的构造信息。在一个实施例中,构造命令建立模块包括:模板获取单元,用于获取构造信息的类型对应的容器镜像构造命令的模板,模板包括指令部分和参数部分;构造命令形成单元,用于将模板中的参数部分替换为构造信息,从而形成构造信息对应的构造命令。在一个实施例中,镜像构造文件形成模块包括:排列顺序获取单元,用于获取容器的镜像构造文件中构造命令的排列顺序;构造命令写入单元,用于按照排列顺序依次将构造命令写入容器的镜像构造文件。在一个实施例中,构造信息包括虚拟机的操作系统版本、虚拟机的内核版本、虚拟机的驱动类型、虚拟机的磁盘文件系统目录、虚拟机安装的应用列表、虚拟机安装的应用的环境变量、虚拟机应用的配置文件路径中的至少一个。本专利技术根据容器的镜像构造文件的语法结构,采用从虚拟机的镜像文件中获取的构造信息形成镜像构造文件,能够生成与原虚拟机具有相同环境、安装有相同应用的镜像文件,从而实现了虚拟机向容器的自动化迁移,提高了迁移效率。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术虚拟机向容器迁移的方法的一个实施例的流程图。图2为本专利技术虚拟机向容器迁移的装置的一个实施例的结构图。图3为本专利技术虚拟机向容器迁移的装置的另一个实施例的结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术虚拟机向容器迁移的方法的一个实施例的流程图。如图1所示,该实施例的方法包括:步骤S102,获取虚拟机的镜像文件。其中,可以使用虚拟机运行工具创建虚拟机的镜像文件。例如,可以使用KVM(Kernel-basedVirtualMachine,基于内核的虚拟机)、VMWARE(威睿虚拟机软件)中的创建镜像的指令创建虚拟机的镜像文件。步骤S104,解析虚拟机的镜像文件,获取虚拟机的若干构造信息。其中,构造信息可以包括虚拟机的操作系统版本、虚拟机的内核版本、虚拟机的驱动类型、虚拟机的磁盘文件系统目录、虚拟机安装的应用列表、虚拟机安装的应用的环境变量、虚拟机应用的配置文件路径等等。获取构造信息的一个实施例为,确定构造容器的镜像文件时所需的构造信息的类型,根据构造信息的类型对应的文件标识,从虚拟机的镜像文件中获取文件标识对应的文件中的构造信息。例如,Linux系统通常将环境变量保存在profile文件中。通过识别profile文件,则可以获取环境变量信息。获取构造信息的另一个实施例为,首先向构造信息读取工具中输入构造信息对应的读取命令,然后构造信息读取工具执行构造信息读取命令并从虚拟机的镜像文件中提取的虚拟机的构造信息,最后获取构造信息读取工具输出的构造信息。libguestfs(虚拟机镜像访问工具库)是一种用于访问或修改虚拟机镜像文件的工具。libguestfs提供了一些命令,可以获取虚拟机镜像文件的一些信息。例如,virt-inspector2命令可以显示虚拟机镜像文件的操作系统版本、挂载点、文件系统格式等信息,并且每种不同的信息写在不同的标签中,可以通过识别该指令的执行结果中的标签名称获取相应的构造信息。步骤S106,根据构造信息的类型对应的容器镜像构造命本文档来自技高网...
虚拟机向容器迁移的方法和装置

【技术保护点】
一种虚拟机向容器迁移的方法,其特征在于,包括:获取虚拟机的镜像文件;解析所述虚拟机的镜像文件,获取虚拟机的若干构造信息;根据所述构造信息的类型对应的容器镜像构造命令的语法格式,建立每个构造信息对应的构造命令;采用每个构造信息对应的构造命令形成容器的镜像构造文件;运行所述容器的镜像构造文件,以形成所述虚拟机镜像文件对应的容器的镜像文件。

【技术特征摘要】
1.一种虚拟机向容器迁移的方法,其特征在于,包括:获取虚拟机的镜像文件;解析所述虚拟机的镜像文件,获取虚拟机的若干构造信息;根据所述构造信息的类型对应的容器镜像构造命令的语法格式,建立每个构造信息对应的构造命令;采用每个构造信息对应的构造命令形成容器的镜像构造文件;运行所述容器的镜像构造文件,以形成所述虚拟机镜像文件对应的容器的镜像文件。2.根据权利要求1所述的方法,其特征在于,所述解析所述虚拟机的镜像文件,获取虚拟机的若干构造信息包括:确定构造容器的镜像文件时所需的构造信息的类型,根据所述构造信息的类型对应的文件标识,从虚拟机的镜像文件中获取所述文件标识对应的文件中的构造信息。3.根据权利要求1所述的方法,其特征在于,所述解析所述虚拟机的镜像文件,获取虚拟机的若干构造信息包括:向构造信息读取工具中输入所述构造信息对应的读取命令;构造信息读取工具执行所述构造信息读取命令并从所述虚拟机的镜像文件中提取所述的虚拟机的构造信息;获取所述构造信息读取工具输出的构造信息。4.根据权利要求1所述的方法,其特征在于,所述根据所述构造信息的类型对应的容器镜像构造文件的语法格式,建立每个构造信息对应的构造命令包括:获取所述构造信息的类型对应的容器镜像构造命令的模板,所述模板包括指令部分和参数部分;将所述模板中的参数部分替换为所述构造信息,从而形成所述构造信息对应的构造命令。5.根据权利要求1所述的方法,其特征在于,所述采用每个构造信息对应的构造命令形成容器的镜像构造文件包括:获取容器的镜像构造文件中构造命令的排列顺序;按照所述排列顺序依次将构造命令写入容器的镜像构造文件。6.根据权利要求1~6中任一项所述的方法,其特征在于,所述构造信息包括虚拟机的操作系统版本、虚拟机的内核版本、虚拟机的驱动类型、虚拟机的磁盘文件系统目录、虚拟机安装的应用列表、虚拟机安装的应用的环境变量、虚拟机应用的配置文件路径中的至少一个。7.一种虚拟机向容器迁移的装置,其特征在于,包...

【专利技术属性】
技术研发人员:严丽云梁柏青杨新章陆钢何震苇
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1