一种基于OpenStack平台的虚拟机跨集群迁移方法及系统与流程

allin2023-02-24  135


一种基于openstack平台的虚拟机跨集群迁移方法及系统
技术领域
1.本发明涉及通信技术领域,尤其涉及一种基于openstack平台的虚拟机跨集群迁移方法及系统。


背景技术:

2.openstack是目前云计算领域最活跃的开源项目之一,是一个开源的云计算管理平台项目。它主要是利用虚拟化技术对多种硬件资源进行资源虚拟化,形成一个大的资源池,然后对虚拟化资源进行统一管理。它主要由几个服务模块构成:keystone(身份认证服务)、nova(计算服务)、glance(镜像服务)、neutron(网络服务)、cinder(块存储服务)、swift(对象存储服务)等,其中nova控制着迁移的主要操作。目前openstack只提供了集群内的迁移操作,对于跨集群的迁移功能实现较少。
3.现有技术中有利用建立的跨集群通信机制和消息控制分发,实现了跨集群迁移的功能的技术。但是其无法实现对创建在后端存储为磁盘阵列lun中的openstack云平台上虚拟机,在不同openstack资源池集群之间迁移。


技术实现要素:

4.本发明要解决的技术问题是解决创建在后端存储为磁盘阵列lun中的openstack云平台上虚拟机,在不同openstack资源池集群之间迁移,针对上述要解决的技术问题,现提出一种基于openstack平台的虚拟机跨集群迁移方法及系统。
5.为实现上述目的,本发明提供如下技术方案:一种基于openstack平台的虚拟机跨集群迁移方法,其包括在虚拟机待迁移集群的操作步骤和在虚拟机迁移目标集群的操作步骤;
6.所述在虚拟机待迁移集群的操作步骤包括:
7.s01,查看待迁移虚拟机及虚拟机挂载的所有数据卷;
8.s02,上传待迁移虚拟机的卷到镜像库;
9.s03,导出待迁移虚拟机镜像到本地文件;
10.s04,转换镜像文件磁盘格式为qcow2格式;
11.s05,复制镜像文件到目标主机;
12.所述在虚拟机迁移目标集群的操作步骤包括:
13.a01,上传待迁移虚拟机导出的镜像文件;
14.a02,创建系统卷和虚拟机;
15.a03,创建数据卷并挂载到虚拟机;
16.a04,完成虚拟机集群,在目标集群再次重启新创建虚拟机,验证虚拟机操作环境及数据卷挂载及数据情况。
17.作为优选的,所述步骤s02通过cinder的upload-to-image功能将创建在磁盘阵列的lun中的数据上传加载到glance镜像库。
18.作为优选的,所述步骤s03通过glance的镜像导出功能,将待迁移虚拟机从镜像库导出为文件。
19.作为优选的,所述步骤s04具体过程为:对导出的虚拟机数据卷磁盘文件,通过qemu-img工具将磁盘格式从raw转换为qcow2格式。
20.作为优选的,所述步骤a01的具体过程为:对导出的待迁移虚拟机镜像文件,上传到目标集群的glance镜像库中。
21.作为优选的,所述步骤a02的具体过程为:在目标集群使用新上传的虚拟机镜像创建虚拟机操作系统卷和虚拟机。
22.作为优选的,所述步骤a03的具体过程为:目标集群使用新上传的虚拟机数据卷镜像创建新的数据卷,同时将新创建的数据卷挂载到创建的虚拟机上。
23.作为优选的,所述步骤a04的具体过程为:在目标集群再次重启新创建虚拟机,验证虚拟机操作环境及数据卷挂载及数据情况。
24.本发明的另一个目的是提供一种基于openstack平台的虚拟机跨集群迁移系统,其包括客户端和服务器端;所述客户端包括但不限于web网页端、app端和计算机搭载终端;所述服务器端用于执行如前所述的方法;所述服务器端包括存储器、处理器和外部匹配功能部分,所述存储器用于存储如前的方法程序以及镜像文件和系统卷;所述处理器用于执行存储器存储的程序并控制外部匹配功能部分运行;所述外部匹配功能部分包括请求处理模块、消息分发模块、通信模块和迁移模块。
25.与现有技术相比,本发明的有益效果是:
26.对创建在后端存储使用磁盘阵列的openstack云管理平台上的虚拟机,实现跨资源池集群的迁移问题。迁移后虚拟机操作系统环境和应用环境与原虚拟机保持一致,减少了虚拟机迁移造成应用侧改造工作量。
附图说明
27.图1为本发明的方法流程示意图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.实施例1
30.如图1所示,本具体实施方式披露了一种基于openstack平台的虚拟机跨集群迁移方法;其通过基于openstack云计算平台自身cinder和glance组件服务的特性功能相结合,对虚拟机迁移相关操作、文件进行组合,实现了虚拟机跨集群的迁移。本方法不但可以完成将kvm虚拟机从一个openstack平台集群迁移到另一个集群,而且在迁移后保持虚拟机操作系统和云硬盘(数据卷)环境的完全克隆,对应用环境和数据基本不影响。
31.openstack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由nasa(美国国家航空航天局)和rackspace合作研发并发起,以apache许可证(apache软件基
金会发布的一个自由软件许可证)授权的开源代码项目。
32.openstack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。openstack通过各种互补的服务提供了基础设施即服务(iaas)的解决方案,每个服务提供api以进行集成。
33.nova计算管理服务,是openstack计算的弹性控制,提供虚拟机的创建、运行、迁移、快照等围绕虚拟机的服务,并提供api与控制节点对接,由控制节点下发任务,使用nova-api进行通信。
34.glance镜像管理服务,用于管理虚拟机部署时所能提供的镜像,包含镜像的导入、格式以及制作相应的模板,是一套虚拟机镜像发现、注册、检索系统,计算实例都是从glance镜像或者通过镜像创建启动卷来启动。
35.cinder为openstack云平台提供块存储服务,管理的主要对象为数据卷(volume),其接口提供了一些标准功能,允许创建和附加块设备到虚拟机,如“创建卷”,“删除卷”和“附加卷”,同时支持扩展容量的能力,快照和创建虚拟机镜像克隆及上传卷到镜像仓库等。
36.本具体实施例中的基于openstack平台的虚拟机跨集群迁移方法,其包括在虚拟机待迁移集群的操作步骤和在虚拟机迁移目标集群的操作步骤;
37.其中在虚拟机待迁移集群的操作步骤包括:
38.s01,查看待迁移虚拟机及虚拟机挂载的所有数据卷;
39.s02,上传待迁移虚拟机的卷到镜像库;
40.s03,导出待迁移虚拟机镜像到本地文件;
41.s04,转换镜像文件磁盘格式为qcow2格式;
42.s05,复制镜像文件到目标主机;
43.所述在虚拟机迁移目标集群的操作步骤包括:
44.a01,上传待迁移虚拟机导出的镜像文件;
45.a02,创建系统卷和虚拟机;
46.a03,创建数据卷并挂载到虚拟机;
47.a04,完成虚拟机集群,在目标集群再次重启新创建虚拟机,验证虚拟机操作环境及数据卷挂载及数据情况。
48.作为优选的,所述步骤s02通过cinder的upload-to-image功能将创建在磁盘阵列的lun中的数据上传加载到glance镜像库。
49.作为优选的,所述步骤s03通过glance的镜像导出功能,将待迁移虚拟机从镜像库导出为文件。
50.作为优选的,所述步骤s04具体过程为:对导出的虚拟机数据卷磁盘文件,通过qemu-img工具将磁盘格式从raw转换为qcow2格式。
51.作为优选的,所述步骤a01的具体过程为:对导出的待迁移虚拟机镜像文件,上传到目标集群的glance镜像库中。
52.作为优选的,所述步骤a02的具体过程为:在目标集群使用新上传的虚拟机镜像创建虚拟机操作系统卷和虚拟机。
53.作为优选的,所述步骤a03的具体过程为:目标集群使用新上传的虚拟机数据卷镜像创建新的数据卷,同时将新创建的数据卷挂载到创建的虚拟机上。
54.作为优选的,所述步骤a04的具体过程为:在目标集群再次重启新创建虚拟机,验证虚拟机操作环境及数据卷挂载及数据情况。
55.更为具体的,在本具体实施例中,上述方法的实现通过如下具体代码实现,需要说明的是,本具体实施例中频率的代码形式仅仅是本方法的一种具体实现形式,并不构成对本发明中方法的限定。
56.在虚拟机待迁移集群操作步骤具体操作代码为:
57.1、查看待迁移虚拟机及虚拟机挂载的所有数据卷
[0058][0059][0060]
2、上传待迁移虚拟机的卷到镜像库
[0061]
通过cinder的upload-to-image功能,实现将创建在磁盘阵列的lun中的数据上传加载到glance镜像库。
[0062]
cinder upload-to-image
‑‑
force true
‑‑
disk-formatqcow2
‑‑
container-format bare zwwx07 migrate-zwwx07
[0063]
cinder upload-to-image
‑‑
force true
‑‑
disk-format raw
‑‑
container-format bare zwwx07-d1 migrate-zwwx07-d1
[0064]
3、导出待迁移虚拟机镜像到本地文件
[0065]
通过glance的镜像导出功能,将待迁移虚拟机从镜像库导出为文件:
[0066]
glance image-download
‑‑
file migrate-zwwx07.qcow2
‑‑
progress 936a351a-a109-4612-9be1-1dbe0ea77d49
[0067]
glance image-download
‑‑
file migrate-zwwx07-d1.raw
‑‑
progress 154e4390-fca2-481f-b87a-b1452db24318
[0068]
4、转换镜像文件磁盘格式为qcow2格式
[0069]
对导出的虚拟机数据卷磁盘文件,可以通过qemu-img工具将磁盘格式从raw转换为qcow2格式,减少文件大小
[0070]
qemu-img convert
ꢀ‑
o qcow2 migrate-zwwx07-d1.raw migrate-zwwx07-d1.qcow2
[0071]
5、复制镜像文件到目标主机
[0072]
scp/data/images/migrate-zwwx07*134.99.220.3:/migrate/
[0073]
在虚拟机迁移目标集群操作步骤的具体代码可以为:
[0074]
6、上传待迁移虚拟机导出的镜像文件
[0075]
对导出的待迁移虚拟机镜像文件,上传到目标集群的glance镜像库中:
[0076]
openstack image create"migrate-zwwx07"
‑‑
file migrate-zwwx07.qcow2
‑‑
disk-format qcow2
‑‑
container-format bare
‑‑
public
‑‑
min-disk 40
‑‑
min-ram1024
‑‑
tag"migrate-zwwx07"
‑‑
property hw_qemu_guest_agent=yes
‑‑
property os_type="linux"
[0077]
openstack image create"migrate-zwwx07-d1"
‑‑
file migrate-zwwx07-d1.raw
‑‑
disk-format raw
‑‑
container-format bare
‑‑
public
‑‑
min-disk 100
‑‑
tag"migrate-zwwx07-d1"
[0078]
7、创建系统卷和虚拟机
[0079]
在目标集群使用新上传的虚拟机镜像创建虚拟机操作系统卷和虚拟机
[0080]
openstack volume create
‑‑
image migrate-zwwx07
‑‑
size 50migrate-zwwx07
[0081]
openstack server create
‑‑
flavor c8m16d50
‑‑
nicnet-id=bss-sf-01,v4-fixed-ip=134.99.217.111
‑‑
availability-zone nova
‑‑
volume migrate-zwwx07 migrate-zwwx07
[0082]
8、创建数据卷并挂载到虚拟机
[0083]
在目标集群使用新上传的虚拟机数据卷镜像创建新的数据卷openstack volume create
‑‑
image migrate-zwwx07-d1
‑‑
size 100migrate-zwwx07-d1
[0084]
新创建的数据卷挂载到创建的虚拟机上
[0085]
[0086][0087]
9、完成虚拟机集群
[0088]
在目标集群再次重启新创建虚拟机,验证虚拟机操作环境及云硬盘(数据卷)挂载及数据情况。
[0089]
本发明通过对创建在后端存储使用磁盘阵列的openstack云管理平台上的虚拟机,实现跨资源池集群的迁移问题。迁移后虚拟机操作系统环境和应用环境与原虚拟机保持一致,减少了虚拟机迁移造成应用侧改造工作量。
[0090]
实施例2
[0091]
本具体实施例提供一种基于openstack平台的虚拟机跨集群迁移系统,其用于实现实施例1中的方法,其包括客户端和服务器端;所述客户端包括但不限于web网页端、app端和计算机搭载终端;所述服务器端用于执行如实施例1中的方法;所述服务器端包括存储器、处理器和外部匹配功能部分,所述存储器用于存储如实施例1中的方法程序以及镜像文件和系统卷;所述处理器用于执行存储器存储的程序并控制外部匹配功能部分运行;所述外部匹配功能部分包括请求处理模块、消息分发模块、通信模块和迁移模块。
[0092]
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。

技术特征:
1.一种基于openstack平台的虚拟机跨集群迁移方法,其特征在于,包括在虚拟机待迁移集群的操作步骤和在虚拟机迁移目标集群的操作步骤;所述在虚拟机待迁移集群的操作步骤包括:s01,查看待迁移虚拟机及虚拟机挂载的所有数据卷;s02,上传待迁移虚拟机的卷到镜像库;s03,导出待迁移虚拟机镜像到本地文件;s04,转换镜像文件磁盘格式为qcow2格式;s05,复制镜像文件到目标主机;所述在虚拟机迁移目标集群的操作步骤包括:a01,上传待迁移虚拟机导出的镜像文件;a02,创建系统卷和虚拟机;a03,创建数据卷并挂载到虚拟机;a04,完成虚拟机集群,在目标集群再次重启新创建虚拟机,验证虚拟机操作环境及数据卷挂载及数据情况。2.根据权利要求1所述的一种基于openstack平台的虚拟机跨集群迁移方法,其特征在于,所述步骤s02通过cinder的upload-to-image功能将创建在磁盘阵列的lun中的数据上传加载到glance镜像库。3.根据权利要求1所述的一种基于openstack平台的虚拟机跨集群迁移方法,其特征在于,所述步骤s03通过glance的镜像导出功能,将待迁移虚拟机从镜像库导出为文件。4.根据权利要求1所述的一种基于openstack平台的虚拟机跨集群迁移方法,其特征在于,所述步骤s04具体过程为:对导出的虚拟机数据卷磁盘文件,通过qemu-img工具将磁盘格式从raw转换为qcow2格式。5.根据权利要求1所述的一种基于openstack平台的虚拟机跨集群迁移方法,其特征在于,所述步骤a01的具体过程为:对导出的待迁移虚拟机镜像文件,上传到目标集群的glance镜像库中。6.根据权利要求1所述的一种基于openstack平台的虚拟机跨集群迁移方法,其特征在于,所述步骤a02的具体过程为:在目标集群使用新上传的虚拟机镜像创建虚拟机操作系统卷和虚拟机。7.根据权利要求1所述的一种基于openstack平台的虚拟机跨集群迁移方法,其特征在于,所述步骤a03的具体过程为:目标集群使用新上传的虚拟机数据卷镜像创建新的数据卷,同时将新创建的数据卷挂载到创建的虚拟机上。8.根据权利要求1所述的一种基于openstack平台的虚拟机跨集群迁移方法,其特征在于,所述步骤a04的具体过程为:在目标集群再次重启新创建虚拟机,验证虚拟机操作环境及数据卷挂载及数据情况。9.一种基于openstack平台的虚拟机跨集群迁移系统,其特征在于,包括客户端和服务器端;所述客户端包括但不限于web网页端、app端和计算机搭载终端;所述服务器端用于执行如权利要求1-8任意一项的方法;所述服务器端包括存储器、处理器和外部匹配功能部分,所述存储器用于存储如权利要求1-8任意一项的方法程序以及镜像文件和系统卷;所述处理器用于执行存储器存储的程序并控制外部匹配功能部分运行;所述外部匹配功能部分
包括请求处理模块、消息分发模块、通信模块和迁移模块。

技术总结
本发明公开了一种基于OpenStack平台的虚拟机跨集群迁移方法,其包括在在虚拟机待迁移集群的操作步骤,S01,查看待迁移虚拟机及虚拟机挂载的所有数据卷;S02,上传待迁移虚拟机的卷到镜像库;S03,导出待迁移虚拟机镜像到本地文件;S04,转换镜像文件磁盘格式为qcow2格式;S05,复制镜像文件到目标主机;在虚拟机迁移目标集群的操作步骤,A01,上传待迁移虚拟机导出的镜像文件;A02,创建系统卷和虚拟机;A03,创建数据卷并挂载到虚拟机;A04,完成虚拟机集群,在目标集群再次重启新创建虚拟机,验证虚拟机操作环境及数据卷挂载及数据情况。本发明的优点在于:实现了创建在后端存储为磁盘阵列LUN中的OpenStack云平台上虚拟机,在不同OpenStack资源池集群之间迁移。OpenStack资源池集群之间迁移。OpenStack资源池集群之间迁移。


技术研发人员:冯四化
受保护的技术使用者:北京思特奇信息技术股份有限公司
技术研发日:2022.02.18
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-5302.html

最新回复(0)