虚拟机迁移方法、装置、可读存储介质及计算机设备与流程

文档序号:31050164发布日期:2022-08-06 06:48阅读:96来源:国知局
虚拟机迁移方法、装置、可读存储介质及计算机设备与流程

1.本发明涉及计算机技术领域,特别是涉及一种虚拟机迁移方法、装置、可读存储介质及计算机设备。


背景技术:

2.虚拟机(virtual machine,vm)指的是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机的迁移通常是指将虚拟机从一个主机,数据存储或vcenterserver迁移到另一个主机,数据存储,或vcenterserver。
3.当平台系统复杂涉及到的主机和虚拟机较多时,虚拟机的迁移在实际操作中存在很多问题,例如,磁盘兼容性问题,虚拟化平台版本不适配问题,网络设置等问题都会导致虚拟机迁移的中断,通常需要用户进行调试方可进行。目前的虚拟机的迁移方式在面临复杂系统时,迁移效率通常较低。


技术实现要素:

4.鉴于上述状况,有必要针对现有技术中虚拟机迁移效率低的问题,提供一种虚拟机迁移方法、装置、可读存储介质及计算机设备。
5.一种虚拟机迁移方法,包括:当获取到迁移指令时,建立与源平台中各个源主机和目标平台中各个目标主机的连接;将所述源平台中各个源主机本地磁盘上的各个虚拟机迁移至共享存储空间,并获取各个所述虚拟机的设备信息;根据各个所述虚拟机的设备信息确定各个所述虚拟机对应的迁移策略;执行迁移程序,以按照对应的迁移策略将所述共享存储空间中的各个所述虚拟机迁移至所述目标平台中的目标主机。
6.进一步的,上述虚拟机迁移方法,所述根据各个所述虚拟机的设备信息确定各个所述虚拟机对应的迁移策略的步骤包括:将各个所述虚拟机的设备信息与第一预设条件和第二预设条件进行匹配;当所述虚拟机的设备信息匹配到所述第一预设条件时,确定所述虚拟机对应的迁移策略为冷迁移策略,所述冷迁移策略为在虚拟机关机情况下采用静态迁移方式进行迁移;当所述虚拟机的设备信息匹配到所述第二预设条件时,确定所述虚拟机对应的迁移策略为部分迁移策略,所述部分迁移策略为将所述虚拟机从所述共享存储空间迁回至所述源平台中,并将所述虚拟机的存储数据迁移至所述目标平台中的目标主机;当所述虚拟机的设备信息未匹配到任何预设条件时,确定所述虚拟机对应的迁移策略为热迁移策略,所述热迁移策略为通过热迁移方式将所述虚拟机从所述共享存储空间迁移至所述目标平台中的目标主机。
7.进一步的,上述虚拟机迁移方法,所述第一预设条件包括:虚拟机采用的磁盘为裸磁盘;所述第二预设条件包括:虚拟机同时接入多个网段。
8.进一步的,上述虚拟机迁移方法,所述建立与源平台中各个源主机和目标平台中各个目标主机的连接的步骤包括:将源平台中的各个源主机按照预设的交换机的数量进行分组,得到多个设备机组;将多个设备机组分别与各个交换机建立一一对应关系,且将各个源主机连接至其所在的设备机组所对应的交换机,并通过链路聚合方式将各个交换机连接至所述目标平台中的目标主机;所述将所述源平台中各个源主机本地磁盘上的各个虚拟机迁移至共享存储空间的步骤包括:将各个所述设备机组中源主机上的虚拟机分别通过对应连接的交换机迁移至共享存储空间。
9.进一步的,上述虚拟机迁移方法,所述将源平台中的各个源主机按照预设的交换机的数量进行分组的步骤包括:统计源平台中的各个源主机上的虚拟机的内存,以得到各个所述源主机对应的虚拟机内存;根据各个源主机对应的虚拟机内存以及各个所述源主机上的虚拟机对应的迁移策略,将各个所述源主机按照预设的交换机的数量进行分组。
10.本发明还公开了一种虚拟机迁移装置,包括:连接建立模块,用于当获取到迁移指令时,建立与源平台中各个源主机和目标平台中各个目标主机的连接;第一迁移模块,用于将所述源平台中各个源主机本地磁盘上的各个虚拟机迁移至共享存储空间,并获取各个所述虚拟机的设备信息;确定模块,用于根据各个所述虚拟机的设备信息确定各个所述虚拟机对应的迁移策略;第二迁移模块,用于执行迁移程序,以按照对应的迁移策略将所述共享存储空间中的各个所述虚拟机迁移至所述目标平台中的目标主机。
11.进一步的,上述虚拟机迁移装置,其中,所述确定模块用于:将各个所述虚拟机的设备信息与第一预设条件和第二预设条件进行匹配;当所述虚拟机的设备信息匹配到所述第一预设条件时,确定所述虚拟机对应的迁移策略为冷迁移策略,所述冷迁移策略为在虚拟机关机情况下采用静态迁移方式进行迁移;当所述虚拟机的设备信息匹配到所述第二预设条件时,确定所述虚拟机对应的迁移策略为部分迁移策略,所述部分迁移策略为将所述虚拟机从所述共享存储空间迁回至所述源平台中,并将所述虚拟机的存储数据迁移至所述目标平台中的目标主机;当所述虚拟机的设备信息未匹配到任何预设条件时,确定所述虚拟机对应的迁移策略为热迁移策略,所述热迁移策略为通过热迁移方式将所述虚拟机从所述共享存储空间迁移至所述目标平台中的目标主机。
12.进一步的,上述虚拟机迁移装置,其中,所述第一预设条件包括:虚拟机采用的磁盘为裸磁盘;所述第二预设条件包括:虚拟机同时接入多个网段。
13.本发明还公开了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项所述的虚拟机迁移方法。
14.本发明还公开了一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述的虚拟机迁移方法。
15.本发明中,根据源平台中源主机上的虚拟机的设备信息在预设的多个迁移策略中匹配出各个虚拟机最佳的迁移策略。匹配完成后,执行迁移程序,通过该迁移程序,使各个虚拟机迁移至目标平台中目标主机的指定目录,该方法操作简单,且迁移效率高。
附图说明
16.图1为本发明第一实施例提供的虚拟机迁移方法的流程图;图2为本发明第二实施例提供的虚拟机迁移方法的流程图;图3为本发明第三实施例提供的虚拟机迁移装置的结构框图;图4为本发明实施例中计算机设备的结构示意图。
具体实施方式
17.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
18.参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
19.请参阅图1,为本发明第一实施例中的虚拟机迁移方法,包括步骤s11~s14。
20.步骤s11,当获取到迁移指令时,建立与源平台中各个源主机和目标平台中各个目标主机的连接。
21.本实施例可应用于中转服务器,该中转服务器上设置有应用程序,通过执行该应用程序可以实现将源平台中源主机上的虚拟机自动迁移至目标平台中的目标主机上。该中转服务器部署有与目标平台一样的网络环境和存储环境。具体实施时中转服务器可以通过多台光纤交换机与存储交叉互联,并承载主机到存储的通信,通过存储的远程异步复制方式同步数据。
22.虚拟机迁移的通信速度与效率与源主机和目标主机的有关。在源主机或目标主机负载过高情况下会出现迁移效率低,而且虚拟机还在不断的产生赃页,需要传输的数据量会越来越大,很容易造成虚拟机传送状态卡死。本实施例中,通过设置中间服务器可以一定程度上缓解虚拟机的迁移压力,提高迁移效率。
23.当获取到迁移指令时,通过上层驱动文件获取源主机和目标主机的ip地址,根据获取ip地址建立与源主机和目标主机之间的连接。可以理解的,建立与源平台中各个源主
机和目标平台中各个目标主机的连接之前,还需要检测源主机和目标主机的ip地址是否完整,以及网络连接是否正常。当源主机和目标主机的ip地址完整且网络连接正常时,确定建立与源主机和目标主机之间的连接。
24.步骤s12,将所述源平台中各个源主机本地磁盘上的各个虚拟机迁移至共享存储空间,并获取各个所述虚拟机的设备信息。
25.需要说明的是,该共享存储空间可以为该中转服务器的本地存储空间,或者是服务器挂载的存储设备(如硬盘),也可以是云存储。
26.将源平台中各个源主机本地磁盘上的各个虚拟机迁移至该共享存储空间,可以实现对各个虚拟机进行统一管理和自动化迁移,同时也可以避免直接迁移的压力,以及与目标主机系统版本不兼容的问题。
27.步骤s13,根据各个所述虚拟机的设备信息确定各个所述虚拟机对应的迁移策略。
28.步骤s14,执行迁移程序,以按照对应的迁移策略将所述共享存储空间中的各个所述虚拟机迁移至所述目标平台中的目标主机。
29.本实施例中,中转服务器中预先存储有不同设备信息和对应的迁移策略。该设备信息例如为硬盘类型,网络设置等。在应用程序开发的前期需要对某个或一类型的平台可能出现的虚拟机迁移策略进行统计,并结合虚拟机相关的设备信息确定不同设备信息下可实施的一种或多种迁移策略。
30.对于一个大型的平台系统来说,其设置的虚拟机数量非常庞大,且各个虚拟机的功能和配置不同,因而在进行虚拟机迁移时会遇到不同的问题,往往单一的迁移方式不能实现对所有虚拟机的迁移。例如有的虚拟机可以以热迁移方式具有较高的迁移效率,而有的虚拟机则适合冷迁移方式,也有的虚拟机由于自身设备的限制,无法进行迁移。因此需要结合实际情况,自动为每个虚拟机匹配最佳迁移策略。
31.本实施例中,根据源平台中源主机上的虚拟机的设备信息在预设的多个迁移策略中匹配出各个虚拟机最佳的迁移策略。匹配完成后,执行迁移程序,该迁移程序,使得各个虚拟机迁移至目标平台中目标主机的指定目录,操作简单,且效率高。
32.请参阅图2,为本发明第二实施例中的虚拟机迁移方法,包括步骤s21~s28。
33.步骤s21,当获取到迁移指令时,将源平台中的各个源主机按照预设的交换机的数量进行分组,得到多个设备机组。
34.具体实施时,所述将所述源平台中的各个源主机按照预设的交换机的数量进行分组的步骤包括:统计所述源平台中的各个源主机上的虚拟机的内存,以得到各个所述源主机对应的虚拟机内存;根据各个源主机对应的虚拟机内存以及各个所述源主机上的虚拟机对应的迁移策略,将各个所述源主机按照预设的交换机的数量进行分组。
35.各个源主机按照其本地磁盘上的虚拟机按照内存(或者负载)大小,以及虚拟机迁移策略来分配连接交换机,其分配满足两个条件:一,同种迁移策略的虚拟机所在的源主机在各个交换机上集中进行分配;二,各个交换机上的数据传输均衡化。
36.即同种类型的迁移策略的虚拟机所在的源主机尽可能集中一起分配在较少数量的交换机上,以减少不同类型的迁移策略之间的干扰,保证迁移顺利地进行,提高整体的迁
移效率;并且,各个源主机分配连接交换机时,保证各个交换机传输的数据大小尽可能均衡,使得各个传输链路传输速率保持最佳,避免某一传输链路网络堵塞,而其他传输链路资源浪费。
37.步骤s22,将多个设备机组分别与各个交换机建立一一对应关系,且将各个源主机连接至其所在的设备机组所对应的交换机,并通过链路聚合方式将各个交换机连接至所述目标平台中的目标主机。
38.具体实施时交换机数量可根据实际情况进行设置,如可设置四个或者更多。多台交换机通过堆叠istack技术实现交换机网络虚拟化,并且,交换机之间链路互联通过聚合技术实现链路带宽提升及端口的冗余性。
39.步骤s23,将各个所述设备机组中源主机上的虚拟机分别通过对应连接的交换机迁移至共享存储空间。
40.各个机组中的源主机上的虚拟机通过对应连接的交换机进行数据传输,即保证同一机组中虚拟机进行迁移时,迁移网络流量经过同一个接入交换机,保证传输链路最短,提高传输速率。
41.步骤s24,将各个所述虚拟机的设备信息与第一预设条件和第二预设条件进行匹配。
42.步骤s25,当所述虚拟机的设备信息匹配到所述第一预设条件时,确定所述虚拟机对应的迁移策略为冷迁移策略,所述冷迁移策略为在虚拟机关机情况下采用静态迁移方式进行迁移。
43.步骤s26,当所述虚拟机的设备信息匹配到所述第二预设条件时,确定所述虚拟机对应的迁移策略为部分迁移策略,所述部分迁移策略为将所述虚拟机从所述共享存储空间迁回至所述源平台中,并将所述虚拟机的存储数据迁移至所述目标平台中的目标主机。
44.步骤s27,当所述虚拟机的设备信息未匹配到任何预设条件时,确定所述虚拟机对应的迁移策略为热迁移策略,所述热迁移策略为通过热迁移方式将所述虚拟机从所述共享存储空间迁移至所述目标平台中的目标主机。
45.举例来说,该第一预设条件包括:虚拟机采用的磁盘为裸磁盘;第二预设条件包括:虚拟机同时接入多个网段。即当虚拟机使用了裸映射磁盘,针对裸磁盘的操作,需要关虚拟机进行迁移,因此,适用冷迁移策略,即在虚拟机关机情况下采用静态迁移方式进行迁移。
46.当虚拟机(如某内网录播平台)同时接入多个网段时,是无法迁移至目标平台,因此该虚拟机则继续保留在原主机上,但是其数据存储迁移到目标平台中的目标主机存储。此时,需要将共享存储空间中该虚拟机迁回至对应的源主机,并将其数据存储迁移至目标主机中存储。
47.当虚拟机均没有匹配到该第一预设条件和第二预设条件时,可以以热迁移方式将所述虚拟机从共享存储空间迁移至目标平台中的目标主机。热迁移策略可以将虚拟机的整个运行时状态保存下来,然后快速地恢复到另一个硬件平台上。
48.需要说明的是,在具体实施时,根据源平台的设备情况,该第一预设条件和第二预设条件还可包括其他情况,此处不予限定。
49.步骤s28,执行迁移程序,以按照对应的迁移策略将所述共享存储空间中的各个所
述虚拟机迁移至所述目标平台中的目标主机。
50.请参阅图3,为本发明第三实施例中的虚拟机迁移装置,包括:连接建立模块31,用于当获取到迁移指令时,建立与源平台中各个源主机和目标平台中各个目标主机的连接;第一迁移模块32,用于将所述源平台中各个源主机本地磁盘上的各个虚拟机迁移至共享存储空间,并获取各个所述虚拟机的设备信息;确定模块33,用于根据各个所述虚拟机的设备信息确定各个所述虚拟机对应的迁移策略;第二迁移模块34,用于执行迁移程序,以按照对应的迁移策略将所述共享存储空间中的各个所述虚拟机迁移至所述目标平台中的目标主机。
51.进一步的,上述虚拟机迁移装置,其中,所述确定模块用于:将各个所述虚拟机的设备信息与第一预设条件和第二预设条件进行匹配;当所述虚拟机的设备信息匹配到所述第一预设条件时,确定所述虚拟机对应的迁移策略为冷迁移策略,所述冷迁移策略为在虚拟机关机情况下采用静态迁移方式进行迁移;当所述虚拟机的设备信息匹配到所述第二预设条件时,确定所述虚拟机对应的迁移策略为部分迁移策略,所述部分迁移策略为将所述虚拟机从所述共享存储空间迁回至所述源平台中,并将所述虚拟机的存储数据迁移至所述目标平台中的目标主机;当所述虚拟机的设备信息未匹配到任何预设条件时,确定所述虚拟机对应的迁移策略为热迁移策略,所述热迁移策略为通过热迁移方式将所述虚拟机从所述共享存储空间迁移至所述目标平台中的目标主机。
52.进一步的,上述虚拟机迁移装置,其中,所述第一预设条件包括虚拟机采用的磁盘为裸磁盘,所述第二预设条件包括虚拟机同时接入多个网段。
53.本发明实施例所提供的虚拟机迁移装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
54.本发明另一方面还提出一种计算机设备,请参阅图4,所示为本发明实施例当中的计算机设备,包括处理器10、存储器20以及存储在存储器上并可在处理器上运行的计算机程序30,所述处理器10执行所述计算机程序30时实现如上述的虚拟机迁移方法。
55.其中,所述计算机设备可以为但不限于个人电脑、服务器等设备。处理器10在一些实施例中可以是一中央处理器(central processing unit, cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器20中存储的程序代码或处理数据等。
56.其中,存储器20至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器20在一些实施例中可以是计算机设备的内部存储单元,例如该计算机设备的硬盘。存储器20在另一些实施例中也可以是计算机设备的外部存储装置,例如计算机设备上配备的插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital, sd)卡,闪存卡(flash card)等。进一步地,存储器20还可以既包括计算机设备的内部存储单元也包括外部存储装置。存储器20不仅可以用于存储安装于计算机设备的应用软件及各类数据等,还
可以用于暂时地存储已经输出或者将要输出的数据。
57.可选地,该计算机设备还可以包括用户接口、网络接口、通信总线等,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机设备中处理的信息以及用于显示可视化的用户界面。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该装置与其他电子装置之间建立通信连接。通信总线用于实现这些组件之间的连接通信。
58.需要指出的是,图4示出的结构并不构成对计算机设备的限定,在其它实施例当中,该计算机设备可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
59.本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的虚拟机迁移方法。
60.本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置中获取指令并执行指令的系统)使用,或结合这些指令执行系统、装置而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或结合这些指令执行系统、装置而使用的设备。
61.计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
62.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
63.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
64.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并
不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1