CN109814978A - 基于多OpenStack平台的跨集群迁移方法及*** - Google Patents
基于多OpenStack平台的跨集群迁移方法及*** Download PDFInfo
- Publication number
- CN109814978A CN109814978A CN201811537913.1A CN201811537913A CN109814978A CN 109814978 A CN109814978 A CN 109814978A CN 201811537913 A CN201811537913 A CN 201811537913A CN 109814978 A CN109814978 A CN 109814978A
- Authority
- CN
- China
- Prior art keywords
- cluster
- virtual machine
- migration
- source
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000013508 migration Methods 0.000 claims abstract description 177
- 230000005012 migration Effects 0.000 claims abstract description 177
- 230000003068 static effect Effects 0.000 claims abstract description 44
- 238000007689 inspection Methods 0.000 claims abstract description 10
- 230000001617 migratory effect Effects 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 15
- 238000002360 preparation method Methods 0.000 claims description 15
- 238000004140 cleaning Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 5
- 230000007704 transition Effects 0.000 claims description 3
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 2
- 230000007547 defect Effects 0.000 abstract description 3
- 238000003860 storage Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000007599 discharging Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003818 cinder Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于多OpenStack平台的跨集群迁移方法,该方法包括以下步骤:步骤1:接收虚拟机跨集群的迁移请求;步骤2:对迁移请求进行权限检查和条件检查;步骤3:根据虚拟机迁移请求的参数,判断迁移是静态迁移还是动态迁移,若是静态迁移,则进行步骤4,若是动态迁移则进行步骤5;步骤4:对虚拟机进行跨集群的静态迁移操作;步骤5:对虚拟机进行跨集群的动态迁移操作;步骤6:迁移完成后将迁移结果返回给用户。本发明还提供基于多OpenStack平台的跨集群迁移***,包括客户端和服务器端。本发明提供填补OpenStack平台无法直接跨集群迁移的缺陷,提高了多集群的负载均衡能力。
Description
技术领域
本发明涉及云计算领域,具体涉及一种基于多OpenStack平台的跨集群迁移方法及***。
背景技术
OpenStack是目前云计算领域最活跃的开源项目之一,是一个开源的云计算管理平台项目。它主要是利用虚拟化技术对多种硬件资源进行资源虚拟化,形成一个大的资源池,然后对虚拟化资源进行统一管理。它主要由几个服务模块构成:keystone(身份认证服务)、nova(计算服务)、glance(镜像服务)、neutron(网络服务)、cinder(块存储服务)、swift(对象存储服务)等,其中nova控制着迁移的主要操作。目前OpenStack只提供了集群内的迁移操作,对于跨集群的迁移功能并没有实现,这对多集群的负载均衡来说是一种大的挑战。
静态迁移也被称为离线迁移,迁移主要是在虚拟机关机的情况下,将虚拟机迁移到另一台物理主机,并在另一台物理主机上重新启动。由于虚拟机处于关机状态,并不会产生新的数据,所以迁移只需要将虚拟机实例文件和配置文件拷贝到目的宿主机上。
动态迁移也被称为在线迁移,迁移主要是在虚拟机运行的状态下,将虚拟机迁移到另一台物理主机。由于虚拟机处于工作状态,随时都在产生新的数据,所以迁移不仅需要将实例文件和配置文件拷贝到目的宿主机,同时还要将内存的动态数据也拷贝到目的宿主机。
目前OpenStack并不具备跨集群迁移的能力,对于集群内资源过度消耗的情况没有很好的疏通方法,对于将虚拟机迁移至其他集群,也只能依靠运维人员手动将虚拟机关机迁移,同时兼容性也存在很大的问题,跨集群迁移的需求日益迫切。
发明内容
本发明的目的是针对现有技术的不足,提供了一种基于多OpenStack(云计算管理平台项目)平台的跨集群迁移方法,所述方法旨在解决目前OpenStack集群无法直接跨集群迁移虚拟机的缺陷,增加了OpenStack集群的扩展性和负载均衡能力。同时本发明还公开了一种基于多OpenStack平台的跨集群迁移***,该***设计了一套完整的服务端,创建了跨集群的通讯机制和完成了跨集群的静态迁移及动态迁移操作。
本发明的具体实现过程如下,一种基于多OpenStack平台的跨集群迁移方法,该方法包括以下步骤:
S1、接收虚拟机跨集群的迁移请求;
S2、对迁移请求进行权限检查和条件检查;
S3、根据虚拟机迁移请求的参数,判断迁移是跨集群静态迁移还是跨集群动态迁移,若是跨集群静态迁移,则进行步骤S4,若是跨集群动态迁移则进行步骤S5;
S4、对虚拟机进行跨集群的静态迁移操作;
S5、对虚拟机进行跨集群的动态迁移操作;
S6、迁移完成后将迁移结果返回给用户。
优选地,在步骤S2中,权限检查包括执行迁移请求的用户是否拥有管理员权限。
优选地,在步骤S2中,条件检查包括:
源集群和目标集群中的物理主机是否可以互相免秘钥登录;
目标集群是否含有足够的空间容量,即目标集群剩余的空间容量需要大于待迁移虚拟机所需要的容量大小;
目标集群的物理主机的hypervisor(虚拟机器监视器)和虚拟机所在的源物理主机的hypervisor是否相同版本。
优选地,在步骤S4中,跨集群的静态迁移操作包括了以下步骤:
S4-1、将跨集群静态迁移请求发送到源集群;
S4-2、源集群接收到迁移请求后进行跨集群静态迁移的准备工作,包括:
检查虚拟机状态是否是运行或者关机,若是运行则对虚拟机进行关机操作,若无法正常关机,则向用户返回错误信息,并禁止执行静态迁移;
卸载虚拟机绑定的虚拟网络端口;
S4-3、源集群通知目标集群进行跨集群静态迁移;
S4-4、目标集群接收到迁移请求后进行跨集群静态迁移的准备工作,包括:
根据目标集群各物理主机的资源使用率来选择迁移的目标物理主机,其中资源使用率包括硬盘空间的使用率、内存的使用率以及网络资源的使用率;
创建虚拟机网络;
S4-5、进行跨集群的静态迁移操作,包括以下步骤:
向目标集群的目标物理主机迁移虚拟机数据,数据包括了虚拟机的xml(可扩展标记语言)配置信息以及相应的实例文件,其中实例文件包括后端镜像文件和增量文件;
目标集群通过所迁移的虚拟机数据创建虚拟机,同时绑定虚拟机网络并开启虚拟机;
S4-6、进行迁移后的清理操作,包括:
在源集群删除源虚拟机的后端镜像文件、增量文件和配置文件,删除源虚拟机网络,删除源虚拟机信息;
在目标集群更新所迁移虚拟机的状态并写入数据库,完成迁移;
优选地,在步骤S5中,跨集群的动态迁移操作包括了以下步骤:
S5-1、将跨集群动态迁移请求发送到源集群;
S5-2、源集群接收到迁移请求后进行跨集群动态迁移的准备工作,包括:
检查虚拟机状态是否是运行或者暂停,若不是,则禁止进行跨集群动态迁移操作,并把虚拟机状态信息返回给用户;
卸载虚拟机绑定的虚拟网络端口;
S5-3、源集群通知目标集群进行跨集群动态迁移;
S5-4、目标集群接收到迁移请求后进行跨集群动态迁移的准备工作,包括:
根据目标集群各物理主机的资源使用率来选择迁移的目标物理主机,其中资源使用率包括硬盘空间的使用率、内存的使用率以及网络资源的使用率;;
创建虚拟机网络;
创建虚拟机信息,将虚拟机的名称、虚拟机的详细描述、虚拟机规格大小、虚拟机镜像信息、虚拟机所属用户及项目等信息存入数据库;
S5-5、进行跨集群的动态迁移操作,包括:
将虚拟机数据复制到目标物理主机的对应位置,其中虚拟机数据包括了虚拟机的xml配置信息以及相应的实例文件,其中实例文件包括后端镜像文件和增量文件;
在源集群调用libvirt(管理虚拟化平台的API)的接口migrateToURI3(动态迁移函数),将虚拟机迁移至指定目标物理主机;
为迁移后的虚拟机绑定虚拟机网络;
S5-6、进行迁移后的清理操作,包括:
在源集群删除源虚拟机的后端镜像文件、增量文件和配置文件,删除源虚拟机网络,删除源虚拟机信息;
在目标集群更新所迁移虚拟机的状态并写入数据库,完成迁移;
一种基于多OpenStack平台的跨集群迁移***,所述***包括客户端和服务器端;
其中客户端的形式包括但不限于web(万维网,World Wide Web)网页端、app端、电脑桌面客户端等等。
服务器端包括以下模块:
请求处理模块:用于接收用户从客户端发过来的请求,并且向客户端返回操作结果;
消息分发模块:用于向集群发送请求;
通信隧道模块:用于建立起集群间的相互通信机制,并可以调用迁移处理模块;
迁移处理模块:用于跨集群迁移处理,进行迁移的准备工作、执行迁移过程以及迁移后的清理操作。
本发明与现有技术相比,具有如下优点和有益效果:
本发明实现了基于多OpenStack平台的跨集群迁移方法和***,填补了Openstack跨集群迁移的空白,利用建立的跨集群通信机制和消息控制分发,实现了跨集群迁移的功能,解决了跨集群迁移的难点,同时基于此发明可以实现多集群间的负载均衡,满足多样化需求。
附图说明
图1为本发明实施例基于多OpenStack平台的跨集群迁移***架构框图。
图2为本发明实施例中基于多OpenStack平台的跨集群迁移的总流程图。
图3为本发明实施例中基于多OpenStack平台的跨集群静态迁移部分的流程图。
图4为本发明实施例中基于多OpenStack平台的跨集群动态迁移部分的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,可以理解的是,所述的具体实施例仅用于解释本发明,但本发明的实施方式不限于此。
本发明实施例在单OpenStack集群的迁移基础上,针对当前集群无法完成跨集群迁移操作的缺陷,提出了一种多OpenStack平台的跨集群迁移方法,并且同时实现了跨集群的静态迁移以及动态迁移。该方法首先通过增加集群间的通信隧道来使得集群间得于互相通信,然后通过通信隧道传递待迁移虚拟机的相关信息以及静态或动态迁移信息,接着将虚拟机的实例文件信息和xml配置文件信息等相关信息传输到目标集群的目标物理主机上,最后通过静态迁移操作或者动态迁移操作完成最后的迁移操作。
下面对本发明的实施例提供的基于多OpenStack平台的跨集群迁移方法和***做详细说明。
如图1所示,显示了基于多OpenStack平台的跨集群迁移的实施例的***架构。
该***包括客户端和服务器端。
客户端在本实施例中采用了web网页端的形式,为用户提供可视化的管理页面,服务器端实现跨集群的消息传递机制以及跨集群迁移操作。
客户端在本实施例中是一个web网页端,用户可在该可视化界面上进行相关操作,用户的操作表现为调用一个REST(Representational State Transfer,表述性状态传递)风格的API(Application Programming Interface,应用程序编程接口)向服务器端发出请求,如用户可以发起跨集群静态迁移或者跨集群动态迁移的请求,然后该请求会被发送到请求处理模块。
服务器端包括请求处理模块,消息分发模块,迁移处理模块,通信隧道模块。
请求处理模块在本实施例中负责接收客户端传过来的请求,该模块接收请求后对请求参数进行解析,首先进行权限检查和条件检查,然后判断该请求是跨集群的静态迁移还是跨集群的动态迁移,最后将判断后的结果发送到消息分发模块,并将跨集群迁移的结果返回给客户端。
消息分发模块在本实施例中主要是将消息分发到源集群和目标集群,通知集群进行迁移的相关操作。
迁移处理模块在本实施例中负责处理迁移的相关操作,包括迁移前的准备工作,执行迁移操作以及迁移后的清理工作,并且源集群和目标集群的迁移处理模块的工作内容是不同的。如图1所示,OpenStack集群1和OpenStack集群2分别是两个不同的OpenStack集群,迁移处理模块存在于这两个OpenStack集群中,若OpenStack集群1是源集群,OpenStack集群2是目标集群,则位于OpenStack集群1的迁移处理模块主要处理的是跨集群迁移准备工作以及迁移后源虚拟机的信息删除,位于OpenStack集群2的迁移处理模块主要处理的是跨集群迁移操作以及迁移后虚拟机的状态更新。
通信隧道模块在本实施例中负责集群间的通信,表现形式为RPC(RemoteProcedure Call Protocol,远程过程调用协议)架构的远程过程调用。RPC采用客户端/服务器模式,在 RPC 通信中有两个角色:Client (用户端)和 Server(服务器端)。Client发起RPC请求,Server端接收RPC请求调用本地的程序执行,并将执行结果返回给Client。
因此在本实施例中,每个集群都会同时充当客户端和服务器端,以便发起调用以及响应其他集群的调用。
下面对本发明实施例提供的基于多OpenStack平台的跨集群迁移方法进行详细的步骤说明,该方法包括如下处理步骤:
步骤1:如图2所示,客户端调用REST风格的API向客户端的虚拟机请求接收模块发送迁移请求,服务器端的请求接收模块接收客户端的虚拟机跨集群的迁移请求,迁移请求包括跨集群的静态迁移和跨集群的动态迁移,请求接收模块作为Server提供接收请求功能。
步骤2:服务器端的请求接收模块对客户端发出的迁移请求进行权限检查和条件检查。
权限检查根据请求所携带的用户user-token(用户身份令牌),对用户的user-token进行权限判断,若用户拥有admin(管理员)权限,即管理员权限,则允许用户执行跨集群迁移操作,否则,则禁止执行该操作,并向客户端返回权限不够的处理结果。
条件检查用于检查集群是否满足跨集群迁移的条件,包括:
检查源集群和目标集群中的物理主机是否可以互相免秘钥登录;
检查目标集群是否含有足够的空间容量,即目标集群剩余的空间容量需要大于待迁移虚拟机所需要的容量大小;
检查目标集群的物理主机的hypervisor和客户端的虚拟机所在的源物理主机的hypervisor是否相同版本;
若同时满足以上所有条件,则继续执行后续操作;否则,禁止执行跨集群迁移操作,并向客户端返回未满足条件的信息。
步骤3:根据虚拟机迁移请求参数判断迁移是静态迁移还是动态迁移,其中请求参数包括跨集群迁移标志、请求用户id、虚拟机id等信息。在本实施例中采用一个跨集群迁移标志来判断迁移是跨集群静态迁移还是跨集群动态迁移,若是跨集群静态迁移,进行步骤4,若是跨集群动态迁移,进行步骤5。
步骤4:跨集群迁移模块对客户端的虚拟机进行跨集群静态迁移的相关处理。
步骤5:跨集群迁移模块对客户端的虚拟机进行跨集群动态迁移的相关处理。
步骤6:将跨集群迁移的结果返回给客户端,结果统一通过请求接收模块向客户端返回。
在步骤4中,如图3所示,为实现跨集群静态迁移的相关处理具体进行以下步骤:
步骤4-1:客户端通过消息分发模块向源集群发送跨集群静态迁移请求,向源集群发送的请求主要携带了用户id、虚拟机id。通过虚拟机id可以在源集群数据库查询到源集群中待迁移虚拟机的相关信息,包括虚拟机名称、虚拟机的详细描述、虚拟机的镜像id、虚拟机规格,其中虚拟机规格包括虚拟机磁盘大小、内存大小、cpu虚拟内核数等;
步骤4-2:源集群进行静态迁移的准备工作,包括:
源集群的迁移处理模块通过源集群的nova(计算模块)组件检查源集群的虚拟机状态是否处于运行(active)或者关机(stoped),若是运行则对源集群的虚拟机进行关机操作,若无法正常关机,请求处理模块则向客户端返回错误信息,并禁止执行跨集群静态迁移;
源集群的迁移处理模块通过源集群的neutron(网络管理模块)组件卸载源集群的虚拟机绑定的虚拟网络端口;
步骤4-3:源集群通过通信隧道模块通知目标集群进行跨集群静态迁移,并将待迁移的虚拟机信息发送给目标集群,虚拟机信息包括虚拟机名称、虚拟机的详细描述、虚拟机镜像信息、虚拟机规格等,其中虚拟机镜像信息包括所使用的镜像名称以及镜像大小,虚拟机规格包括虚拟机磁盘大小、内存大小、cpu虚拟内核数等;
步骤4-4:目标集群的迁移处理模块接收到跨集群静态迁移请求后进行跨集群静态迁移的准备工作,包括:
目标集群的迁移处理模块根据目标集群各物理主机的资源使用率来选择迁移的目标物理主机。在本实施例中,资源使用率包括硬盘空间的使用率、内存的使用率以及网络资源的使用率,选择目标物理主机的方法分别对磁盘空间使用率、内存使用率和网络资源使用率进行权值计算,三者权值所占比例分别为40%,50%,10%,最后选出权值最小的物理主机作为迁移的目标物理主机。
目标集群的迁移处理模块在目标集群调用neutron(网络管理模块)组件为将要迁移过来的虚拟机创建网络。
步骤4-5:迁移处理模块进行跨集群的静态迁移操作,包括:
目标集群的迁移处理模块将源集群的虚拟机数据复制到目标集群的目标物理主机,其中虚拟机数据包括虚拟机的xml配置信息以及相应的实例文件,其中实例文件包括后端镜像文件和增量文件,这些数据都要保存在目标物理主机对应的固定目录;
目标集群的迁移处理模块通过所复制的虚拟机数据在目标集群创建虚拟机,同时绑定步骤4-4中所创建的虚拟机网络,创建完成后启动虚拟机;
步骤4-6:迁移处理模块进行跨集群静态迁移后的清理操作,包括:
源集群的迁移处理模块在源集群删除源虚拟机的后端镜像文件、增量文件和配置文件,删除源虚拟机网络,包括释放实际的网络资源和删除数据库中的网络信息,删除数据库中源虚拟机信息;
目标集群的迁移处理模块在目标集群更新所迁移虚拟机的状态并写入数据库,完成迁移;
在步骤5中,如图4所示,为实现跨集群动态迁移的相关处理,具体进行以下步骤:
步骤5-1:客户端通过消息分发模块向源集群发送跨集群动态迁移请求,向源集群发送的请求主要携带了用户id、虚拟机id。通过虚拟机id可以在源集群数据库查询到源集群中待迁移虚拟机的相关信息,包括虚拟机名称、虚拟机的详细描述、虚拟机的镜像id、虚拟机规格,其中虚拟机规格包括虚拟机磁盘大小、内存大小、cpu虚拟内核数等;
步骤5-2:源集群进行动态迁移的准备工作,包括:
源集群的迁移处理模块通过源集群的nova(计算模块)组件检查源集群的虚拟机状态是否处于运行(active)或者暂停(paused),若不是,则禁止跨集群动态迁移操作,并将虚拟机当前状态返回给客户端;
源集群的迁移处理模块通过源集群的neutron(网络管理模块)组件卸载源集群的虚拟机绑定的虚拟网络端口;
步骤5-3:源集群通过通信隧道模块通知目标集群进行跨集群动态迁移,并将待迁移的虚拟机信息发送给目标集群,虚拟机信息包括虚拟机名称、虚拟机的详细描述、虚拟机镜像信息、虚拟机规格等,其中虚拟机镜像信息包括所使用的镜像名称以及镜像大小,虚拟机规格包括虚拟机磁盘大小、内存大小、cpu虚拟内核数等;
步骤5-4:目标集群进行跨集群动态迁移的准备工作,包括:
目标集群的迁移处理模块根据目标集群各物理主机的资源使用率来选择迁移的目标物理主机。在本实施例中,资源使用率包括硬盘空间的使用率、内存的使用率以及网络资源的使用率,选择目标物理主机的方法分别对磁盘空间使用率、内存使用率和网络资源使用率进行权值计算,三者权值所占比例分别为40%,50%,10%,最后选出权值最小的物理主机作为迁移的目标物理主机。
目标集群的迁移处理模块在目标集群调用neutron(网络管理模块)组件为将要迁移过来的虚拟机创建网络。
目标集群的迁移处理模块创建虚拟机信息,包括虚拟机名称、虚拟机详细描述、虚拟机规格大小、虚拟机镜像信息、虚拟机所属用户及项目,并且存入目标集群数据库。
步骤5-5:迁移处理模块进行跨集群的动态迁移操作,包括:
目标集群的迁移处理模块将源集群的虚拟机数据复制到目标集群的目标物理主机,其中虚拟机数据包括虚拟机的xml配置信息以及相应的实例文件,其中实例文件包括后端镜像文件和增量文件,这些数据都要保存在目标物理主机对应的固定目录;
目标集群的迁移处理模块通过远程调用在源集群调用libvirt的接口migrateToURI3,将虚拟机迁移至指定目标物理主机,这时候虚拟机的内存数据也跟着迁移过去;
目标集群的迁移处理模块为迁移后的虚拟机绑定虚拟机网络,调用目标集群的neutron(网络管理模块)组件绑定步骤5-4中所创建的虚拟机网络。
步骤5-6:迁移处理模块进行跨集群动态迁移后的清理操作,包括:
源集群的迁移处理模块在源集群删除源虚拟机的后端镜像文件、增量文件和配置文件,删除源虚拟机网络,包括释放实际的网络资源和删除数据库中的网络信息,删除数据库中源虚拟机信息;
目标集群的迁移处理模块在目标集群更新所迁移虚拟机的状态并写入数据库,完成迁移;
在本实施例的一些可选地实现方式中,虚拟机涉及到的迁移数据包括后端镜像文件、增量镜像文件以及内存动态数据,其中若采用多集群共享存储方式,即多个集群共用同一个后端存储,则后端镜像文件和增量镜像文件都可存储在共享存储中,那么迁移过程中这两种数据即可不用迁移。
通过本实施例能够完成目前集群并不支持的跨集群迁移操作,同时在迁移时间上和集群内迁移相差不大,并且提供了良好的客户端操作页面,降低了运维人员的集群运维难度。
通过本实施例可以提高集群的容灾能力,在某个集群资源过度使用或者产生崩溃的情况下,可以及时地使用跨集群迁移操作将虚拟机迁移至其他集群,同时可以很好地达到多个集群负载均衡的效果。
以上仅是本发明的优选实施方式,应当指出对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以做出若干变形和改进,这些都不会影响本发明实施的效果和专利的实用性,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。
Claims (6)
1.一种基于多openstack平台的跨集群迁移方法,其特征在于,所述方法包括以下步骤:
S1、接收虚拟机跨集群的迁移请求;
S2、对迁移请求进行权限检查和条件检查;
S3、根据虚拟机迁移请求的参数,判断迁移是跨集群静态迁移还是跨集群动态迁移,若是跨集群静态迁移,则进行步骤S4,若是跨集群动态迁移则进行步骤S5;
S4、对虚拟机进行跨集群的静态迁移操作;
S5、对虚拟机进行跨集群的动态迁移操作;
S6、迁移完成后将迁移结果返回给用户。
2.根据权利要求1所述的多openstack平台的跨集群迁移方法,其特征在于,步骤S2的权限检查包括执行迁移请求的用户是否拥有管理员权限。
3.根据权利要求1所述的多openstack平台的跨集群迁移方法,其特征在于,步骤S2的条件检查包括:
源集群和目标集群中的物理主机是否互相免秘钥登录;
目标集群是否含有足够的空间容量,即目标集群剩余的空间容量大于待迁移虚拟机所需要的容量大小;
目标集群的物理主机的hypervisor和虚拟机所在的源物理主机的hypervisor是否相同版本。
4.根据权利要求1所述的多openstack平台的跨集群迁移方法,其特征在于,步骤S4跨集群的静态迁移操作包括以下步骤:
S4-1、将跨集群静态迁移请求发送到源集群;
S4-2、源集群接收到迁移请求后进行跨集群静态迁移的准备工作,包括:
检查虚拟机状态是否是运行或者关机,若是运行则对虚拟机进行关机操作,若
无法正常关机,则向用户返回错误信息,并禁止执行跨集群静态迁移;
卸载虚拟机绑定的虚拟网络端口;
S4-3、源集群通知目标集群进行跨集群静态迁移;
S4-4、目标集群接收到迁移请求后进行跨集群静态迁移的准备工作,包括:
根据目标集群各物理主机的资源使用率来选择迁移的目标物理主机,其中资源使用率包括硬盘空间的使用率、内存的使用率以及网络资源的使用率;
创建虚拟机网络;
S4-5、进行跨集群的静态迁移操作,包括以下步骤:
向目标集群的目标物理主机迁移虚拟机数据,数据包括虚拟机的xml配置信息以及相应的实例文件,其中实例文件包括后端镜像文件和增量文件;
目标集群通过所迁移的虚拟机数据创建虚拟机,同时绑定虚拟机网络并开启虚拟机;
S4-6、进行迁移后的清理操作,包括:
在源集群删除源虚拟机的后端镜像文件、增量文件和配置文件,删除源虚拟机网络,删除源虚拟机信息;
在目标集群更新所迁移虚拟机的状态并写入数据库,完成迁移。
5.根据权利要求1所述的多openstack平台的跨集群迁移方法,其特征在于,步骤S5跨集群的动态迁移操作包括以下步骤:
S5-1、将跨集群动态迁移请求发送到源集群;
S5-2、源集群接收到迁移请求后进行跨集群动态迁移的准备工作,包括:
检查虚拟机状态是否是运行或者暂停,若不是,则禁止进行跨集群动态迁移操作,并把虚拟机当前的状态信息返回给用户;
卸载虚拟机绑定的虚拟网络端口;
S5-3、源集群通知目标集群进行跨集群动态迁移;
S5-4、目标集群接收到迁移请求后进行跨集群动态迁移的准备工作,包括:
根据目标集群各物理主机的资源使用率来选择迁移的目标物理主机,其中资源使用率包括硬盘空间的使用率、内存的使用率以及网络资源的使用率;
创建虚拟机网络;
创建虚拟机信息,将虚拟机的名称、虚拟机的详细描述、虚拟机规格大小、虚拟机镜像信息、虚拟机所属用户及项目等信息存入数据库;
S5-5、进行跨集群的动态迁移操作,包括:
将虚拟机数据复制到目标物理主机的对应位置,其中虚拟机数据包括虚拟机的xml配置信息以及相应的实例文件,其中实例文件包括后端镜像文件和增量文件;
在源集群调用libvirt的接口migrateToURI3,将虚拟机迁移至指定目标物理主机;
为迁移后的虚拟机绑定虚拟机网络;
S5-6、进行迁移后的清理操作,包括:
在源集群删除源虚拟机的后端镜像文件、增量文件和配置文件,删除源虚拟机网络,删除源虚拟机信息;
在目标集群更新所迁移虚拟机的状态并写入数据库,完成迁移。
6.一种基于多openstack平台的跨集群迁移***,其特征在于,包括客户端和服务器端;
其中客户端的形式包括但不限于web网页端、app端、电脑桌面客户端;
服务器端包括以下模块:
请求处理模块:用于接收用户从客户端发过来的请求,并且向客户端返回操作结果;
消息分发模块:用于向集群发送请求;
通信隧道模块:用于建立集群间的相互通信机制,并调用迁移处理模块;
迁移处理模块:用于跨集群迁移处理,进行迁移的准备工作、执行迁移过程以及迁移后的清理操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811537913.1A CN109814978A (zh) | 2018-12-15 | 2018-12-15 | 基于多OpenStack平台的跨集群迁移方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811537913.1A CN109814978A (zh) | 2018-12-15 | 2018-12-15 | 基于多OpenStack平台的跨集群迁移方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109814978A true CN109814978A (zh) | 2019-05-28 |
Family
ID=66602027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811537913.1A Pending CN109814978A (zh) | 2018-12-15 | 2018-12-15 | 基于多OpenStack平台的跨集群迁移方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109814978A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399201A (zh) * | 2019-06-28 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种openstack计算节点主机维护的方法、装置和云管理平台 |
CN110659109A (zh) * | 2019-09-26 | 2020-01-07 | 上海仪电(集团)有限公司中央研究院 | 一种openstack集群虚拟机监控***及方法 |
CN111741068A (zh) * | 2020-05-20 | 2020-10-02 | 中国电子科技网络信息安全有限公司 | 一种虚拟机镜像链密钥模型及其数据加密密钥传输方法 |
CN111880905A (zh) * | 2020-08-03 | 2020-11-03 | 浪潮云信息技术股份公司 | 一种openstack跨越cell迁移虚拟机的方法 |
CN112527452A (zh) * | 2020-12-03 | 2021-03-19 | 北京浪潮数据技术有限公司 | 跨OpenStack的虚拟机迁移方法、装置及介质 |
CN113268315A (zh) * | 2021-06-10 | 2021-08-17 | 郑州市景安网络科技股份有限公司 | 一种虚拟主机在线迁移方法 |
CN114675938A (zh) * | 2022-04-21 | 2022-06-28 | 江苏安超云软件有限公司 | 一种异构集群虚拟机迁移方法、***及云平台 |
WO2024017274A1 (zh) * | 2022-07-22 | 2024-01-25 | ***数智科技有限公司 | 一种虚拟机克隆方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888417A (zh) * | 2012-12-21 | 2014-06-25 | 中国电信股份有限公司 | 虚拟机***迁移的网络切换方法与*** |
CN106126318A (zh) * | 2016-07-05 | 2016-11-16 | 云南大学 | 一种Openstack云平台中虚拟机的动态迁移方法 |
US20170147399A1 (en) * | 2015-11-25 | 2017-05-25 | International Business Machines Corporation | Policy-based virtual machine selection during an optimization cycle |
CN107864055A (zh) * | 2017-10-31 | 2018-03-30 | 云宏信息科技股份有限公司 | 虚拟化***的管理方法及平台 |
CN108155988A (zh) * | 2017-12-22 | 2018-06-12 | 浪潮(北京)电子信息产业有限公司 | 一种保护密钥的迁移方法、装置、设备及可读存储介质 |
-
2018
- 2018-12-15 CN CN201811537913.1A patent/CN109814978A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888417A (zh) * | 2012-12-21 | 2014-06-25 | 中国电信股份有限公司 | 虚拟机***迁移的网络切换方法与*** |
US20170147399A1 (en) * | 2015-11-25 | 2017-05-25 | International Business Machines Corporation | Policy-based virtual machine selection during an optimization cycle |
CN106126318A (zh) * | 2016-07-05 | 2016-11-16 | 云南大学 | 一种Openstack云平台中虚拟机的动态迁移方法 |
CN107864055A (zh) * | 2017-10-31 | 2018-03-30 | 云宏信息科技股份有限公司 | 虚拟化***的管理方法及平台 |
CN108155988A (zh) * | 2017-12-22 | 2018-06-12 | 浪潮(北京)电子信息产业有限公司 | 一种保护密钥的迁移方法、装置、设备及可读存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399201A (zh) * | 2019-06-28 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种openstack计算节点主机维护的方法、装置和云管理平台 |
CN110659109A (zh) * | 2019-09-26 | 2020-01-07 | 上海仪电(集团)有限公司中央研究院 | 一种openstack集群虚拟机监控***及方法 |
CN110659109B (zh) * | 2019-09-26 | 2023-07-04 | 上海仪电(集团)有限公司中央研究院 | 一种openstack集群虚拟机监控***及方法 |
CN111741068A (zh) * | 2020-05-20 | 2020-10-02 | 中国电子科技网络信息安全有限公司 | 一种虚拟机镜像链密钥模型及其数据加密密钥传输方法 |
CN111741068B (zh) * | 2020-05-20 | 2022-03-18 | 中国电子科技网络信息安全有限公司 | 一种数据加密密钥传输方法 |
CN111880905A (zh) * | 2020-08-03 | 2020-11-03 | 浪潮云信息技术股份公司 | 一种openstack跨越cell迁移虚拟机的方法 |
CN112527452A (zh) * | 2020-12-03 | 2021-03-19 | 北京浪潮数据技术有限公司 | 跨OpenStack的虚拟机迁移方法、装置及介质 |
CN113268315A (zh) * | 2021-06-10 | 2021-08-17 | 郑州市景安网络科技股份有限公司 | 一种虚拟主机在线迁移方法 |
CN114675938A (zh) * | 2022-04-21 | 2022-06-28 | 江苏安超云软件有限公司 | 一种异构集群虚拟机迁移方法、***及云平台 |
WO2024017274A1 (zh) * | 2022-07-22 | 2024-01-25 | ***数智科技有限公司 | 一种虚拟机克隆方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109814978A (zh) | 基于多OpenStack平台的跨集群迁移方法及*** | |
US11429442B2 (en) | Parallel and distributed computing using multiple virtual machines | |
US10042628B2 (en) | Automated upgrade system for a service-based distributed computer system | |
US10292044B2 (en) | Apparatus for end-user transparent utilization of computational, storage, and network capacity of mobile devices, and associated methods | |
CN112104723B (zh) | 一种多集群的数据处理***及方法 | |
CN107295096A (zh) | 一种私有云计算服务平台、管理方法及*** | |
US10212045B2 (en) | Method and system for testing and analyzing management servers | |
CN108076156A (zh) | 一种基于中国云产品的混合云*** | |
US20190340057A1 (en) | Methods and systems to compound alerts in a distributed computing system | |
CN107920117A (zh) | 一种资源管理方法、控制设备和资源管理*** | |
KR20230024416A (ko) | 클라우드 플랫폼 간 가상 머신 마이그레이션 방법, 장치, 저장 매체 및 전자 장치 | |
Steketee et al. | Implementation of process migration in amoeba | |
US20210311757A1 (en) | Introspection into workloads running within virtual machines | |
Hossain et al. | Active & Idle Virtual Machine Migration Algorithm-a new Ant Colony Optimization approach to consolidate Virtual Machines and ensure Green Cloud Computing | |
US8930967B2 (en) | Shared versioned workload partitions | |
Liao et al. | Towards virtualized desktop environment | |
Jeong et al. | Dynamic offloading of web application execution using snapshot | |
US20200045050A1 (en) | Reverse identity federation in distributed cloud systems | |
Wang et al. | Developing a process in architecting microservice infrastructure with Docker, Kubernetes, and Istio | |
Calagna et al. | Processing-aware migration model for stateful edge microservices | |
Hobbs et al. | A remote process creation and execution facility supporting parallel execution on distributed systems | |
Rough et al. | The development of an efficient checkpointing facility exploiting operating systems services of the GENESIS cluster operating system | |
CN115525425B (zh) | 基于云原生技术的联邦学习计算引擎编排方法及其设备 | |
CN115118480B (zh) | 一种基于Openstack的Skyline***分权分域功能的实现方法及装置 | |
Wufka et al. | Overview of Cloud Computing |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190528 |
|
RJ01 | Rejection of invention patent application after publication |