CN111796903A - 一种虚拟机的迁移方法、服务器和计算机存储介质 - Google Patents
一种虚拟机的迁移方法、服务器和计算机存储介质 Download PDFInfo
- Publication number
- CN111796903A CN111796903A CN201910277563.8A CN201910277563A CN111796903A CN 111796903 A CN111796903 A CN 111796903A CN 201910277563 A CN201910277563 A CN 201910277563A CN 111796903 A CN111796903 A CN 111796903A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- file
- migrated
- kvm
- migration
- 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.)
- Pending
Links
Images
Classifications
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种虚拟机的迁移方法,该方法包括:从VMware中获取待迁移虚拟机的迁移文件,将待迁移虚拟机的迁移文件传输至KVM,将KVM中的待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件,根据KVM中的文件格式转化后的迁移文件,在KVM中创建待迁移虚拟机。本发明实施例还同时公开了一种服务器和计算机存储介质,自动化地完成待迁移虚拟机的迁移,使得迁移操作简单化,从而提高了虚拟机迁移的迁移效率。
Description
技术领域
本发明涉及虚拟机的迁移技术,尤其涉及一种虚拟机的迁移方法、服务器和计算机存储介质。
背景技术
目前,云计算发展迅猛,在企业中应用非常广泛,VMware(VMware,VirtualMachine ware)是成熟的商业云计算虚拟化平台,KVM(KVM,Kernel-based VirtualMachine)是稳定可靠免费的开源虚拟化平台,VMware是目前主流的云计算虚拟化平台,但VMware虚拟化平台收费昂贵、技术闭源、维护成本高,同时KVM成熟免费开源,因此,将虚拟机从VMware虚拟化平台迁移到KVM虚拟化平台的需求越来越多。
将虚拟机从VMware虚拟化平台迁移到KVM虚拟化平台,通常采用手动操作,在计算机处于关机状态下,将VMware的虚拟机的磁盘文件导出,并将导出的磁盘文件转化成qcow2文件格式,再修改虚拟机的配置文件,最终启动KVM的虚拟机,从而完成虚拟机从VMware迁移到KVM上,然而,该方法步骤多,实际操作复杂,使其耗时长且容易出错,导致效率低下;由此可以看出,现有的迁移方法存在迁移效率低下的技术问题。
发明内容
有鉴于此,本发明实施例期望提供一种虚拟机的迁移方法、服务器和计算机存储介质,以解决现有技术中存在的迁移效率低下的技术问题。
本申请的技术方案是这样实现的:
第一方面,本申请实施例提供了一种虚拟机的迁移方法,所述方法包括:
从VMware中获取待迁移虚拟机的迁移文件;其中,所述迁移文件为支持所述待迁移虚拟机处于运行状态的文件;
将所述待迁移虚拟机的迁移文件传输至KVM;
将所述KVM中的所述待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件;
根据所述KVM中的所述文件格式转化后的迁移文件,在所述KVM中创建所述待迁移虚拟机。
在上述方法中,所述方法还包括:
判断在所述KVM中是否安装virtio驱动;
当在所述KVM中没有安装所述virtio驱动时,在所述KVM中安装所述virtio驱动;
其中,所述virtio驱动用于在所述KVM中创建所述待迁移虚拟机。
在上述方法中,所述待迁移虚拟机的迁移文件包括:所述待迁移虚拟机的磁盘文件;
或者,所述待迁移虚拟机的迁移文件还包括:
所述待迁移虚拟机的磁盘文件,第一次快照至第N次快照;
其中,第一次快照为基于所述磁盘文件的增量快照;第N次快照为基于第N-1次快照的增量快照;N为大于等于1的正整数。
在上述方法中,所述方法还包括:
在将所述磁盘文件、第一次快照直至第M次快照传输至所述KVM之后,接收到暂停指令;其中,M为大于等于1小于等于N的正整数;
根据所述暂停指令,控制所述VMware中的所述待迁移虚拟机暂停处理数据。
在上述方法中,所述将所述待迁移虚拟机的迁移文件传输至KVM,包括:
检测传输网络带宽;
当所述传输网络带宽小于预设阈值时,将所述磁盘文件进行分割,得到分割后的磁盘文件块;
将所述分割后的磁盘文件块进行加密后传输至所述KVM。
在上述方法中,所述将所述分割后的磁盘文件块传输至所述KVM,包括:
为所述分割后的磁盘文件块,确定传输优先级;
按照确定出的传输优先级,将所述分割后的磁盘文件块进行加密后传输至所述KVM。
在上述方法中,在将所述KVM中所述待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件,以使所述KVM根据所述文件格式转化后的迁移文件创建所述待迁移虚拟机之后,所述方法还包括:
为所述KVM中的待迁移虚拟机获取测试脚本,以及获取所述测试脚本相对应的结果;
根据所述测试脚本,对所述KVM中的待迁移虚拟机进行测试,得到测试结果;
判断所述测试结果是否与所述测试脚本相对应的结果相匹配;
当所述测试结果与所述测试脚本相对应的结果匹配时,确定所述待迁移虚拟机迁移成功;
当所述测试结果与所述测试脚本相对应的结果不匹配时,确定所述待迁移虚拟机迁移异常。
第二方面,本发明实施例提供了一种服务器,所述服务器包括:
获取单元,用于从VMware中获取待迁移虚拟机的迁移文件;其中,所述迁移文件为支持所述待迁移虚拟机处于运行状态的文件;
传输单元,用于将所述待迁移虚拟机的迁移文件传输至KVM;
转化单元,用于将所述KVM中的所述待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件;
创建单元,用于根据所述KVM中的所述文件格式转化后的迁移文件,在所述KVM中创建所述待迁移虚拟机。
在上述服务器中,该服务器还包括:安装单元,用于:
判断在所述KVM中是否安装virtio驱动;
当在所述KVM中没有安装所述virtio驱动时,在所述KVM中安装所述virtio驱动;
其中,所述virtio驱动用于在所述KVM中创建所述待迁移虚拟机。
在上述服务器中,所述待迁移虚拟机的迁移文件包括:所述待迁移虚拟机的磁盘文件;
或者,所述待迁移虚拟机的迁移文件包括:
所述待迁移虚拟机的磁盘文件,第一次快照至第N次快照;
其中,第一次快照为基于所述磁盘文件的增量快照;第N次快照为基于第N-1次快照的增量快照;N为大于等于1的正整数。
在上述服务器中,所述服务器还包括:暂停单元,用于:
在将所述磁盘文件、第一次快照直至第M次快照传输至所述KVM之后,接收到暂停指令;其中,M为大于等于1小于等于N的正整数;
根据所述暂停指令,控制所述VMware中的所述待迁移虚拟机暂停处理数据。
在上述服务器中,所述传输单元还包括:
检测子单元,用于检测传输网络带宽;
分割子单元,用于当所述传输网络带宽小于预设阈值时,将所述磁盘文件进行分割,得到分割后的磁盘文件块;
加密子单元,用于将所述分割后的磁盘文件块进行加密后传输至所述KVM。
在上述服务器中,所述加密子单元,具体用于:
为所述分割后的磁盘文件块,确定传输优先级;
按照确定出的传输优先级,将所述分割后的磁盘文件块进行加密后传输至所述KVM。
在上述服务器中,所述服务器还包括:检测单元,用于:
在将所述KVM中所述待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件,以使所述KVM根据所述文件格式转化后的迁移文件创建所述待迁移虚拟机之后,为所述KVM中的待迁移虚拟机获取测试脚本,以及获取所述测试脚本相对应的结果;
根据所述测试脚本,对所述KVM中的待迁移虚拟机进行测试,得到测试结果;
判断所述测试结果是否与所述测试脚本相对应的结果相匹配;
当所述测试结果与所述测试脚本相对应的结果匹配时,确定所述待迁移虚拟机迁移成功;
当所述测试结果与所述测试脚本相对应的结果不匹配时,确定所述待迁移虚拟机迁移异常。
第三方面,本申请实施例还提供了一种服务器,所述服务器包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述一个或多个实施例所述虚拟机的迁移方法。
本申请实施例提供了一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行上述一个或多个实施例所述虚拟机的迁移方法。
本发明实施例所提供的一种虚拟机的迁移方法、服务器和计算机存储介质,该方法包括:首先,从VMware中获取待迁移虚拟机的迁移文件,该迁移文件为支持待迁移虚拟机处于运行状态的文件,然后,将待迁移虚拟机的迁移文件传输至KVM,再将KVM中的待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件,最后,根据KVM中的文件格式转化后的迁移文件,在KVM中创建待迁移虚拟机;也就是说,在本发明实施例中,服务器先将从VMware中获取到待迁移虚拟机的迁移文件,即支持待迁移虚拟机处于运行状态的文件,传输至KVM,通过对KVM中的迁移文件进行文件格式转化,由于经过文件格式转化后的迁移文件能够适用于KVM,如此,服务器就可以根据文件格式转化后的迁移文件在KVM中创建待迁移虚拟机,这样,在整个迁移的过程中,不需要人工干预就可以自动化地完成待迁移虚拟机的迁移,使得迁移操作简单化,智能化的迁移方法提高了虚拟机迁移的迁移效率。
附图说明
图1为本发明实施例中的一种可选的虚拟机的迁移方法的流程示意图;
图2为本发明实施例中的另一种可选的虚拟机的迁移方法的流程示意图;
图3为本发明实施例中的一种可选的虚拟机的迁移方法的实例的流程示意图;
图4为本发明实施例中的另一种可选的虚拟机的迁移方法的实例的流程示意图;
图5为本发明实施例中的服务器的结构示意图一;
图6为本发明实施例中的服务器的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供一种虚拟机的迁移方法,图1为本发明实施例中的一种可选的虚拟机的迁移方法的流程示意图,如图1所示,该虚拟机的迁移方法可以包括:
S101:从VMware中获取待迁移虚拟机的迁移文件;
目前,由于VMware这个虚拟化平台收费昂贵、技术闭源、维护成本高,然而,KVM这个虚拟化平台成熟免费开放,所以,越来越多的用户将虚拟机从VMware迁移到KVM,通常由管理人员采用手动的操作来完成虚拟机的迁移,采用手动操作一般有两种方法,一种是将VMware中的虚拟机的磁盘文件导出,并将导出的磁盘文件转化成qcow2的文件格式,再修改虚拟机的配置文件,最终启动虚拟机;另一种是通过virt-v2v开源工具迁移关机的虚拟机;但是,手动操作步骤繁琐,导致迁移效率低下。
为了提高虚拟机的迁移效率,采用一个专门用于迁移虚拟机的电子设备,例如,一个独立的服务器,或者,设置于VMware所在的计算机上一个具有虚拟机的迁移功能模块,或者,设置于KVM所在的计算机上一个具有虚拟机的迁移功能模块,这里,本发明实施例不作具体限定。
下面以服务器为例,首先,服务器从VMware中获取待迁移虚拟机的迁移文件,其中,迁移文件为支持待迁移虚拟机处于运行状态的文件;也就是说,服务器先从VMware中获取支持待迁移虚拟机处于运行状态的文件。
具体来说,支持创建并启动一个虚拟机必须具有虚拟机的磁盘文件,所以,待迁移虚拟机的迁移文件包括:待迁移虚拟机的磁盘文件。
在一种可选的实施例中,待迁移虚拟机的迁移文件还包括:
第一次快照至第N次快照;
由于虚拟机的迁移是在VMware所在计算机和KVM所在计算机均开机的状态下进行的,在开机状态下虚拟机在运行时为了将虚拟机的当前状态迁移至KVM中,这里,WMware所在的计算机创建虚拟机的第一次快照,第二次快照……直至第N次快照,使得服务器可以从WMware中获取第一次快照,第二次快照……第N次快照;其中,第一次快照为基于磁盘文件的增量快照;第N次快照为基于第N-1次快照的增量快照;N为大于等于1的正整数。
这样,将增量快照和磁盘文件作为迁移文件传输至KVM中,使得迁移到KVM中的虚拟机可以保持迁移前的运行状态;同时,迁移文件中所包含的增量快照,文件容量小,有利于快速传输,从而提高了迁移文件的传输速度,进而可以提高虚拟机的迁移效率。
S102:将待迁移虚拟机的迁移文件传输至KVM;
具体来说,在获取到待迁移虚拟机的迁移文件之后,将迁移文件传输至KVM中,其中,当迁移文件仅仅包括待迁移虚拟机的磁盘文件时,在一种可选的实施例中,图2为本发明实施例中的另一种可选的虚拟机的迁移方法的流程示意图,参考图2所示,S102可以包括:
S201:检测传输网络带宽;
S202:当传输网络带宽小于预设阈值时,将磁盘文件进行分割,得到分割后的磁盘文件块;
S203:将分割后的磁盘文件块进行加密后传输至KVM。
首先,检测传输网络带宽,当传输网络带宽大于等于预设阈值时,说明磁盘文件相对于传输网络带宽来说,属于小容量的磁盘文件,所以将磁盘文件进行压缩加密后直接传输至KVM,通过加密可以保证数据的安全传输,从计算出的压缩时间和传输时间来看,提高了数据的传输效率;当传输网络带宽小于预设阈值时,说明磁盘文件相对于传输网络带宽来说,属于大容量的磁盘文件,所以,将磁盘文件进行分割,其中,服务器是按照磁盘文件的逻辑关系进行分割的,例如,按照逻辑关系中关联性来分割,并将分割后的磁盘文件块进行加密后传输至KVM。
在一种可选的实施例中,S203可以包括:
为分割后的磁盘文件块,确定传输优先级;
按照确定出的传输优先级,将分割后的磁盘文件块进行加密后传输至KVM。
这里,为分割后的磁盘文件块确定传输优先级,具体来说,分割后的磁盘文件块具有不同的重要等级,服务器按照分割后的磁盘文件块的重要等级来确定传输优先级,重要等级较高的传输优先级较高,重要等级越低的传输优先级别越低,这样,按照确定出的传输优先级将分割后的磁盘文件块进行加密后传输,保证了数据的安全传输和传输效率。
这里,需要说明的是,当迁移文件包含磁盘文件、第一次快照,第二次快照……第N次快照时,可以分次传输迁移文件,例如,服务器先从VMware中获取虚拟机的磁盘文件和第一次快照,那么就先将虚拟机的磁盘文件和第一次快照传输至KVM中,然后,再将获取到的第二次快照传输至KVM中,依次类推,直至将第N次快照传输至KVM中。
S103:将KVM中的待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件;
具体来说,通过S102将迁移文件传输至KVM,为了在KVM中创建待迁移虚拟机,需要将迁移文件的文件格式进行转化,使得可以在KVM中创建待迁移虚拟机,针对KVM来说,可以将迁移文件转化为qcow2的文件格式,还可以将迁移文件的文件格式转化为raw的文件格式,这里,本发明实施例不做具体限定。
S104:根据KVM中的文件格式转化后的迁移文件,在KVM中创建待迁移虚拟机。
服务器将KVM中的迁移文件转化为qcow2的文件格式后,服务器生成创建指令,通过创建指令控制KVM,根据KVM中的文件格式转化后的迁移文件,在KVM中创建待迁移虚拟机。
其中,当KVM中依次接收到待迁移虚拟机的磁盘文件和第一次快照,第二次快照之后,可以将第一次快照与第二次快照简单的组合方式进行叠加,依次类推,直至接收到第N次快照,以在KVM中创建待迁移虚拟机;其中,由于第一次快照和第二次快照都是增量快照,创建快照后,磁盘文件不再改变,数据变化都在增量快照中,这样,依次传输的增量快照容量小,传输速度块。
为了验证KVM中的待迁移虚拟机是否迁移成功,在一种可选的实施例中,在S104之后,该方法还可以包括:
为KVM中的待迁移虚拟机获取测试脚本,以及获取测试脚本相对应的结果;
根据测试脚本,对KVM中的待迁移虚拟机进行测试,得到测试结果;
判断测试结果是否与测试脚本相对应的结果相匹配;
当测试结果与测试脚本相对应的结果匹配时,确定待迁移虚拟机迁移成功;
当测试结果与测试脚本相对应的结果不匹配时,确定待迁移虚拟机迁移异常。
这里,服务器可以预先存储有待迁移虚拟机的测试脚本以及测试脚本相对应的结果,还可以是用户输入的测试脚本以及测试脚本相对应的结果;其中,该测试脚本可以包括系统脚本和业务脚本,系统脚本如检查系统中某个进程是否正常运行或者网络端口是否连通,业务脚本如根据服务的提供具体业务来实现的,例如查询数据库中的数据等等。
在获取到测试脚本以及测试脚本相对应的结果之后,用测试脚本对KVM中的待迁移虚拟机进行测试得到测试结果,例如,当测试脚本为检查系统中的某个进程是否正常运行,经过测试,得到测试结果,判断测试结果是否与测试脚本相对应的结果匹配,若匹配,说明系统中的某个进程是正常运行的,所以,可以确定待迁移虚拟机迁移成功;否则,说明系统中的某个进程是异常的,可以确定待迁移虚拟机迁移异常,需要进一步检查。
另外,在KVM中创建待迁移虚拟机时,KVM中需要安装virtio驱动,在一种可选的实施例中,该方法还可以包括:
判断在KVM中是否安装virtio驱动;
当在KVM中没有安装virtio驱动,在KVM中安装virtio驱动;
其中,virtio驱动用于在KVM中创建待迁移虚拟机。
具体来说,服务器在KVM中创建待迁移虚拟机之前,先判断KVM是否安装有virtio驱动,若在KVM中安装virtio驱动,那么,服务器不需要在KVM上再去安装virtio驱动,若在KVM中没有安装virtio驱动,那么,需要在KVM中安装virtio驱动,以保证服务器在KVM中建立的能够正常启动的待迁移虚拟机。
在一种可选的实施例中,该方法还可以包括:
在将磁盘文件、第一次快照直至第M次快照传输至KVM之后,接收到暂停指令;其中,M为大于等于1小于等于N的正整数;
根据暂停指令,控制VMware中的待迁移虚拟机暂停处理数据。
具体来说,当进行分次传输的过程中,为了保证快照文件的有效性,可以预先在传输完预设的快照之后,例如,传输完第M次快照之后,通过暂停指令,控制控制VMware中的待迁移虚拟机暂停处理数据,其中,暂停处理数据可以包括:暂停虚拟机的收发数据,暂停虚拟机运行所产生的运行数据等等;这样,VMware不会再生成快照,保证了快照文件的有效性,从而保证了迁移的实时性。
下面举实例来对上述一个或多个实施例所述的虚拟机的迁移方法进行说明。
图3为本发明实施例中的一种可选的虚拟机的迁移方法的实例的流程示意图,参考图3所示,服务器为一个独立的电子设备,即图3中的迁移工具,该迁移工具分别与VMware所在的计算机和KVM所在的计算机建立有通信连接(图3中带双箭头的虚线所示),该迁移工具可以包括:控制模块,驱动模块、传输模块、转化模块,检验模块和通信模块;其中,
控制模块,用于:提供与用户友好的交互界面,负责与用户进行交互,并与其他各模块进行通信,确保用户的指令能够正确的执行。
驱动模块,用于:虚拟机驱动的安装,将驱动存放在迁移工具中,在虚拟机迁移前,检查在KVM中是否安装virtio驱动,若没有,在KVM中安装相应的驱动程序。
传输模块,用于:将从VMware中获取到的迁移文件传输到KVM平台,该模块会随机生成秘钥,对传输的数据进行加密传输。
具体来说,在传输迁移文件之前,VMware平台先获取磁盘文件和第一次快照,依次类推,直至第N次快照;图4为本发明实施例中的另一种可选的虚拟机的迁移方法的实例的流程示意图,参考图4所示,VMware平台获取原始磁盘,从原始磁盘中获取待迁移虚拟机的磁盘文件和第一次快照(图4中的增量快照1),然后获取第二次快照(图4中的增量快照2);依次类推,直至获取到第N次快照。
转化模块,用于:在KVM平台中将拷贝的磁盘文件转化为KVM中使用的文件格式,例如,qcow2的文件格式或者raw的文件格式。
检验模块,用于:管理测试脚本,管理员添加或修改测试脚本,虚拟机迁移完毕后通过选择合适的测试脚本对在KVM中的虚拟机进行功能验证。
通信模块,用于:连接VMware平台和KVM平台,确保迁移工具与VMware所在的计算机和KVM所在的计算机保持连接。
通过上述实例,采用图形化的用户界面,用户操作友好,简单,具有批量迁移虚拟机的功能,方便用户迁移数量较多的虚拟机,自动化地迁移,无需要人工过多干预,保证迁移流程可控,稳定,且迁移操作快捷简单,通过迁移工具可以简单的完成虚拟机的迁移,在虚拟机开机的状态下完成虚拟机的迁移,对迁移完成的虚拟机进行功能验证,确保虚拟机的准确性。
本发明实施例所提供的一种虚拟机的迁移方法,该方法包括:首先,从VMware中获取待迁移虚拟机的迁移文件,该迁移文件为支持待迁移虚拟机处于运行状态的文件,然后,将待迁移虚拟机的迁移文件传输至KVM,再将KVM中的待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件,最后,根据KVM中的文件格式转化后的迁移文件,在KVM中创建待迁移虚拟机;也就是说,在本发明实施例中,服务器先将从VMware中获取到待迁移虚拟机的迁移文件,即支持待迁移虚拟机处于运行状态的文件,传输至KVM,通过对KVM中的迁移文件进行文件格式转化,由于经过文件格式转化后的迁移文件能够适用于KVM,如此,服务器就可以根据文件格式转化后的迁移文件在KVM中创建待迁移虚拟机,这样,在整个迁移的过程中,不需要人工干预就可以自动化地完成待迁移虚拟机的迁移,使得迁移操作简单化,智能化的迁移方法提高了虚拟机迁移的迁移效率。
基于同一发明构思,本实施例提供一种服务器,图5为本发明实施例中的服务器的结构示意图一,如图5所示,该服务器包括:获取单元51、传输单元52、转化单元53和创建单元54;
其中,获取单元51,用于从VMware中获取待迁移虚拟机的迁移文件;其中,迁移文件为支持待迁移虚拟机处于运行状态的文件;
传输单元52,用于将待迁移虚拟机的迁移文件传输至KVM;
转化单元53,用于将KVM中的待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件;
创建单元54,用于根据KVM中的文件格式转化后的迁移文件,在KVM中创建待迁移虚拟机。
在一种可选的实施例中,该服务器还包括:安装单元,用于:
判断在KVM中是否安装virtio驱动;
当在KVM中没有安装virtio驱动时,在KVM中安装virtio驱动;
其中,virtio驱动用于在KVM中创建待迁移虚拟机。
在一种可选的实施例中,待迁移虚拟机的迁移文件包括:待迁移虚拟机的磁盘文件;
或者,待迁移虚拟机的迁移文件包括:
所述待迁移虚拟机的磁盘文件,第一次快照至第N次快照;
其中,第一次快照为基于磁盘文件的增量快照;第N次快照为基于第N-1次快照的增量快照;N为大于等于1的正整数。
在一种可选的实施例中,该服务器还包括:暂停单元,用于:
在将磁盘文件、第一次快照直至第M次快照传输至KVM之后,接收到暂停指令;其中,M为大于等于1小于等于N的正整数;
根据暂停指令,控制VMware中的待迁移虚拟机暂停处理数据。
在一种可选的实施例中,该传输单元还包括:
检测子单元,用于检测传输网络带宽;
分割子单元,用于当传输网络带宽小于预设阈值时,将磁盘文件进行分割,得到分割后的磁盘文件块;
加密子单元,用于将分割后的磁盘文件块进行加密后传输至KVM。
在一种可选的实施例中,该加密子单元,具体用于:
为分割后的磁盘文件块,确定传输优先级;
按照确定出的传输优先级,将分割后的磁盘文件块进行加密后传输至KVM。
在一种可选的实施例中,该服务器还包括:检测单元,用于:
在将KVM中待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件,以使KVM根据文件格式转化后的迁移文件创建待迁移虚拟机之后,为KVM中的待迁移虚拟机获取测试脚本,以及获取测试脚本相对应的结果;
根据测试脚本,对KVM中的待迁移虚拟机进行测试,得到测试结果;
判断测试结果是否与测试脚本相对应的结果相匹配;
当测试结果与测试脚本相对应的结果匹配时,确定待迁移虚拟机迁移成功;
当测试结果与测试脚本相对应的结果不匹配时,确定待迁移虚拟机迁移异常。
在实际应用中,上述获取单元51、传输单元52、转化单元53、创建单元54、安装单元、检测子单元、分割子单元、加密子单元和检测单元可由位于服务器上的处理器实现,具体为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,MicroprocessorUnit)、数字信号处理器(DSP,Digital Signal Processing)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
图6为本申请实施例提供的一种服务器的结构示意图二,如图6所示,本申请实施例提供了一种服务器600,包括:
处理器61以及存储有所述处理器61可执行指令的存储介质62,所述存储介质62通过通信总线63依赖所述处理器61执行操作,当所述指令被所述处理器61执行时,执行上述实施例一所述的虚拟机的迁移方法。
需要说明的是,实际应用时,终端中的各个组件通过通信总线63耦合在一起。可理解,通信总线63用于实现这些组件之间的连接通信。通信总线63除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为通信总线63。
本申请实施例提供了一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行实施例一所述的虚拟机的迁移方法。
其中,计算机可读存储介质可以是磁性随机存取存储器(ferromagnetic randomaccess memory,FRAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (10)
1.一种虚拟机的迁移方法,其特征在于,包括:
从VMware中获取待迁移虚拟机的迁移文件;其中,所述迁移文件为支持所述待迁移虚拟机处于运行状态的文件;
将所述待迁移虚拟机的迁移文件传输至KVM;
将所述KVM中的所述待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件;
根据所述KVM中的所述文件格式转化后的迁移文件,在所述KVM中创建所述待迁移虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断在所述KVM中是否安装virtio驱动;
当在所述KVM中没有安装所述virtio驱动时,在所述KVM中安装所述virtio驱动;
其中,所述virtio驱动用于在所述KVM中创建所述待迁移虚拟机。
3.根据权利要求1所述的方法,其特征在于,所述待迁移虚拟机的迁移文件包括:所述待迁移虚拟机的磁盘文件;
或者,所述待迁移虚拟机的迁移文件包括:
所述待迁移虚拟机的磁盘文件,第一次快照至第N次快照;
其中,第一次快照为基于所述磁盘文件的增量快照;第N次快照为基于第N-1次快照的增量快照;N为大于等于1的正整数。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在将所述磁盘文件、第一次快照直至第M次快照传输至所述KVM之后,接收到暂停指令;其中,M为大于等于1小于等于N的正整数;
根据所述暂停指令,控制所述VMware中的所述待迁移虚拟机暂停处理数据。
5.根据权利要求3所述的方法,其特征在于,所述将所述待迁移虚拟机的迁移文件传输至KVM,包括:
检测传输网络带宽;
当所述传输网络带宽小于预设阈值时,将所述磁盘文件进行分割,得到分割后的磁盘文件块;
将所述分割后的磁盘文件块进行加密后传输至所述KVM。
6.根据权利要求5所述的方法,其特征在于,所述将所述分割后的磁盘文件块传输至所述KVM,包括:
为所述分割后的磁盘文件块,确定传输优先级;
按照确定出的传输优先级,将所述分割后的磁盘文件块进行加密后传输至所述KVM。
7.根据权利要求1所述的方法,其特征在于,在将所述KVM中所述待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件,以使所述KVM根据所述文件格式转化后的迁移文件创建所述待迁移虚拟机之后,所述方法还包括:
为所述KVM中的待迁移虚拟机获取测试脚本,以及获取所述测试脚本相对应的结果;
根据所述测试脚本,对所述KVM中的待迁移虚拟机进行测试,得到测试结果;
判断所述测试结果是否与所述测试脚本相对应的结果相匹配;
当所述测试结果与所述测试脚本相对应的结果匹配时,确定所述待迁移虚拟机迁移成功;
当所述测试结果与所述测试脚本相对应的结果不匹配时,确定所述待迁移虚拟机迁移异常。
8.一种服务器,其特征在于,所述服务器包括:
获取单元,用于从VMware中获取待迁移虚拟机的迁移文件;其中,所述迁移文件为支持所述待迁移虚拟机处于运行状态的文件;
传输单元,用于将所述待迁移虚拟机的迁移文件传输至KVM;
转化单元,用于将所述KVM中的所述待迁移虚拟机的迁移文件进行文件格式的转化,得到文件格式转化后的迁移文件;
创建单元,用于根据所述KVM中的所述文件格式转化后的迁移文件,在所述KVM中创建所述待迁移虚拟机。
9.一种服务器,其特征在于,所述服务器包括:
处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述的权利要求1至7任一项所述的虚拟机的迁移方法。
10.一种计算机存储介质,其特征在于,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行所述的权利要求1至7任一项所述的虚拟机的迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910277563.8A CN111796903A (zh) | 2019-04-08 | 2019-04-08 | 一种虚拟机的迁移方法、服务器和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910277563.8A CN111796903A (zh) | 2019-04-08 | 2019-04-08 | 一种虚拟机的迁移方法、服务器和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111796903A true CN111796903A (zh) | 2020-10-20 |
Family
ID=72805020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910277563.8A Pending CN111796903A (zh) | 2019-04-08 | 2019-04-08 | 一种虚拟机的迁移方法、服务器和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111796903A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918284A (zh) * | 2021-10-13 | 2022-01-11 | 江苏安超云软件有限公司 | 云主机批量迁移的方法及装置、电子设备和存储介质 |
CN116383090A (zh) * | 2023-05-29 | 2023-07-04 | 麒麟软件有限公司 | 一种用于麒麟系统迁移工具的自动化测试方法及平台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201702A (zh) * | 2016-07-19 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 虚拟机迁移的方法、系统及云计算管理平台 |
CN106569876A (zh) * | 2016-11-11 | 2017-04-19 | 郑州云海信息技术有限公司 | 一种基于直接设备访问模型的虚拟机迁移的方法及装置 |
-
2019
- 2019-04-08 CN CN201910277563.8A patent/CN111796903A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201702A (zh) * | 2016-07-19 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 虚拟机迁移的方法、系统及云计算管理平台 |
CN106569876A (zh) * | 2016-11-11 | 2017-04-19 | 郑州云海信息技术有限公司 | 一种基于直接设备访问模型的虚拟机迁移的方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918284A (zh) * | 2021-10-13 | 2022-01-11 | 江苏安超云软件有限公司 | 云主机批量迁移的方法及装置、电子设备和存储介质 |
CN116383090A (zh) * | 2023-05-29 | 2023-07-04 | 麒麟软件有限公司 | 一种用于麒麟系统迁移工具的自动化测试方法及平台 |
CN116383090B (zh) * | 2023-05-29 | 2023-08-22 | 麒麟软件有限公司 | 一种用于麒麟系统迁移工具的自动化测试方法及平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10613788B2 (en) | Data migration between cloud storage systems | |
US11509505B2 (en) | Method and apparatus for operating smart network interface card | |
US8874953B2 (en) | System and method of cloud testing and remote monitoring for integrated circuit components in system validation | |
CN112764872B (zh) | 计算机设备、虚拟化加速设备、远程控制方法及存储介质 | |
CN102819449A (zh) | 一种显卡重定向方法及系统 | |
CN110737512A (zh) | 跨平台虚拟机在线迁移方法及相关组件 | |
WO2015062217A1 (zh) | 虚拟桌面系统中外设的接入处理方法及装置 | |
CN105022659A (zh) | 虚拟机状态控制方法与系统 | |
CN111045781B (zh) | 一种云平台创建镜像的方法、装置和存储介质 | |
US10318343B2 (en) | Migration methods and apparatuses for migrating virtual machine including locally stored and shared data | |
CN111796903A (zh) | 一种虚拟机的迁移方法、服务器和计算机存储介质 | |
CN111880967A (zh) | 云场景下的文件备份方法、装置、介质和电子设备 | |
CN111679889B (zh) | 一种虚拟机的转换迁移方法和系统 | |
CN111124615A (zh) | 一种虚拟机迁移方法、装置、设备及计算机可读存储介质 | |
CN107918564B (zh) | 数据传输异常处理方法、装置、电子设备及存储介质 | |
KR20200034572A (ko) | 요청 처리 방법 및 장치 | |
CN106209445B (zh) | 一种通过网络部署的虚拟化数据中心 | |
CN111694604A (zh) | 一种驱动批量安装方法、装置、设备及机器可读存储介质 | |
CN103440146A (zh) | 一种基于云存储的更新bios的方法 | |
CN112099916B (zh) | 虚拟机数据的迁移方法、装置、计算机设备及存储介质 | |
US10979502B2 (en) | Method, device and computer program product for parallel migration of data | |
CN111459643A (zh) | 一种主机迁移方法 | |
CN113326098B (zh) | 支持kvm虚拟化与容器虚拟化的云管平台 | |
CN103617077A (zh) | 智能型云端化移转的方法与系统 | |
CN114443356A (zh) | 一种容器集群的处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20201020 |
|
WD01 | Invention patent application deemed withdrawn after publication |