云主机批量迁移的方法及装置、电子设备和存储介质与流程

文档序号:28433264发布日期:2022-01-12 01:30阅读:95来源:国知局
云主机批量迁移的方法及装置、电子设备和存储介质与流程

1.本发明是关于系统迁移领域,特别是关于一种云主机批量迁移的方法及装置、电子设备和存储介质。


背景技术:

2.传统的企业业务it基础设施部署在物理服务器上,随着业务规模的增加,物理服务器也会越来越多,不仅资源利用率低,也不便于维护。随着虚拟化平台技术的发展,数字化转型、企业上云也逐渐成为一种趋势,把it系统部署在虚拟机中,能够较大程度的解决这个问题。
3.在企业上云的过程中,直接把安装有it业务应用的现有系统整体迁移到云平台上对用户来说是一种简单有效的方式,不需要重新部署业务系统。
4.目前常见的技术是先使用p2v开源工具或者自有程序把源主机中系统硬盘以及业务数据硬盘复制到目标云平台上的一个中转服务器(该云平台上的一台虚拟机)中,然后在该中转服务器中使用v2v开源工具对复制过来的源主机系统盘进行虚拟化操作,最后再把复制过来的源主机系统盘和数据盘创建成虚拟机,至此完成一次云主机迁移任务。
5.一个迁移任务在使用v2v开源工具进行虚拟化操作的过程中需要为创建的辅助虚拟机分配大约3gb的内存。因此,在进行大量源主机迁移时,大批量迁移任务并发执行虚拟化操作会消耗大量的云平台内存,例如10台源主机迁移任务并发执行虚拟化操作就需要30gb内存,从而会影响一些原本内存资源就比较紧张的云平台的正常工作。如果限制云迁移并发数量,在大批量源主机需要迁移的场景下,则会大幅降低源主机迁移效率。
6.公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。


技术实现要素:

7.本发明的目的在于提供一种云主机批量迁移的方法及装置、电子设备和存储介质,其能够通过在开始复制源主机的数据前,直接在源主机上执行v2v开源工具虚拟化本质功能,可以解决在大批量源主机需要迁移到云平台的场景中,由于中转服务器上使用v2v开源工具进行虚拟化需要消耗大量内存导致无法大量并发执行源主机迁移任务,进而导致云主机迁移效率低下的问题,本发明可以大量并发执行云主机迁移任务,有效提高大批量云主机迁移场景下的迁移效率。
8.为实现上述目的,本发明的实施例提供了一种云主机批量迁移的方法。
9.在本发明的一个或多个实施方式中,所述方法包括:在源主机上通过v2v工具虚拟化所述源主机的本质功能,并根据对应的系统进行设置;以及将所述源主机的数据复制至云平台的中转服务器,并生成云主机。
10.在本发明的一个或多个实施方式中,所述在源主机上通过v2v工具虚拟化所述源主机的本质功能,包括:根据所述源主机的系统和内核版本将云平台中虚拟机的虚拟化的
本质功能的virtio驱动安装至所述源主机。
11.在本发明的一个或多个实施方式中,所述根据对应的系统进行设置,包括:windows系统将所述virtio驱动注册到注册表;或,linux系统将所述virtio驱动写入到临时根文件系统。
12.在本发明的一个或多个实施方式中,所述方法,还包括:根据所述源主机中的待迁移磁盘在云平台中创建对应的云硬盘,并将所述云硬盘挂载至所述中转服务器。
13.在本发明的一个或多个实施方式中,所述将所述源主机的数据复制至云平台的中转服务器,并生成云主机,包括:将所述系统盘和所述业务盘的数据复制至对应的所述云硬盘中;以及将对应的所述云硬盘从所述中转服务器上卸载,并根据所述云硬盘生成云主机。
14.在本发明的一个或多个实施方式中,所述虚拟机的虚拟化的本质功能包括虚拟cpu、虚拟总线、虚拟硬盘和虚拟网络。
15.在本发明的一个或多个实施方式中,所述方法还包括:所述源主机中的多个待迁移磁盘组成一个磁盘阵列或副本,并生成逻辑卷,将所述逻辑卷复制至所述云硬盘。
16.在本发明的另一个方面当中,提供了一种云主机批量迁移的装置,其包括设置模块和复制模块。
17.设置模块,用于在源主机上通过v2v工具虚拟化所述源主机的本质功能,并根据对应的系统进行设置。
18.复制模块,用于将所述源主机的数据复制至云平台的中转服务器,并生成云主机。
19.在本发明的一个或多个实施方式中,所述设置模块还用于:根据所述源主机的系统和内核版本将云平台中虚拟机的虚拟化的本质功能的virtio驱动安装至所述源主机。
20.在本发明的一个或多个实施方式中,所述设置模块还用于:windows系统将所述virtio驱动注册到注册表;或,linux系统将所述virtio驱动写入到临时根文件系统。
21.在本发明的一个或多个实施方式中,所述设置模块还用于:根据所述源主机中的待迁移磁盘在云平台中创建对应的云硬盘,并将所述云硬盘挂载至所述中转服务器。
22.在本发明的一个或多个实施方式中,所述复制模块还用于:将所述系统盘和所述业务盘的数据复制至对应的所述云硬盘中;以及将对应的所述云硬盘从所述中转服务器上卸载,并根据所述云硬盘生成云主机。
23.在本发明的一个或多个实施方式中,所述设置模块还用于:所述源主机中的多个待迁移磁盘组成一个磁盘阵列或副本,并生成逻辑卷,将所述逻辑卷复制至所述云硬盘。
24.在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的云主机批量迁移的方法。
25.在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的云主机批量迁移的方法的步骤。
26.与现有技术相比,根据本发明实施方式的云主机批量迁移的方法及装置、电子设备和存储介质,其能够通过在开始复制源主机的数据前,直接在源主机上执行v2v开源工具虚拟化本质功能,从而无需在中转服务器上通过v2v开源工具进行虚拟化操作,避免了在中转服务器上使用v2v开源工具虚拟化操作带来大量内存资源消耗,因此可以大量并发执行
云主机迁移任务,有效提高大批量云主机迁移场景下的迁移效率。
附图说明
27.图1是根据本发明一实施方式的云主机批量迁移的方法的流程图;
28.图2是根据本发明一实施方式的云主机批量迁移的方法的具体流程图;
29.图3是根据本发明一实施方式的云主机批量迁移的方法的结构图;
30.图4是根据本发明一实施方式的云主机批量迁移的方法的扩展流程图;
31.图5是根据本发明一实施方式的云主机批量迁移的方法的扩展结构图;
32.图6是根据本发明一实施方式的云主机批量迁移的装置的结构图;
33.图7是根据本发明一实施方式的云主机批量迁移的计算设备的硬件结构图。
具体实施方式
34.下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
35.除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
36.以下结合附图,详细说明本发明各实施例提供的技术方案。
37.实施例1
38.如图1所示,介绍本发明的一个实施例中云主机批量迁移的方法,该方法包括如下步骤。
39.在步骤s101中,在源主机上通过v2v工具虚拟化源主机的本质功能,并根据对应的系统进行设置。
40.根据源主机的基本配置信息执行v2v,基本配置信息包括但不限于源主机系统和内核版本,将云平台中虚拟机的虚拟化的本质功能的virtio驱动安装至源主机,安装virtio驱动的过程就是复制驱动的过程。虚拟化的本质功能包括虚拟cpu、虚拟总线、虚拟硬盘和虚拟网络。
41.v2v迁移是在虚拟机之间移动操作系统和数据,照顾物理机级别的差异和处理不同的虚拟硬件。虚拟机从一个物理机上的虚拟机监视器迁移到另一个物理机的虚拟机监视器,这两个虚拟机监视器的类型可以相同,也可以不同。如vm ware迁移到kvm,kvm迁移到kvm。可以通过多种方式将虚拟机从一个vm host系统移动到另一个vm host系统,在本实施例中,是将源主机的虚拟机迁移至云平台中。
42.v2v迁移可以使源主机的待迁移磁盘在目标云平台上创建的虚拟机能够正常启动以及工作。同时,把云平台中虚拟机常用的虚拟cpu、虚拟总线、虚拟硬盘等相关的virtio驱动写入到已经复制过来的源主机系统盘中也是v2v开源工具进行虚拟化的本质工作。
43.在进行系统设置时,linux系统将virtio驱动写入到临时根文件系统。windows系统将virtio驱动注册到注册表,windows的virtio驱动主要包括网卡以及磁盘的驱动,主要有三种方式,第一种是已有windows的操作系统,需要更新驱动;第二种是是安装时加载virtio驱动;第三种是直接制作virtio驱动的iso系统镜像。
44.在步骤s102中,将源主机的数据复制至云平台的中转服务器,并生成云主机。
45.云平台,也称为云计算平台。云平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。
46.将源主机的待迁移磁盘的数据复制至对应的中转服务器云硬盘中,将对应的云硬盘从中转服务器上卸载,并根据云硬盘生成云主机。由于中转服务器可以在云平台动态地被创建或回收,所以在源主机的数据复制至云硬盘后,无需中转服务器继续提供服务,将云硬盘从中转服务器卸载,中转服务器被回收,由包含源主机数据的云硬盘生成云主机,完成主机的迁移。
47.实施例2
48.如图2至图3所示,介绍本发明的一个实施例中云主机批量迁移的方法,该方法包括如下步骤。
49.在步骤s201中,在源主机上通过v2v工具虚拟化源主机的本质功能,并根据对应的系统进行设置。
50.根据源主机的系统和内核版本,执行v2v虚拟化的本质功能,即将云平台虚拟机的虚拟cpu、虚拟总线、虚拟硬盘、虚拟网络等相关的virtio驱动安装到源主机上,安装virtio驱动的过程就是复制驱动的过程,并进行系统设置,对于windows系统需要把相关的virtio驱动注册到注册表,对于linux系统则要把相关的virtio驱动写入到临时根文件系统。
51.在步骤s202中,根据源主机中的待迁移磁盘在云平台中创建对应的云硬盘,并将云硬盘挂载至中转服务器。
52.中转服务器是指一种能存储和处理数据的中转服务器,在云平台可以动态地被创建或回收。如果云平台中没有可供利用的中转服务器,则需要首先创建一个中转服务器,然后启动这个中转服务器。如果云平台中有可供利用的中转服务器,则启动这个可供利用的中转服务器。
53.本实施例中,云平台中存在可利用的中转服务器,待迁移磁盘包括待迁移操作系统的系统盘和业务盘,迁移控制系统根据源主机中的系统盘和业务盘在云平台中创建对应的云硬盘,云硬盘用来在云平台中存储待迁移操作系统(源主机)的数据信息,并将云平台中的云硬盘挂载至中转服务器。
54.挂载是将磁盘连接到一个已存在的目录上,磁盘挂载后,对该目录的任何操作等同于对该磁盘进行操作。由于中转服务器具有存储和处理数据的功能,将云硬盘挂载至中转服务器,便于将源主机中的待迁移磁盘信息复制至云平台中。
55.在步骤s203中,将源主机的数据复制至云平台的中转服务器,并生成云主机。
56.将源主机的待迁移磁盘的数据复制至对应的中转服务器云硬盘中,将对应的云硬盘从中转服务器上卸载,并根据云硬盘生成云主机。由于中转服务器可以在云平台动态地被创建或回收,所以在源主机的数据复制至云硬盘后,无需中转服务器继续提供服务,将云硬盘从中转服务器卸载,中转服务器被回收,由包含源主机数据的云硬盘生成云主机,完成主机的迁移。
57.实施例3
58.如图4至图5所示,介绍本发明的一个实施例中云主机批量迁移的方法,该方法包括如下步骤。
59.在步骤s301中,在源主机上通过v2v工具虚拟化源主机的本质功能,并根据对应的系统进行设置。
60.根据源主机的系统和内核版本,执行v2v虚拟化的本质功能,即将云平台虚拟机的虚拟cpu、虚拟总线、虚拟硬盘、虚拟网络等相关的virtio驱动安装到源主机上,安装virtio驱动的过程就是复制驱动的过程,并进行系统设置,对于windows系统需要把相关的virtio驱动注册到注册表,对于linux系统则要把相关的virtio驱动写入到临时根文件系统。
61.在步骤s302中,源主机中的多个待迁移磁盘组成一个磁盘阵列或副本,并生成逻辑卷,将逻辑卷复制至云硬盘。
62.如图5所示,当源主机中存在多个待迁移磁盘时,可以通过软raid技术将多个硬盘(硬盘1、硬盘2、硬盘3)组成一个磁盘阵列或副本,并生成逻辑卷1,将逻辑卷1中的数据复制至云平台的云硬盘1中。优点是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。
63.在步骤s303中,根据源主机中的待迁移磁盘在云平台中创建对应的云硬盘,并将云硬盘挂载至中转服务器。
64.云平台中存在可利用的中转服务器,待迁移磁盘包括待迁移操作系统的系统盘和业务盘,迁移控制系统根据源主机中的系统盘和业务盘在云平台中创建对应的云硬盘,云硬盘用来在云平台中存储待迁移操作系统(源主机)的数据信息,并将云平台中的云硬盘挂载至中转服务器。
65.在步骤s304中,将源主机的数据复制至云平台的中转服务器,并生成云主机。
66.将源主机的待迁移磁盘的数据复制至对应的中转服务器云硬盘中,将对应的云硬盘从中转服务器上卸载,并根据云硬盘生成云主机。由于中转服务器可以在云平台动态地被创建或回收,所以在源主机的数据复制至云硬盘后,无需中转服务器继续提供服务,将云硬盘从中转服务器卸载,中转服务器被回收,由包含源主机数据的云硬盘生成云主机,完成主机的迁移。
67.如图6所示,介绍根据本发明具体实施方式的云主机批量迁移的装置。
68.在本发明的实施方式中,云主机批量迁移的装置包括设置模块601和复制模块602。
69.设置模块601,用于在源主机上通过v2v工具虚拟化源主机的本质功能,并根据对应的系统进行设置。
70.复制模块602,用于将源主机的数据复制至云平台的中转服务器,并生成云主机。
71.设置模块601还用于:根据源主机的系统和内核版本将云平台中虚拟机的虚拟化的本质功能的virtio驱动安装至源主机。
72.设置模块601还用于:windows系统将virtio驱动注册到注册表;或,linux系统将virtio驱动写入到临时根文件系统。
73.设置模块601还用于:根据源主机中的待迁移磁盘在云平台中创建对应的云硬盘,并将云硬盘挂载至中转服务器。
74.复制模块602还用于:将待迁移磁盘的数据复制至对应的云硬盘中;以及将对应的云硬盘从中转服务器上卸载,并根据云硬盘生成云主机。
75.设置模块601还用于:源主机中的多个待迁移磁盘组成一个磁盘阵列或副本,并生
成逻辑卷,将逻辑卷复制至云硬盘。
76.在本实施例中,虚拟机的虚拟化的本质功能包括虚拟cpu、虚拟总线、虚拟硬盘和虚拟网络。
77.图7示出了根据本说明书的实施例的用于云主机批量迁移的计算设备70的硬件结构图。如图7所示,计算设备70可以包括至少一个处理器701、存储器702(例如非易失性存储器)、内存703和通信接口704,并且至少一个处理器701、存储器702、内存703和通信接口704经由总线705连接在一起。至少一个处理器701执行在存储器702中存储或编码的至少一个计算机可读指令。
78.应该理解,在存储器702中存储的计算机可执行指令当执行时使得至少一个处理器701进行本说明书的各个实施例中以上结合图1-7描述的各种操作和功能。
79.在本说明书的实施例中,计算设备70可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(pda)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
80.根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-7描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
81.根据本发明实施方式的云主机批量迁移的方法及装置、电子设备和存储介质,其能够通过在开始复制源主机的数据前,直接在源主机上执行v2v开源工具虚拟化本质功能,从而无需在中转服务器上通过v2v开源工具进行虚拟化操作,避免了在中转服务器上使用v2v开源工具虚拟化操作带来大量内存资源消耗,因此可以大量并发执行云主机迁移任务,有效提高大批量云主机迁移场景下的迁移效率。
82.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
83.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
84.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
85.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
86.前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1